Bu sitedeki içerik yapay zeka (AI) veya makine çeviri teknolojisi kullanılarak çevrilmiştir ve hatalar içerebilir.

Skip to content

Çok Dilli Çeviri Modeli ile Dil Engellerini Aşmak

Yeni bir deneyimde sohbet edip şakalaştığınız yeni Roblox arkadaşınızın aslında Kore'de olduğunu ve siz İngilizce yazarken o da Korece yazdığını, ancak ikinizin de bunun farkında olmadığını hayal edin. Yeni gerçek zamanlı AI sohbet çevirilerimiz sayesinde, fiziksel dünyada bile mümkün olmayan bir şeyi Roblox'ta 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 (bu 15 dilin yanı sıra İngilizce) herhangi bir kombinasyonu arasında doğrudan çeviri yapmayı sağlayan özel çok dilli modelimiz sayesinde mümkün oluyor.

Deneyim içi metin sohbet hizmetimizin etkinleştirildiği her deneyimde, farklı ülkelerden gelen insanlar artık kendi dillerini konuşmayan kişiler tarafından anlaşılabilir. Sohbet penceresi, Korece'yi İngilizceye veya Türkçe'yi Almanca'ya çevirerek otomatik olarak gösterecek ve bunun tersi de geçerli olacak, böylece herkes sohbeti kendi dilinde görebilecek. Bu çeviriler, yaklaşık 100 milisaniyelik gecikmeyle gerçek zamanlı olarak görüntüleniyor, bu sayede arka planda gerçekleşen çeviri neredeyse fark edilmiyor. Metin sohbetinde gerçek zamanlı çevirileri otomatikleştirmek için yapay zeka kullanmak, dil engellerini ortadan kaldırıyor ve dünyanın neresinde yaşarlarsa yaşasınlar daha fazla insanı bir araya getiriyor.

Birleşik Çeviri Modeli Oluşturma

AI çevirisi yeni bir şey değil; deneyim içeriğimizin büyük bir kısmı zaten otomatik olarak çevrilmiş durumda. Deneyimlerdeki statik içeriği çevirmenin ö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, sadece 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, hızlı olması gerekiyordu. Gerçek sohbet konuşmalarını destekleyecek kadar hızlı olmalıydı; bu da bizim için gecikmeyi yaklaşık 100 milisaniyeye indirmek anlamına geliyordu.

Roblox, dünya çapında 70 milyondan fazla günlük aktif kullanıcıya ev sahipliği yapıyor ve bu sayı giderek artıyor. İnsanlar platformumuzda 24 saat boyunca kendi ana dillerinde iletişim kuruyor ve içerik üretiyor. 15 milyondan fazla aktif deneyimde gerçekleşen her sohbeti manuel olarak ve gerçek zamanlı olarak çevirmek elbette mümkün değil. Bu canlı çevirileri, farklı deneyimlerde aynı anda farklı sohbetler yapan milyonlarca kişiye ölçeklendirmek, muazzam hız ve doğruluğa sahip bir LLM gerektirir. Argo ve kısaltmalar (obby, afk veya lol gibi) dahil olmak üzere Roblox'a özgü dili tanıyan, bağlam farkındalığına sahip bir modele ihtiyacımız var. 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 (örneğin Japonca ve İspanyolca) için ayrı bir model geliştirebilirdik, ancak bu 16x16, yani 256 farklı model gerektirecekti. Bunun yerine, tüm dil çiftlerini tek bir modelde işlemek için birleştirilmiş, dönüştürücü tabanlı bir çeviri LLM'si geliştirdik. Bu, her biri benzer bir dil grubunda uzmanlaşmış ve tek bir arayüzden erişilebilen birden fazla çeviri uygulamasına sahip olmak gibidir. Kaynak cümle ve hedef dil verildiğinde, çevirileri oluşturmak için ilgili "uzmanı" etkinleştirebiliriz.

Bu mimari, kaynak cümle ve hedef dil verildiğinde, çevirinin kalitesinden ödün vermeden daha verimli eğitim ve çıkarım sağlayan, her bir uzmanın farklı bir uzmanlık alanına sahip olması sayesinde kaynakların daha iyi kullanılmasını sağlar.

