Meruntuhkan Hambatan Komunikasi dengan Model Terjemahan Multibahasa

Bayangkan teman barumu di Roblox, yang selama ini kamu ajak mengobrol dan bercanda di pengalaman virtual baru, ternyata tinggal di Korea dan selama ini dia mengetik dalam bahasa Korea, sementara kamu mengetik dalam bahasa Inggris, dan kalian berdua sama-sama tidak menyadarinya. Berkat terjemahan chat AI real-time baru yang kami kembangkan, kami menciptakan kemampuan di Roblox yang bahkan belum bisa dilakukan di dunia nyata, yaitu memfasilitasi pengguna yang menggunakan beragam bahasa untuk berkomunikasi dengan lancar di pengalaman virtual 3D yang imersif. Möglich wird dies durch unser benutzerdefiniertes mehrsprachiges Modell, das jetzt die direkte Übersetzung zwischen jeder Kombination der 16 Sprachen ermöglicht, die wir derzeit unterstützen (diese 15 Sprachen sowie Englisch).

Dalam pengalaman virtual yang telah mengaktifkan layanan chat teks dalam pengalaman virtual kami, pengguna dari berbagai negara kini dapat dimengerti oleh pengguna lain yang tidak menguasai bahasa mereka. Jendela chat akan secara otomatis menampilkan bahasa Korea yang diterjemahkan ke bahasa Inggris, atau bahasa Turki yang diterjemahkan ke bahasa Jerman, dan sebaliknya. Dengan demikian, setiap pengguna melihat chat dalam bahasa mereka sendiri. Terjemahan ini ditampilkan secara real-time dengan latensi sekitar 100 milidetik sehingga proses penerjemahan di belakang layar hampir tidak terlihat. Der Einsatz von KI zur Automatisierung von Echtzeitübersetzungen im Textchat beseitigt Sprachbarrieren und bringt mehr Menschen zusammen, egal wo auf der Welt sie leben.

Pembuatan Model Terjemahan Terpadu

Terjemahan AI bukanlah fitur baru. Sebagian besar konten dalam pengalaman virtual kami sudah diterjemahkan secara otomatis. Namun, kami ingin memberikan fasilitas yang lebih dari sekadar menerjemahkan konten statis dalam pengalaman virtual. Kami ingin menerjemahkan interaksi secara otomatis, dan kami ingin melakukannya untuk keenambelas bahasa yang didukung di platform kami. Ada dua alasan keinginan ini dianggap sebagai target yang berani. Pertama, kami tidak hanya menerjemahkan dari satu bahasa utama (yaitu bahasa Inggris) ke bahasa lain, tetapi kami ingin membuat sistem yang mampu menerjemahkan kombinasi apa pun dari 16 bahasa yang kami dukung. Kedua, penerjemahan ini harus cepat. Prosesnya harus cukup cepat untuk mendukung percakapan chat sebenarnya, yang berarti kami harus menurunkan latensi hingga sekitar 100 milidetik.

Roblox adalah tempat berkumpulnya lebih dari 70 juta pengguna aktif dari seluruh dunia setiap harinya, dan jumlah ini terus bertambah. Pengguna berkomunikasi dan berkreasi di platform kami setiap saat, dan mereka menggunakan bahasa ibu mereka sendiri. Penerjemahan manual untuk setiap percakapan yang terjadi di lebih dari 15 juta pengalaman virtual aktif secara real-time tentu saja tidak mungkin dilakukan. Peningkatan skala penerjemahan langsung ini ke jutaan pengguna, yang berkomunikasi dalam berbagai percakapan di beragam pengalaman virtual secara bersamaan, memerlukan LLM dengan kecepatan dan akurasi yang luar biasa. Kami memerlukan model yang mengenali konteks dan bahasa khusus Roblox, termasuk slang dan singkatan (misalnya, obby, afk, atau lol). Selain itu, model kami harus dapat mendukung kombinasi apa pun dari 16 bahasa yang saat ini didukung oleh Roblox.

