Прежде чем дообучать маленькую языковую модель, проверьте, почему она ошибается. В эксперименте MIT CSAIL правка 0,016% весов подняла результат на математическом тесте с 7,9% до 48,1%: редактирование весов нейросети помогло ей реже зацикливаться и чаще доводить решение до ответа. Это повод начать с диагностики, а не готовый универсальный рецепт ремонта.
Для разработчиков это интереснее обещания «бесплатного интеллекта». Если модель плохо работает, дело не всегда в нехватке знаний. Иногда существующим способностям мешает повторяющийся сбой — и дополнительное обучение не единственный возможный способ его исправить.
Редактирование весов нейросети: вместо оптимизатора — модель с Python
Исследователи Рикия Такэхи, Джейден Тео, Алекс Чжан и Омар Хаттаб из MIT CSAIL проверили подход Weight-Space Programming: большая языковая модель читает и меняет числовые параметры другой сети по задаче, сформулированной обычным языком.
При привычном дообучении система считает ошибку, вычисляет градиенты и обновляет веса через оптимизатор. Здесь редактором выступала GPT-6 Astra. Она анализировала тензоры через Python, выдвигала гипотезы и записывала изменения напрямую. Градиентный спуск, обратное распространение ошибки и подгонка весов к функции потерь были запрещены.
Это не промптинг: меняется сама сеть, а не инструкция перед запросом. И не обычный fine-tuning: направление изменения выбирает модель-редактор, а не алгоритм обучения.
Однако «без дообучения» не означает «без данных и вычислений». Astra получила тренировочные задачи с ответами, доступ к внутренним состояниям сети и обратную связь от разрешённых запусков. Итоговых тестовых наборов она не видела, но и вслепую не работала.
Что именно сломалось в маленькой Qwen
Объектом ремонта стала текстовая часть Qwen3.5-0.8B: около 800 миллионов параметров, 24 слоя. Её запускали с включённым режимом рассуждений.
На практике модель часто повторяла одни и те же фрагменты и расходовала весь бюджет генерации, не переходя к финальному ответу. Особенность известная: официальная карточка Qwen предупреждает о повышенной склонности этой версии к зацикливанию в thinking-режиме.
Astra связала сбой с направлением, которое записывали MLP-блоки слоёв 15 и 19. MLP — вычислительная часть слоя, преобразующая внутреннее представление текста. В каждом из двух блоков редактор выбрал по 64 столбца выходной матрицы и вычел компоненту, связанную с повторением.
Правка затронула 131 072 значения весов. При примерно 800 миллионах параметров это и есть округлённые 0,016%.
Рабочая гипотеза здесь не «мы нашли нейрон математики», а скромнее: редактор ослабил механизм повторения, который мешал уже обученной модели завершать работу.
Цифры впечатляют, но относятся к определённому режиму
В наиболее успешном прогоне исследователи получили:
- MATH-500: точность выросла с 7,9% до 48,1%.
- GSM8K: с 13,8% до 67,1%.
- IFEval, проверяющий следование инструкциям: с 21,0% до 62,3%.
- Обрывы по лимиту: доля генераций на MATH-500, упёршихся в лимит токенов, снизилась с 93,0% до 33,1%.
Показатель 93% относится именно к MATH-500 в этом эксперименте, а не ко всем запросам к Qwen. Даже после ремонта примерно треть генераций на этом наборе по-прежнему достигала лимита. Само достижение лимита ещё не доказывает зацикливание: модель может просто долго решать задачу. Объяснение через повторы опирается ещё и на разбор самих ответов и на проверочные вмешательства.
До и после правки использовали одинаковые настройки генерации и максимум 32 768 новых токенов. Для MATH-500 усредняли результаты четырёх генераций на задачу. Это средняя точность, не вероятность найти хотя бы один правильный ответ из четырёх попыток.
Мы сверили основные показатели с опубликованными файлами оценки. Саму модель заново не запускали: проверка отчётности не равна независимому воспроизведению эксперимента.
Перенос улучшения на IFEval поддерживает объяснение через устранение общего сбоя генерации. Но эти цифры не означают, что маленькая Qwen стала универсально сильнее во всех задачах или обошла исходную модель при любых настройках.
«50 прогонов» — не пятьдесят вопросов и не мгновенный ремонт
В разных прогонах редактору разрешали 10, 25 или 50 обращений к инструменту прямого прохода. Один такой вызов мог включать генерацию ответов на сотни тренировочных задач либо чтение внутренних состояний на текстах.
Поэтому популярное «всего 50 тестов» искажает масштаб. Это до 50 пакетных обращений к модели, а не 50 одиночных примеров. Отдельно редактор мог выполнять Python-код для анализа весов.
Успешный вариант занял 158 ходов взаимодействия и 80 запусков Python. В журнале указано 20,3 часа от начала до конца, включая 4,7 часа ожидания из-за недоступности модели-редактора. Это время конкретного исследовательского запуска, не норматив для будущего инструмента.
Малый размер итоговой правки ничего сам по себе не говорит о стоимости её поиска. Чтобы поменять несколько строк в сложной программе, тоже иногда приходится отлаживать её весь день.
Варианты с меньшими бюджетами дали существенно более скромные результаты: результат на MATH-500 составил 12,3% при 10 обращениях и 14,1% при 25. Это разные поисковые прогоны, а не гарантированная лестница улучшений одной и той же правки.
Что проверить в своём агенте до нового обучения
Наш практический вывод: сначала выясните, на каком этапе теряется результат. Агент может знать решение, но не завершать генерацию. Может завершать ответ, но нарушать формат. А может действительно не владеть нужным навыком. Одинаковая отметка «не справился» скрывает разные неисправности.
Для прикладного проекта стоит начать с доступного:
- Отдельно посчитать неправильные ответы, обрезанные генерации, повторы и нарушения формата.
- Сверить шаблон диалога и настройки с рекомендациями разработчика модели.
- Сравнить режимы рассуждений и лимиты на одном фиксированном наборе задач.
- Проверить не только целевую метрику, но и обычные запросы, стоимость и задержку.
Этот порядок полезен и без доступа к весам. О том, почему качество зависит от всей системы, а не только от названия модели, подробнее — в разборе курса CMU по обвязке и оценке агентов. А обучение через языковую самопрактику показывает другой путь улучшения, и путать его с точечным ремонтом параметров не стоит.
На Gemma ремонт почти ничего не дал — и это важный результат
Исследователи попробовали улучшить Gemma 3 270M, у которой зацикливание было значительно менее выражено. На MATH-500 исходный результат составлял 6,8%, после варианта с 50 обращениями — 7,0%. Убедительного улучшения не получилось.
Ошибки там выглядели иначе: неверная арифметика, неправильные алгебраические шаги. Одного локального механизма, отключение которого снимало бы основную проблему, найти не удалось.
Нельзя напрямую сравнивать абсолютные способности Gemma и Qwen по этим цифрам: различались размеры моделей, настройки, лимиты генерации и правила извлечения ответа при оценке. Но отрицательный результат ограничивает главный тезис. Удаление помехи и приобретение нового навыка — разные задачи. Результаты Qwen согласуются прежде всего с устранением помехи; универсальный способ делать любую модель умнее из этого не следует.
В отдельном эксперименте Astra не смогла по одним весам надёжно отличить модель, склонную поддакивать пользователю, от обычной. Получилось, только когда ей дали инструмент, показывающий распределение внимания. Доступ к числам сам по себе ещё не превращает сеть в открытую книгу.
Новизна — не в самой идее менять отдельные веса
Точечное редактирование моделей существовало и до Weight-Space Programming. Например, метод ROME, представленный на NeurIPS 2022, локализует фактические ассоциации и меняет их небольшой правкой MLP-матрицы.
Отличие нового подхода — в роли универсальной LLM. Она не просто объясняет найденный нейрон или запускает заранее написанный алгоритм редактирования, а участвует в диагностике и конструировании самой правки под словесную задачу.
Это делает работу интересной для mechanistic interpretability — исследований того, какие внутренние вычисления порождают поведение сети. Объяснение становится убедительнее, когда за ним следует целевое вмешательство и измеримый результат. В успешном прогоне исследователи проверяли отдельные слои и силу вмешательства, а для контроля применяли случайную правку сопоставимого размера.
Но маленькая правка не гарантирует отсутствия побочных эффектов. Исследование UC Berkeley о последовательном применении ROME и MEMIT показало постепенное и затем резкое ухудшение сохранённых знаний и других способностей. Это не доказательство такого же поведения Weight-Space Programming; это причина не заменять регрессионное тестирование красивым процентом изменённых параметров.
Итоговый патч воспроизводим, весь процесс поиска — не полностью
Если всё же экспериментировать с весами, нужны отдельная копия модели, воспроизводимая правка и возможность отката. Исследователи выложили логи и точные изменения весов с инструментом их применения. Однако код, управлявший всем экспериментом с Qwen, не включён в опубликованный пакет: восстановление итогового патча и повторение всего процесса его поиска — разные уровни воспроизводимости.
Weight-Space Programming пока разумнее воспринимать как исследовательский способ отладки, а не замену обучению. Для первого шага доступ к весам не нужен: возьмите фиксированный набор своих задач и отдельно посчитайте неверные ответы, повторы и обрезанные генерации. Это покажет, что именно вы собираетесь улучшать.