Çıkarım sürecinin gösterimi. Kaynak mesajlar, kaynak dil ve hedef dillerle birlikte RCC'den geçirilir. Arka uca ulaşmadan önce, öncelikle önbelleği kontrol ederek bu istek için halihazırda çevirilerimiz olup olmadığını kontrol ederiz. Eğer yoksa, istek arka uca ve dinamik toplu işleme ile model sunucusuna iletilir. Birden fazla hedef dile çeviri yaparken verimliliği daha da artırmak için kodlayıcılar ve kod çözücüler arasına bir gömme önbellek katmanı ekledik.

Bu mimari, birkaç nedenden dolayı modelimizi eğitmeyi ve sürdürmeyi çok daha verimli hale getiriyor. İlk olarak, modelimiz diller arasındaki dilbilimsel benzerliklerden yararlanabiliyor. Tüm diller birlikte eğitildiğinde, İspanyolca ve Portekizce gibi birbirine benzeyen diller, eğitim sırasında birbirlerinin girdilerinden faydalanıyor ve bu da her iki dil için de çeviri kalitesinin artmasına yardımcı oluyor. Ayrıca, LLM'lerdeki yeni araştırma ve gelişmeleri yayınlandıkça sistemimize çok daha kolay bir şekilde test edip entegre edebilir ve mevcut en yeni ve en iyi tekniklerden yararlanabiliriz. Bu birleşik modelin bir başka faydasını, kaynak dilin ayarlanmadığı veya yanlış ayarlandığı durumlarda görüyoruz; model, doğru kaynak dili tespit edip hedef dile çevirebilecek kadar doğrudur. Aslında, girdi farklı dillerden oluşsa bile sistem yine de bunu tespit edip hedef dile çevirebilir. Bu durumlarda doğruluk oranı 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 deneyimsel çeviri verilerimiz, insan tarafından etiketlenmiş sohbet çeviri sonuçları ve yaygın sohbet cümleleri ve ifadeleri üzerinde ön eğitimle başladık. Ayrıca, çeviri kalitesini ölçmek için kendi çeviri değerlendirme metriğimizi ve modelimizi oluşturduk. Piyasada bulunan çoğu çeviri kalitesi metriği, AI çeviri sonucunu bir temel gerçek veya referans çeviriyle karşılaştırır ve öncelikle çevirinin anlaşılabilirliğine odaklanır. Biz ise, temel gerçek çeviri olmadan çevirinin kalitesini değerlendirmek istedik.

Bunu doğruluk (eklemeler, eksiklikler veya yanlış çeviriler olup olmadığı), akıcılık (noktalama, imla ve gramer) ve yanlış referanslar (metnin geri kalanıyla tutarsızlıklar) dahil olmak üzere birçok açıdan inceliyoruz. Bu hataları ciddiyet düzeylerine göre sınıflandırıyoruz: Kritik, büyük veya küçük bir hata mı? Kaliteyi değerlendirmek için bir makine öğrenimi modeli oluşturduk ve insan tarafından etiketlenmiş hata türleri ve puanları üzerinde eğittik. Ardından, kelime düzeyindeki hataları ve türlerini tahmin etmek ve çok boyutlu kriterlerimizi kullanarak bir puan hesaplamak için çok dilli bir dil modelini ince ayarladık. Bu, bize meydana gelen hataların kalitesi ve türleri hakkında kapsamlı bir anlayış sağlar. Bu şekilde, referans ç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 sonucu ile, şirket içi çeviri kalitesi tahmin modelimizi kullanarak referans çeviri olmadan makine çevirisinin kalitesini tahmin edebiliriz. Bu model, kaliteyi farklı yönlerden değerlendirir ve hataları kritik, büyük ve küçük hatalar olarak sınıflandırır.

Daha az yaygın çeviri çiftleri (örneğin, Fransızca'dan Tayca'ya), yüksek kaliteli verilerin eksikliği nedeniyle zorluk teşkil etmektedir. Bu eksikliği 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 çeviri yöntemini uyguladık. Eğitim sürecinde, modelin öğrenmesi için çeviri verilerinin miktarını artırmak amacıyla, bu geri çevrilmiş veriler ile denetimli (etiketli) verilerin stratejik bir karışımını kullandığımız yinelemeli geri çeviri yöntemini kullandık.

Illustration of the model training pipeline. Both parallel data and back translation data are used during the model training. After the teacher model is trained, we apply distillation and other serving optimization techniques to reduce the model size and improve the serving efficiency.

Modelin modern argo kelimeleri 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 kelimelerle güncel tutmak için bu süreci düzenli olarak tekrarlamaya devam edeceğiz.

