Автор форка llama.cpp (репозиторий cubetitled-ui/llama.cpp) выпустил третью часть эксперимента с рекуррентностью. Объект теста — Bonsai-27B, гибридная модель на архитектуре Delta-Net: часть слоёв линейная, часть — обычное полное внимание. Квантованная версия в формате Q1_0 занимает около 3,5 ГБ, поэтому модель целиком уходит на видеокарту с 6 ГБ VRAM: в статье используется RTX 3050 Mobile с параметром -ngl 99.
Суть модификации в рекуррентном цикле по attention-слоям: модель несколько раз проходит одни и те же слои и обновляет состояние. Управляется это переменными окружения: RECURRENT_D задаёт глубину от 0 до 24, RECURRENT_LAYERS_COUNT — число зацикливаемых слоёв, RECURRENT_KV — момент записи кеша. Для Bonsai достаточно одной команды llama-cli с флагами -fa on и -t 12.
| Метрика | D=0 (базовый) | D=12 (рекуррентный) |
|---|---|---|
| Токенов сгенерировано | 7000 (лимит) | 6594 |
| Финальный ответ | НЕТ — зациклился | ДА — правильный |
| Причина остановки | length | stop |
| Время генерации | ~5,5 мин | ~5,5 мин |
| Скорость | 21,1 t/s | 19,8 t/s |
Главный результат — живой бенчмарк на криптарифме SEND + MORE = MONEY. С одинаковым сидом 42 и температурой 0,3 режим D=0 сгенерировал 7000 токенов, упёрся в лимит и не дал ответ: модель бесконечно «исправляла» свои уравнения. Рекуррентный D=12 завершил рассуждение сам: нашёл S=9, E=5, N=6, D=7, M=1, O=0, R=8, Y=2 и проверил сложение в столбик. Цена такого качества — около 6% скорости: 19,8 против 21,1 токен/с. На простых задачах разницы автор не заметил, то есть рекуррентность нужна там, где модель должна думать долго и связно.
На криптарифме SEND + MORE = MONEY базовый режим D=0 упёрся в лимит 7000 токенов без ответа, а D=12 завершил решение за 6594 токена.

