Automatic translation has been available for years thanks to services like Google translate, but results have never been completely satisfying. Thanks to the recent progress made on deep learning, it is now possible to reach a more advanced level of translation.
Deep learning Natural Language Processing models make translation very fluent. Even for advanced technical topics, it's hard to detect that translation was performed by a machine. Now that translation is more reliable than ever, it creates tons of new possibilities.
Potential applications for automatic translation are countless, but let's show 2 examples.
Many customers cannot or don't want to speak English. Instead of just ignoring them and potentially losing them, why not automatically translate all the discussions?
Targeting customers based in multiple countries with English content only is not optimal. Most customers prefer to read about you in their own language. It is also a great way to improve SEO. Leveraging machine translation is a great way to easily get more customers.
Hugging Face Transformers is an amazing library that has been recently released. It is based on either PyTorch or TensorFlow, depending on the model you're using. Transformers have clearly helped deep learning Natural Language Processing make great progress in terms of accuracy. However this accuracy improvement comes at a cost: transformers are extremely demanding in terms of resources.
Hugging Face is a central repository regrouping all the newest open-source Natural Language Processing transformer-based models. Some of them, based on Facebook's M2M100 and Helsinki NLP's Opus MT, are perfectly suited for automatic translation.
Building an inference API for translation is a necessary step as soon a you want to use deep learning translation in production. But building such an API is hard... First because you need to code the API (easy part) but also because you need to build a highly available, fast, and scalable infrastructure to serve your models behind the hood (hardest part). It is especially hard for machine learning models as they consume a lot of resources (memory, disk space, CPU, GPU...).
Such an API is interesting because it is completely decoupled from the rest of your stack (microservice architecture), so you can easily scale it independently, and you can access it using any programming language. Most machine learning frameworks are developed in Python, but it's likely that you want to access them from other languages like Javascript, Go, Ruby...
NLP Cloud proposes a translation API that gives you the opportunity to perform machine translation out of the box in 200 languages, based on Facebook's NLLB 200 3.3B, with excellent performances. This model performs better than Facebook's M2M100, and is on-par with Helsinki's Opus MT models. If you are not sure about the language of the input text you are trying to translate, you can let the model guess it for your. The response time (latency) is good but a GPU is recommended for large pieces of text. You can either use all the pre-trained models available or upload your own custom models!
For more details, see our documentation about translation here.
Here are the supported languages:
Testing deep learning translation locally is one thing, but using it reliably in production is another thing. With NLP Cloud you can just do both!