🎙️ Голос Антона в веса модели - что показали 3 разведки
DR26-08-04-ZB-12-2205 · синтез 05.08.2026, узел ZBOOKG8-2023PAL · потребитель: project-fine-tune-anton-fb-voice
Вопрос заказа: какие LLM реально впитывают личный авторский голос из корпуса 100-200 MB (RU+EN), чтобы модель писала голосом Антона по умолчанию, а не изображала стиль по промпту.
✅ ChatGPT47.7 KB · 40 источников
самый сильный отчёт
✅ Grok Heavy32.7 KB · 21 URL
сильный, честный список дыр
⚠️ Gemini27.0 KB · 12 источников
слабый: стар. данные, ошибка в модели
- claude.aiне собрана
браузер отвалился до Send
- GLMне собрана
везде гость, вход нужен bb@
⚠️ Кворум ДР = 4 рельсы. Собрано 3 - вывод стоит на трёх, и это записано честно, а не спрятано. «Не собрано» ≠ «рельса мертва».
Ответ в одну карточку
Метод - сошлись 3 из 3
Continued pretraining (CPT/DAPT) сырым текстом на BASE-чекпоинте → лёгкий SFT → DPO опционально
Базовая модель
Qwen3-base 8-14B · русская параллель-контроль: T-lite / RuAdapt-Qwen
Вендорские fine-tune API (OpenAI / Google / Anthropic / xAI)
Для этой цели не годятся - 3 из 3
Они принимают только пары «инструкция→ответ», сырого CPT не дают, веса не отдают. Корпус пришлось бы урезать в 10-100 раз - и вместе с ним выкинуть ровно ту массу текста, ради которой всё затевается.
Пайплайн целиком
чистый корпус (дедуп → выкинуть чужое/репосты → PII-скраб → вес эпохи 2018-2023 выше)
↓
CPT / DAPT QLoRA r64, ВСЕ линейные модули, на BASE, автор:generic = 90:10, seq 4k, 1 проход
↓
лёгкий SFT 5-20k пар (инструкция → его реальный текст) + ~10% generic bilingual
↓
DPO ТОЛЬКО если после SFT замер всё ещё ловит «LLM-гладкость»
chosen = его текст · rejected = ответ базовой модели на тот же промпт
Каждый следующий этап - меньше LR и меньше токенов. Чекпоинты не выбрасывать: лучший часто не последний.
Сравнение базовых моделей
Сведено по трём отчётам. VRAM - инженерные оценки (QLoRA-обучение / Q4-раздача), не гарантии вендора.
Вендорские сервисы дообучения
* Grok утверждает, что платформа FT у OpenAI закрыта для новых пользователей; ChatGPT, ходивший в те же доки, этого не пишет и приводит живые цены. Одиночный claim → проверить руками перед решением.
** «Отдают веса» подтверждают ChatGPT и Grok независимо; Gemini пишет «нет» и без ссылки - 2:1 против него.
Железо, деньги, сроки
Модель 8B в Q4 - это 6-10 GB видеопамяти, на 16-гиговой карте живёт спокойно. 14B в длинном контексте - уже впритык.
Как понять, что получилось - ДО слепого теста
⚠️ Ловушка №1 всего проекта: классификатор обязан работать с замаскированными содержательными словами. Если он узнаёт Антона только по существительным - он выучил ТЕМЫ, а не голос, и весь замер врёт в нашу пользу.
Слепой A/B - строгий протокол
100 настоящих + 100 сгенерированных, спарены по эпохе, жанру, теме и длине ·
8-15 судей, которые знают Антона · по одному тексту на экран, форс-выбор «настоящий / сгенерированный» + уверенность · разбор смешанной логистической регрессией (судья и тема - случайные эффекты) ·
критерий прохода объявлен ДО начала.
Проходит, если: 95% доверительный интервал точности накрывает 50% · верхняя граница ниже 60% · ни один жанр или длина не выше 65% · судьи не ловят пересказ приватных постов.
Дешёвый промежуточный вариант (Grok): 30-50 текстов, ≥5 судей, порог ≤55-60%. Годится как быстрый замер, финальный - по строгому.
Где рельсы разошлись - это развилки, а не шум
Расхождения не сглажены намеренно: в каждом случае решать инженеру, и вот на чём.
⚠️ Качество отчёта Gemini ниже двух других - учитывать при чтении.
- Рекомендует
Llama-3.1-40B-Base - чекпоинта такого размера не существует (есть 8B / 70B / 405B).
- Про Anthropic пишет «по состоянию на конец 2023 / начало 2024», судьями называет GPT-4o и Claude 3 Opus.
- Базой предлагает Qwen2-7B при живых Qwen3/3.5.
- Часть источников - Reddit и «URL варьируется».
Держим как третий голос в спорных местах, но
не как источник цифр.
Честный контр-довод: а может, дообучение вообще не нужно
RAG + 5-20 его реальных постов в контекст + строгий декодинг даёт, по общему мнению трёх рельс, «80% результата за 5% усилий»: без GPU, без приватных рисков, обновляется добавлением файла.
Но: само число «80/5» никем не измерено - ChatGPT честно ставит «источник не найден», остальные повторяют как фигуру речи. Не цитировать как факт.
И всё же не закрывает задачу: критерий Антона - голос по умолчанию, без единого примера в промпте, и удержание голоса на длинном тексте. RAG по определению даёт голос «по требованию».
Правильный ход: RAG-baseline строится ПЕРВЫМ, за 2-5 дней, и становится полом, который любой fine-tune обязан перебить на том же наборе. Если RAG уже проходит слепой тест - обучать не надо вообще.
Что делать дальше
- Неделя 0, без GPU: собрать чистый корпус (дедуп → выкинуть чужое → PII → отложить hold-out по времени) и сразу обучить authorship-классификатор на его же отложенном тексте. Не отличает - проект закрывается дёшево, и это хорошая новость.
- Неделя 0, параллельно: RAG-baseline и замер на том же наборе. Это пол.
- Неделя 1: пилот на 16 GB - Qwen3-base 8B, лучший FB-подкорпус, QLoRA r64 all-linear, 1 проход.
- Неделя 2: метрики сдвинулись → полный CPT на арендованном H100 + лёгкий SFT. Не сдвинулись → чинить данные или ранг, а не докупать железо.
- DPO - только если после SFT замер всё ещё ловит «LLM-гладкость».
Чего в этой базе нет - честная граница
- claude.ai: сессия была живая (орг
a673590f на месте, режим Research включён, промпт сверен побайтово - 12 066 знаков, hash 3584026889), но подключённый Chrome отвалился до отправки и за полчаса не вернулся.
- GLM (chat.z.ai): и в Chrome, и во всех трёх Firefox-профилях машины отдаёт гостя. Вход туда - Google SSO под
bbplatinumdepartment@, которого локально нет: единственная живая Google-сессия - CryptoPunk / a@. Пароль руками я не ввожу.
- Обе рельсы - «не собрано», а не «мертво». Это разные факты.
- Ни одна рельса не нашла контролируемого исследования, доказывающего, что CPT+SFT делает модель неотличимой от конкретного живого автора. Это инженерная экстраполяция - так и написано у ChatGPT открытым текстом.