Билол Саидумаров
Все статьи

Зачем мы дообучили свою LLM для гос-документов

22 мая 2026 · 5 минут · LLM, fine-tuning, документы
Если коротко
  • GPT-4 умеет говорить умно. От системы извлечения данных требуется валидный JSON.
  • 40 МБ адаптера дороже, чем кажется: они меняют поведение, а не словарь.
  • JSON-валидность 0 → 100%. Char similarity ×3,7. Цена вопроса — один RTX 4060.
Изображение · hero · 1600×900
Большая модель в дорогом костюме сидит над договором и щурится. Рядом маленький, аккуратный адаптер с табличкой «LoRA» показывает, в каком порядке заполнять поля.
Editorial illustration: an oversized humanoid figure in a tailored suit squinting at a formal contract on a desk, slightly confused. Beside it, a small neat clipboard labeled "LoRA" points to specific fields on the page: amount, date, counterparty. Calm indigo and ivory palette, soft shadows, no logos, no readable text, 16:9, 1600x900, editorial style.

«У вас же есть GPT-4 — зачем своя модель?»

Этот вопрос задают чаще, чем спрашивают, как меня зовут.

Если коротко: GPT-4 — это блестящий консультант, которого вчера прислали из Сан-Франциско. Английский безупречный, мнение по любому вопросу готово. А ему на стол кладут договор поставки с печатью, узбекским текстом сверху, русскими цифрами в теле и подписью на латинице. И просят — строго в JSON — сумму, дату, контрагента.

Догадываетесь, чем это кончается.

Договор с печатью — это не твит

Foundation-модели обучены на интернете. Интернет на 60% — это английский разговор о котиках, политике и стартапах. Договор поставки не похож ни на одно из трёх.

В нём нет харизмы автора, нет вопроса в конце, нет места для импровизации. Зато есть жёсткая шапка, три обязательных поля, «сумма прописью» — и всё это часто на трёх языках вперемешку, потому что так удобнее автору.

Модель, которая такого в обучении не видела, ведёт себя как турист: вежливо переспрашивает, вставляет английское слово, путает порядок дат. Не катастрофа — но и не то, что хочется ставить на финансовую операцию.

Когда форма важнее красноречия

Из контракта нужно вытащить три поля и положить их в {"amount": ..., "date": ..., "counterparty": ...}. Без преамбулы, без markdown-блока, без «вот, я подумал и сделал вывод».

Базовая Qwen2.5-7B на нашем эвал-сете выдаёт валидный JSON в 0 случаях из 6. Не потому что «глупая» — она просто не привыкла. У неё нет дисциплины формата, и каждый раз она норовит дописать пояснение.

После 95 размеченных примеров и трёх эпох — 6 из 6. Тот же мозг, та же квантизация, новые манеры.

Вот что на самом деле делает fine-tuning на маленьких датасетах: не добавляет интеллекта, а ставит поведение. Этим он и оправдан.

Узбекский сверху, русский снизу, английский в подписи

В одной реальной бумаге подряд встречается: «Shartnoma 2026-yil 14-martda tuzildi», на следующей строке — «Сумма договора: 1 200 000 сум», в графе подписанта — Acme Logistics LLC.

Foundation-модели на таком тексте дрейфуют. Иногда отвечают на английском — модель решает, что это «универсальный». Иногда смешивают языки внутри одного ответа. Иногда — самое неприятное — переводят туда, куда не просили.

Лечится одним способом: показать модели сотни примеров, где вход и ожидаемый выход на одном языке. Узбекский — отвечаем на узбекском. Русский — на русском. Правило простое, но без обучения оно не работает.

Дата-центр в Дублине — странное место для вашей сделки

Каждый вызов GPT-4 — это HTTP-запрос в чужую страну. Документ с подписью и печатью улетает через чужой биллинг, чужие логи, чужой compliance.

С момента, когда об этом задумаются юристы, разговор заканчивается ещё до того, как начался.

QLoRA-адаптер на Qwen2.5 эту проблему отменяет: модель крутится на собственном GPU-сервере, документ не выходит за периметр, аудит-лог пишется в свою же PostgreSQL. И никто не присылает счёт первого числа.

Я отдельно разбирал расклад в «Когда стоит держать LLM у себя». Дообучение усиливает аргумент: своя обученная модель — уже не инфраструктура, а актив.

Экономика на счётчике

API — это такси со счётчиком. Едет хорошо, пока вы не начали кататься каждый день.

10 000 документов в месяц на GPT-4 — это $300–500 на токенах. Миллион — уже $30–50k. Счётчик не останавливается, даже когда вы спите.

Своя модель — это один раз заплатить за GPU и потом обрабатывать любой объём по цене электричества. Один RTX 4060 за $300 тянет обучение. Один T4 в облаке держит продакшен-инференс. Дообучение здесь не самоцель — а способ заставить маленькую модель выдавать качество, за которое раньше платили большой.

Что показали цифры

Эвал на 19 удержанных примерах, жадная декодировка. База — Qwen2.5-7B в 4-битной квантизации. Кандидат — она же плюс наш QLoRA-адаптер.

МетрикаБаза 7B 4-bit+ QLoRA
JSON-валидность0 / 66 / 6
Exact match0%26,3%
Char similarity0,1660,610

Адаптер весит 40 МБ. Базовая модель не меняется — её можно скачать один раз и навесить на неё десяток разных адаптеров под разные задачи. Это и есть PEFT: учим дельту, а не всю модель.

Чего адаптер не делает

95 примеров — это демонстрация техники, а не продакшен. Чтобы все 15 семейств задач шли уверенно, нужно 200–500 примеров на семейство, причём не выдуманных, а собранных из реального аудит-лога обработанных документов. Иначе это не обучение, а самообман.

И ещё: дообучение не заменяет RAG. Если в документе есть факт, которого не было в обучении, модель его не выдумает правильно — нужно подавать контекст. В продакшене должно стоять дообученная модель + RAG, не одно вместо другого.

Что сделать дальше