Zephyrnet Logosu

Çok Dilli Çeviri Modeli ile Dil Engellerini Aşıyoruz – Roblox Blog

Tarih:

Yeni bir deneyimde sohbet ettiğiniz ve şakalaştığınız yeni Roblox arkadaşınızın aslında Kore'de olduğunu ve siz İngilizce yazarken, ikisinden biri olmadan tüm süre boyunca Korece yazdığını keşfettiğinizi hayal edin. fark ediyorsun. Yeni gerçek zamanlı yapay zeka sohbet çevirilerimiz sayesinde, Roblox'ta fiziksel dünyada bile mümkün olmayan bir şeyi mümkün kıldık; farklı dilleri konuşan insanların sürükleyici 3D deneyimlerimizde birbirleriyle sorunsuz bir şekilde iletişim kurmasını sağladık. Bu, şu anda desteklediğimiz 16 dilin herhangi bir kombinasyonu arasında doğrudan çeviriye olanak tanıyan özel çok dilli modelimiz sayesinde mümkündür (bu 15 dil, yanı sıra İngilizce). 

Bizi mümkün kılan herhangi bir deneyimde deneyim içi yazılı sohbet Hizmet sayesinde farklı ülkelerden insanlar artık kendi dillerini konuşmayan kişiler tarafından da anlaşılabilmektedir. Sohbet penceresi otomatik olarak Korece'nin İngilizce'ye çevrildiğini veya Türkçe'nin Almanca'ya çevrildiğini veya tam tersini gösterecek, böylece her kişi konuşmayı kendi dilinde görecektir. Bu çeviriler yaklaşık 100 milisaniyelik bir gecikmeyle gerçek zamanlı olarak görüntülenir, böylece sahne arkasında gerçekleşen çeviri neredeyse görünmez olur. Metin sohbetinde gerçek zamanlı çevirileri otomatikleştirmek için yapay zekanın kullanılması, dil engellerini ortadan kaldırır ve dünyanın neresinde yaşarsa yaşasın daha fazla insanı bir araya getirir. 

Birleşik Çeviri Modeli Oluşturma

Yapay zeka çevirisi yeni değil; deneyime dayalı içeriğimizin çoğunluğu zaten otomatik olarak çevrilmiştir. Deneyimlerdeki statik içeriği dönüştürmenin ötesine geçmek istedik. Etkileşimleri otomatik olarak çevirmek istedik ve bunu platformda desteklediğimiz 16 dilin tümü için yapmak istedik. Bu, iki nedenden dolayı cesur bir hedefti: Birincisi, yalnızca bir ana dilden (yani İngilizce) diğerine çeviri yapmıyorduk; desteklediğimiz 16 dilin herhangi bir kombinasyonu arasında çeviri yapabilen bir sistem istiyorduk. İkincisi, olması gerekiyordu hızlı. Gerçek sohbet görüşmelerini destekleyecek kadar hızlı; bu da bizim için gecikmenin yaklaşık 100 milisaniyeye düşürülmesi anlamına geliyordu.

Roblox, tüm dünyada günlük 70 milyondan fazla aktif kullanıcıya ev sahipliği yapıyor ve bu sayı artıyor. İnsanlar platformumuzda günün 24 saati kendi ana dillerinde iletişim kuruyor ve yaratıyorlar. 15 milyondan fazla aktif deneyimde gerçekleşen her konuşmanın tamamı gerçek zamanlı olarak manuel olarak tercüme edilmesi elbette mümkün değildir. Bu canlı çevirileri, aynı anda farklı deneyimlerde farklı konuşmalar yapan milyonlarca insana ölçeklendirmek, muazzam hız ve doğrulukta bir Yüksek Lisans gerektirir. Argo ve kısaltmalar da dahil olmak üzere Roblox'a özgü dili tanıyan, bağlama duyarlı bir modele ihtiyacımız var (obby, afk veya lol'ü düşünün). Tüm bunların ötesinde, modelimizin Roblox'un şu anda desteklediği 16 dilin herhangi bir kombinasyonunu desteklemesi gerekiyor. 

