Обновить

Переводим книги нейронками для себя: год спустя. Словари, скорости и почему переводчики всё ещё нужны

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели15K
Всего голосов 23: ↑22 и ↓1+28
Комментарии34

Комментарии 34

У меня немного другая идея. Нейронка переводит текст по ходу чтения. С учётом возникающих комментариев пользователя и памятью о его замечаниях. А заодно сразу идёт обсуждение текста. Получается модель не переводим-читаем, а скорее этакое совместное чтение с агентом. Эксперементируем пока

Интересно, тоже думал об этом. Только в сторону чтения с детьми — с проверкой усвоения и слушанием пересказа.

Планируете опубликовать свои наработки?

... ну... если и да, то не быстро... у меня из-за агентов глаза разбигаются. Пара десятков петпроектов требует моего внимания, а читалка пока идёт со скрипом. Это, как ни странно, довольно нетривиальная задача

эти словари собираются гигантскими, ... в формате оригинал = перевод, категория, род, примечания

Интересно, насколько они большие - по сравнению с объёмом самой книги и по количеству слов на произведение. Как вы их отдаёте LLM если они так велики. Как поступаете с синонимами (вероятно я не понял какую роль играют категория, род и примечание).

На три книги по 700-600кб текста - 300кб словарь с ограничениями от 10 повторов, потом я его вырезаю до 5-15кб текста. словари динамические - в чанк для перевода попадают только те слова что есть в чанке, причем они заменяются до начала перевода.

Привет ! Интересная статья... Извини, возможно чайнеццкий вопрос, но не мог бы ты описать конфигурацию своего сервера и сколько примерно это будет стоить ??? А то глянул, сами видеокарты идут за довольно гуманный прайс. Если и остальное тоже, хотелось бы с этим поиграться.

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

я бы для начала купил 2 API доступа к гуглу и qwen - и посмотрел на тестовой книжке сколько будет стоит перевод. он точно будет очень быстр и возможно недорог. проксиапи даже за рубли продают - дело 10 минут

А например с deepl качество сравнивали?

я же говорил выше, книги особенно фантастика она расползается по словам , тутАлиса, потом Элис, потом еще как. меня к примеру это бесит. Очень много книг переводят такими переводчиками, они есть , и даже потом доведенные они не дотягивают немного. читать можно но коробит.
или к примеру обсценная лексика, у некоторох авторов это фишка, но последние 2 тома перевода Империи вампиров от Джея Кристофа - полностью это убрали потому как нейронками перевели и не погрузились.

Несколько месяцев назад встретил вашу прошлую статью, и пробовал ИИ для перевода с английского, тем более был повод - непереведенные книги Брэндона Сандерсона в серии, первые книги которой я уже прочитал.
Вариант использования через API вместо ИИ агента мне был неудобен, в итоге навайбил через глм 5.2 собственный скилл, идеи в нем все те же - словарь, проверяемый пользователем, черновой перевод, затем полировка. Правда, автосоздаваемый словарь тянет уж слишком много терминов, в своем решении я даю это нейронке, она выбирает наиболее подходящие термины типа имен и названий, сразу их переводит и отдает человеку на проверку. Если что-то пропустила, то по ходу перевода добавляет в словарь и снова ждет утверждения.

Насчет потребления токенов - 1.5-2 миллиона каких токенов, с учетом кеша или нет? У меня выходило около 1-3/20/0.2 миллиона input/cache/output на книгу в 128 страниц epub (Snapshot от того же Сандерсона). Те книги, про которые я говорил в начале, раза в 2-4 больше, и токенов на них тратится тоже больше, не кратно, но всё же.
В переводах точно нужно пробовать разные модели, результаты могут быть совершенно нелогичными) Среди тех что пробовал, на удивление лучше всего переводила китайская Hy3 - намного более живой слог, чем у deepseek v4 flash 0731, хотя последний умнее по бенчмаркам.

та мне не будет кэша почти, вот пример
============================================================ 2026-09-02 00:57:23,881 - INFO - TRANSLATION METRICS REPORT 2026-09-02 00:57:23,881 - INFO - ============================================================ 2026-09-02 00:57:23,881 - INFO - Successful translations: 110 2026-09-02 00:57:23,882 - INFO - Failed translations: 0 2026-09-02 00:57:23,882 - INFO - Total tokens: 2,943,935 2026-09-02 00:57:23,882 - INFO - Retry tokens: 0 (0.0%) 2026-09-02 00:57:23,882 - INFO - Rechunk events: 0 2026-09-02 00:57:23,882 - INFO - XML repairs: 0 2026-09-02 00:57:23,882 - INFO - Language mismatch retries: 0 2026-09-02 00:57:23,882 - INFO -

Но тут надо погрузится какие токены, вход, выход и посмотреть как считает. если уж лезть глубже.

