Logo Zephyrnet

Phá vỡ rào cản ngôn ngữ bằng mô hình dịch đa ngôn ngữ – Blog Roblox

Ngày:

Hãy tưởng tượng bạn phát hiện ra rằng người bạn Roblox mới của bạn, người mà bạn đang trò chuyện và đùa giỡn trong một trải nghiệm mới, thực sự đang ở Hàn Quốc — và đã gõ tiếng Hàn suốt thời gian qua, trong khi bạn gõ bằng tiếng Anh mà không có một trong hai thứ đó. bạn để ý. Nhờ các bản dịch trò chuyện AI thời gian thực mới của chúng tôi, chúng tôi đã biến Roblox thành hiện thực một điều thậm chí không thể thực hiện được trong thế giới thực — cho phép những người nói các ngôn ngữ khác nhau giao tiếp liền mạch với nhau trong trải nghiệm 3D sống động của chúng tôi. Điều này có thể thực hiện được nhờ mô hình đa ngôn ngữ tùy chỉnh của chúng tôi, hiện cho phép dịch trực tiếp giữa bất kỳ sự kết hợp nào trong số 16 ngôn ngữ mà chúng tôi hiện hỗ trợ (15 ngôn ngữ này, cũng như tiếng Anh). 

Trong bất kỳ trải nghiệm nào đã cho phép chúng tôi trò chuyện bằng văn bản trải nghiệm dịch vụ, giờ đây những người từ các quốc gia khác nhau có thể hiểu được những người không nói ngôn ngữ của họ. Cửa sổ trò chuyện sẽ tự động hiển thị tiếng Hàn dịch sang tiếng Anh hoặc tiếng Thổ Nhĩ Kỳ dịch sang tiếng Đức và ngược lại để mỗi người nhìn thấy cuộc trò chuyện bằng ngôn ngữ của mình. Các bản dịch này được hiển thị theo thời gian thực, với độ trễ khoảng 100 mili giây, do đó quá trình dịch diễn ra ở hậu trường gần như vô hình. Việc sử dụng AI để tự động hóa các bản dịch theo thời gian thực trong cuộc trò chuyện bằng văn bản sẽ xóa bỏ rào cản ngôn ngữ và gắn kết nhiều người hơn với nhau, bất kể họ sống ở đâu trên thế giới. 

Xây dựng mô hình dịch hợp nhất

Dịch AI không phải là mới, phần lớn nội dung trải nghiệm của chúng tôi đã được dịch tự động. Chúng tôi muốn vượt xa việc dịch nội dung tĩnh trong trải nghiệm. Chúng tôi muốn dịch tự động các tương tác — và chúng tôi muốn làm điều đó cho tất cả 16 ngôn ngữ mà chúng tôi hỗ trợ trên nền tảng. Đây là một mục tiêu táo bạo vì hai lý do: Thứ nhất, chúng tôi không chỉ dịch từ một ngôn ngữ chính (tức là tiếng Anh) sang một ngôn ngữ khác, chúng tôi muốn có một hệ thống có khả năng dịch giữa bất kỳ sự kết hợp nào của 16 ngôn ngữ mà chúng tôi hỗ trợ. Thứ hai, nó phải là Rychle. Đủ nhanh để hỗ trợ các cuộc trò chuyện thực sự, điều này đối với chúng tôi có nghĩa là giảm độ trễ xuống còn khoảng 100 mili giây.

Roblox là ngôi nhà của hơn 70 triệu người dùng hoạt động hàng ngày trên toàn thế giới và đang ngày càng tăng lên. Mọi người đang giao tiếp và sáng tạo trên nền tảng của chúng tôi — mỗi người bằng ngôn ngữ mẹ đẻ của họ — 24 giờ một ngày. Việc dịch thủ công mọi cuộc trò chuyện diễn ra trên hơn 15 triệu trải nghiệm đang hoạt động, tất cả đều theo thời gian thực, rõ ràng là không khả thi. Việc mở rộng quy mô các bản dịch trực tiếp này cho hàng triệu người, tất cả đều có các cuộc trò chuyện khác nhau trong các trải nghiệm khác nhau cùng một lúc, đòi hỏi một LLM với tốc độ và độ chính xác cực cao. Chúng tôi cần một mô hình nhận biết ngữ cảnh có thể nhận dạng ngôn ngữ dành riêng cho Roblox, bao gồm cả tiếng lóng và chữ viết tắt (ví dụ như obby, afk hoặc lol). Ngoài tất cả những điều đó, mô hình của chúng tôi cần hỗ trợ mọi sự kết hợp của 16 ngôn ngữ mà Roblox hiện hỗ trợ. 

Để đạt được điều này, chúng tôi có thể xây dựng một mô hình duy nhất cho từng cặp ngôn ngữ (ví dụ: tiếng Nhật và tiếng Tây Ban Nha), nhưng điều đó sẽ yêu cầu 16×16 hoặc 256 mô hình khác nhau. Thay vào đó, chúng tôi đã xây dựng một LLM dịch thuật thống nhất, dựa trên máy biến áp để xử lý tất cả các cặp ngôn ngữ trong một mô hình duy nhất. Điều này giống như có nhiều ứng dụng dịch thuật, mỗi ứng dụng chuyên về một nhóm ngôn ngữ tương tự, tất cả đều có sẵn trên một giao diện duy nhất. Với câu nguồn và ngôn ngữ đích, chúng tôi có thể kích hoạt “chuyên gia” có liên quan để tạo ra bản dịch. 

Kiến trúc này cho phép sử dụng tài nguyên tốt hơn vì mỗi chuyên gia có một chuyên môn khác nhau, dẫn đến việc đào tạo và suy luận hiệu quả hơn — mà không làm giảm chất lượng dịch thuật.

Minh họa quá trình suy luận. Thông báo nguồn, cùng với ngôn ngữ nguồn và ngôn ngữ đích được chuyển qua RCC. Trước khi nhấn vào phần cuối, trước tiên chúng tôi kiểm tra bộ đệm để xem liệu chúng tôi đã có bản dịch cho yêu cầu này chưa. Nếu không, yêu cầu sẽ được chuyển đến mặt sau và tới máy chủ mô hình có tính năng phân khối động. Chúng tôi đã thêm lớp bộ nhớ đệm nhúng giữa bộ mã hóa và bộ giải mã để nâng cao hơn nữa hiệu quả khi dịch sang nhiều ngôn ngữ đích.

Kiến trúc này giúp việc đào tạo và duy trì mô hình của chúng tôi hiệu quả hơn nhiều vì một số lý do. Đầu tiên, mô hình của chúng tôi có thể tận dụng sự tương đồng về ngôn ngữ giữa các ngôn ngữ. Khi tất cả các ngôn ngữ được đào tạo cùng nhau, những ngôn ngữ tương tự nhau, như tiếng Tây Ban Nha và tiếng Bồ Đào Nha, sẽ được hưởng lợi từ thông tin đầu vào của nhau trong quá trình đào tạo, giúp cải thiện chất lượng dịch cho cả hai ngôn ngữ. Chúng tôi cũng có thể thử nghiệm và tích hợp các nghiên cứu và tiến bộ mới về LLM vào hệ thống của mình dễ dàng hơn nhiều khi chúng được phát hành, để hưởng lợi từ các kỹ thuật mới nhất và tốt nhất hiện có. Chúng tôi thấy một lợi ích khác của mô hình hợp nhất này trong trường hợp ngôn ngữ nguồn không được đặt hoặc được đặt không chính xác, trong đó mô hình đủ chính xác để có thể phát hiện ngôn ngữ nguồn chính xác và dịch sang ngôn ngữ đích. Trên thực tế, ngay cả khi đầu vào có nhiều ngôn ngữ, hệ thống vẫn có thể phát hiện và dịch sang ngôn ngữ đích. Trong những trường hợp này, độ chính xác có thể không cao lắm nhưng thông báo cuối cùng sẽ có thể hiểu được một cách hợp lý.

Để đào tạo mô hình hợp nhất này, chúng tôi đã bắt đầu bằng cách đào tạo trước trên dữ liệu nguồn mở có sẵn cũng như dữ liệu dịch theo kinh nghiệm của chính chúng tôi, kết quả dịch trò chuyện do con người gắn nhãn cũng như các câu và cụm từ trò chuyện phổ biến. Chúng tôi cũng xây dựng mô hình và số liệu đánh giá bản dịch của riêng mình để đo lường chất lượng bản dịch. Hầu hết các thước đo chất lượng dịch thuật hiện có đều so sánh kết quả dịch AI với một số bản dịch thực tế hoặc bản dịch tham khảo và tập trung chủ yếu vào mức độ dễ hiểu của bản dịch. Chúng tôi muốn đánh giá chất lượng của bản dịch - không có bản dịch chân lý cơ bản. 

Chúng tôi xem xét vấn đề này từ nhiều khía cạnh, bao gồm độ chính xác (liệu có bất kỳ bổ sung, thiếu sót hoặc dịch sai nào), sự trôi chảy (dấu câu, chính tả và ngữ pháp) cũng như các tham chiếu không chính xác (khác biệt với phần còn lại của văn bản). Chúng tôi phân loại các lỗi này thành các mức độ nghiêm trọng: Đây là lỗi nghiêm trọng, lỗi lớn hay lỗi nhỏ? Để đánh giá chất lượng, chúng tôi đã xây dựng một mô hình ML và đào tạo nó về các loại lỗi và điểm số do con người gắn nhãn. Sau đó, chúng tôi đã tinh chỉnh mô hình ngôn ngữ đa ngôn ngữ để dự đoán các loại và lỗi ở cấp độ từ, đồng thời tính điểm bằng các tiêu chí đa chiều của chúng tôi. Điều này cho chúng ta sự hiểu biết toàn diện về chất lượng và các loại lỗi xảy ra. Bằng cách này, chúng tôi có thể ước tính chất lượng bản dịch và phát hiện lỗi bằng cách sử dụng văn bản nguồn và bản dịch máy mà không yêu cầu bản dịch thực tế. Sử dụng kết quả của thước đo chất lượng này, chúng tôi có thể cải thiện hơn nữa chất lượng mô hình dịch thuật của mình. 

Với văn bản nguồn và kết quả dịch máy, chúng tôi có thể ước tính chất lượng của bản dịch máy mà không cần bản dịch tham chiếu bằng cách sử dụng mô hình ước tính chất lượng bản dịch nội bộ của chúng tôi. Mô hình này ước tính chất lượng từ các khía cạnh khác nhau và phân loại lỗi thành các lỗi nghiêm trọng, lớn và nhỏ.

Các cặp dịch ít phổ biến hơn (chẳng hạn như tiếng Pháp sang tiếng Thái) đang gặp khó khăn do thiếu dữ liệu chất lượng cao. Để giải quyết khoảng trống này, chúng tôi đã áp dụng tính năng dịch ngược, trong đó nội dung được dịch ngược lại ngôn ngữ gốc, sau đó so sánh với văn bản nguồn để đảm bảo độ chính xác. Trong quá trình đào tạo, chúng tôi đã sử dụng dịch ngược lặp lại, trong đó chúng tôi sử dụng kết hợp chiến lược giữa dữ liệu dịch ngược này và dữ liệu được giám sát (được gắn nhãn) để mở rộng lượng dữ liệu dịch cho mô hình học hỏi. 

Minh họa quy trình đào tạo mô hình. Cả dữ liệu song song và dữ liệu dịch ngược đều được sử dụng trong quá trình đào tạo mô hình. Sau khi đào tạo mô hình giáo viên, chúng tôi áp dụng kỹ thuật chưng cất và tối ưu hóa việc phục vụ khác để giảm kích thước mô hình và nâng cao hiệu quả phục vụ.

Để giúp mô hình hiểu tiếng lóng hiện đại, chúng tôi đã yêu cầu người đánh giá dịch các thuật ngữ phổ biến và thịnh hành cho từng ngôn ngữ, đồng thời đưa các bản dịch đó vào dữ liệu đào tạo của chúng tôi. Chúng tôi sẽ tiếp tục lặp lại quá trình này thường xuyên để hệ thống luôn cập nhật tiếng lóng mới nhất. 

Mô hình dịch trò chuyện thu được có khoảng 1 tỷ tham số. Việc chạy một bản dịch thông qua một mô hình lớn như thế này cực kỳ tốn nhiều tài nguyên để phục vụ trên quy mô lớn và sẽ mất quá nhiều thời gian cho một cuộc trò chuyện trong thời gian thực, trong đó độ trễ thấp là rất quan trọng để hỗ trợ hơn 5,000 cuộc trò chuyện mỗi giây. Vì vậy, chúng tôi đã sử dụng mô hình dịch thuật lớn này theo cách tiếp cận giữa học sinh và giáo viên để xây dựng một mô hình nhỏ hơn, nhẹ hơn. Chúng tôi đã áp dụng phương pháp chưng cất, lượng tử hóa, biên dịch mô hình và các tối ưu hóa phân phối khác để giảm kích thước của mô hình xuống dưới 650 triệu tham số và cải thiện hiệu quả phân phối. Ngoài ra, chúng tôi đã sửa đổi API của tính năng trò chuyện bằng văn bản trong trải nghiệm để gửi cả tin nhắn gốc và tin nhắn đã dịch tới thiết bị của người đó. Điều này cho phép người nhận xem tin nhắn bằng ngôn ngữ mẹ đẻ của họ hoặc nhanh chóng chuyển sang xem tin nhắn gốc, chưa được dịch của người gửi.

