Нейронный машинный перевод Google

Нейронный машинный перевод Google (англ. Google Neural Machine Translation, GNMT) — это система нейронного машинного перевода, разработанная компанией Google и внедрённая в ноябре 2016 года, использующая искусственные нейронные сети для повышения связности и точности переводов в Google Translate[1][2][3][4]. Данная нейронная сеть состояла из двух основных элементов: кодировщика и декодировщика, оба на архитектуре LSTM, каждый из которых имел по 8 слоёв шириной 1024 элемента, а также однослойного прямого feedforward механизма внимания шириной 1024, соединяющего кодировщик и декодировщик[4][5]. По разным оценкам, общее количество параметров колебалось от более 160 миллионов[6] через примерно 210 миллионов[7], 278 миллионов[8] до 380 миллионов[9]. GNMT использует WordPiece-токенизатор и стратегию декодирования поиск в ширину, а работала на тензорных процессорах.

К 2020 году данная система была заменена другой нейросетевой архитектурой на основе энкодера-трансформера и декодера-RNN[10].

GNMT повысила качество перевода за счёт применения примерно-ориентированного (EBMT) метода машинного перевода, при котором система обучается на миллионах примеров языкового перевода[2]. Предложенная архитектура GNMT была впервые протестирована на более чем ста языках, поддерживаемых Google Translate[2]. Благодаря крупной сквозной структуре, система постепенно учится создавать более естественные и качественные переводы[1]. GNMT пытается переводить целые предложения сразу, а не по частям[1]. Сеть GNMT способна осуществлять интерлингвистический машинный перевод, кодируя смысл предложения, а не только фразовые соответствия[2][11].

История

Проект Google Brain был создан в 2011 году в «секретной лаборатории Google X»[12] по инициативе Google Fellow Джеффа Дина, исследователя Google Грега Коррадо и профессора кафедры информатики Стэнфордского университета Эндрю Ына[13][14]. Работа Эндрю Ына привела к одним из крупнейших прорывов Google и Стэнфорда.

В ноябре 2016 года была представлена система нейронного машинного перевода Google (GNMT). С этого времени Google Translate стал использовать именно нейронный машинный перевод (NMT) вместо прежних статистических методов (SMT)[1][15][16][17], используемых с октября 2007 года, когда Google перешла на собственную технологию SMT[18][19].

Обучение GNMT было масштабной задачей: по оценке OpenAI 2018 года, оно потребовало около 79 петаFLOP-дней (7×10^21 FLOP), что в полтора порядка превышало объём вычислений для модели Seq2seq 2014 года[20], но примерно вдвое меньше, чем для GPT-J-6B в 2021 году[21].

Нейросетевая система Google Translate использует глубокое обучение[1][2][3]. Применяя миллионы примеров, GNMT улучшает качество переводов[2], используя более широкий контекст для выбора наиболее релевантных вариантов. Итоговый результат затем перестраивается, чтобы лучше соответствовать грамматике языка[1]. Архитектура GNMT впервые была протестирована на более чем 100 языках Google Translate[2]. GNMT не создавал универсальную интерлингву, а стремился выявить сходства между языками, опираясь на психологию и лингвистику[22]. Новый переводческий движок первым был доступен для восьми языков: с и на английский, французский, немецкий, испанский, португальский, китайский, японский, корейский и турецкий в ноябре 2016 года[23]. В марте 2017 были добавлены русский, хинди, вьетнамский и позже тайский[24][25]. В том же месяце при поддержке сообщества Google Translate были добавлены иврит и арабский[26]. В апреле 2017 года Google Нидерланды анонсировал поддержку нидерландского и других европейских языков[27]. В конце апреля 2017 ещё девять индийских языков получили поддержку: хинди, бенгали, маратхи, гуджарати, пенджаби, тамильский, телугу, малаялам и каннада[28].

К 2020 году Google окончательно перешла на другую нейросетевую архитектуру на основе трансформеров, отказавшись от NMT[10].

Оценка эффективности

