Pull to refresh
64K+
16
Артём Дворянцев@Imperius14

Хакер, отец скайнета

159,8
Rating
21
Subscribers
Habr CareerHabr Career
Send message

Всем привет. У моего фреймворка Meta-Spider (про него можно почитать здесь) вышло большое обновление. Статью мне пока лень писать, так что будет пост.

Мы постоянно просим языковые модели «быть осторожнее» или «сказать, если не уверены». Работает это плохо: слова заходят, поведение не меняется. Причина в том, что неуверенность модели живёт в её внутренних активациях — там, куда текстовый промпт просто не достаёт.

meta-spider обучает тонкую обвязку (~2% параметров) поверх замороженной базовой модели. Она читает собственные скрытые состояния модели, сжимает их в «когнитивные токены» и впрыскивает обратно через cross-attention с вратами. В итоге модель отвечает уверенно там, где знает, и отказывается / идёт искать / уточняет — там, где нет. Веса базы при этом не меняются вообще.

Главный результат: латентный канал бьёт промпт

  • Отказ на неотвечаемом вопросе: текст-промт сдвинул с 0.07 до 0.07 — то есть вообще никак. Обвязка — до 0.87.

  • Поймано собственных ошибок базы: текст-промт 14%, обвязка 78%.

Просто попросить модель быть неуверенной — почти не двигает её. Обвязка двигает в разы, потому что работает с сигналом, до которого промпт не дотягивается.

Важный нюанс методологии, на котором мы сами споткнулись: читать латентный сигнал надо тем каналом, в который обвязка обучена — она генерит фразу-отказ, а не выбирает искусственную «UNSURE»-опцию. С кривым ридаутом обвязка выглядит инертной (это был наш баг).

Три новые фичи

🎚️ Ручка неуверенности. Инъекция — один регулятор времени исполнения: крутите вверх для осторожности, вниз для уверенности, в минус — инверсия. Микшерный пульт для поведения. gain 0→1.5 плавно крутит долю отказов ~2%→51%.

🐕 Сторож. Иногда не нужно менять вывод — нужно просто знать, что модель не уверена. Лёгкая проба читает этот сигнал и позволяет сходить в RAG / переспросить / эскалировать, не трогая генерацию (постоянная инъекция портит длинную генерацию, а чтение — нет).

UPD (Забыл добавить): Помимо этого сторож чинит многоступенчатую генерацию (например когда модель кодит), до этого периодические иньекции приводили к значительной деградации, притом на QA это не заметно, потому что модель генерит сама немного токенов. Сторож позволяет усиливать сигнал неуверенности только в нужные моменты, от этого количество иньекции значительно снижается, и не происходит деградирующего самоусиления.

🏭 Фабрика обвязок. Одна команда собирает общую обвязку неуверенности под любую базу:

metaloom build-universal --model-name N --quantization nf4 --suite suite.json --eval --export-gguf

На агентном суите из 6 осей это единственный вариант, не провалившийся ни на одной оси — калибрована по всему пространству решения, а не просто «переученная отказываться».

Чем практично

База заморожена, обвязка ~2% модели, весь цикл collect→train→eval прогоняется на ноутбучной GPU с 4 ГБ (nf4 + срез-тренер), а деплой — в llama.cpp на CPU через маленький GGUF-sidecar. GPU на инференсе не нужен.

Стоит заметить, что это про калибровку, а не про сособности. Модель умнее не становится — обвязка вытаскивает уже существующий внутри сигнал неуверенности и превращает «ответить наугад» в «ответить, когда уверен».

Как начать

Есть CLAUDE.md. Рекомендую для использования фреймворка поначалу использовать ИИ-агента, способоного к продвинутому рассуждению в кодинге (Codex, Claude Code, DeepSeek V4 Pro через агентный движок и провайдера, которых вы предпочитаете), чтобы быстро опробовать и проверить его возможности.

Ссылки:

Tags:
+3
Comments0

Всем дратути, я тут с помощью Fable 5 сварганил ролик на ютабе по архитектуре мета трансформеров.

Я уже нашел некоторые артефакты, но в целом качество довольно сносное, субтитры есть с норм таймингами, кто шарит по английски может посмотреть, ну и не шарит тоже, субтитры должны норм переводится.

Tags:
+5
Comments0

Information

Rating
32-nd
Date of birth
Registered
Activity

Specialization

Инженер встраиваемых систем, ML разработчик
Средний
Git
Python
Golang
C
C++
Lazarus
Deep Learning