Год назад автор опубликовал на Habr статью о том, как собрал на паре Tesla P40 программу Sunny Narrator для перевода художественных книг через локальные и облачные LLM. Тогда это был прототип: черновики читались с трудом, книга в тысячу страниц переводилась два дня, а отключение электричества посреди процесса стоило ещё двух дней. Сейчас программа доехала до версии 2.1, и автор делится опытом: что изменилось, сколько стоит перевод в токенах и почему без человека ничего не работает.
Ключевые цифры: перевод средней книги потребляет всего 1,5–2 миллиона токенов — это суммарно по всем стадиям: перевод, замечания, исправление, корректура, резюме глав. Это конечная и предсказуемая величина, а не бесконечные диалоги с чат-ботом. На локальном железе — две Tesla P40 с парой моделей — получается 2–3 книги в день. Если использовать подписку Qwen через API, книги считаются десятками, упираясь только в лимиты подписки.
| Параметр | Значение |
|---|---|
| Токены на книгу | 1,5–2 млн |
| Скорость локально | 2–3 книги в день |
| Скорость через API | десятки книг |
| Модель-переводчик | gemma4-26B-A4B |
| Модель-корректор | qwen3.6-35B-A3B |
| Скорость генерации | 40–70 токенов/с |
Пайплайн Sunny Narrator за год превратился из «поделки на 200 строк» во внятный инструмент. Поддерживаются FB2 и EPUB (плюс DOCX и PDF через Calibre-конвейер), причём FB2 идёт отдельным путём, сохраняя структуру книги — стихи, строфы, разделы. Контроль качества включает пять стадий: перевод → замечания → исправление → корректура → резюме чанка. Есть быстрый режим из двух стадий — примерно в 2,5 раза быстрее, но не для финального художественного качества. Checkpoint/resume позволяет продолжать с чанка № 51 из 100 после сбоя, а не с начала. Модели на всех стадиях отвечают структурированным JSON, что упрощает парсинг. Серийные словари позволяют собрать единый словарь имён и терминов по всем томам многотомника.
Самый неочевидный вывод года: если переводить одной моделью, текст выглядит неполным. Хорошие переводческие модели отлично пишут, но слабо вычитывают; хорошие «вычитыватели» скучно переводят. Поэтому в Sunny Narrator работают две роли: MODEL_TRANSLATE — переводчик, и MODEL_PROOFREAD — корректор. Автор использует gemma4-26B-A4B для перевода и qwen3.6-35B-A3B для корректуры. Обе — компактные MoE-модели, которые уверенно работают на паре Tesla P40 и выдают 40–70 токенов в секунду. Это быстро для локального железа вчерашнего дня.
Готовый перевод — это черновик высокой готовности. Доводка до приличного вида сводится к вычитке, замене слов, пропущенных в словаре (имена, термины, говорящие фамилии), и замене того, что «выглядит неприглядно» — кривых оборотов, неудачных каламбуров, стилистических провалов. Человек делает редакторскую и переводческую работу, а не разгребает кашу из путающихся имён и родов. Переводчику такой черновик экономит недели; любопытному читателю — позволяет прочесть книгу, которая иначе не добралась бы до него.
Нейросеть не умеет в словотворчество: встречая новый термин, она чаще всего транскрибирует его. Классический пример — книги Нила Эшера: нейросеть выдаст «габлдак», в то время как живой переводчик нашёл «уткотреп» (а до него был «бормокряк»). Машинный перевод не заменяет переводчика — он снимает с него черновую работу и оставляет то, что делает перевод литературой. Автор отмечает, что год назад в комментариях советовали посмотреть в сторону Qwen вместо Mistral — совет оказался пророческим. Теперь он ждёт советов про графовые БД и RAG.