Bunu başarmak için her dil çifti (yani Japonca ve İspanyolca) için benzersiz bir model oluşturabilirdik, ancak bunun için 16x16 veya 256 farklı model gerekiyordu. Bunun yerine, tüm dil çiftlerini tek bir modelde ele almak için birleşik, transformatör tabanlı bir çeviri LLM'si oluşturduk. Bu, her biri benzer dillerden oluşan bir grupta uzmanlaşmış ve hepsi tek bir arayüzde kullanılabilen birden fazla çeviri uygulamasına sahip olmak gibidir. Bir kaynak cümle ve hedef dil verildiğinde, çevirileri oluşturmak için ilgili “uzmanı” harekete geçirebiliriz. 

Bu mimari, her uzmanın farklı bir uzmanlığa sahip olması nedeniyle kaynakların daha iyi kullanılmasına olanak tanır; bu da çeviri kalitesinden ödün vermeden daha verimli eğitim ve çıkarımlara olanak sağlar.

Çıkarım sürecinin çizimi. Kaynak mesajları, kaynak dil ve hedef dillerle birlikte RCC'den iletilir. Arka uca gitmeden önce, bu istek için halihazırda çevirilerimiz olup olmadığını görmek için önbelleği kontrol ediyoruz. Aksi takdirde istek, dinamik toplu işlemle arka uca ve model sunucusuna iletilir. Birden çok hedef dile çeviri yaparken verimliliği daha da artırmak için kodlayıcılar ve kod çözücüler arasına gömülü bir önbellek katmanı ekledik.

Bu mimari, birkaç nedenden dolayı modelimizin eğitilmesini ve sürdürülmesini çok daha verimli hale getirir. Birincisi, modelimiz diller arasındaki dilsel benzerliklerden yararlanabilmektedir. Tüm diller birlikte eğitildiğinde, İspanyolca ve Portekizce gibi benzer diller eğitim sırasında birbirlerinin girdilerinden yararlanır ve bu da her iki dilin çeviri kalitesinin artmasına yardımcı olur. Ayrıca, mevcut en yeni ve en iyi tekniklerden faydalanmak için, LLM'lerdeki yeni araştırmaları ve ilerlemeleri piyasaya sürüldüklerinde çok daha kolay bir şekilde test edebilir ve sistemimize entegre edebiliriz. Bu birleştirilmiş modelin bir başka faydasını, kaynak dilin ayarlanmadığı veya yanlış ayarlandığı durumlarda, modelin doğru kaynak dili algılayıp hedef dile çevirebilecek kadar doğru olduğu durumlarda görüyoruz. Aslında, girişte çeşitli diller olsa bile sistem yine de hedef dili tespit edip çevirebilmektedir. Bu durumlarda doğruluk o kadar yüksek olmayabilir ancak nihai mesaj makul ölçüde anlaşılabilir olacaktır.

Bu birleşik modeli eğitmek için, mevcut açık kaynak verilerinin yanı sıra kendi deneyim içi çeviri verilerimiz, insan etiketli sohbet çevirisi sonuçları ve yaygın sohbet cümleleri ve ifadeleri üzerinde ön eğitim alarak başladık. Ayrıca çeviri kalitesini ölçmek için kendi çeviri değerlendirme ölçütümüzü ve modelimizi de oluşturduk. Kullanıma hazır çeviri kalitesi ölçümlerinin çoğu, AI çeviri sonucunu bazı temel gerçek veya referans çevirilerle karşılaştırır ve öncelikle çevirinin anlaşılabilirliğine odaklanır. değerlendirmek istedik. kalite çevirinin - temel gerçek çevirisi olmadan. 

