Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
РелизРазбор · На радарHabr AI→ оригинал

Системный промпт RWKV-7 можно «свернуть» в состояние: старт быстрее в 12 раз

Системный промпт трансформер перечитывает в каждом запросе и хранит в растущем кэше. У RWKV-7 память фиксированного размера, поэтому промпт можно один раз прочитать и сохранить как начальное состояние. Свёрнутый промпт даёт те же ответы, а первый токен приходит в 12–13 раз быстрее. Обученное состояние на моделях 0.4B–2.9B местами точнее самого текста.

AI-обработка оригинала Habr AI; редакция Hamidun News
Системный промпт RWKV-7 можно «свернуть» в состояние: старт быстрее в 12 раз
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Свёртка промптате же ответы, старт быстрее в 12–13 раз
Ключевой факт #2Промпт в строке снизил точность на 3–15 пунктов на всех 8 базах
Ключевой факт #3Состояние не хуже LoRA на тех же данных, параметров вдвое меньше

Каждый раз, когда вы отправляете запрос в чат-бота, системный промпт прогоняется через модель заново. Чем он длиннее, тем дольше ждать первый токен и тем больше памяти уходит на кэш. Автор разбора на Habr проверил, можно ли обойтись без этого вовсе, и взял для опыта RWKV-7, архитектуру, у которой есть полезная особенность.

Что такое начальное состояние

Трансформер хранит весь прочитанный текст в кэше, который растёт вместе с диалогом. RWKV устроена иначе: прочитав текст, она сжимает всё запомненное в «память» фиксированного размера, то есть в состояние. Перед началом работы оно пустое. Но его можно взять и непустым.

Путей два. Первый: один раз прочитать промпт и сохранить получившееся состояние (автор называет это «свернуть» промпт). Второй: подобрать состояние обучением, не трогая веса модели. В обоих случаях текст промпта в запросе больше не нужен.

Эксперименты шли на моделях от 0.4B до 2.9B параметров на обычном MacBook M4 с 16 ГБ памяти. Обучение состояния занимает 5–50 минут, файл весит 6,5–22 МБ.

Что показали замеры

Свёрнутый промпт работает как бесплатный точный кэш. Ответы совпадают с ответами на текстовый промпт, а при промпте в 1206 токенов время до первого токена в 12–13 раз меньше. С короткой строкой в 26 токенов выигрыш около 20%.

Дальше интереснее. На 199 вопросах с проверяемым ответом промпт в строке снижал точность на 3–15 пунктов на всех восьми проверенных базах. Обученное состояние ни разу не оказалось значимо хуже модели без промпта и всегда было лучше промпта. Явно лучше модели без промпта оно стало на четырёх базах из восьми.

Самый наглядный пример — классификация новостей по пяти рубрикам. Модель 0.4B не справляется с такой инструкцией в тексте вообще: 0% верных ответов в нужном формате. Состояние, обученное на 250 размеченных статьях, даёт 84–89%. На модели 1.5B состояние, дистиллированное из промпта, доходит до 65–77% при 20–30% у самого промпта.

По сравнению с LoRA состояние не хуже на тех же данных, при этом параметров вдвое меньше (3,2 млн против 6,3 млн), а веса остаются нетронутыми. Состояние можно переключать на лету. Но LoRA устойчивее к наводящим вопросам вроде «Ты ведь Claude?».

Где это ломается

Состояние учит форму ответа, а не знания. Если обучать на всех ответах учителя, оно копирует и его ошибки: качество ответов на факты падает. Поэтому данные нужно фильтровать и оставлять в них верные факты. Ещё одно условие: без отсечения градиента (по значению 1.0) обучение детерминированно срывается около 13-го шага.

Слабые места те же, что у промптов: наводящие вопросы и длинные диалоги. Помогает явное обучение на написанных вручную отказах. Доля чужой личности в ответах упала до 2% на 0.4B и до 36% на 1.5B.

Есть и оговорки по методике. Один автор, одна машина, один фреймворк. Верность ответов оценивалась регэкспами, ручная сверка нашла 4,3% расхождений. Проверены только модели 0.4B–2.9B одного семейства, про 7B и выше ничего не известно. Вред промпта относится к этим конкретным промптам и чекпоинтам, а не к системным промптам вообще.

Что с этим делать

Если у вас RWKV и промпт не меняется, сворачивайте его: это бесплатно и даёт ускорение старта. Обучайте состояние, когда промпт работает плохо: модель малая, окно короче промпта, роль должна держаться, инструкцию из текста модель игнорирует. Учите на отфильтрованных ответах учителя и проверяйте общие способности, а не только целевое поведение. Сравнивайте с LoRA на тех же данных.

Код, данные и сырые ответы лежат в открытом репозитории под Apache 2.0, так что результаты можно перепроверить на своём ноутбуке.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: что такое начальное состояние?

Трансформер хранит весь прочитанный текст в кэше, который растёт вместе с диалогом. RWKV устроена иначе: прочитав текст, она сжимает всё запомненное в «память» фиксированного размера, то есть в состояние. Перед началом работы оно пустое. Но его можно взять и непустым. Путей два. Первый: один раз прочитать промпт и сохранить получившееся состояние (автор называет это «свернуть» промпт). Второй: подобрать состояние обучением, не трогая веса модели. В обоих случаях текст промпта в запросе больше не нужен.

Что известно по теме: что показали замеры?

Свёрнутый промпт работает как бесплатный точный кэш. Ответы совпадают с ответами на текстовый промпт, а при промпте в 1206 токенов время до первого токена в 12–13 раз меньше. С короткой строкой в 26 токенов выигрыш около 20%. Дальше интереснее. На 199 вопросах с проверяемым ответом промпт в строке снижал точность на 3–15 пунктов на всех восьми проверенных базах. Обученное состояние ни разу не оказалось значимо хуже модели без промпта и всегда было лучше промпта.

Что известно по теме: где это ломается?

Состояние учит форму ответа, а не знания. Если обучать на всех ответах учителя, оно копирует и его ошибки: качество ответов на факты падает. Поэтому данные нужно фильтровать и оставлять в них верные факты. Ещё одно условие: без отсечения градиента (по значению 1.0) обучение детерминированно срывается около 13-го шага. Слабые места те же, что у промптов: наводящие вопросы и длинные диалоги. Помогает явное обучение на написанных вручную отказах. Доля чужой личности в ответах упала до 2% на 0.4B и до 36% на 1.5B.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Единое AI-пространство · Nomad

Протестируйте новые LLM и мультимодальные модели в одном окне

Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.

Открыть Nomad AI →Автономный Nomad Agent
Что вы думаете?
Загружаем комментарии…