Год назад я написал статью «Переводим fb2 книжки, с нейронками, для себя» — про то, как собрал на паре Tesla P40 в гараже программу Sunny Narrator (“Солнечный сказочник”), которая переводит художественные книги через локальные и облачные LLM. Тогда это был скорее прототип «доказать себе, что так можно»: черновики читались с головной болью, книга в тысячу страниц переводилась два дня, а электричество, отключённое посреди процесса, стоило ещё двух.
За год программа доехала до версии 2.1, я перевёл достаточно книг, чтобы набить руку, и понял главное: это уже инструмент не только для меня, но и для переводчиков — и для всех любопытных. Рассказываю, что изменилось, сколько это стоит в токенах и почему без человека ничего не работает.
Две цифры и одна мысль про переводчиков
Первое. Перевод средней книги потребляет всего 1,5–2 миллиона токенов. Звучит как много, но на деле это одна книга — целиком, со всеми стадиями: перевод, замечания, исправление, корректура, резюме глав. Не десятки миллионов, не бесконечные диалоги с чат‑ботом. Конечная, предсказуемая, небольшая величина.
Второе. Переводчики по‑прежнему нужны и важны. Особенно хорошие. Нейронка не умеет в словотворчество: встречая новый термин, она чаще всего просто транскрибирует его. Классический пример — книги Нила Эшера: нейросеть честно выдаст «габлдак», в то время как живой переводчик в своё время нашёл великолепный «уткотреп» (а до него был ещё и «бормокряк» — и это тоже придумал человек). Машинный перевод не заменяет переводчика — он снимает с него черновую работу и оставляет то, что делает перевод литературой.
Что изменилось за год (кратко)
Если в прошлой статье Sunny Narrator был «поделкой на 200 строк, обросшей костылями», то сейчас это внятный пайплайн:
FB2 и EPUB (плюс DOCX и PDF через Calibre‑конвейер). Причём FB2 идёт отдельным «классическим» путём — структура книги (стихи, строфы, разделы) сохраняется один в один.
Пять стадий контроля качества: перевод → замечания → исправление → корректура → резюме чанка. Можно включить быстрый режим из двух стадий — примерно в 2,5 раза быстрее, но уже не для финального художественного качества.
Checkpoint/resume: после каждого чанка пишется контрольная точка. Отключили свет, упала модель, уехал кот на клавиатуру — запуск продолжает с чанка № 51 из 100, а не с начала. Моя старая боль «4 дня из‑за электричества» закрыта.
JSON_MODE: модели на всех стадиях отвечают структурированным JSON — парсинг перестал быть лотереей.
Серийные словари: можно прогнать всю серию книг и собрать единый словарь имён и терминов по всем томам. Для многотомников это спасение.

Пайплайн почти не изменился с прошлой статьи — но каждая стадия стала надёжнее.
Одна модель — полтекста. Две модели — книга
Самый неочевидный вывод года: если переводить одной моделью, текст выглядит неполным. Хорошие переводческие модели отлично пишут, но слабо вычитывают; хорошие «вычитыватели» скучно переводят. Поэтому в Sunny Narrator работают две роли:
MODEL_TRANSLATE— переводчик;MODEL_PROOFREAD— корректор, который смотрит на результат со стороны и чинит.
Мой личный вариант, сложившийся за месяцы прогонов:
gemma4-26B‑A4B — переводчик;
qwen3.6–35B‑A3B — корректор.
Обе — компактные MoE‑модели, которые уверенно живут на паре Tesla P40 и выдают 40–70 токенов в секунду. Это весьма и весьма быстро: для локального железа вчерашнего дня — почти непозволительно. Можно брать модели и меньше, они тоже работают, — но именно эта пара даёт лучшее соотношение скорости и «литературности» из всего, что я пробовал.
Кстати, год назад в комментариях мне советовали посмотреть в сторону Qwen вместо Mistral — совет оказался пророческим, спасибо. Теперь очередь за советом про графовые БД и RAG, но это уже другая история.
Сколько стоит книга и сколько книг в день помещается в гараж
Математика простая и приятная:
Средняя книга — 1,5–2 млн токенов суммарно по всем стадиям.
Две Tesla P40 с этой парой моделей — 2–3 книги в день.
Если вместо локального железа взять подписку Qwen через API — книги начинают считаться уже десятками, упираясь только в лимиты подписки и вашу решимость.
Что происходит с результатом дальше? А вот тут самое интересное для скептиков «машинный перевод — это нечитаемо». Готовый перевод — это черновик высокой готовности. Его доводка до приличного вида сводится к:
вычитке текста;
замене слов, которые пропустили в словаре (имена, термины, говорящие фамилии);
замене того, что «выглядит неприглядно» — кривых оборотов, неудачных каламбуров, стилистических провалов.
То есть человек делает то, что он и должен делать: редакторскую и переводческую работу, а не разгребает кашу из путающихся имён и родов. Переводчику такой черновик экономит недели; любопытному читателю — позволяет вообще прочесть книгу, которая иначе не добралась бы до него.

