Comments 25
Хорошее приложение, не буду говорить о его плюсах и минусах. У меня есть только один вопрос: Как оно справится с маленькой такой задачей: "Тебя я люблю" на английский и обратно?
В зависимости от используемой модели. Скорее всего, каждая по своему истолкует.
Приложение само по себе не переводит, а только подгатавливает текст для перевода. А переводят модели, которые создали и обучили компании и возможно дообучили другие люди.
На модели saiga_yandexgpt: Тебя я люблю. -> I love you. -> Я люблю тебя.
Как Вы понимаете - это неверный перевод, потеря смысла и эмоций
Смысл остался, а эмоции по такому предложению определить нельзя.
1) Можно выделить слово "Тебя": тебя люблю, а не других.
2) Можно выделить слово "люблю": тебя люблю, а других - ненавижу.
3) Можно выделить слово "я": тебя люблю я, а не они.
4) А, может, это предложение сгенерировано компьютером и вообще никаких эмоций не несёт.
6 вариантов написания в русском языке предложения "Я люблю тебя" - и каждая имеет свою смысловую и эмоциональную нагрузку, с точки зрения онтолдогии
С чего вы решили, что английский перевод правильный?
Странно говорить чтт перевод B->A (A->B->A) не работает. Ведь перевод A->B, сжимает смысл изначально, и не передавал его.
It's you I love.
You are the one I love.
Очень сильно стоит вопрос кому вообще нужен такой перевод. Он может резать слух, быть неуместным в зависимости от контекста. Так что... создавайте свое приложение которое никому не будет нужным, зато будет переводить то, как вы хотите.
Вообще-то не очень понятно. А какой перевод правильный?
А как бы вы перевели? Искренне интересно.
В русском тексте слова могут быть практически в любом порядке, но в английском - нет. Поэтому при переводе на английский, без дополнительного контекста с нужными эмоциями, это будет потеряно.
Йода, гранд-мастер ордена джедаев нас посетил?
Вау, теперь я знаю куда мне копать. Спасибо!
Неправильный перевод: или же какой-то центавр ей запретил (речь про кентавров);
А альфа Центавра Вас не смущает?
У нейросеток не было желания спросить, как правильно организовывать перевод? Я месяц назад спросил... Сразу оговорюсь, мне надо было переводить самиздат, поэтому я изначально не требовал ТОЧНОГО перевода. Я запрашивал читабельный литературный перевод. И по качеству во многих случаях он был лучше оригинала.
Наиболее эффективно - это подавать на перевод столько, сколько они соглашаются отдать. Для дипсика (я переводил на нем, пока токены по ночам дешевые были) это 8К токенов, то есть на сам перевод я подавал до 10кб текста. Для контекста перед этим подается предыдущая часть до 30-50К токенов. Так решаются проблемы с определением полов героев, единства имен и предметов (хотя и не на 100%, но существенно лучше, чем по предложениям).
Дальше делался второй проход - редактура. С точно такой же подачей уже переведенного текста. И требованием доперевести непереведенные слова.
Дальше нейросетки предлагали сделать третий проход для оформления форматирования, но меня жаба задушила.
И вот после этого у меня получался текст, на котором требовалось сделать примерно по 1-4 правки на странице. То есть при большой лени можно читать даже то что получилось без правок (ну, оно конечно примерно раз на 500 кб текста заворачивало что-нибудь на китайском, это меня точно напрягало и я переводил руками на русский).
При попытках автоматически переводить по предложениям конечно скорее всего будут отсутствовать непереведенные слова, но, насколько я понимаю, читать такое нормальному человеку с удовольствием невозможно. Там спотыкаешься при чтении на каждом втором предложении.
Получается, что я сам пришёл к варианту с первым проходом, подача текста и предыдущего контекста. Но при переводе книг я подаю только один параграф, чтобы было проще делать соответствие оригинального параграфа и перевода, потому что пытаюсь читать сначала текст в оригинале, потом перевести мысленно, а потом уже заглянуть в перевод. Думаю, это очень редкий случай, что кто-то ещё захочет читать именно так, но делал в первую очередь под себя.
Если бы не этот подход, то можно было бы, как и описано выше, брать несколько абзацев (ограничение по длине взять из параметров) и отдавать в перевод. Возможно, стоит сделать и такой вариант тоже. И потом сравнить, на сколько это даст эффект в качестве.
Ниже обсуждалось, что есть вариант сделать глоссарий имён, возможно, сразу вида имя - пол - вид (если не человек) - краткая характеристика. Вопрос в том, сколько это займёт контекста и не запутается ли в нем модель.
При разбивке по предложениям перевод будет очень плохим, да, но и использовать его стоит только для тех моделей, которые иначе начмнают терять что-то. Все ллм модели нормально работают с несколькими параграфами текста.
Забавно будет, когда имя главного героя будет меняться от одной части перевода к другой. Даже если большую книгу скормить сетке за раз - и то может возникнуть подобный эффект. Поэтому вычитка остается обязательным этапом после генеративного перевода.
больше года ждал реализации подобной идеи. выражаю уважение и благодарность за труд. из предложений я думаю только нормализовать установку для юзеров. вечером поставлю себе и буду тестить. признаться очень удивлён что 8б модель имеет высший бенчмарк. я думал что для перевода нужны модели с бОльшим количеством параметров.
Все упирается в необходимость cuda для некоторых моделей. И перевод медиа, через whisper, тоже потребует. Если оставить только перевод через лм студио, то может и получится сделать портабельно. Но надо смотреть. Попробуйте установку по первому пункту, через внешние системы для портабельной установки. Я попробовал через одну из них, была одна проблема, я описал в документации решение.
Пишите, какие будут сложности или проблемы, попробуем решить)
Спасибо за проделанную работу и за потраченные силы также для написания статьи, интересная и нужная/актуальная тема.
Про локальную версию, - также пробовал тестировать у себя около популярных 80 моделей 8-12-20-24-32 B Q8-Q4 .gguf вариантах.
классифицировал по смыслу, читабельности, метт классифицировать, по согласности" выполнять сразу то что требуется без воды и тд и то. Все вручную и поэтому очень субъективно, потом нормализации баллов от 1 до 10 - все что получал, чтобы найти оптимальные модели или универсальные.
В основном через Oobabooga, и потом через локальный api вытягивать тексты batch: ем чтобы опять же вручную читать или слушать и ставить баллы..
Много сил и терпения тебе, буду следить за твоим проектом, и морально поддерживать.
Как я разрабатывал приложение llm-translate для перевода с помощью нейросетей