Untuk mencapai target ini, kami bisa saja membuat model unik untuk setiap pasangan bahasa (misalnya, Jepang dan Spanyol), tetapi cara ini akan membutuhkan 16x16 atau 256 model yang berbeda. Oleh karena itu, kami memilih untuk membuat LLM penerjemahan terpadu yang berbasis transformer untuk menangani semua pasangan bahasa dalam satu model. Hal ini seperti menggunakan beberapa aplikasi penerjemahan, dengan setiap aplikasi memiliki spesialisasi dalam kelompok bahasa serupa, yang semuanya tersedia dalam satu antarmuka. Saat diberi kalimat sumber dan bahasa target, kami dapat mengaktifkan "pakar" yang relevan untuk membuat terjemahannya.

Arsitektur ini mendukung pengoptimalan penggunaan sumber daya karena setiap pakar memiliki spesialiasi tersendiri sehingga menghasilkan pelatihan dan inferensi yang lebih efisien tanpa mengorbankan kualitas terjemahan.

Ilustrasi proses inferensi. Pesan sumber, serta bahasa sumber dan bahasa target, melewati RCC. Sebelum mencapai back end, kami mengecek cache terlebih dahulu untuk melihat apakah sudah ada terjemahan yang tersimpan untuk permintaan ini. Jika belum, permintaan diteruskan ke back end dan ke server model dengan dynamic batching. Kami menambahkan lapisan embedding cache antara encoder dan decoder untuk lebih meningkatkan efisiensi saat menerjemahkan ke beberapa bahasa target.

Arsitektur ini memungkinkan kami melatih dan memelihara model dengan lebih efisien karena beberapa alasan. Pertama, model kami dapat memanfaatkan kemiripan linguistik antarbahasa. Saat semua bahasa dilatih bersama-sama, bahasa yang serupa, seperti bahasa Spanyol dan Portugis, dapat memanfaatkan input satu sama lain selama pelatihan sehingga membantu meningkatkan kualitas terjemahan untuk kedua bahasa tersebut. Selain itu, kami dapat dengan jauh lebih mudah menguji dan mengintegrasikan penelitian serta peningkatan baru seputar LLM ke dalam sistem kami saat penelitian dan peningkatan tersebut dirilis. Dengan demikian, kami dapat memanfaatkan teknik termutakhir dan terbaik yang tersedia. Manfaat lain dari model terpadu ini adalah ketika bahasa sumber tidak ditentukan atau tidak ditentukan dengan benar, model ini cukup akurat untuk mampu mendeteksi bahasa sumber dan menerjemahkannya ke bahasa target. Bahkan, meskipun input berisi campuran beberapa bahasa, sistem akan tetap mampu mendeteksi dan menerjemahkannya ke bahasa target. Dalam kasus seperti ini, akurasi terjemahan mungkin tidak setinggi biasanya, tetapi pesan akhirnya akan tetap dapat dipahami.

Untuk melatih model terpadu ini, kami memulai dengan prapelatihan menggunakan data sumber terbuka yang tersedia, serta data terjemahan dalam pengalaman virtual kami sendiri, hasil terjemahan chat yang dilabeli manusia, serta kalimat dan frasa yang umum digunakan dalam chat. Kami juga membuat metrik dan model evaluasi terjemahan kami sendiri untuk mengukur kualitas terjemahan. Kebanyakan metrik kualitas terjemahan yang tersedia saat ini membandingkan hasil terjemahan AI dengan terjemahan yang benar atau terjemahan referensi, dan memiliki fokus utama pada keterpahaman terjemahan. Wir wollten die Qualität der Übersetzung bewerten – ohne eine Referenzübersetzung.

