Нейронный машинный перевод
Нейронный машинный перевод (англ. Neural Machine Translation, NMT) — это подход к машинному переводу, при котором используется искусственная нейронная сеть для прогнозирования вероятности последовательности слов, обычно моделируя целые предложения в единой интегрированной модели.
Обзор
В настоящее время этот подход является доминирующим[1][2] и обеспечивает качество перевода, сопоставимое с человеческим при переводе между языками с достаточными ресурсами при определённых условиях[3]. Тем не менее, сохраняются серьёзные вызовы, особенно при работе с языками с недостаточным количеством высококачественных данных[1][4][5], а также при изменении предметной области между обучающими данными и реальными переводимыми текстами[1]. Кроме того, системы нейронного машинного перевода, как правило, склонны к передаче довольно буквальных переводов[5].
В задаче машинного перевода предложение (состоящее из токенов ) на исходном языке должно быть переведено в предложение (состоящее из токенов ) на целевом языке. Исходные и целевые токены обычно кодируются векторными представлениями для обработки с помощью математических методов.
Модели нейронного машинного перевода вычисляют вероятность [2][6] разных вариантов перевода и выбирают наиболее вероятный из множества возможных. Большинство моделей NMT являются автрорегрессионными: они вычисляют вероятность каждого следующего токена на целевом языке как функцию исходного предложения и ранее предсказанных токенов целевого языка. Итоговая вероятность перевода равна произведению вероятностей отдельных токенов:[2][6]
Различия между моделями NMT прежде всего касаются реализации функции , однако большинство моделей придерживаются архитектуры «кодировщик—декодировщик»[6][7]. Сначала сеть-кодировщик обрабатывает и преобразует исходное предложение в вектор (или матрицу) признаков. Затем декодер пошагово генерирует перевод, учитывая это представление и уже предсказанные токены до момента генерации специального токена конца предложения. Поскольку декодер опирается на собственные предыдущие выходы, такой процесс называется автрорегрессионным.
История
В 1987 году Роберт Б. Аллен продемонстрировал применение прямой нейронной сети для перевода автоматически сгенерированных английских предложений с ограниченным словарём из 31 слова на испанский язык. Архитектура сети подбиралась таким образом, чтобы входной и выходной слой соответствовали длине максимальных предложений на исходном и целевом языке, поскольку не существовало универсальных механизмов для кодирования последовательностей произвольной длины в фиксированное представление. Аллен также выдвинул концепцию использования автоассоциативных моделей — одной для кодирования источника и другой для декодирования[8].
В 1991 году Лонни Крисман развил эту идею, обучая раздельные рекурсивные автоассоциативные памяти (RAAM), разработанные Джорданом Б. Поллаком[9] для исходного и целевого языков. Каждая из сетей училась преобразовывать предложение произвольной длины в скрытое представление фиксированной длины и восстанавливать исходное предложение из этого представления. Дополнительно обе сети обучались совместному использованию скрытого слоя, что позволяло энкодеру источника создавать представление, расшифруемое декодером целевого языка[10]. Форкада и Ньеко упростили эту модель в 1997 году, предложив прямое обучение энкодера и декодера (под названием «рекурсивная гетероассоциативная память»)[11].
В том же 1997 году Кастаньо и Касакуберта применили рекуррентную сеть Элмана для перевода с очень ограниченным словарём ичислами предложений и низкой сложностью[12][13].
Несмотря на концептуальное сходство указанных подходов с современным NMT, вычислительные ресурсы конца 1980-х — 1990-х годов не позволяли обрабатывать достаточно большие корпуса данных для практического машинного перевода[1][14]. Доминирующими оставались статистические методы машинного перевода.
Во времена преобладания статистического машинного перевода отдельные элементы системы заменялись нейронными модулями при сохранении логлинейной интеграции[1][2]. Например, Хольгер Швенк с коллегами заменил традиционную n-граммная языковая модель на нейронную[15][16], а вероятности перевода фраз — предсказывались с помощью прямых нейронных сетей[17].
Прорыв в сквозном нейронном машинном переводе произошёл в 2013—2014 годах: Кальхбреннер и Блунсом использовали сверточную нейронную сеть для кодирования исходного предложения[18], в то время как Чо с соавторами и Сутскевер с коллегами опирались на рекуррентные сети[19][20]. Все три исследования строили декодер на основе RNN, использующего фиксированное векторное представление исходного текста. Однако на длинных предложениях такие модели показывали низкую эффективность[1][2][21]. Проблема частично решилась с появлением внимания (attention): Бахданау с соавторами добавили модуль attention к архитектуре энкодер—декодер: на каждом шаге декодирования состояния декодера вычисляют взвешенное представление исходного предложения, позволяющее сосредотачиваться на разных его частях[22]. На базе подобных архитектур Baidu запустила первую крупномасштабную систему NMT[23] в 2015 году, а Google Neural Machine Translation — в 2016[24]. С тех пор нейронные модели стали основными на ведущих конференциях по машинному переводу[25].
В 2017 году Геэринг с коллегами объединили сверточный энкодер с attention, улучшив обработку дальних зависимостей в тексте и ускорив перевод за счёт параллелизации[26]. В том же году «Microsoft Translator» запустил онлайновый нейросетевой перевод[27]. Тогда же вышел DeepL Translator, построенный на сверточном энкодере, и по мнению ряда СМИ на тот момент превосходил конкурентов[28][29][30]. Также было показано, что GPT-3 от OpenAI, выпущенная в 2020 году, способна функционировать как система нейронного машинного перевода. Подобные нейросетевые модули используют Microsoft Translator и SYSTRAN.
Реализация трансформера (англ. transformer) — ещё одна сетевая архитектура, хорошо параллелизуемая и предложенная Васвани с соавторами в 2017 году[31]. Как и прежние модели, трансформер задействует механизм внимания для вычисления весов выходов кодировщика при декодировании. Однако сами кодировщик и декодер основаны не на рекуррентности или свёртках, а на механизме внимания (self-attention): каждая новая слой применяет механизм самовнимания к предыдущему. Поскольку внимание само по себе не учитывает порядок токенов, используется явное позиционное кодирование признаков[2][6]. Благодаря отсутствию рекуррентности энкодеры и декодеры этой архитектуры можно обучать параллельно, но оригинальный декодер трансформера остаётся автрорегрессионным, то есть на этапе вывода он по-прежнему генерирует текст по одному токену.
Модель трансформера быстро стала стандартом для промышленных систем NMT[2] и сохраняет преобладание на ведущих конференциях по машинному переводу по состоянию на 2022–2023 годы[32][33].
Весовые коэффициенты NMT-моделей обычно инициализируются случайно и обучаются на параллельных корпусах. Однако большой успех в области обработки естественного языка (NLP) показали большие языковые модели (LLM) (например, BERT), заранее обученные на массивных монолингвальных данных и далее дообучаемые на задачах перевода. Такая стратегия особенно эффективна для языков с малым количеством параллельных корпусов[4]. Пример — модель mBART: сначала трансформер обучается по многоязычному корпусу на задаче восстановления замаскированных токенов, затем дообучается как автоэнкодер на задаче перевода[34].
Вместо дообучения предобученных языковых моделей для перевода достаточно мощные генеративные модели могут быть напрямую промптированы на перевод произвольных предложений. Такой подход впервые был всесторонне исследован для GPT-3.5 в 2023 году Хенди с соавторами, которые показали, что «системы GPT способны создавать очень беглые и конкурентоспособные переводы даже в нулевом режиме обучения (zero-shot), особенно для пар ресурсово насыщенных языков»[35].
На Конференции по машинному переводу 2023 года были протестированы десятки LLM, большинство из которых показали качество, сравнимое с ручным переводом[33].
Сравнение с статистическим машинным переводом
Нейронный машинный перевод решает ряд проблем статистического подхода:
- Использование непрерывных представлений токенов устранило проблему разрежённости для редких слов и фраз — модели стали лучше обобщать[18][36].
- Ограничение по длине n-граммовых моделей, характерное для статистического подхода, приводило к потере контекста. В NMT нет произвольной жёсткой границы контекста, кроме того, attention-модули позволяют явно выбирать важные токены для генерации следующего слова[36].
- Сквозное обучение одной модели (end-to-end) повысило качество перевода и упростило сам процесс.
- Для SMT требовались огромные n-граммные модели (вплоть до 7-грамм), занимавшие большие объёмы памяти[37], что для NMT не требуется.
Обучение
Модели NMT обычно обучаются максимизации правдоподобия обучающих данных. Пусть имеется набор исходных предложений и соответствующих целевых переводов . Необходимо найти параметры модели , максимизирующие сумму правдоподобий всех переводов (для каждого исходного):
На уровне токенов это эквивалентно:
Поскольку интересует максимум, на практике максимизируют логарифм выражения (что предотвращает потери точности из-за перемножения низких вероятностей):
Используя тождество между логарифмом произведения и суммой логарифмов, задача сводится к минимизации кросс-энтропийного риска:
На практике оптимизация производится по мини-батчам методом стохастического градиента.
При инференсе автрорегрессионные декодеры на каждом шаге используют предыдущий сгенерированный токен как входной. Однако из-за размера целевого словаря на ранних этапах обучения модель почти всегда ошибается, и следующие шаги обучаются уже на неправильном входе, что сильно замедляет процесс. Поэтому в фазе обучения применяется приём teacher forcing: на каждом шаге модель получает правильный токен из эталонного перевода, игнорируя свои предсказания на предыдущем шаге.
Перевод с помощью запроса большим языковым моделям
Как показано в разделе «История», вместо специальной NMT-системы, обученной на параллельных корпусах, можно просто промптировать генеративную LLM на перевод текста[35]:
- Генеративные языковые модели не обучаются конкретно на задаче перевода, а лишь на задачи языкового моделирования (предсказания следующего слова) на огромных корпусах разных языков (но доминирующим является английский текст)[38]. После этого организуется дообучение на задачах исполнения инструкций[39].
- Эти модели не используют архитектуру кодировщик—декодировщик, а состоят только из декодера трансформера.
- Для сформирования конкурентного качества перевода LLM должны быть намного больше обычных систем NMT. Например, у GPT-3 — 175 млрд параметров[40], у mBART — 680 млн[34], у изначального transformer-big — «лишь» 213 млн[31]. Это увеличивает вычислительные затраты на обучение и использование.
Обобщённо, генеративную LLM можно использовать для перевода в «zero-shot» режиме — просто задав в качестве промпта перевод без примеров. Или предоставить примеры переводов («one-shot» или «few-shot learning»). Например, для таких экспериментов использовались промпты[35]:
### Переведи это предложение с [язык источника] на [целевой язык], Source: [предложение] ### Target:
Переведите это на 1. [целевой язык]: [пример 1 — оригинал] 1. [пример 1 — перевод] Переведите это на 1. [целевой язык]: [входное предложение] 1.
Примечания
- ↑ 1 2 3 4 5 6 Koehn, Philipp. Neural Machine Translation. — Cambridge University Press, 2020.
- ↑ 1 2 3 4 5 6 7 Stahlberg, Felix (29 сентября 2020). “Neural Machine Translation: A Review and Survey”. arXiv preprint arXiv:1912.02047v2. Дата обращения 2024-06-30.
- ↑ Popel, Martin (1 сентября 2020). “Transforming machine translation: a deep learning system reaches news translation quality comparable to human professionals”. Nature Communications [англ.]. 11 (1): 4381. DOI:10.1038/s41467-020-18073-9. Дата обращения 2024-06-30.
|access-date=требует|url=(справка) - ↑ 1 2 Haddow, Barry (2022). “Survey of Low-Resource Machine Translation”. Computational Linguistics [англ.]. 48 (3): 673—732. Дата обращения 2024-06-30.
- ↑ 1 2 Poibeau, Thierry (2022). “On "Human Parity" and "Super Human Performance" in Machine Translation Evaluation”. Proceedings of the Thirteenth Language Resources and Evaluation Conference [англ.]. Марсель: European Language Resources Association: 6018—6023. Дата обращения 2024-06-30.
- ↑ 1 2 3 4 Tan, Zhixing (31 декабря 2020). “Neural Machine Translation: A Review of Methods, Resources, and Tools”. arXiv preprint arXiv:2012.15515 [англ.]. Дата обращения 2024-06-30.
- ↑ Goodfellow, Ian. 12.4.5 Neural Machine Translation // Deep Learning. — MIT Press, 2016. — P. 468–471.
- ↑ Allen, Robert B. (1987). Several Studies on Natural Language and Back-Propagation. IEEE First International Conference on Neural Networks. 2. Сан-Диего. pp. 335—341. Дата обращения 2024-06-30.
- ↑ Chrisman, Lonnie (1991). “Learning Recursive Distributed Representations for Holistic Computation”. Connection Science [англ.]. 3 (4): 345—366. DOI:10.1080/09540099108946592. Дата обращения 2024-06-30.
- ↑ Pollack, Jordan B. (1990). “Recursive distributed representations”. Artificial Intelligence. 46 (1): 77—105. DOI:10.1016/0004-3702(90)90005-K.
- ↑ Forcada, Mikel L. Recursive hetero-associative memories for translation // Biological and Artificial Computation: From Neuroscience to Technology. — 1997. — Vol. 1240. — P. 453–462. — ISBN 978-3-540-63047-0. — doi:10.1007/BFb0032504.
- ↑ Castaño, Asunción (1997). A connectionist approach to machine translation. 5th European Conference on Speech Communication and Technology (Eurospeech 1997). Родос. pp. 91—94. DOI:10.21437/Eurospeech.1997-50.
- ↑ Castaño, Asunción (23 июля 1997). Machine translation using neural networks and finite-state models. Proceedings of the 7th Conference on Theoretical and Methodological Issues in Machine Translation of Natural Languages. Колледж Сент-Джон, Санта-Фе.
- ↑ Yang, Shuoheng (18 февраля 2020). “A Survey of Deep Learning Techniques for Neural Machine Translation”. arXiv preprint arXiv:2002.07526 [англ.]. Дата обращения 2024-06-30.
- ↑ Schwenk, Holger (2006). Continuous Space Language Models for Statistical Machine Translation. COLING/ACL 2006 Main Conference Poster Sessions. Сидней. pp. 723—730.
- ↑ Schwenk, Holger (2007). “Contiuous space language models”. Computer Speech and Language. 21 (3): 492—518. DOI:10.1016/j.csl.2006.09.003.
- ↑ Schwenk, Holger (2012). Continuous Space Translation Models for Phrase-Based Statistical Machine Translation. COLING 2012: Posters. Мумбаи. pp. 1071—1080.
- ↑ 1 2 Kalchbrenner, Nal (2013). “Recurrent Continuous Translation Models”. Proceedings of the Association for Computational Linguistics: 1700—1709.
- ↑ Cho, Kyunghyun (2014). Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Доха. pp. 1724—1734. arXiv:1406.1078. DOI:10.3115/v1/D14-1179.
- ↑ Sutskever, Ilya (2014). “Sequence to Sequence Learning with Neural Networks”. Advances in Neural Information Processing Systems. 27. arXiv:1409.3215. Архивировано из оригинала 27 января 2025. Дата обращения 2024-06-30. Используется устаревший параметр
|url-status=(справка) - ↑ Cho, Kyunghyun (2014). On the Properties of Neural Machine Translation: Encoder–Decoder Approaches. SSST-8, Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation. Доха. pp. 103—111. arXiv:1409.1259. DOI:10.3115/v1/W14-4012.
- ↑ Bahdanau, Dzmitry (2014). “Neural Machine Translation by Jointly Learning to Align and Translate”. arXiv preprint arXiv:1409.0473 [англ.]. Дата обращения 2024-06-30.
- ↑ Wang, Haifeng (1 ноября 2022). “Progress in Machine Translation”. Engineering. 18: 143—153. DOI:10.1016/j.eng.2021.03.023. Дата обращения 2024-06-30.
|access-date=требует|url=(справка) - ↑ Wu, Yonghui (2016). “Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation”. arXiv preprint arXiv:1609.08144 [англ.]. Дата обращения 2024-06-30.
- ↑ Bojar, Ondrej (2016). “Findings of the 2016 Conference on Machine Translation” (PDF). ACL 2016 First Conference on Machine Translation (WMT16): 131—198. Архивировано из оригинала (PDF) 27 января 2018. Дата обращения 2018-01-27. Используется устаревший параметр
|url-status=(справка) - ↑ Gehring, Jonas (2017). A Convolutional Encoder Model for Neural Machine Translation. 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Ванкувер. pp. 123—135. arXiv:1611.02344. DOI:10.18653/v1/P17-1012. Дата обращения 2024-06-30.
- ↑ Microsoft brings AI-powered translation to end users and developers, whether you're online or offline (амер. англ.). Microsoft Translator Blog (18 апреля 2018). Дата обращения: 19 апреля 2024. Архивировано 30 августа 2025 года.
- ↑ Coldewey, Devin. DeepL schools other online translators with clever machine learning, TechCrunch (29 августа 2017). Архивировано 26 сентября 2025 года. Дата обращения: 30 июня 2024.
- ↑ Quel est le meilleur service de traduction en ligne?, Le Monde (29 августа 2022). Архивировано 4 сентября 2025 года. Дата обращения: 30 июня 2024.
- ↑ Pakalski, Ingo. DeepL im Hands On: Neues Tool übersetzt viel besser als Google und Microsoft, Golem (29 августа 2017). Архивировано 30 августа 2017 года. Дата обращения: 30 июня 2024.
- ↑ 1 2 Vaswani, Ashish (2017). Attention Is All You Need. Advances in Neural Information Processing Systems 30 (NIPS 2017). pp. 5998—6008. Дата обращения 2024-06-30.
- ↑ Kocmi, Tom (2022). Findings of the 2022 Conference on Machine Translation (WMT22). Proceedings of the Seventh Conference on Machine Translation. Абу-Даби. pp. 1—45. Дата обращения 2024-06-30.
- ↑ 1 2 Kocmi, Tom (2023). Findings of the 2023 Conference on Machine Translation (WMT23). Proceedings of the Eighth Conference on Machine Translation. Сингапур. pp. 1—42. DOI:10.18653/v1/2023.wmt-1.1. Дата обращения 2024-06-30.
- ↑ 1 2 Liu, Yinhan (2020). “Multilingual Denoising Pre-training for Neural Machine Translation”. Transactions of the Association for Computational Linguistics. 8: 726—742. arXiv:2001.08210. DOI:10.1162/tacl_a_00343. Дата обращения 2024-06-30.
|access-date=требует|url=(справка) - ↑ 1 2 3 Hendy, Amr (18 февраля 2023), How Good Are GPT Models at Machine Translation? A Comprehensive Evaluation, arΧiv:2302.09210 [cs.CL].
- ↑ 1 2 Russell, Stuart. Artificial Intelligence: A Modern Approach. — 4-е, глобальное. — Pearson.
- ↑ Federico, Marcello (2007). “Efficient Handling of N-gram Language Models for Statistical Machine Translation”. Proceedings of the Second Workshop on Statistical Machine Translation. Прага: Association for Computational Linguistics: 88—95. DOI:10.3115/1626355.1626367. Дата обращения 2024-06-30.
- ↑ GPT 3 dataset statistics: languages by character count (англ.). OpenAI (1 июня 2020). Дата обращения: 30 июня 2024. Архивировано 4 июня 2025 года.
- ↑ Radford, Alec Improving Language Understanding by Generative Pre-Training (англ.) (2018). Дата обращения: 30 июня 2024. Архивировано 1 октября 2025 года.
- ↑ Brown, Tom (2020). “Language Models are Few-Shot Learners”. Advances in Neural Information Processing Systems. 33: 1877—1901. Дата обращения 2024-06-30.
Литература
- Кённ, Филипп (2020). Neural Machine Translation. Cambridge University Press.
- Штальберг, Феликс (2020). Neural Machine Translation: A Review and Survey.