Операция выполнена!
Закрыть
Хабы: Машинное обучение, Искусственный интеллект

Можно ли взять алгоритм из маленькой нейросети и «вставить» его в большую языковую модель на лету, без дообучения?
Мы проверили эту гипотезу на модульной арифметике. Spoiler: да, можно, но с сюрпризом, который переворачивает представление о том, как LLM на самом деле «думают».

Если вы работаете с большими языковыми моделями, вы знаете главную боль: чтобы научить GPT-4 решать арифметику или логическую задачу, приходится либо писать длинные промпты с примерами (CoT), либо дообучать модель — дорого, долго и не всегда предсказуемо.

А что, если мы пойдём другим путём?
Возьмём маленькую модель, которую мы обучили до состояния «идеального калькулятора» (она понимает модульную арифметику на 100%), и попробуем извлечь её внутреннее состояние (residual stream) и инжектировать его в большую LLM прямо во время генерации ответа.

Без градиентов. Без новых данных. Без fine-tuning.
Просто линейная проекция между двумя пространствами активаций.

Звучит как магия? Мы тоже так думали. Но оказалось, что это не магия — это геометрия.

Мы провели серию из 6 экспериментов, проверили всё: от случайной проекции до обучения линейного оператора W, от замены эмбеддингов до патча residual stream с сохранением контекста. И в процессе наткнулись на фундаментальное различие между тем, как маленькая модель «компилирует» алгоритм, и тем, как большая языковая модель «симулирует» его через текст.

Спойлер главного открытия:
Мы смогли передать алгоритм в residual stream большой модели с точностью 99.9% — но только при условии, что заменили её штатный LM head на свой маленький адаптер. Без адаптера — даже имея идеальный сигнал внутри, модель не могла его прочитать. Это как дать человеку правильный ответ, но записанный шрифтом Брайля, который он не знает.

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro