Nội dung trên trang web này đã được dịch bằng trí tuệ nhân tạo (AI) hoặc công nghệ dịch máy và có thể có lỗi.

Skip to content

Xóa bỏ rào cản ngôn ngữ với mô hình dịch thuật đa ngôn ngữ

Hãy tưởng tượng bạn phát hiện ra rằng người bạn mới trên Roblox, người mà bạn đã trò chuyện và đùa giỡn trong một trải nghiệm mới, thực ra đang ở Hàn Quốc — và đã gõ tiếng Hàn suốt thời gian qua, trong khi bạn gõ tiếng Anh, mà cả hai đều không hề hay biết. Nhờ tính năng 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 điều không thể thực hiện được trong thế giới thực thành hiện thực trên Roblox — giúp những người nói các ngôn ngữ khác nhau có thể giao tiếp trơn tru với nhau trong các trải nghiệm 3D nhập vai 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 đã kích hoạt dịch vụ trò chuyện văn bản trong trò chơi của chúng tôi, người dùng từ các quốc gia khác nhau giờ đây có thể được hiểu bởi 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 được dịch sang tiếng Anh, hoặc tiếng Thổ Nhĩ Kỳ được dịch sang tiếng Đức, và ngược lại, để mỗi người có thể xem 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 phía sau hậu trường gần như không thể nhận ra. Việc sử dụng AI để tự động hóa dịch thuật theo thời gian thực trong trò chuyện văn bản giúp xóa bỏ rào cản ngôn ngữ và kết nối nhiều người hơn, bất kể họ sống ở đâu trên thế giới.

Xây dựng mô hình dịch thuật thống nhất

Dịch thuật AI không phải là điều mới mẻ, phần lớn nội dung trong trải nghiệm của chúng tôi đã được dịch tự động. Chúng tôi muốn vượt ra ngoài việc dịch nội dung tĩnh trong các trải nghiệm. Chúng tôi muốn tự động dịch 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 (ví dụ: tiếng Anh) sang một ngôn ngữ khác, mà muốn có hệ thống có thể 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 nhanh. Nhanh đủ để hỗ trợ các cuộc trò chuyện trực tiếp, điều này đối với chúng tôi có nghĩa là giảm độ trễ xuống khoảng 100 mili giây.

Roblox là nơi có hơn 70 triệu người dùng hoạt động hàng ngày trên toàn thế giới và con số này đang tiếp tục tăng. 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 mình — 24 giờ mỗi 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 hoạt động, tất cả theo thời gian thực, rõ ràng là không khả thi. Mở rộng các bản dịch trực tiếp này cho hàng triệu người, mỗi người đang tham gia vào các cuộc trò chuyện khác nhau trong các trải nghiệm khác nhau cùng lúc, đòi hỏi một mô hình ngôn ngữ lớn (LLM) có tốc độ và độ chính xác vượt trội. Chúng tôi cần một mô hình nhận thức ngữ cảnh có thể nhận diện ngôn ngữ đặc trưng của Roblox, bao gồm cả ngôn ngữ lóng và từ viết tắt (ví dụ: obby, afk hoặc lol). Ngoài ra, mô hình của chúng tôi cần hỗ trợ bất kỳ sự kết hợp nào trong số 16 ngôn ngữ mà Roblox hiện đang hỗ trợ.

Để đạt được điều này, chúng tôi có thể đã xây dựng một mô hình riêng biệt cho mỗi cặp ngôn ngữ (ví dụ: tiếng Nhật và tiếng Tây Ban Nha), nhưng điều đó sẽ đòi hỏi 16x16, tức là 256 mô hình khác nhau. Thay vào đó, chúng tôi đã xây dựng một mô hình ngôn ngữ lớn (LLM) dịch thuật dựa trên Transformer thống nhất để 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ư việc 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 qua một giao diện duy nhất. Khi được cung cấp một câu nguồn và ngôn ngữ đích, chúng tôi có thể kích hoạt “chuyên gia” phù hợp để tạo ra bản dịch.

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

Ilustração do processo de inferência. As mensagens de origem, juntamente com o idioma de origem e os idiomas de destino, são passadas pelo RCC. Antes de chegar ao back-end, verificamos primeiro o cache para ver se já temos traduções para essa solicitação. Caso contrário, a solicitação é encaminhada ao back-end e ao servidor de modelos com processamento em lote dinâmico. Adicionamos uma camada de cache de incorporação entre os codificadores e decodificadores para melhorar ainda mais a eficiência ao traduzir para vários idiomas de destino.

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 rất nhiều vì một số lý do. Thứ nhất, mô hình của chúng tôi có thể tận dụng những điểm 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ừ dữ liệu đầ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 thuật cho cả hai ngôn ngữ. Chúng tôi cũng có thể dễ dàng hơn rất nhiều trong việc thử nghiệm và tích hợp các nghiên cứu mới và những tiến bộ trong LLM vào hệ thống của mình ngay khi chúng được phát hành, để tận dụng những kỹ thuật mới nhất và tốt nhất hiện có. Chúng tôi nhận thấy một lợi ích khác của mô hình thống nhất này trong các trường hợp ngôn ngữ nguồn không được thiết lập hoặc thiết lập sai, nơi mô hình đủ chính xác để phát hiện ngôn ngữ nguồn chính xác và dịch sang ngôn ngữ đích. Thực tế, ngay cả khi đầu vào có sự pha trộn các 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 bằng, nhưng thông điệp cuối cùng vẫn sẽ tương đối dễ hiểu.