Система GNMT, как сообщается, продемонстрировала улучшение по сравнению с прежним Google Translate благодаря поддержке так называемого «zero-shot» перевода — прямого перевода с одного языка на другой без предварительного перевода на английский. Например, система, обученная для японско-английского и корейско-английского перевода, может выполнять и японско-корейский. GNMT, по-видимому, вырабатывает универсальное промежуточное языковое представление (интерлингва), что позволяет реализовать zero-shot перевод[2]. Ранее Google Translate сначала переводил исходный язык на английский, затем с английского — на целевой язык, а не напрямую[11].

В июле 2019 года исследование, опубликованное в Annals of Internal Medicine, показало, что «Google Translate представляет собой жизнеспособный и точный инструмент для перевода неанглоязычных научных публикаций»; лишь одно непонимание между рецензентами было вызвано ошибкой машинного перевода. Поскольку многие медицинские исследования исключаются из обзоров по причине языкового барьера, GNMT потенциально позволяет снизить смещение и повысить точность научных обзоров[29].

Языки, поддерживаемые GNMT

По состоянию на декабрь 2021 года, все языки, входящие в Google Переводчик, поддерживают GNMT; последним добавленным стал латинский.

  1. Африкаанс
  2. Албанский
  3. Амхарский
  4. Арабский
  5. Армянский
  6. Азербайджанский
  7. Баскский
  8. Белорусский
  9. Бенгальский
  10. Боснийский
  11. Болгарский
  12. Бирманский
  13. Каталонский
  14. Себуано
  15. Чева
  16. Китайский (упрощённый)
  17. Китайский (традиционный)
  18. Корсиканский
  19. Хорватский
  20. Чешский
  21. Датский
  22. Нидерландский
  23. Английский
  24. Эсперанто
  25. Эстонский
  26. Филиппинский (Тагальский)
  27. Финский
  28. Французский
  29. Галисийский
  30. Грузинский
  31. Немецкий
  32. Греческий
  33. Гуджарати
  34. Гаитянский креольский
  35. Хауса
  36. Гавайский
  37. Иврит
  38. Хинди
  39. Хмонг
  40. Венгерский
  41. Исландский
  42. Игбо
  43. Индонезийский
  44. Ирландский
  45. Итальянский
  46. Японский
  47. Яванский
  48. Каннада
  49. Казахский
  50. Кхмерский
  51. Киньяруанда
  52. Корейский
  53. Курдский (курманджи)
  54. Киргизский
  55. Лаосский
  56. Латынь
  57. Латышский
  58. Литовский
  59. Люксембургский
  60. Македонский
  61. Малагасийский
  62. Малайский
  63. Малаялам
  64. Мальтийский
  65. Маори
  66. Маратхи
  67. Монгольский
  68. Непальский
  69. Норвежский (букмол)
  70. Одиа
  71. Пушту
  72. Персидский
  73. Польский
  74. Португальский
  75. Пенджаби (гурмукхи)
  76. Румынский
  77. Русский
  78. Самоанский
  79. Шотландский гэльский
  80. Сербский
  81. Шона
  82. Синдхи
  83. Сингальский
  84. Словацкий
  85. Словенский
  86. Сомалийский
  87. Сото
  88. Испанский
  89. Суданский
  90. Суахили
  91. Шведский
  92. Таджикский
  93. Тамильский
  94. Татарский
  95. Телугу
  96. Тайский
  97. Турецкий
  98. Туркменский
  99. Украинский
  100. Урду
  101. Уйгурский
  102. Узбекский
  103. Вьетнамский
  104. Валлийский
  105. Западнофризский
  106. Коса
  107. Идиш
  108. Йоруба
  109. Зулу

Примечания

Литература

  • Wu, Yonghui; Schuster, Mike; Chen, Zhifeng; Le, Quoc V.; Norouzi, Mohammad (2016). “Google's neural machine translation system: Bridging the gap between human and machine translation” [англ.]. arXiv:1609.08144.
  • Jackson, Jeffrey L; Kuriyama, Akira; Anton, Andreea; Choi, April; Fournier, Jean-Pascal; Geier, Anne-Kathrin; Jacquerioz, Frederique; Kogan, Dmitry; Scholcoff, Cecilia; Sun, Rao (30 июля 2019). “The Accuracy of Google Translate for Abstracting Data From Non–English-Language Trials for Systematic Reviews”. Annals of Internal Medicine [англ.]. 171 (9): 678. DOI:10.7326/M19-0891. ISSN 0570-183X. PMID 31357212. S2CID 198980789.