PrismML выпустила Ternary Bonsai 2 27B: модель Apache 2.0 размером 5,9 ГБ сохраняет 98,2% производительности Qwen3.8 27B
PrismML выпустила Ternary Bonsai 2 27B — версию Qwen3.8 27B с тернарными весами. Языковая модель занимает 5,93 ГБ против 53,80 ГБ в FP16. PrismML сообщает, что она сохраняет 98,2% среднего результата исходной модели по 20 тестам. Модель принимает текст и изображения и поддерживает контекст размером 262 тыс. токенов. PrismML демонстрирует её работу с агентами программирования Cline и компьютерным управлением на RTX 5090. Релиз состоялся через 2 месяца после выхода первой Bonsai 27B, тернарная версия которой сохраняла около 95% качества.
Можно ли её развернуть? Да. Лицензированные по Apache 2.0 веса уже сегодня работают на ноутбуке с 16 ГБ памяти или одной видеокарте с 24 ГБ. Вам понадобится форк llama.cpp от PrismML или среда выполнения MLX.
Что такое Ternary Bonsai 2 27B?
Архитектура модели полностью совпадает с архитектурой Qwen3.8 27B. Она содержит 27,36 млрд параметров. Из них 24,35 млрд приходятся на языковую основу, 2,54 млрд — на эмбеддинги и голову языковой модели, а 0,47 млрд — на блок обработки изображений. В основе используется гибридное внимание: около 75% слоёв работают с линейным вниманием, а 25% — с полным вниманием.
Тернарные веса используются в эмбеддингах, проекциях внимания, проекциях MLP и голове языковой модели. Только 26,2 млн параметров, или 0,0976%, сохраняются в более высокой точности. Это рекуррентный путь состояния и веса нормализации. В формате GGUF блок обработки изображений поставляется отдельно в виде файла размером 0,63 ГБ и загружается только при вводе изображений.
Как работает тернарный формат?
Каждый вес принимает одно из 3 значений: -1, 0 или +1. Каждая группа из 128 весов использует общий масштабный коэффициент FP16. На одно тернарное значение приходится log2(3), то есть около 1,585 бита. Добавление 16 бит масштаба на каждые 128 весов даёт 1,71 бита на вес. С учётом тензоров высокой точности размер модели достигает 1,72 бита на вес.
Для реальных ядер требуется упакованная структура, поэтому в техническом документе описаны 2 варианта упаковки GGUF. PTQ1_0 плотно упаковывает триты, обеспечивая 1,76 бита на вес и размер 5,93 ГБ. PQ2_0 хранит каждый трит в 2-битном слоте, занимая 7,25 ГБ, зато распаковывается быстрее.
Веса также хранятся в повёрнутом базисе. Перед присвоением тернарных значений PrismML применяет блочное преобразование Адамара с размером блока 1 024. Среда выполнения применяет соответствующее преобразование к активациям перед каждым умножением. В техническом документе для этой идеи цитируется работа SpinQuant. PrismML не раскрывает, как именно присваиваются тернарные значения.
Как она сравнивается с Qwen3.8 27B?
PrismML оценивала все модели в режиме рассуждений с помощью EvalScope и vLLM на графических процессорах H100.
| Возможность | Qwen3.6 27B | Qwen3.8 27B | Ternary Bonsai 2 27B | Сохранение |
|---|---|---|---|---|
| Знания и рассуждения | 84.71 | 86.66 | 83.95 | 96.9% |
| Математика | 94.64 | 97.06 | 96.57 | 99.5% |
| Программирование | 82.57 | 82.17 | 81.58 | 99.3% |
| Агентная работа и вызов инструментов | 80.05 | 79.74 | 77.57 | 97.3% |
| Следование инструкциям | 74.53 | 81.25 | 82.66 | 101.7% |
| Зрение | 79.82 | 81.64 | 78.59 | 96.3% |
| Итог (20) | 83.6 | 85.4 | 83.9 | 98.2% |
Сравнение с обычным квантованием даёт более показательный результат. Сборка Qwen3.8 27B в формате IQ2_XXS показывает средний результат 75,2 при размере 7,3 ГБ. В AIME26 она набирает 78,6 балла, тогда как Bonsai 2 — 95,83. На LiveCodeBench v6 разрыв составляет 70,05 против 90,07.
В каких аспектах качество всё ещё снижается?
Показатель 98,2% является средним, а потери распределены неравномерно. В задачах на зрение сохраняется 96,3% качества, а в задачах на знания и рассуждения — 96,9%.
В долгосрочной агентной работе падение ещё заметнее. Bonsai 2 набирает 52,8 балла в Terminal-Bench 2.1 против 69,7 у Qwen3.8 27B. В SWE-bench Verified она получает 60,8 против 80,6. Это около 75% сохранения качества, причём оба теста не входят в среднее по 20 тестам.
Важен и уровень усилий на рассуждения. При среднем уровне усилий модель показывает в среднем 79,3 против 82,6 у базовой версии FP16. Низкий уровень усилий не поддерживается. Все результаты получены самой PrismML и не были независимо воспроизведены.
Насколько быстро она работает на реальном оборудовании?
Показатели приведены для декодирования с размером пакета 1 на пользовательских ядрах PrismML; измерения проведены 16 сентября 2026 года. RTX 5090 достигает 142,5 токена в секунду при 0,582 мВт·ч на токен. RTX 4090 достигает 96,7 с PTQ1_0, а L4 мощностью 72 Вт — 32,1. На ноутбуках Apple M5 Max достигает 46,8, а M5 Pro — 27,7.
Ни один из вариантов упаковки не оказывается лучшим во всех случаях. PTQ1_0 работает быстрее на картах поколения Ada и на L4. PQ2_0 быстрее на Blackwell, Hopper, Ampere и кремнии Apple, а также при обработке промптов на всех платформах.
Исследовательская команда PrismML также заявляет о на 40% более высокой энергоэффективности по сравнению с полноточной моделью на 8 млрд параметров.
Как её запустить?
Файлам GGUF требуется форк llama.cpp от PrismML. Стандартный llama.cpp отклоняет типы PTQ1_0 и PQ2_0. Репозиторий Bonsai-demo является рекомендованным вариантом. Выполните ./setup.sh, затем ./scripts/start_llama_server.sh, чтобы запустить чат, работу с изображениями и инструментами на localhost:8080.
Пользователи Mac могут выбрать сборку MLX, для которой требуется входящий в комплект загрузчик. Демонстрация WebGPU запускает модель непосредственно в браузере.
Основные выводы
- Языковая модель размером 5,93 ГБ — примерно в 9,1 раза меньше базовой версии FP16 размером 53,80 ГБ.
- Средний результат по 20 тестам составляет 83,9 против 85,4 у Qwen3.8 27B в FP16.
- 142,5 токена в секунду на RTX 5090 и 46,8 на M5 Max.
- В долгосрочных агентных тестах сохраняется лишь около 75% результатов полноточных моделей.
- Стандартный llama.cpp не может загрузить эти файлы. Требуется форк PrismML.
Ознакомьтесь с техническим документом, весами модели, репозиторием GitHub, документацией, демонстрацией WebGPU и объявлением в X. Вся заслуга принадлежит исследователю этого проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту по машинному обучению с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь вы также можете присоединиться к нам в Telegram.
Хотите сотрудничать с нами для продвижения своего репозитория GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.