Перейти к основному контенту
Translator
Эта страница была автоматически переведена службой машинного перевода Microsoft Translator. Подробнее

Блог переводчика Майкрософт

Нейронный машинный перевод, позволяющий инновациям в области паритета человека в облаке

В марте 2018 года мы объявил (Хассан и др.) прорыврезультат, когда мы впервые показали систему машинного перевода, которая могла бы выполнять так же, как и переводчики человека (в определенном сценарии – китайско-английский перевод новостей). Это был захватывающий прорыв в исследовании машинного перевода, но система, которую мы построили для этого проекта, была сложной, тяжеловесной исследовательской системой, включающей несколько передовых технологий. В то время как мы выпустили выход этой системы на нескольких тестовых наборах, сама система не подходит для развертывания в облачном API машинного перевода в реальном времени.

Сегодня мы рады объявить о наличии в производстве наших моделей нейромашинного перевода последнего поколения. Эти модели включают большую часть пользы нашей исследовательской системы и теперь доступны по умолчанию при использовании API Microsoft Translator. Эти новые модели доступны сегодня на китайском, немецком, французском, хинди, итальянском, испанском, японском, корейском и русском языках, от и до английского языка. В ближайшее время появится еще несколько языков.

Выход из исследовательской бумаги в облачный API

За последний год мы искали способы привлечь большую часть качества нашей системы человеческого паритета в корпорацию Майкрософт Переводчик API, продолжая предлагать недорогие переводы в режиме реального времени. Вот некоторые из шагов на этом пути.

Обучение учителей и студентов

Наш первый шаг был перейти на "учитель-студент" рамки, где мы обучаем легкий в режиме реального времени студент, чтобы имитировать в супертяжелом сети учителей (Ба и Каруана 2014). Это достигается путем обучения студента не на параллельных данных, что системы МТ, как правило, обучаются, но на переводы, подготовленные учителем (Ким и Раш 2016). Это более простая задача, чем изучение необработанных данных, и позволяет более мелкому и простому ученику очень внимательно следить за сложным учителем. Как и следовало ожидать, наши первоначальные попытки по-прежнему пострадали качество падает от учителя к студенту (без бесплатного обеда!), Но мы тем не менее занял первое место в WNMT 2018 Общая задача по эффективной декодирования (Junczys-Dowmunt et al. 2018a). Некоторые особенно захватывающие результаты от этих усилий было то, что трансформатор (Васвани и др.) модели и их модификации хорошо играют с обучением учителей и студентов и поразительно эффективны во время выводов о процессоре.

Изучение этих первоначальных результатов и после долгих итерации мы обнаружили рецепт, который позволяет нашему простому студенту иметь почти такое же качество, как сложный учитель (иногда есть бесплатный обед в конце концов?). Теперь мы были свободны создавать большие, сложные модели учителей, чтобы максимизировать качество, не беспокоясь об ограничениях в реальном времени (слишком много).

Перевод в реальном времени

Наше решение перейти на систему учителя-студента было продиктовано большой работой Ким и Раш (2016) для простых моделей на основе RNN. В этот момент было неясно, если сообщили преимущества будут проявляться для трансформаторных моделей, а также (см. Васвани и др. для получения подробной информации об этой модели). Тем не менее, мы быстро обнаружили, что это действительно так.

Студент-трансформер может использовать значительно упрощенный алгоритм декодирования (жадный поиск), где мы просто выбрать один лучший переведенное слово на каждом шагу, а не обычный метод (луч-поиск), который включает в себя поиск через огромное пространство возможного Переводы. Это изменение оказало минимальное влияние на качество, но привело к значительному улучшению скорости перевода. В отличие от этого, модель учителя будет страдать значительное падение качества при переходе от поиска пучка к жадным поиска.

В то же время мы поняли, что вместо того, чтобы использовать новейшую нейронную архитектуру (Transformer с вниманием к себе) в декодере, студент может быть изменен, чтобы использовать резко упрощенную и более быструю повторяющиеся (RNN) архитектуры. Это важно, потому что в то время как трансформаторный кодер может быть вычислен по всему исходному предложению параллельно, целевое предложение генерируется одно слово за один раз, так что скорость декодера имеет большое влияние на общую скорость перевода. По сравнению с самовниманием, периодический декодер снижает алгоритмическую сложность от квадрата до линейной в длине целевого предложения. Особенно в учитель-студент настройки, мы не видели потери в качестве из-за этих изменений, ни для автоматической, ни для человеческих результатов оценки. Ряд дополнительных улучшений, таких, как совместное использование параметров, привели к дальнейшему снижению сложности и увеличению скорости.

Еще одним преимуществом системы учителей и студентов, которые мы были очень рады видеть, что улучшение качества с течением времени постоянно растущих и меняющихся учителей легко переносится на неменяемую архитектуру учащихся. В тех случаях, когда мы видели проблемы в этом отношении, незначительное увеличение потенциала студенческих моделей вновь ликвидировало бы этот разрыв.

Двойное обучение