Kami melihatnya dari berbagai aspek, termasuk keakuratan (apakah ada penambahan, penghilangan, atau kesalahan terjemahan), kelancaran (tanda baca, ejaan, dan tata bahasa), dan referensi yang salah (ketidaksesuaian dengan teks lainnya). Kesalahan ini kami kelompokkan menjadi beberapa tingkat keparahan: Apakah kesalahan tersebut kritis, besar, atau kecil? Untuk menilai kualitas, kami membuat model ML dan melatihnya dengan tipe dan skor kesalahan yang diberi label oleh manusia. Kemudian, kami menyempurnakan model bahasa multibahasa untuk memprediksi kesalahan dan jenisnya pada kata, serta menghitung skor menggunakan kriteria multidimensi. Hal ini memberi kami pemahaman komprehensif tentang kualitas dan jenis kesalahan yang terjadi. Dengan cara ini, kami dapat memperkirakan kualitas terjemahan dan mendeteksi kesalahan dengan memanfaatkan teks sumber dan terjemahan mesin, tanpa memerlukan acuan terjemahan yang benar. Anhand der Ergebnisse dieser Qualitätsmessung können wir die Qualität unseres Übersetzungsmodells weiter verbessern.

Dengan teks sumber dan hasil terjemahan mesin, kami dapat memperkirakan kualitas terjemahan mesin tanpa terjemahan referensi, menggunakan model estimasi kualitas terjemahan internal kami. Model ini memperkirakan kualitas dari berbagai aspek dan mengategorikan kesalahan menjadi kesalahan kritis, besar, dan kecil.

Pasangan bahasa yang kurang umum (misalnya, bahasa Prancis ke bahasa Thailand) menjadi tantangan karena kurangnya data berkualitas tinggi. Untuk mengatasi kesenjangan ini, kami menerapkan terjemahan balik, yaitu konten diterjemahkan kembali ke bahasa aslinya, kemudian dibandingkan dengan teks sumber untuk akurasi. Selama proses pelatihan, kami menggunakan terjemahan balik berulang. Dalam proses ini, kami menggunakan perpaduan strategis antara data terjemahan balik dan data yang diawasi (diberi label) untuk memperluas jumlah data terjemahan agar model dapat mempelajari data tersebut.

Ilustrasi alur pelatihan model. Data paralel dan data terjemahan balik digunakan selama pelatihan model. Setelah model guru dilatih, kami menerapkan distilasi dan teknik pengoptimalan penyajian lainnya untuk mengurangi ukuran model dan meningkatkan efisiensi penyajian.

Untuk membantu model memahami bahasa slang modern, kami meminta evaluator manusia untuk menerjemahkan istilah yang populer dan sedang tren untuk setiap bahasa, lalu menyertakan terjemahan tersebut dalam data pelatihan kami. Kami akan terus mengulangi proses ini secara rutin agar sistem tetap diperbarui dengan bahasa slang terbaru.

Model terjemahan chat yang dihasilkan memiliki sekitar 1 miliar parameter. Menjalankan terjemahan melalui model sebesar ini akan membutuhkan terlalu banyak sumber daya untuk layanan dalam skala besar dan menghabiskan waktu terlalu lama untuk percakapan real-time, padahal latensi yang rendah sangat penting untuk mendukung lebih dari 5.000 chat per detik. Oleh karena itu, kami menggunakan model terjemahan besar ini dengan pendekatan murid-guru untuk membuat model yang lebih kecil dan lebih ringan. Kami menerapkan distilasi, kuantisasi, kompilasi model, dan pengoptimalan penyajian lainnya untuk mengurangi ukuran model menjadi kurang dari 650 juta parameter dan meningkatkan efisiensi penyajian. Selain itu, kami memodifikasi API di balik chat teks dalam pengalaman virtual untuk mengirim pesan asli dan pesan terjemahan ke perangkat pengguna. Hal ini memungkinkan penerima untuk melihat pesan dalam bahasa penerima atau dengan cepat beralih untuk melihat pesan asli pengirim yang belum diterjemahkan.

