Дистилляция Kimi в Qwen не даёт Kimi — только Qwen с её почерком

Если вы собираете локальный стек на открытых весах и мечтаете «пересадить» рассуждения frontier-модели в Qwen за пару тысяч трейсов — сначала разберитесь, что именно покупаете: способности модели или оформление ответа. В разборе @p0rt разбирает публичный кейс Kimi K2.6 → Qwen3.6 и приходит к неприятному, но полезному выводу: LoRA на ~7,8k reasoning traces даёт безусловные thinking-блоки, но не доказывает прирост сырого reasoning над базой. Для соло-разработчика с Unsloth, OpenRouter и одним GPU это не приговор эксперименту — напоминание, зачем нужна честная оценка, прежде чем вешать дистилляцию на агентов или локальный запуск весов.
Что на самом деле переносится при «дистилляции» LLM
В индустрии «distill» чаще означает не перенос весов учителя, а датасет его трейсов и дообучение студента методом SFT на сгенерированных ответах. Есть два канала: black-box — только текст (prompt + длинная цепочка рассуждений + ответ), white-box — logits или hidden states и KL-дивергенция. Для закрытых API вроде Kimi через OpenRouter доступен лишь первый: вы платите за токены и получаете низкополосный канал без доступа к внутренним распределениям.
Народная модель «залили сильные ответы — получили сильную модель» ломается на механике: через провод в основном проходит форма рассуждения, а потолок качества задаёт база студента, а не «IQ» учителя. Исследования из материала показывают, что crowd workers оценивают имитаторы ChatGPT как конкурентоспособные, тогда как бенчмарки фиксируют перенос стиля без фактологии. Работа Anthropic Fellows (Nature, 2025) добавляет жёсткое ограничение: поведенческие черты через данные без семантической связи переносятся только при shared или matched base — между семействами моделей эффект пропадает.
Для практики fine-tuning открытых моделей это значит: Qwen, дообученный на трейсах Kimi, остаётся Qwen — с новым «почерком» в выводе, но без гарантии когнитивной замены frontier-учителя.
Кейс Kimi K2.6 → Qwen3.6: почерк thinking-блоков без прироста reasoning
Разбираемый публичный model card — не собственный end-to-end run @p0rt, а задокументированный чужой эксперимент. База: Qwen3.6-35B-A3B. Учительские трейсы: около 7,8k reasoning traces из Kimi K2.6, собранных через OpenRouter. Стек: Unsloth + LoRA с attention-only адаптерами (r=16, 980 шагов). Железо: примерно 21 час на одном H200. Обучается 3,44M параметров из 35,1B — около 0,01% весов.
Таблица оценки на тестах из того же эксперимента выглядит неоднозначно:
| Бенчмарк | База | Kimi-distill |
|---|---|---|
| MATH-500 (0-shot) | 53,0 | 47,0 |
| GPQA Diamond (0-shot CoT) | 79,29 | 75,25 |
| GSM8K (8-shot) | 64,0 | 92,67 |
Сомнение в «победе» на GSM8K (+28,67) обосновано: 64% для frontier-класса 35B-A3B выглядит нереалистично; вероятная причина — few-shot шаблон не включил thinking mode у базовой модели. Итоговая позиция: эксперимент не даёт доказательств, что дистилляция улучшила raw reasoning; зато distill гарантированно эмитит thinking-блоки там, где у базы thinking mode условный.
Контраст с «настоящей» дистилляцией — DeepSeek R1: ~800k rejection-sampled traces, полный SFT на два эпоха, шесть баз. На Qwen-32B base SFT даёт 72,6 AIME против 47,0 у RL после 10k+ шагов — разрыв +25 пунктов в пользу distillation при большем compute на RL-стороне. Масштаб данных и глубина дообучения здесь другого порядка, чем LoRA на 0,01% параметров.
Как отличить перенос формата от переноса capability
Практический чеклист из материала — таблица «Handwriting only» против «Capability actually moves». Коротко по осям:
- Масштаб данных: почерк — 1k–20k traces; capability — 100k+, rejection-sampled с verified answers.
- Что тренируют: почерк — attention-only LoRA (~0,01% params); capability — full fine-tune или LoRA на FFN/experts.
- Teacher gap: для почерка берут «как можно крупнее» учителя; для capability — gap внутри capacity студента.
- Домен: почерк — traces из одного домена, оценка в другом; capability — traces из deploy-домена.
- Policy: почерк — off-policy SFT; capability — on-policy фаза после cold start.
- Оценка: почерк — pass@1, один пайплайн, thinking mode базы не вызывается; capability — pass@k, идентичный пайплайн, thinking mode принудительно на обеих сторонах, OOD и instruction-following в holdout.
Дополнительные эвристики: RLVR поднимает pass@1 и сужает boundary при больших k; distillation поднимает кривую на всех k — признак новых паттернов рассуждения, а не усиления уже сэмплируемых путей. В эксперименте Sky-T1 (fine-tune Qwen2.5-32B-Instruct на 17k long-CoT traces из R1) corruption wrong final answers снимает −3,2 pts AIME; randomize half numbers — −3,3; shuffle steps — collapse. Структура шагов бьёт сильнее, чем неверные финальные ответы или случайные числа.
Если контур тестов ловит скачок на GSM8K, а база просто не включила thinking mode — вы измеряете артефакт методики, а не перенос мышления. Материал закрывается вопросом к читателям: какой один тест в контуре проверки поймал бы такой скачок на тесте? «У большинства нас его нет».
Соло-пайплайн: Unsloth, OpenRouter и честная оценка перед агентами
Пост не описывает IDE, MCP или агентные loops — зато даёт реалистичную картину ML/SFT-пайплайна для индивидуального разработчика. Unsloth + LoRA на одном H200 за ~21 час — подъёмный эксперимент в одиночку. OpenRouter — способ получить Kimi K2.6 traces без локального teacher. Честная model card — оценки, которые подрезают headline benchmark, как в случае с GSM8K.
Иллюстративная «price list» из материала (cloud rates, порядки величин в долларах):
| Run | Данные | Compute | Что получают |
|---|---|---|---|
| s1-32B | 1k curated Gemini traces | 26 min, 16 H100s, ~$25 | thinking format + test-time scaling |
| Kimi K2.6 → Qwen3.6 LoRA | 7,8k K2.6 traces | ~21 h, 1 H200 | unconditional thinking blocks; no measured capability gain |
| DeepSeek R1 distills | 800k rejection-sampled | full SFT, 2 epochs | +25 pts AIME vs RL на base |
Сигнатура стоимости Kimi-трейсов: в среднем ~2 933 токена на trace против ~849 у matched Claude Opus 4.7 set — ~2,5× compute multiplier на тот же number of rows. Прямой таблицы «fine-tune vs Kimi API $/token» в источнике нет; framing — compute на генерацию traces плюс training run против масштаба DeepSeek-class SFT.
Для практики AI-assisted разработки вывод сводится к выбору цели. Если нужен стабильный long CoT / thinking format в open weights для локального inference или агентов ниже по цепочке — LoRA-distill на малых данных может «пересадить почерк». Если цель — догнать рассуждения frontier-модели — нужен масштаб DeepSeek-class (800k samples, full SFT) и жёсткий протокол оценки с принудительным thinking mode на обеих сторонах.
Открытые веса Kimi K3 (конец июля 2026, 2,8T params) ставят white-box distillation «на стол» юридически и технически — но gate остаётся inference bill (~1,4 TB fast memory resident + context). Политический контекст (claims про distillation attacks, sanctions) в материале отделён от ML-рецепта: для pretraining «никто не знает, как дистиллировать»; coherent version обвинений — targeted post-training на traces уже обученной базы, black-box bandwidth, сжатые сроки.
Источники
- @p0rt — Distilling Kimi Into Qwen Doesn't Give You Kimi. It Gives You Qwen With Kimi's Handwriting (Dev.to, 2026-08-10; доступ 2026-08-10 UTC)