Ключевое понимание двойного обучения (Он и др. 2016) это "перевод туда и обратно" проверить, что люди иногда используют для проверки качества перевода. Предположим, что мы используем онлайн-переводчика, чтобы перейти с английского на итальянский язык. Если мы не читаем по-итальянски, как мы знаем, если это сделано хорошую работу? Перед нажатием кнопки Отправить по электронной почте, мы могли бы выбрать, чтобы проверить качество, переводя итальянский обратно на английский язык (возможно, на другом веб-сайте). Если англичане мы получаем обратно отошел слишком далеко от оригинала, скорее всего, один из переводов сошел с рельсов.

Двойное обучение использует один и тот же подход для обучения двух систем (например, английский- итальянский и итальянский- английский) параллельно, используя перевод туда и обратно из одной системы для оценки, проверки и обучения другой системы.

Двойное обучение вносит значительный вклад в результаты наших исследований по паритету человека. Переходя от исследовательской системы к нашему рецепту производства, мы обобщили этот подход в целом. Мы не только совместно обучали пары систем на выходе друг друга, но и использовали тот же критерий для фильтрации наших параллельных данных.

Очистка неточных данных

Системы машинного перевода обучаются на «параллельных данных», т.е. парах документов, которые являются переводами друг друга, идеально созданными переводчиком-человеком. Как оказалось, эти параллельные данные часто полны неточных переводов. Иногда документы не являются по-настоящему параллельными, а лишь свободными парафразами друг друга. Переводчики могут отказаться от некоторых исходных материалов или вставить дополнительную информацию. Данные могут содержать опечатки, орфографические ошибки, грамматические ошибки. Иногда наши алгоритмы интеллектуального анализа данных обманываются похожими, но непараллельными данными или даже предложениями на неправильном языке. Хуже всего то, что многие веб-страницы, которые мы видим, являются спамом, или на самом деле могут быть машинные переводы, а не человеческие переводы. Нейронные системы очень чувствительны к такого рода неточности в данных. Мы обнаружили, что создание нейронных моделей для автоматической идентификации и избавления от этих неточностей привело к значительному улучшению качества наших систем. Наш подход к фильтрации данных привел к тому, что первое место в Бенчмарк фильтрации параллельного корпуса WMT18 (Junczys-Dowmunt 2018a) и помог построить одну из сильнейших англо-германских систем перевода в Задача перевода Новостей WMT18 (Junczys-Dowmunt 2018b). Мы использовали улучшенные версии этого подхода в производственных системах, которые мы выпустили сегодня.

Коэффициентированные представления слов

При перемещении исследовательской технологии в производство возникает несколько реальных проблем. Получение номера, даты, время, капитализация, интервалы и т.д. право имеет гораздо большее значение в производстве, чем в исследовательской системе.

Рассмотрим проблему капитализации. Если мы переводим предложение "WATCH CAT VIDEOS HERE". Мы знаем, как переводить "кошка". Мы хотели бы перевести "CAT" таким же образом. Но теперь рассмотрим "Смотреть американский футбол здесь". Мы не хотим путать слово "нас" и аббревиатуру "США" в этом контексте.

Для решения этой системы мы использовали подход, известный как факторированный машинный перевод (Koehn и Hoang 2007Сеннрих и Хаддоу 2016), который работает следующим образом. Вместо одного численного представления ("встраивание") для "кошки" или "CAT", мы используем несколько встраиваемых, известных как "факторы". В этом случае первичное встраивание будет одинаковым для "CAT" и "кошка", но отдельный фактор будет представлять собой капитализацию, показывая, что это все колпачки в одном случае, но в нижнем регистре в другом. Аналогичные факторы используются на исходной и целевой стороне.

Мы используем аналогичные факторы для обработки фрагментов слов и интервалов между словами (сложный вопрос в неинтервалирующих или полуинтервальных языках, таких как китайский, корейский, японский или тайский).

Факторы также значительно улучшили перевод чисел, что имеет решающее значение во многих сценариях. Перевод чиченомеров в основном является алгоритмической трансформацией. Например, 1,234,000 может быть написано как 12,34,000 на хинди, 1.234.000 на немецком языке, и 123.4 "на китайском языке. Традиционно числа представлены как слова, как группы символов различной длины. Это затрудняет машинное обучение для открытия алгоритма. Вместо этого мы кормим каждую цифру числа отдельно, с факторами, маркизиваемыми как начало и конец. Этот простой трюк надежно и надежно удалены почти все ошибки номер-перевод.

Быстрее обучение модели

Когда мы обучаем единую систему к одной цели, как мы это делали для исследовательского проекта по человеческому паритету, мы ожидаем бросить огромное количество оборудования на модели, которые занимают недели, чтобы тренироваться. При обучении производственных моделей для 20 языковых пар этот подход становится несостоятельным. Мало того, что нам нужно разумное время оборота, но мы также должны умерить наши требования оборудования. Для этого проекта мы сделали ряд улучшений производительности, чтобы Мариан НМТ (Junczys-Dowmunt et al. 2018b).