Khi LLM cuối cùng đã sẵn sàng, chúng tôi đã triển khai phần phụ trợ để kết nối với các máy chủ mô hình. Phần phụ trợ này là nơi chúng tôi áp dụng logic dịch trò chuyện bổ sung và tích hợp hệ thống với các hệ thống an toàn và tin cậy thông thường của chúng tôi. Điều này đảm bảo văn bản đã dịch được xem xét kỹ lưỡng như các văn bản khác để phát hiện và chặn các từ hoặc cụm từ vi phạm chính sách của chúng tôi. An toàn và văn minh được đặt lên hàng đầu trong mọi việc chúng tôi làm tại Roblox, vì vậy đây là một phần rất quan trọng của câu đố. 

Liên tục cải thiện độ chính xác

Trong quá trình thử nghiệm, chúng tôi nhận thấy rằng hệ thống dịch mới này thúc đẩy mức độ tương tác và chất lượng phiên mạnh mẽ hơn cho những người trên nền tảng của chúng tôi. Dựa trên số liệu của riêng chúng tôi, mô hình của chúng tôi hoạt động tốt hơn các API dịch thuật thương mại trên nội dung Roblox, cho thấy rằng chúng tôi đã tối ưu hóa thành công cách mọi người giao tiếp trên Roblox. Chúng tôi rất vui khi thấy điều này cải thiện trải nghiệm của mọi người trên nền tảng như thế nào, giúp họ có thể chơi trò chơi, mua sắm, cộng tác hoặc chỉ gặp gỡ bạn bè nói một ngôn ngữ khác.

Khả năng mọi người có những cuộc trò chuyện liền mạch, tự nhiên bằng ngôn ngữ mẹ đẻ của họ đưa chúng tôi đến gần hơn với mục tiêu kết nối một tỷ người với sự lạc quan và văn minh.

Để cải thiện hơn nữa độ chính xác của bản dịch và cung cấp cho mô hình của chúng tôi dữ liệu đào tạo tốt hơn, chúng tôi dự định triển khai một công cụ cho phép mọi người trên nền tảng cung cấp phản hồi về bản dịch của họ và giúp hệ thống cải thiện nhanh hơn nữa. Điều này sẽ cho phép ai đó thông báo cho chúng tôi khi họ thấy nội dung nào đó bị dịch sai và thậm chí đề xuất bản dịch tốt hơn mà chúng tôi có thể thêm vào dữ liệu đào tạo để cải thiện hơn nữa mô hình. 

Những bản dịch này hiện có sẵn cho tất cả 16 ngôn ngữ mà chúng tôi hỗ trợ — nhưng chúng tôi còn lâu mới hoàn thành. Chúng tôi dự định tiếp tục cập nhật các mô hình của mình với các ví dụ dịch mới nhất từ ​​kinh nghiệm của chúng tôi cũng như các cụm từ trò chuyện phổ biến và cụm từ tiếng lóng mới nhất trong mọi ngôn ngữ mà chúng tôi hỗ trợ. Ngoài ra, kiến ​​trúc này sẽ giúp bạn có thể đào tạo mô hình trên các ngôn ngữ mới với nỗ lực tương đối thấp vì có đủ dữ liệu đào tạo cho các ngôn ngữ đó. Hơn nữa, chúng tôi đang khám phá các cách để tự động dịch mọi thứ theo nhiều chiều: văn bản trên hình ảnh, họa tiết, mô hình 3D, v.v. 

Và chúng tôi đang khám phá những lĩnh vực mới thú vị, bao gồm cả tự động giọng nói dịch trò chuyện. Hãy tưởng tượng một người nói tiếng Pháp trên Roblox có thể trò chuyện thoại với một người chỉ nói tiếng Nga. Cả hai đều có thể nói chuyện và hiểu nhau, tùy theo âm điệu, nhịp điệu và cảm xúc của giọng nói, bằng ngôn ngữ của họ và ở độ trễ thấp. Mặc dù ngày nay điều này nghe có vẻ giống như khoa học viễn tưởng và sẽ mất một thời gian để đạt được, nhưng chúng tôi sẽ tiếp tục đẩy mạnh công việc dịch thuật. Trong tương lai không xa, Roblox sẽ là nơi mọi người từ khắp nơi trên thế giới có thể giao tiếp liền mạch và dễ dàng không chỉ qua trò chuyện bằng văn bản mà còn bằng mọi phương thức có thể!

tại chỗ_img

Tin tức mới nhất

tại chỗ_img