Можете выложить свой вариант?

Спасибо, а что вас не устроило в deusyu/translate-book, что захотелось сделать свое решение? На первый взгляд очень похоже.

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

А можете подробней свои впечатления о китайских нейронках рассказать? Кого пробовали, на ком остановились?

Из актуальных пробовал Hy3 и deepseek v4 flash 0731, до нового 4.1 пока руки не дошли. Hy3 переводит более литературно, предложения похожи на русский текст, а не кальку с английского. Дипсик в этом плане хуже, но в трудных для понимания моментах может перевести более осмысленно. Думаю, в таких случаях имеет смысл сначала переводить Hy3, потом дипсиком полировать, но я такой сценарий не тестировал. Однако сделать это легко, просто переключить модель в харнесе после нужного этапа. На диске лежит зипка с результатами переводов нескольких моделей, можете ознакомиться, на гитхаб не заливаю, всё-таки АП.

Спасибо. А луну от OpenAI не пробовали? По цене должно не сильно больше быть.

У них бесплатного тира на полный перевод не хватает, а подписки у меня нет, поэтому не тестировал.

Очень интересно, спасибо!

Посмотрел гитхаб; сам занимался переводами.

Вопрос - я правильно понял, что словарь пока создается только через spacy и эмпириками и без перевода, а не через LLM с предположительными вариантами перевода? Второе было бы крайне удобно - чтобы сама сеть проанализировала на 0 проходе текст, и сформировала глоссарий. Потому что руками тяжко и долго.

У меня это сделано на сайте так - посмотрите, может что пригодится.

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

готовый словарь уже с переводом, ида он делается spacy+ частотники , а потом улетает в llm для перевода

А можете подсказать, на каком этапе он делается? Потому что я так понял по документации, что сразу же идет первый этап перевода (включая Fast mode), но не понял, когда делается словарь.

И да - не хотите сделать опциональное заполнение словаря через LLM вместо spacy?

заполнение словаря через LLM вместо spacy?

Какие по-вашему положительные и отрицательные стороны у такой замены?

Отрицательные - стоимость (нужно будет вызовы делать)

Положительные - LLM имхо лучше трекают ситуативные спецтермины, нежели эвристики + это апргрейдабельно, кому нужно - используют тяжелые модели, чтобы лучше выделить. Универсально, опять же - не нужно думать, какой словарь подставить, какие эвристики, как потенциальную билингву разруливать; как с китайского/корейского переводить.

в app.py - проверка наличие файла имя_книги.dic если его нет - идем в словарь , это файл vocab...*. Я честно не понимаю как делать словарь с LLM , т.е. это настолько ниже плато паретто которым я руководствовался когда собирал функции, ну улучшит процентов на 5, а работы.. сейчас результат жуе фиксированный и понятный. я думаю я временно остановился.

соврал - словарь в ner.py , там же стоп слова ntlk и тд.д. (для одного языка, тут надо деделывать под разные)

я думаю я временно остановился.

Это норм, понятно, есть утомление от проекта.

Мне привычнее делать через LLM; может потом либо ваш подход использую, либо свой допишу (и постараюсь PR сделать)

В любом случае - спасибо за работу, круто!

А нейронки в каких квантах запускаете?

в q4 , т.е. от q8 разницы нет.
ключевое - словари, и может совсем чуть промты.

И чуть в продолжение , меня озадачили переводом с корейского и я попробовал , непросто было найти знакомую корейскую книгу, но в итоге , экспериментально перевел с корейского 20 глав Nam-Hi-Son, и могу сказать что это читабельно, хотя в софте были косяки и она не переводила с кореейского ранее ) исправил софт и заодно добавил :

  • 📏 Automatic calibration of the post-translation chunk length check, based on the first 3 chunks

  • 🈶 Adaptation for CJK languages (Korean, Japanese, Chinese)

  • 🌐 Direct translation with dictionaries from CJK languages into any language

Несмотря на то что эта книга уже переведена сообществом , я ее помню и смог провести вычитку первых глав - немного конечно сбоит словарь - пропускает некоторые слова - но это проблема словаря и того что я например вообще не знаю корейский и вынужден доверять автматике, но читабельно, вполне.
артефакты перевода https://mega.nz/folder/681T1bCS#Zh2Z1Aua89024_bFQx0oLw

Вообще исходя из того что я вижу уже пару лет - проблема перевода решена ИТ гигантами полностью, то что нет доступа к этому у большинства пользовтелей это проблема law, rights и прочего, как ммм.. некий кибербунтарь я немного это игнорирую, и имплементирую. в среде нейронок есть такие понятия как harness т.е. обвязка и снового года 20026 она решает больше чем сами нейронки, что вообщем то и подтверждается софтом.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации