SYNAPSE
EN
Разборы

RISC-V внутри весов Qwen 3.5: как Gated DeltaNet стала процессору оперативной памятью

29 октября 2026 года на Хабре вышел перевод разбора Qwenputer: в веса Qwen 3.5 4B скомпилирован 32-битный RISC-V, а его ОЗУ служат слои Gated DeltaNet. Разбираем механику, проверки и границы эксперимента.

RISC-V внутри весов Qwen 3.5: как Gated DeltaNet стала процессору оперативной памятью

29 октября 2026 года на Хабре появился перевод статьи Divyansh Agrawal про Qwenputer. Это Qwen 3.5 4B, в веса которой скомпилирован 32-битный процессор RISC-V, а оперативной памятью ему служат слои внимания самой модели. Ниже — что именно собрано, почему слои внимания сработали как память и чем это проверяли.

Что лежит в весах

Qwenputer — обычная Qwen 3.5 4B плюс один объект внутри весов: 32-битный процессор RISC-V. RISC-V (открытая система команд, спецификация ядра доступна всем) в варианте RV32IM: 32-битные регистры, базовый целочисленный набор и расширение M — умножение и деление. Это не кремний: логика скомпилирована в веса.

Процессор занимает 11 слоёв перед 32 слоями Qwen. Дальше идут штатные слои модели. Вычисления идут внутри прямых проходов (forward pass — обычный проход модели от входа к выходу, тот же, что при генерации текста). Внешней среды исполнения нет.

Автор отдельно оговаривает: это не плагин, не инструмент и не песочница. Разница практическая. Инструмент модель «вызывает»: формирует запрос, а исполняет его отдельная программа. Здесь исполнение происходит в тех же матрицах, что и обычный проход.

Пример, который помогает удержать разницу: когда модель считает что-то через вызов кода, между ней и ответом стоит чужой процесс. В Qwenputer между ними ничего не стоит — только веса.

Скачать модель можно с Hugging Face или ModelScope, код лежит на GitHub. Данных о размере файлов и требованиях к железу в источнике нет. Время чтения оригинала — 7 минут, охват на Хабре — 4.1K.

Почему слои Gated DeltaNet годятся на роль ОЗУ

В Qwen3-Next и Qwen 3.5 три из четырёх слоёв внимания используют Gated DeltaNet, сокращённо GDN, — линейную RNN (рекуррентная сеть, у которой стоимость обработки растёт линейно с длиной последовательности, а не квадратично). Каждая голова держит матрицу состояния, дельта-правило её обновляет.

Почему слои Gated DeltaNet годятся на роль ОЗУ

Наблюдение автора: если выставить гейт в 1, силу записи beta в 1 и кодировать ключи one-hot (вектор, где ровно одна компонента равна единице, остальные нули), поведение становится предсказуемым. Запись перезаписывает ровно одну строку состояния. Запрос, тоже one-hot, возвращает точное значение из этой строки.

Механика простая. Гейт — коэффициент, который решает, сколько старого состояния переживёт обновление; при единице затухания нет. Beta — сила записи: сколько от нового значения попадёт в состояние. One-hot-ключ превращает запись в адресацию: единица стоит на одной позиции, и обновляется только строка с этим номером.

Пример: ключ с единицей в позиции 5 пишет в строку 5. Запрос с единицей в позиции 5 читает строку 5. Соседние строки не затрагиваются, размытия нет.

Оговорка: это режим использования слоёв, а не заявление о том, что модель изначально проектировалась как память. Автор подбирает параметры под свою задачу — гейт и beta здесь ручки, а не свойства архитектуры.

Чем проверяли, что это процессор

Проверка — официальные riscv-tests, набор тестов на соответствие спецификации RISC-V. Формулировка «проходит riscv-tests» в источнике есть. Сколько именно тестов и с каким результатом — данных нет.

Дальше — исполнение кода. Модель выполняет программы на C и на MicroPython (урезанная реализация Python для микроконтроллеров) внутри прямых проходов, без внешних инструментов. Интерпретатор тоже проходит через веса.

Чем проверяли, что это процессор

Пример: чтобы выполнить цикл на C, модели не нужен компилятор рядом. Нужен только её собственный прямой проход.

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

Что рядом и чего в тексте нет

Автор прикрутил к Qwenputer экспериментальное файловое хранилище прямо внутри модели. Как оно устроено — в приведённом фрагменте не описано, данных нет.

Ещё два текста автора: про то, как гибридные модели могут научиться прятать рассуждения в состоянии RNN и обходить мониторинг цепочки рассуждений, и про то, как скомпилированные веса могут служить встроенными инструментами мониторинга, в работу которых модель сама не может вмешаться. Это соседние темы, не доказательства.

Из того, что процессор работает в весах, не следует, что модель стала быстрее или дешевле: замеров нет. Числа вроде «11 слоёв» и «4B» — описание конфигурации, а не оценка качества. Сравнения Qwenputer с обычной Qwen 3.5 по бенчмаркам в источнике тоже нет.

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

  • Читать как эксперимент о выразительности весов, а не как продукт. Практического применения в тексте не заявлено.
  • Смотреть на riscv-tests как на проверку соответствия спецификации, а не как на доказательство производительности.
  • Проверять самому: модель на Hugging Face и ModelScope, код на GitHub — источники доступны.
  • Вынести GDN в отдельную тему. Состояние как память, гейт и beta как ручки — это приём, который живёт отдельно от Qwenputer.
  • Держать в уме границы: о скорости, ёмкости и цене данных нет.
↗ Первоисточник: Habr