Для сравнения — фрагменты оригинала, перевода годичной давности и издательского перевода.
Словарь — это 80% успеха
Если из всей статьи вы запомните одну фразу, пусть это будет она: самое главное — подготовить корректный словарь. Модель может быть средней, железо — скромным, но со словарём книга переводится ровно: имена не плывут, термины не переименовываются на каждой странице, герои не меняют пол между главами. И наоборот: без словаря даже отличная модель даст вам дрейф имён и «Алису, которая стала Элис».
Откуда брать словарь? В программе есть встроенные NER‑словари: модель распознавания именованных сущностей (spaCy) проходит по книге и вытаскивает всех персонажей, организации, города и страны, а частотный анализ добавляет важные слова. На выходе получается заготовка книга.dic в формате оригинал = перевод, категория, род, примечания. Для серии книг — один общий словарь по всем томам.
Честно предупреждаю: эти словари собираются гигантскими, и на чистку и вычитку словаря иной раз уходят часы. Это нормальная цена входа. Пропущенное в словаре слово — это как раз та самая «неприглядность», которую потом придётся ловить на вычитке. Так что правило простое: час, вложенный в словарь до перевода, экономит день после.
Анонс: сайт обмена словарями (и немного про закон)
Словари — главная ценность всей затеи, и я готовлю сайт для обмена словарями: чтобы сообщество могло выкладывать и забирать готовые словари к книгам и сериям.
Зачем это нужно с юридической точки зрения: сам машинный перевод книги — территория серая, а вот словарь имён и терминов — обычный список фактов. Обмениваясь словарями, мы сможем не нарушая законодательства заметно поднимать качество перевода тех книг, которые у вас уже есть в формате FB2 или EPUB: взял свою копию, накатил чужой вычищенный словарь — и получил перевод, на который раньше уходили часы ручной подготовки. Перевод при этом каждый делает локально, сам, на своём железе или своём API.
Сайт в работе; как только будет что показать — напишу отдельно, а ссылка появится в репозитории.
Удивительное про длину: ±2% и речанкинг
Признаться, я ожидал, что русского текста на выходе станет ощутимо больше — традиционно перевод с английского «разбухает». А потом я посмотрел на цифры и удивился: английский мапится в русский с точностью до пары процентов.
Это не случайность, а встроенный контроль длин. Программа сравнивает размер блока оригинала и перевода, и если расхождение уезжает заметно за 10% — значит, что‑то пошло не так: модель съела абзац, нафантазировала, задвоила. В этом случае срабатывает речанкинг: блок разбивается пополам и каждая половина переводится заново. Просто, топорно — и на практике реально решает львиную долю ошибок перевода. Итоговая книга по размеру сходится с оригиналом в пределах ±5%.

Лог по‑прежнему огромный (кратно больше самой книги) и по‑прежнему лучший инструмент диагностики.
Ответы на прошлые комментарии — делами, а не словами
В прошлый раз под статьёй было немного комментариев, но все по делу. Краткий отчёт, что из этого выросло:
«Плагин Calibre переводит книгу за 2 часа, а у вас 2 дня» — да, короткие и простые тексты плагины щёлкают быстро, и для фанфиков/рассказов это честный выбор. Но на книгах от 500+ страниц без контекста, словаря и моделей от 20B текст рассыпается: голова лопнет от переключений имён, родов и полов. Теперь у меня есть и скоростной режим, и вменяемое время: 2–3 книги в день на локальном железе.
«Попробуйте Qwen вместо Mistral» — сделано: связка qwen3.6–35B‑A3B + gemma4-26B‑A4B сейчас рекомендуемая в репозитории.
«Боль с FB2 в Calibre» — понимаю, сам там живу: поэтому FB2 идёт отдельным бережным пайплайном, а вот EPUB/DOCX/PDF теперь, наоборот, доступны через Calibre‑конвейер.
«А надо ли усложнять, может прогресс сам всё решит?» — прошёл год. Готового инструмента, который переводил бы книгу целиком с удержанием контекста, имён и терминов, так и не появилось. Прогресс решает качество абзаца; контекст книги по‑прежнему приходится строить руками. Так что усложняем дальше.
Есть отличные скилы для Claude \ ChatGPT но объем вычитки в дни для меня все еще много. Но спасибо тем ребятам что выкладывают такие переводы, пару книг я брал с таким переводом и после них не выдержал и значительно доработал составление словарей, узнал что такое косинусные сравнения, вектора и NLP пайплайн.
Итого: кому это нужно и зачем это вам
Переводчикам — как черновик высокой готовности: словарь + вычитка вместо перевода с нуля. Особенно на больших сериях, где единый словарь имён решает половину проблем.
Издательствам и редакциям — как способ быстро прикинуть, стоит ли браться за книгу, и как черновой слой под работу редактора. (И да, вопрос лицензии на код открыт.)
Любопытным читателям — как возможность прочесть книгу, которой нет на вашем языке: своя копия книги, свой словарь, своё железо, никакой магии и никакого нарушения закона.
Энтузиастам локальных LLM — как живую боевую нагрузку для пары старых серверных GPU: 40–70 токенов в секунду на Tesla P40 сегодня вполне по карману.
Всё как раньше: питон, два провода и упрямство.
Репозиторий: github.com/NW15D/sunny‑narrator — там код, документация (13 страниц, включая русский README), примеры конфигов под Ollama/llama.cpp/Docker и те самые рекомендуемые модели.
Если перевели что‑то интересное или готовы помочь со словарями/порталом обмена — жду в issues и PR. И, как и год назад: если у вас валяется без дела пара серверных видеокарт — вы знаете, что с ними делать.