Buna doğruluk (herhangi bir ekleme, çıkarma veya yanlış çeviri olup olmadığı), akıcılık (noktalama işaretleri, yazım ve dil bilgisi) ve hatalı referanslar (metnin geri kalanıyla tutarsızlıklar) dahil olmak üzere birçok açıdan bakıyoruz. Bu hataları önem düzeylerine göre sınıflandırıyoruz: Kritik mi, büyük mü yoksa küçük bir hata mı? Kaliteyi değerlendirmek için bir ML modeli oluşturduk ve onu insan etiketli hata türleri ve puanları üzerine eğittik. Daha sonra, kelime düzeyindeki hataları ve türleri tahmin etmek ve çok boyutlu kriterlerimizi kullanarak bir puan hesaplamak için çok dilli bir dil modeline ince ayar yaptık. Bu bize meydana gelen hataların kalitesi ve türleri hakkında kapsamlı bir anlayış sağlar. Bu şekilde, kesin bir çeviriye ihtiyaç duymadan, kaynak metin ve makine çevirilerini kullanarak çeviri kalitesini tahmin edebilir ve hataları tespit edebiliriz. Bu kalite ölçümünün sonuçlarını kullanarak çeviri modelimizin kalitesini daha da artırabiliriz. 

Kaynak metin ve makine çevirisi sonucuyla, şirket içi çeviri kalitesi tahmin modelimizi kullanarak, referans çeviri olmadan makine çevirisinin kalitesini tahmin edebiliriz. Bu model, kaliteyi farklı yönlerden tahmin eder ve hataları kritik, büyük ve küçük hatalar olarak sınıflandırır.

Daha az yaygın olan çeviri çiftleri (örneğin, Fransızca'dan Tayca'ya), yüksek kaliteli veri eksikliği nedeniyle zorludur. Bu boşluğu gidermek için, içeriğin orijinal dile geri çevrildiği ve ardından doğruluk açısından kaynak metinle karşılaştırıldığı geri çeviriyi uyguladık. Eğitim süreci sırasında, modelin öğreneceği çeviri verisi miktarını genişletmek için bu geri çevrilmiş veriler ile denetlenen (etiketli) verilerin stratejik bir karışımını kullandığımız yinelemeli geri çeviriyi kullandık. 

Model eğitim hattının çizimi. Model eğitimi sırasında hem paralel veriler hem de geri çeviri verileri kullanılır. Öğretmen modeli eğitildikten sonra model boyutunu küçültmek ve sunum verimliliğini artırmak için damıtma ve diğer servis optimizasyon tekniklerini uyguluyoruz.

Modelin modern argoyu anlamasına yardımcı olmak için, insan değerlendiricilerden her dil için popüler ve trend olan terimleri çevirmelerini istedik ve bu çevirileri eğitim verilerimize dahil ettik. Sistemi en son argo konularda güncel tutmak için bu işlemi düzenli olarak tekrarlamaya devam edeceğiz. 

Ortaya çıkan sohbet çeviri modelinin yaklaşık 1 milyar parametresi var. Bir çeviriyi bu kadar büyük bir model üzerinden çalıştırmak, geniş ölçekte hizmet vermek için aşırı derecede kaynak yoğundur ve düşük gecikmenin saniyede 5,000'den fazla sohbeti desteklemek için kritik önem taşıdığı gerçek zamanlı bir konuşma için çok uzun sürer. Biz de bu büyük çeviri modelini öğrenci-öğretmen yaklaşımıyla daha küçük, daha hafif bir model oluşturmak için kullandık. Modelin boyutunu 650 milyon parametrenin altına indirmek ve sunum verimliliğini artırmak için damıtma, niceleme, model derleme ve diğer sunum optimizasyonlarını uyguladık. Ayrıca, deneyim içi metin sohbetinin arkasındaki API'yi, hem orijinal hem de çevrilmiş mesajları kişinin cihazına gönderecek şekilde değiştirdik. Bu, alıcının mesajı kendi ana dilinde görmesine veya gönderenin orijinal, çevrilmemiş mesajını görmek için hızlı bir şekilde geçiş yapmasına olanak tanır.

Nihai LLM hazır olduğunda model sunuculara bağlanmak için bir arka uç uyguladık. Bu arka uç, ek sohbet çeviri mantığını uyguladığımız ve sistemi olağan güven ve güvenlik sistemlerimizle entegre ettiğimiz yerdir. Bu, politikalarımızı ihlal eden kelimeleri veya cümleleri tespit etmek ve engellemek için çevrilmiş metnin diğer metinlerle aynı düzeyde incelemeye tabi tutulmasını sağlar. Güvenlik ve nezaket, Roblox'ta yaptığımız her şeyin ön saflarında yer alıyor, dolayısıyla bu, yapbozun çok önemli bir parçasıydı. 

Doğruluğu Sürekli İyileştirme

Testlerde, bu yeni çeviri sisteminin platformumuzdaki kişiler için daha güçlü etkileşim ve oturum kalitesi sağladığını gördük. Kendi ölçümümüze göre modelimiz, Roblox içeriğindeki ticari çeviri API'lerinden daha iyi performans gösteriyor; bu da insanların Roblox'ta iletişim kurma biçimini başarıyla optimize ettiğimizi gösteriyor. Bunun platformdaki insanların deneyimini nasıl iyileştirdiğini, oyun oynamalarını, alışveriş yapmalarını, ortak çalışma yapmalarını veya sadece farklı bir dil konuşan arkadaşlarıyla sohbet etmelerini mümkün kıldığını görmekten heyecan duyuyoruz.

İnsanların kendi ana dillerinde kesintisiz, doğal konuşmalar yapabilme yeteneği, bizi bir milyar insanı iyimserlik ve nezaketle buluşturma hedefimize yaklaştırıyor.

Çevirilerimizin doğruluğunu daha da artırmak ve modelimize daha iyi eğitim verileri sağlamak için platformdaki kişilerin çevirileri hakkında geri bildirimde bulunmasına ve sistemin daha da hızlı gelişmesine yardımcı olmasına olanak tanıyan bir aracı kullanıma sunmayı planlıyoruz. Bu, birisinin yanlış çevrilmiş bir şey gördüğünde bunu bize bildirmesine ve hatta modeli daha da geliştirmek için eğitim verilerine ekleyebileceğimiz daha iyi bir çeviri önermesine olanak tanır. 

Bu çeviriler bugün desteklediğimiz 16 dilin tümü için mevcuttur ancak henüz işimiz bitmedi. Modellerimizi, deneyimlerimiz dahilindeki en son çeviri örneklerinin yanı sıra desteklediğimiz her dilde popüler sohbet ifadeleri ve en yeni argo ifadelerle güncellemeye devam etmeyi planlıyoruz. Ayrıca bu mimari, modelin yeni diller üzerinde nispeten daha az çabayla eğitilmesine olanak tanıyacak ve bu diller için yeterli eğitim verisi mevcut olacaktır. Dahası, her şeyi birden çok boyutta otomatik olarak çevirmenin yollarını araştırıyoruz: görsellerdeki metinler, dokular, 3 boyutlu modeller vb. 

Otomatik de dahil olmak üzere heyecan verici yeni sınırları zaten keşfediyoruz. ses sohbet çevirileri Roblox'ta Fransızca konuşan bir kişinin yalnızca Rusça konuşan biriyle sesli sohbet edebildiğini hayal edin. Her ikisi de kendi dillerinde ve düşük gecikmeyle seslerinin tonuna, ritmine ve duygusuna kadar birbirleriyle konuşabiliyor ve anlayabiliyordu. Bugün bu kulağa bilim kurgu gibi gelse ve bunu başarmak biraz zaman alacak olsa da çeviri konusunda ilerlemeye devam edeceğiz. Çok uzak olmayan bir gelecekte Roblox, dünyanın her yerinden insanların yalnızca yazılı sohbet yoluyla değil, mümkün olan her yöntemle sorunsuz ve zahmetsizce iletişim kurabileceği bir yer olacak!

spot_img

En Son İstihbarat

spot_img