Выпуск системы машинного перевода OpenNMT-tf 2.30

Опубликован выпуск системы машинного перевода OpenNMT-tf 2.30.0 (Open Neural Machine Translation), использующей методы машинного обучения. Код развиваемых проектом OpenNMT-tf модулей написан на языке Python, использует библиотеку TensorFlow и распространяется под лицензией MIT.

Параллельно развивается вариант OpenNMT на базе библиотеки PyTorch, который отличается на уровне поддерживаемых возможностей. Кроме того, OpenNMT на базе PyTorch преподносится как более простой для использования и мультимодальный, а вариант на базе TensorFlow отмечается как модульный, стабильный и позволяющий задействовать возможности GPU для ускорения процесса обучения нейронной сети. Для упрощения распространения продукта проектом также развивается самодостаточный вариант транслятора на языке C++ – CTranslate2, который использует предварительно натренированные модели без привязки к дополнительным зависимостям.

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

Проект развивается при участии компании SYSTRAN, специализирующейся на создании средств машинного перевода, и группы исследователей Harvard, разрабатывающей модели человеческого языка для систем машинного обучения. Интерфейс пользователя максимально упрощён и требует лишь указания входного файла с текстом и файла для сохранения результата перевода. Система расширений даёт возможность реализовывать на базе OpenNMT дополнительную функциональность, например, автореферирование, классификацию текстов и генерацию субтитров.

В новой версии:

  • Добавлена поддержка библиотеки TensorFlow 2.11, но новые оптимизаторы Keras пока не поддерживаются (требуется использование режима tf.keras.optimizers.legacy).
  • Добавлена поддержка новой ветки движка CTranslate2 3.x, предназначенного для эффективного выполнения моделей с архитектурой “трансформер“.
  • Добавлен параметр тренировки моделей pad_to_bucket_boundary для включение добавочного заполнения, выравнивающего размер блока до значений, кратных length_bucket_width.
  • Интегрирована поддержка метрик chrf и chrf++ от проекта SacreBLEU.
  • Удалён атрибут модели ctranslate2_spec, который больше не используется в CTranslate2.

Release. Ссылка here.