Мариан NMT является открытым исходным кодом нейронных MT инструментарий, что Microsoft Translator основана на. Мариан является чистым набором нейронных машинного перевода, и, как следствие, чрезвычайно эффективным, не требующим графических процессоров во время выполнения, и очень эффективным во время обучения

Из-за своей автономной природы, это довольно легко оптимизировать Мариан для NMT конкретных задач, что приводит к одному из самых эффективных NMT инструментарий доступны. Взгляните на Критериев. Если вы заинтересованы в исследованиях и разработках Neural MT, пожалуйста, присоединяйтесь и внося свой вклад в сообщество на Github.

Наши улучшения, касающиеся смешанной точности обучения и декодирования, а также для большой модели обучения в скором времени будут доступны в общественном репозитории Github.

Мы рады будущему нейромашинного перевода. Мы продолжим развертывание новой архитектуры модели на оставшихся языках и Пользовательский переводчик в течение этого года. Наши пользователи автоматически получат значительно более качественные переводы через Переводчик APIНаши Приложение переводчика, Microsoft Office и браузер Edge. Мы надеемся, что новые улучшения помогут вашей личной и профессиональной жизни и с нетерпением ждем ваших отзывов.

 

Ссылки

  • Джимми Ба и Рич Каруана. 2014. Действительно ли Deep Nets нуждается в глубоком? Достижения в области нейронных систем обработки информации 27. Страницы 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • Хани Хассан, Энтони Ауэ, Чан Чэнь, Вишаль Чоудхари, Джонатан Кларк, Кристиан Федерманн, Сюэдон Хуанг, Марцин Дзюнчис-Даумунт, Уильям Льюис, Му Ли, Шуджи Лю, Ти-Ян Лю, Ренциан Луо, Арул Менезес, Тао Цинь, Франк Сейде, Сюй Тан, Фэй Тянь, Шуанчжи Ву, Инсе Ся, Дундун Чжан, Чжируи Чжан, Мин Чжоу. 2018. Достижение человеческого паритета на автоматическом переводе новостей на английский язык. http://arxiv.org/abs/1803.05567
  • Он, Ди и Ся, Инсе и Цинь, Тао и Ван, Ливэй и yu, Nenghai и Лю, Tie-Ян ьян и Ма, Вэй-Ин. 2016. Двойное обучение машинного перевода. Достижения в области нейронных систем обработки информации 29. Страницы 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • Марцин Дзюнчис-Даумунт. 2018a. Двойная условная кросс-энтропия фильтрация шумной параллельной корпоры. Материалы третьей конференции по машинном переводу: общие целевые документы. Бельгия, страницы 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • Марцин Дзюнчис-Даумунт. 2018b. Представление Microsoft на WMT2018 Новости Перевод Задачи: Как я научился перестать беспокоиться и любить данные. Материалы третьей конференции по машинном переводу: общие целевые документы. Бельгия, страницы 425-430. https://www.aclweb.org/anthology/W18-6415/
  • Марцин Джунцис-Даумунт, Кеннет Хифилд, Хьё Хоанг, Роман Грундкевич, Энтони Ауэ. 2018a. Мариан: Экономичный высококачественный нейронный перевод машины в СЗ. Материалы 2-го семинара по нейронному машинному переводу и поколению. Мельбурн, Австралия, страницы 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • Марцин Дзюнчис-Даумунт, Роман Грундкевич, Томаш Двойк, Хьеу Хоанг, Кеннет Хифилд, Том Некерманн, Франк Сейде, Ульрих Германн, Альхам Фикри Аджи, Николай Богойчев, Андре Ф. Т. Мартинс, Александра Берч. 2018b. Мариан: Быстрый нейронный машинный перевод в СЗ. Материалы ACL 2018, Системные демонстрации. Мельбурн, Австралия, страницы 116-121. https://www.aclweb.org/anthology/P18-4020/
  • Ен Ким и Александр М. Раш. 2016. Дистилляция знаний на уровне последовательности. В конференции «Труды» 2016 года по эмпирическим методам обработки естественного языка, EMNLP 2016, Остин, Техас, США, 1-4 ноября 2016 г., стр. 1317–1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • Филипп Кён, Хьё Хоанг. 2007. Модели переводов с коэффициентами. Материалы Совместной конференции 2007 года по эмпирическим методам обработки естественного языка и вычислительного изучения естественного языка (EMNLP-CoNLL). Прага, Чехия, стр. 868-876. https://www.aclweb.org/anthology/D07-1091/
  • Рико Сеннрих, Барри Хэддоу. 2016. Функции лингвистического ввода улучшают нейронный машинный перевод. Материалы Первой конференции по машинного перевода: Том 1, Научно-исследовательские документы. Берлин, Германия, стр. 83-91. https://www.aclweb.org/anthology/W16-2209/
  • Васвани, Ашиш и Шазер, Ноам и Пармар, Ники и Ускорейт, Якоб и Джонс, Ллион и Гомес, Айдан Н и Кайзер, Лукаш и Полосухин, Илья. 2017. Внимание это все, что вам нужно. Достижения в области нейронных систем обработки информации 30. Страницы 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need