Комментарии 48
Попробовал en > ru, шикарно переводит кстати.
В OpusMT есть готовая пара английский-русский с BLEU выше 23.5.
Вы Opus не рассматривали или Argos оказался лучше?
Спасибо за предложение, да можно посмотреть на модель OpusMT и сравнить.
В данном случае метрика меряется на каждом корпусе пар предложений. Даже в приведенной вами ссылке видно, что у модели разные метрики для каждого корпуса. Я свою метрику получил, после того как протестил на корпусе от Яндекса в 1 млн пар предложений. Для того, чтобы сравнить модель OpusMT нужно её прогнать через корпус от Yandex, но с этим нужно время чтобы разобраться.
Мне бы больше подошел вариант, прогнать мою модель через корпус один или несколько из Benchmark от OPUS, например newstest2013.en.ru и посмотреть на метрики. Постараюсь сделать это в ближайшее время и отпишусь с результатом.
Однако в данном случае в плане применимости Argos Translate точно удобнее, так как это готовое решение по переводу.
В плане применимости Argos Translate точно удобнее, так как это готовое решение по переводу.
Для меня OPUS — намного более готовое решение. Для него уже написаны модули для основных CAT-программ, в которых обычно выполняется перевод, в частности Trados Studio и memoQ. Применить в них Argos можно, но это требует дополнительных усилий.
Как и обещал я протестировал свою модель на корпусе newtest2013.en.ru
И метрика BLEU показала 24.0, что в целом несколько лучше чем результаты из бенчмарка от модели OpusMT 23.5, по приведенной ссылке
![](https://habrastorage.org/getpro/habr/upload_files/039/7a4/34c/0397a434cedea1fa4cf4e5d79717422e.png)
Скачал и посмотрел несколько TMX из набора - и первое, не трогая алгоритмы — исходное сырьё не очень... Я с коллегой веду топик по техническим ТМХ здесь http://forum.ru-board.com/topic.cgi?forum=93&topic=4071&start=100#lt. Можете заходить пообщаться.
Поэтому первое, что можно/нужно сделать — тщательно проверить ТМХ и очистить их от дубликатов и мусора. Учитывая то, что менеджментом копилок переводов часто занимаются люди, очень слабо понимающие суть вопроса, я не видел больших беспроблемных TMX.
Второе - учитывая разную стилистику разнотипных документов - художка, инструкции/руководства, стандарты, научпоп, реклама, локализация софта — очевидно необходимо развести эти специализации/направления, как сделано в Промт.
Очевидно - разработкой некоторых направлений, например - стандартов - можно заинтересовать серьёзных госзаказчиков.... Насколько знаю - сейчас в Росатоме занимаются чем-то подобным для оффлайна/ЛВС, начиная от распознавания изображений и до перевода.
Третье - для контроля/выявления слабых мест - крайне желательно привести GUI приложения к стандартному табличному виду большинства CAT-tools (или добавить такой вид) и добавить поддержку основных обменных форматов - 2-колоночного RTF и Xliff во всех его разновидностях, либо написать плагины для CAT - для выявления огрехов/пополнения баз в процессе работы.
По опыту с CAT - огромную роль для правильного перевода играет правильная сегментация - разбивка текста на самодостаточные для перевода логические единицы - обычно предложения... ТМХы как раз часто содержат переводы предложений, разбитых абы как.... Опять таки - табличный вид позволяет лучше видеть эту проблему...
Учитывая сегодняшнюю ситуацию - особый интерес представляет разработка моделей для восточных языков - в первую очередь китайского и арабского.... Но специалистов по ним не много, и сейчас они без работы не сидят.
А гуйный портабельный (exe) вариант Аргуса для W7 - можно как-то или где-то увидеть? А то не силён я во всём этом, особенно учитывая то, что последние версии Питона на W7 уже не ставятся...
На сколько я знаю, автор активно развивает свой переводчик. Да возможно он уступает deepl (про который я узнал только сегодня). Но всё же это open-source, поэтому это решение всегда найдет своего пользователя.
Что касается восточных языков, то я подумываю попробовать обучить модель с китайским, возможно в более далекой перспективе.
Что касается Аргуса под W7, и вашего нежелания переходить на Windows 10. Я эту тему достаточно неплохо раскрыл в своей статье про то как стоит переходить на Linux. Честно говоря меня тоже траблы с виндой постоянно подбешивают, когда я по воле случая оказываюсь около компьютера с этой своеобразной операционкой.
В случае перевода важна больше не открытость проекта, а его оффлайновость. Никто не хочет сильно заморачиваться, сначала вычищая из оригинала конфиденциальную инфу, а затем вставляя её в перевод.
Не понимая языка хотя бы на базовом уровне, обучать модель - идея так себе. К тому же я даже не уверен в наличии достаточного количества качественно переведённых материалов в России
W7 на данный момент отличается необходимой стабильностью и работой нужного софта. К чему тогда W10 и W11, за годы существования которых я уже наслушался столько — ой после обновления что-то перестало работать, сколько наверное не слышал за всё время со времён MS-DOS.
Для 90% людей опыт соскока из привычной среды на непривычную без безальтернативных вариантов заканчивается возвратом, и чувством «В какое же говно я влез». Как раз сегодня немного полистал на реддите топик «Пользователи Android - почему, кроме цены, вы не переходите на IOS». Ставить Линух ради одного Аргуса — идея так себе....
Для offline Argos Translate тоже подходит.
Я с вами согласен, на счет понимания языка. Хотя поискать данные, чтобы в последствии оценить возможность такого решения тоже полезно.
По поводу Linux, я собственно вам не навязываю. Я поделился своим опытом, который у меня был. У каждого свои стереотипы. Каждый ищет то, что ему удобно. Вам это удобно, то конечно пользуйтесь.
Так вот пока и не могу попользоваться. При установке ругается — не устанавливается. Однозначного решения у проблемы нет, но не исключаю, что проблема из-за непоследней версии Питона....
Поэтому бы и хотелось погонять оффлайн инструмент. Не менее интересно было бы попробовать его ещё на одной паре, под которую, наверное смог бы наковырять тыс 500 сегментов.....
Еще момент - по описанию машину можно натренировать на собственных/отобранных переводах, что позволит дополнительно сократить затраты времени на стилистических правках...
У меня к этому переводчику один вопросик: как там мухи времени, всё ещё любят стрелу?
Неплохо!
Когда рассматривал чем заниматься в ML, не занимался машинным переводом, как раз потому, что мне казалось, что он стал commodity и что задача "решена". Судя по всему commodity он еще не стал, но с появлением CC matrix и собранном в одном месте списком корпусов, все стало сильно проще. Это очень круто!
А в процессе работы с моделью, вы не интересовались, какой вообще максимальной возможный BLEU на этом датасете на этой языковой паре? Может вы замеряли точность какого-то платного переводчика, Яндекса или deepl?
Обучение моей модели длилось 100 000 шагов и в общем случае занимает от 2 до 5 дней, в зависимости от конфигурации оборудования.
Если не секрет, какое это железо? Хочется примерно прикинуть стоимость такой модели.
И самый интересный вопрос, вы замеряли скорость инференса на CPU и на GPU? Обычно рекуррентные модели довольно медленные.
Спасибо за комментарий.
Мне кажется сам машинный перевод, задача все таки "решена", хотя её решения еще будут долго совершенствоваться. И возможно так будет происходить со всеми областями в ML. Но сам перевод может не так и нужен, но вот если его соединить STT + MT + TTS, то будет уже что то интереснее)))
У меня нет возможностей проверить на платном переводчике, есть варианты проверить через тот же translators например с помощью Яндекса переводчика, но это будет тоже бесплатная версия. Это займет много времени, и пока у меня нет цели это проверять. Хотя я уже давно заметил, что научные статьи Яндекс лучше переводит с английского на русский, чем гугл.
На счет железа я конечно хотел немного понтануть, но на самом деле все очень просто. Я обучал на rtx 3060, и училось около 3х дней. Можете написать, как вы теперь посчитаете стоимость этой модели?
Скорость инференса не мерял. Для меня было достаточно, что она переводит в разы быстрее чем облачный гугл переводчик. В частности чтобы перевести гуглом корпус в 1м предложений, я даже точно не помню, но ушло наверное недели 3. А вот модель переводит весь корпус часов за 5, если не быстрее, на GPU. Цифры примерные, но можете прикинуть на калькуляторе.
Цена обучения 3 дня на небольшой карточке архитектуры Ampere, это относительно дёшево.
Насчёт скорости 5 часов * 3600 секунд в часе / 1м получается около 20мс на 1 предложение. Но конечно странно, если модель рекурентная должно быть раз в 10 больше. Вы кормите батчами предложения, когда прогоняете корпус?
А сам Яндекс не публиковал статей со ссылками и своей оценкой BLEU на своем валидационном датасете?
Это оценка времени при переводе батчами.
Я поискал труды от Яндекс, но единственный материал который я нашел, где они используют данный датасет как тренировочный.
Вообще сам датасет достаточно большой, чтобы использовать его целиком для валидации. Обычно на нем тренируются. Но для такого большого сравнения, как проверить качество перевода и сравнить его с Google translate мне кажется это более объективная оценка. Кроме того, достаточно мала вероятность, что сам google переводчик использовал данный датасет для обучения своей модели.
А какой размер батча? Хочу прикинуть задержку на 1 предложение.
batch_size 2048
Интересно, задержка на 1 предложение / батч получается что-ли 20 мс * 2000 = 40с? В любом случае спасибо за статью и оценку, буду знать, что OpenNMT развился и юзабелен и с чего входить, и что CC Matrix раздербанили чтобы бы удобно!
Невысокая скорость может быть обусловлена перегруженностью ТМХ мусором. Просмотрел 33 ГБ ТМХ там 95% мусор - типа ссылок на исходные файлы - которые, видимо, сопоставлялись автоматическими алгоритмами...
Мусор я специально очищал. Для этого есть предобработки. Кроме того, сам мусор в данных навряд ли может влиять на скорость инференса.
Не всякий мусор предобработка очистит -- в ООНовских базах есть большие фрагменты текстов, которые правились в режиме рецензирования с обеих сторон, предложений, разбитых на части, в которых одни слова в силу различия построения фраз на языках находятся в разных сегментах.....
Добавлю.
ТМХ по Вики вообще странная - многие русские статьи в Вики являются не переводами, а самостоятельными статьями по теме оригинальной английской статьи, с другими привязками, литературой и т.п. Поэтому даже по поверхностному взгляду в ней полно неадекватных сегментов типа
By the 11th century, London was beyond all comparison the largest town in England.=== XVIII—XIX века ===
К 1700 году Лондон превратился в крупнейший город Европы.
An emigration department was created in 1906 at the ministry of agriculture.
=== Сельское хозяйство России в 1905 году ===Общие экономические показатели.
St. Mary, St. Nicholas, St. Andrew, St. George, St. Alexander Nevsky, St. Sergius of Radonezh and St. Seraphim of Sarov are Russia's patron saints.
Сайт Комиссии при Президенте Российской Федерации по модернизации и технологическому развитию экономики России.
Короче, как очень часто последнее время в IT — исходным данным и их качеству просто не уделяется достаточное внимание.
А обратно сможет? с англ на русский? или это разные задачи
Тогда возникает резонный вопрос: если это так просто, почему этого не сделал Google?
Чёт я вас не понимаю - модель для перевода EN-RU - англо-русский? У гугля эта пара давно есть. Была и обратная (насколько помню по использованию Qtranslate)...
вопрос наверно в том
Почему гугл не может также прогнать нейросеткой и улучшить свой перевод
Или же у гугла ещ лучше показатели. Тогда зачем это делать (что делал автор) Правда перевод гугла желает лучшего Из переводчиков, мне сейчас Deepl больше всех нравится. Без понятия, какие там результаты по бенчмаркам, но ощутимо лучше чем яндекс или гугл
То, что у Гугла есть перевод - это я помню. Вопрос - почему у большого Гугла он хуже, чем у автора поста, который делал его в одно лицо.
А что в гугле одни гении работают? Глядя на некоторые книги «digitized by Google» — таких рукожопов ещё надо поискать...
Гугл сейчас во многих вещах - у семи нянек дитя без глазу..... — Говёнские хромбуки, деградация с Пикселем, Edge начинает превосходить Хром, Дипл с его гораздо меньшими ресурсами, но направленными на одну цель тоже обошёл гугл......
Типичная беда больших компаний....
Осталось дождаться, когда китайцы развернутся во всю мощь и просто перестанут ставить андроид на свои смарты.....Дальше начнётся медленное забивание гвоздей в гроб гугля.
Почему гугл не может также прогнать нейросеткой и улучшить свой перевод
Объяснений может быть масса
1) Состав контрольного датасета - чем сильнее он отличается от датасета для натаскивания - тем хуже будет результат2) Более совершенные алгоритмы. Русский язык довольно проблемный для МП и наличие в команде грамотных русских специалистов легко может вывести команду вперёд именно на данном направлении, что мы видим по Finereader - по качеству распознавания, по работе с восточными языками, по разным откликам, он уже уступает конкурентам, но для работы с русским языком он пока остаётся лучшим.
3) В разной степени неудачные датасеты для тренировки МП, а может намеренно испорченные или «отравленные» (poisoned -как говорят в ИТ). Про проблемы датасетов, полученных от переводческих компаний я уже писал.
Если вы воспитаны на советской литературе - МП, натаскиваемый в большинстве своём на более слабых современных переводах, может и вообще не зайти.
4) А судьи кто - кому-то нравится Блок, кому-то Маяковский.... Под такой русский и будут затачивать МП создатели. И вот представьте - вы поклонник Блока, сталкиваетесь с МП, натасканной поклонником Маяковского...Зачем делать? Ситуацию сегодняшнего дня вы прекрасно видите... Качество МП, если еще не идеальное, то уже можно сказать - годное для работы/обработки и сокращающее затраты времени на перевод. В технике МП часто даёт результат лучше, чем выпускники ИИЯ. Поэтому интерес к нему растёт, но не всех устраивают ОНЛАЙН-платформы МП из-за проблем с конфиденциальностью. Поэтому есть довольно большой интерес к ОФФЛАЙН МП...
Полагаю подготовка датасета РУС-КИТ и натаскивание МП на нём сегодня является очень актуальной и, вероятнр коммерчески выгодной, задачей....Deepl ..... ощутимо лучше чем яндекс или гугл — Опять таки чисто на ваших примерах и под ваше понимание ХОРОШЕГО РУССКОГО ЯЗЫКА.
Я когда-то сравнивал Гугл с Диплом на абзаце из технической книжки - и кардинальных отличий не заметил. Где-то гугл угадал терминологию, где-то Дипл. Построение предложений в обеих системах было одинаковым....
Если хотите посмотреть, как лажают обе системы - возьмите образцы с длинными - на 5-10 строк предложениями с множественными причинно-следственными обстоятельствами и многоуровневым подчинением, которое порой даже с одного прочтения не улавливается однозначно...
Несколько примеров из ТМ
China Delicates Laundry Bag China Manufacturers & Suppliers & Factory
Китай Мешок Прачечного Сетки Производители & Поставщики & Фабрика
2 years ago 03:47 ShemaleZ huge dildo Huge Dildo Pounding
2 года назад 03:47 ShemaleZ огромный дилдо
-gives protection towards the action of solar radiation dangerous;
-дает защиту на действие солнечного излучения опасные;
From the flat water of the scale to the attic of the apartment of 36m2, the minimum height of 230cm with 1 king size bedroom, marble bathroom, living room, air conditioning, a large covered terrace of 36m2 with barbecue and magnificent sea views.
От плоской воды шкалы до чердака квартиры 36 м2, минимальная высота 230 см с 1 кроватью размера “king-size”, мраморной ванной комнатой, гостиной, кондиционером, большой крытой террасой 36 м2 с барбекю и великолепным видом на море.
И это только по поверхностному взгляду.... В принципе, этого достаточно, чтобы сделать заключение, что самая большая по размеру ТМ - ГОВНО (или отравлена, как говорят в ИТ).
А вы собственно, здесь про что написали? Не очень понятно, из вашего комментария.
Написал я то, что материалы для работы ненадлежащие. По тому, что вижу, реальным путём повышения качества может быть простая очистка баз от всякого мусора и повторное обучение.
Или проверка качества перевода на языке пользователя посредством двойного перевода. То есть таким способом дать возможность проверки и коррекции предложенных искусственным интеллектом вариантов человеку, а если точнее пользователям продукта. И в этом случае "качество' базы переводов влияет только на временные затраты.
Да и сервис такой уже есть. Не буду добавлять ссылку, не хочу, чтобы выглядело как попытка рекламы в чужом посте. Статью здесь свою попозже сделаю, руки пока не дошли. Мне просто стала интересна ваша беседа
В данном случае если ввести данные предложения в Google Trasnlate то он переводит данные фразу либо аналогично, либо практически аналогично. Поэтому я даже уточнил, о чем вы вообще говорите. т.е. гугл переводчик в данном случае переводит эти фразы аналогично.
Я очистил корпус текстов от мусора перед обучением. Возможно я вас конечно не совсем понимаю в данном случае:
1) что именно вы называете в данном виде "мусором"?
2) О каком конкретно корпусе текстов в данном случае вы говорите?
3) Я так полагаю вы оценили, и тогда скажите каков процент в этом корпусе этого, так называемого "мусора"?
4) Как бы вы очистили этот датасет от "мусора"?
Мусор - мусорные сегменты: цифры, обозначения, оригинал=перевод, дубликаты, непереводы, неверно разбитые сегменты. Если вы чистили автоматами - вы могли удалить только мусор типа цифр, обозначений, оригинал=перевод, дубликаты.
Я поверху посмотрел 3 корпуса - ООН - самый качественный. Там 2 проблемы — наличие в части документов исправлений в обеих частях, и плохая сегментация (разбиение текста на единицы перевода - т.е. на предложения). Навскидку - таких сегментов там около процента. Wiki — там непереводы сразу попадаются на глаза - и таких в начальной части - несколько процентов.
База МП текстов с сайтов (ибо внутри есть параметры оценки по различным алгоритмам и много интернет ссылок) - общим объёмом 34 GB — ГОВНО - там нормальных переводов 10-20% навскидку.
Часть мусора можно очистить автоматикой Olifant - гуглите. Логический мусор - непереводы очистить можно только вручную.... (частично - при наличии некоторых ключевых идентификаторов - слова, имеющие только один перевод, числа, даты, ФИО, имена собственные — такие сегменты можно вычистить по ним/повторному МП ———— это относится к базе Вики).
Но беда с сырьём — это сейчас проблема почти всех, кто работает с Big-data.... Только программисты готовы делать из говна непонятно что. В любых реальных отраслях есть жёсткие требования к качеству исходного сырья и материалов.
Простите за настойчивость, а зачем что то "убирать", если можно предоставлять выбор пользователю??
Затем, что речь идёт о базах для обучения модели. И если вы оставите в них говно, это говно потом будет преследовать вас всю дальнейшую жизнь.....
Не надо никого учить. ИИ еще в ясли не пошел, а вы его высшей математике учить собираетесь. Представьте выбор людям и вопрос закроется сам собой. Я же написал, что сервис такой уже существует и великолепно себя зарекомендовал и путь решения вопроса показал. Спасибо за ответ. В Сколково бумаги оформлю, потом сюда статейку черкану.
Может, на синтетических тестах модель и показывает какое-то преимущество перед Google Translate, в реальности же практически неюзабельно, т.к. в большинстве случаев переводит чушь (использовал argos-translate-gui, модель 1.7).
Перевод RU->EN обламывается даже на самых простейших примерах:
Он презрительно фыркнул -> He's fascinating.
Он нахмурился -> He's crazy.
- Да что ж она столько весит-то? - раздражённо выдыхаю я -> ♪ What is she weighing so much?
Обратите внимание, в последнем случае вообще кусок потерялся, плюс какие-то странные символы полезли.
Спасибо, Нужно перепроверить. Возможно какие то баги еще стоить потюнить. Но в целом текущая модель существенно лучше той, чтобы была до этого. Argos Translate, проект открыт, каждый может поучаствовать и дообучить модель.
Кстати в вашем случае вы ссылаетесь на модель с RU->EN. Я же готовил модель переводящая с EN->RU. RU->EN модели с версией 1.7 пока не существует.
Эта модель тоже постоянно обламывается, возвращая вместо перевода разного рода мусор. Например:
"S-stop leaking..." she moaned as she struggled to stop this leakage.
Перевод:
"С-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с-с
Также у этой модели очень ограниченный словарь. Даже довольно распространённые слова она просто транслитерирует вместо перевода:
The landscape itself consists of dark crimson rocks covered by dust and ashes.
Сам пейзаж состоит из темных кримсоновых камней, покрытых пылью и пепел.
Когда переводятся тексты со специальной терминологией (биология, физика, астрономия) это особенно заметно.
Кстати, если хотите посмеяться, можете скормить модели EN->RU изначально русский текст. Я понимаю, что модель на такое не рассчитана, но с русского на русский же она "переводит" забавно:
Ты хоть понимаешь, насколько всё серьёзно?!
"Перевод":
Ты понимаешь, что в сиське сине-сливно?!
Интересно, если модели при обучении помимо англо-русских пар "скармливать" полностью русскоязычную фразу и проверять, чтоб результат "перевода" был максимально похожим на оригинал, это улучшит общее качество перевода?
Да действительно модель лучше умеет переводить по одному предложению.
Действительно и тестировалась модель прежде всего на текстах состоящих из одного предложения.
Получается, в качестве рекомендаций, можно посоветовать разбивать тексты на предложения и переводить их по отдельности.
Во втором случае "crimson" - я считаю, что даже я лучше бы не перевел. ) Как по мне модель отлично справилась
![](https://habrastorage.org/getpro/habr/upload_files/dbf/5d6/2ae/dbf5d62ae7b16940eb760413655c603e.png)
У меня вот так. Но текст ведь должен быть на английском? Разве нет.
Да, к нейросетевым переводчикам нужно еще привыкнуть. Примерно сейчас все точно так же многие тестируют ChatGPT, кто то от него в восторге, а тот кто начинает копать чуть глубже, убеждается, что далеко все не так хорошо, а скорее даже очень плохо. Наверное со временем все привыкнут.
"Интересно, если модели при обучении помимо англо-русских пар "скармливать" полностью русскоязычную фразу" - да это должно улучшить!
Но если серъезно, то ваши комментарии очень полезны, и если я в будущем решу улучшить качество перевода, я непременно обращу внимание на эти замечания. Спасибо вам!
Как создать переводчик, который переводит лучше, чем Google Translate