Để huấn luyện mô hình thống nhất này, chúng tôi bắt đầu bằng việc huấn luyện trước trên dữ liệu nguồn mở sẵn có, cũng như dữ liệu dịch thuật nội bộ của chúng tôi, kết quả dịch thuật trò chuyện được con người đánh dấu, và các câu và cụm từ trò chuyện thông dụng. Chúng tôi cũng xây dựng chỉ số đánh giá chất lượng dịch thuật và mô hình riêng để đo lường chất lượng dịch thuật. Hầu hết các chỉ số chất lượng dịch thuật sẵn có so sánh kết quả dịch thuật của AI với một bản dịch tham chiếu hoặc bản dịch chuẩn và tập trung chủ yếu vào tính dễ hiểu của bản dịch. Chúng tôi muốn đánh giá chất lượng bản dịch — mà không cần bản dịch chuẩ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 (có thêm, thiếu hoặc dịch sai không), độ trôi chảy (dấu câu, chính tả và ngữ pháp), và các tham chiếu sai (sự không nhất quán 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: 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 học máy và huấn luyện nó trên 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ột mô hình ngôn ngữ đa ngôn ngữ để dự đoán các lỗi và loại lỗi ở cấp độ từ và tính toán điểm số bằng cách sử dụng các tiêu chí đa chiều của chúng tôi. Điều này giúp chúng tôi có được 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 cần bản dịch chuẩn. Sử dụng kết quả của thước đo chất lượng này, chúng tôi có thể tiếp tục cải thiện 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ể đánh giá chất lượng 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 đánh giá chất lượng dịch nội bộ của chúng tôi. Mô hình này đánh giá chất lượng từ các khía cạnh khác nhau và phân loại lỗi thành lỗi nghiêm trọng, lỗi lớn và lỗi nhỏ.

Các cặp ngôn ngữ ít phổ biến hơn (ví dụ: tiếng Pháp sang tiếng Thái) là một thách thức do thiếu dữ liệu chất lượng cao. Để giải quyết vấn đề này, chúng tôi đã áp dụng phương pháp dịch ngược, trong đó nội dung được dịch ngược lại sang ngôn ngữ gốc, sau đó so sánh với văn bản nguồn để kiểm tra độ chính xác. Trong quá trình huấn luyện, chúng tôi đã sử dụng phương pháp dịch ngược lặp đi lặp lại, trong đó chúng tôi 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 thuật cho mô hình học tập.

Sơ đồ 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 mô hình huấn luyện được đào tạo, chúng tôi áp dụng kỹ thuật chưng cất (distillation) và các kỹ thuật tối ưu hóa 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 được tiếng lóng hiện đại, chúng tôi đã yêu cầu các chuyên gia đánh giá dịch các thuật ngữ phổ biến và đang thịnh hành cho từng ngôn ngữ, và đưa các bản dịch đó vào dữ liệu huấn luyện của chúng tôi. Chúng tôi sẽ tiếp tục lặp lại quy trình này thường xuyên để hệ thống luôn cập nhật các thuật ngữ tiếng lóng mới nhất.

Mô hình dịch chat kết quả có khoảng 1 tỷ tham số. Việc chạy dịch qua một mô hình lớn như vậy đòi hỏi tài nguyên quá lớn để triển khai quy mô lớn và sẽ mất quá nhiều thời gian cho một cuộc trò chuyện thời gian thực, nơi độ trễ thấp là yếu 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 lớn này theo phương pháp học sinh-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 các kỹ thuật như distillation, lượng tử hóa, biên dịch mô hình và các tối ưu hóa phục vụ khác để giảm kích thước mô hình xuống dưới 650 triệu tham số và cải thiện hiệu quả phục vụ. Ngoài ra, chúng tôi đã điều chỉnh API phía sau tính năng trò chuyện văn bản trong ứng dụng để gửi cả tin nhắn gốc và tin nhắn đã dịch đến thiết bị của người dùng. Đ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 mô hình ngôn ngữ lớn (LLM) cuối cùng đã sẵn sàng, chúng tôi triển khai một hệ thống backend để kết nối với các máy chủ mô hình. Hệ thống backend này là nơi chúng tôi áp dụng logic dịch thuật trò chuyện bổ sung và tích hợp hệ thống với các hệ thống tin cậy và an toàn thông thường của chúng tôi. Điều này đảm bảo văn bản đã dịch được kiểm tra kỹ lưỡng như các văn bản khác, nhằm 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 luôn là ưu tiên hàng đầu trong mọi hoạt động tại Roblox, vì vậy đây là một phần rất quan trọng của bức tranh tổng thể.

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 hệ thống dịch thuật mới này giúp tăng cường sự tương tác và chất lượng phiên làm việc cho người dùng trên nền tảng của chúng tôi. Dựa trên các chỉ số nội bộ, mô hình của chúng tôi vượt trội hơn các API dịch thuật thương mại khi xử lý nội dung trên Roblox, cho thấy chúng tôi đã tối ưu hóa thành công cách thức giao tiếp của người dùng trên Roblox. Chúng tôi rất hào hứng khi thấy điều này cải thiện trải nghiệm cho người dùng trên nền tảng, giúp họ có thể chơi game, mua sắm, hợp tác hoặc đơn giản là trò chuyện với bạn bè nói ngôn ngữ khác.

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

Để tiếp tục nâng cao độ chính xác của bản dịch và cung cấp dữ liệu đào tạo tốt hơn cho mô hình, chúng tôi dự định triển khai một công cụ cho phép người dùng trên nền tảng này 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. Điều này sẽ cho phép người dùng thông báo cho chúng tôi khi họ phát hiện bản dịch sai và thậm chí đề xuất bản dịch tốt hơn để chúng tôi có thể bổ sung vào dữ liệu đào tạo, từ đó tiếp tục cải thiện mô hình.

Các 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 vẫn còn nhiều việc phải làm. Chúng tôi dự định tiếp tục cập nhật các mô hình của mình bằng các ví dụ dịch thuật mới nhất từ các trải nghiệm của chúng tôi, cũng như các cụm từ trò chuyện phổ biến và các cụm từ slang 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ẽ cho phép đà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, khi dữ liệu đào tạo đủ cho các ngôn ngữ đó trở nên sẵn có. Trong tương lai xa hơn, chúng tôi đang khám phá các cách để tự động dịch mọi thứ trên nhiều chiều: văn bản trên hình ảnh, texture, mô hình 3D, v.v.

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