Around September last year, Google published a paper on an Artificial Intelligence tool that it would use to translate languages. It was basically its own version of a Neural Machine Translation system. The Google Neural Machine Translation (GNMT) system tremendously improved the efficiency of apps like Google Translate. They had kicked off their service with German, French, Spanish, Portuguese, Chinese, Japanese, Turkish and Korean in 2016. This year, they launched the tool for Russian, Vietnamese and nine Indian languages. Let us take a look at what this new approach of translation entails.
What is the new Google Neural Machine Translation system?
Neural Machine Translation (NMT) systems existed before Google’s version. These are machine learning models that use neural networks to predict the outcome of a particular problem. These predictions arise from similar patterns that the system had ‘memorized’ earlier.
But these NMTs were expensive for training the network as well as for applying it to actual problems. Google’s NMT made the process of learning easier by deploying parallelism. Low-level arithmetic computations increased the output translation times quite impressively. Also, special conditions for the interpretation of rare words helped improve the accuracy of the approach.
Earlier, Google used Statistical Machine Translation to translate languages. But it had its limitations as it used a “phrase-based translation.” Therefore the translation wouldn’t work for language pairs with significantly different word order. Also, the linguistic difference between the source and target languages made the translation a complex task. For example, English and Hindi, although both belonging to the Indo-European language family, possess enough distinctive characteristics in word order and morphology.
But with the new state-of-the-art neural machine translation, translation has become easier, more accurate and comprehensive as it translates whole sentences at once, rather than doing it by phrases.
In addition to bypassing previous NMT models, GNMT’s “Zero-Shot Translation” enables it to translate one language into another directly. For example, Japanese to Korean. Earlier, Google Translate first translated the source language into English and then translated the English into the target language.
For more examples, check out the links below.
How does GNMT work?
GNMT leverages Google’s machine learning toolkit TensorFlow and Tensor Processing Units (TPUs). TPUs provide sufficient computational power to process the GNMT models in the Google Translate app. Google has made the TensorFlow API publicly available for free, with the aim of spurring further the evolution of AI and building a community around it.
The TensorFlow system is built to be highly scalable as it uses “multi-dimensional arrays” aka tensors for data representation. TensorFlow works by creating a graph of all the operations to be performed. And it executes those operations when needed. This programming paradigm is known as “lazy evaluation,” which benefits by avoiding calculations which are not needed, thus tremendously increasing the performance of the system. This, in turn, saves a lot of working memory as the memory is only used when the code is executed.
TensorFlow’s biggest advantage is that developers can visualize each part of the graph, train machine learning models on CPU/GPU with platform flexibility. This flexibility ensures that the models can run on any platform, even on mobile phones. And consequently, this makes TensorFlow one of the most vital signs of progress for Google in the field of Language and Machine Translation, gifting its user a better opportunity to translate languages efficiently.
Sources and further readings
- Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
- More examples of difference in translation using phrase-based approach and Google Neural machine translation approach