Setelah LLM final siap, kami menerapkan back end untuk menghubungkan dengan server model. Back end ini adalah tempat kami menerapkan logika terjemahan chat tambahan dan mengintegrasikan sistem ini dengan sistem kepercayaan dan keamanan kami. Hal ini memastikan teks terjemahan mendapat tingkat pengawasan yang sama dengan teks lainnya untuk mendeteksi dan memblokir kata atau frasa yang melanggar kebijakan kami. Keamanan dan kesopanan adalah aspek terdepan dalam segala hal yang kami lakukan di Roblox sehingga ini adalah bagian yang sangat penting.

Peningkatan Akurasi secara Terus-Menerus

Dalam pengujian, kami melihat sistem terjemahan baru ini mendorong terciptanya keterlibatan dan kualitas sesi yang lebih baik bagi pengguna di platform kami. Berdasarkan metrik kami, model kami mengungguli API terjemahan komersial di konten Roblox, yang menunjukkan bahwa kami telah berhasil mengoptimalkan cara pengguna berkomunikasi di Roblox. Kami sangat antusias melihat cara fitur ini meningkatkan pengalaman pengguna di platform sehingga mereka dapat bermain game, berbelanja, berkolaborasi, atau mengobrol dengan teman yang berbicara dalam bahasa yang berbeda.

Kemampuan yang memfasilitasi terjadinya percakapan alami dan lancar antarpengguna dalam bahasa ibu mereka membawa kami lebih dekat ke tujuan kami untuk menghubungkan satu miliar orang dengan optimisme dan kesopanan.

Untuk lebih meningkatkan akurasi terjemahan dan menyediakan data pelatihan yang lebih baik untuk model kami, kami berencana meluncurkan alat yang memungkinkan pengguna di platform ini memberikan masukan tentang terjemahan dan membantu meningkatkan kualitas sistem secara lebih cepat. Alat ini akan memungkinkan pengguna memberi tahu kami saat mereka melihat terjemahan yang salah dan bahkan menyarankan terjemahan yang lebih baik yang dapat kami tambahkan ke data pelatihan untuk lebih menyempurnakan model.

Terjemahan ini telah tersedia untuk 16 bahasa yang kami dukung, tetapi pekerjaan kami masih jauh dari selesai. Kami berencana untuk terus meng-update model kami dengan contoh terjemahan terbaru dari pengalaman virtual kami serta frasa chat populer dan frasa bahasa slang terbaru dalam setiap bahasa yang kami dukung. Selain itu, arsitektur ini akan memungkinkan pelatihan model dalam berbagai bahasa baru dengan upaya yang relatif rendah saat data pelatihan yang memadai untuk bahasa-bahasa tersebut sudah tersedia. Lebih jauh lagi, kami mencari cara untuk secara otomatis menerjemahkan segala sesuatu di berbagai dimensi, yaitu teks di gambar, tekstur, model 3D, dll.

Kami juga sudah mulai mengeksplorasi tantangan baru yang menarik, seperti terjemahan chat suara otomatis. Bayangkan seorang penutur bahasa Prancis di Roblox dapat melakukan chat suara dengan pengguna lain yang hanya berbicara bahasa Rusia. Keduanya dapat berbicara dan memahami satu sama lain dengan nada, ritme, dan emosi suara mereka, dalam bahasa mereka sendiri, dan dengan latensi rendah. Meskipun fitur ini sekarang mungkin terdengar seperti fiksi ilmiah, dan akan memerlukan waktu untuk mewujudkannya, kami akan meneruskan upaya untuk meningkatkan sistem penerjemahan kami. Dalam waktu yang tidak lama lagi, Roblox akan menjadi platform tempat pengguna dari seluruh dunia dapat berkomunikasi dengan lancar dan mudah, tidak hanya melalui chat teks, tetapi juga dengan berbagai cara!