Ortaya çıkan sohbet çeviri modeli, yaklaşık 1 milyar parametreye sahiptir. Bu kadar büyük bir model üzerinden çeviri yapmak, büyük ölçekte hizmet vermek için aşırı derecede kaynak yoğun bir işlemdir ve saniyede 5.000'den fazla sohbeti desteklemek için düşük gecikme süresinin kritik öneme sahip olduğu gerçek zamanlı bir konuşma için çok uzun sürer. Bu nedenle, bu büyük çeviri modelini öğrenci-öğretmen yaklaşımında kullanarak daha küçük ve daha hafif bir model oluşturduk. Modelin boyutunu 650 milyondan az parametreye düşürmek ve hizmet verimliliğini artırmak için damıtma, niceleme, model derleme ve diğer hizmet 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örmesini veya hızlıca geçiş yaparak gönderenin çevrilmemiş orijinal mesajını görmesini sağlar.

Nihai LLM hazır olduğunda, model sunucularına 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 ifadeleri tespit etmek ve engellemek amacıyla ç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ır, bu nedenle bu, yapbozun çok önemli bir parçasıydı.

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

Testler sırasında, bu yeni çeviri sisteminin platformumuzdaki kullanıcılar için daha güçlü bir etkileşim ve oturum kalitesi sağladığını gördük. Kendi ölçütlerimize göre, modelimiz Roblox içeriğinde ticari çeviri API'lerinden daha iyi performans gösteriyor; bu da, kullanıcıların Roblox'ta iletişim kurma şekline göre optimizasyonu başarıyla gerçekleştirdiğimizi gösteriyor. Bunun platformdaki kullanıcıların deneyimini nasıl iyileştirdiğini görmekten heyecan duyuyoruz; bu sayede kullanıcılar oyun oynayabilir, alışveriş yapabilir, işbirliği yapabilir veya farklı bir dil konuşan arkadaşlarıyla sohbet edebilir.

Kullanıcıların ana dillerinde sorunsuz ve doğal sohbetler yapabilmeleri, bir milyar insanı iyimserlik ve nezaketle birbirine bağlama hedefimize bizi bir adım daha yaklaştırıyor.

Çevirilerimizin doğruluğunu daha da artırmak ve modelimize daha iyi eğitim verileri sağlamak için, platformdaki kullanıcıların çeviriler hakkında geri bildirimde bulunmalarına ve sistemin daha da hızlı gelişmesine yardımcı olacak bir araç sunmayı planlıyoruz. Bu sayede kullanıcılar, yanlış çevrilmiş bir şey gördüklerinde bize bildirebilecek ve hatta modeli daha da iyileştirmek için eğitim verilerine ekleyebileceğimiz daha iyi bir çeviri önerebilecekler.

Bu çeviriler, desteklediğimiz 16 dilin tümü için bugün kullanıma hazırdır, ancak işimiz henüz bitmedi. Modellerimizi, deneyimlerimizden elde ettiğimiz en yeni çeviri örneklerinin yanı sıra, desteklediğimiz her dildeki popüler sohbet ifadeleri ve en yeni argo ifadelerle güncellemeye devam etmeyi planlıyoruz. Ayrıca bu mimari, söz konusu diller için yeterli eğitim verisi elde edilebildiğinde, modeli yeni dillerde nispeten az çabayla eğitmeyi mümkün kılacak. Daha uzun vadede ise, görüntülerdeki metinler, dokular, 3D modeller vb. dahil olmak üzere her şeyi çok boyutlu olarak otomatik olarak çevirmenin yollarını araştırıyoruz.

Ayrıca, otomatik sesli sohbet çevirileri de dahil olmak üzere heyecan verici yeni ufukları şimdiden keşfediyoruz. Roblox'ta Fransızca konuşan bir kişinin, sadece Rusça konuşan biriyle sesli sohbet yapabildiğini hayal edin. Her ikisi de kendi dillerinde, ses tonu, ritmi ve duygusuna kadar birbirlerini anlayabilir ve konuşabilirler, hem de düşük gecikme süresiyle. Bu bugün bilim kurgu gibi gelebilir ve bunu başarmak biraz zaman alabilir, ancak çeviri konusunda ilerlemeye devam edeceğiz. Çok da uzak olmayan bir gelecekte, Roblox, dünyanın her yerinden insanların sadece metin sohbeti yoluyla değil, mümkün olan her şekilde sorunsuz ve zahmetsizce iletişim kurabileceği bir yer olacak!