Запись архива

Bonsai 2 27B: как запустить 27-миллиардную модель в 6 ГБ с помощью троичной квантизации Prism ML

Модель Bonsai 2 27B от Prism ML использует троичную квантизацию (PTQ1.0) для сжатия в 9 раз при почти без потерь качества. Релиз сопровождается форком llama.cpp и GGUF-весами. Разбираем, как запустить модель локально и что даёт такой подход.

Схема троичной квантизации модели Bonsai 2 27B от Prism ML
Схема троичной квантизации модели Bonsai 2 27B от Prism ML
out of time | by haylee — | openverse | by

Компания Prism ML представила Bonsai 2 27B — модель на 27 миллиардов параметров, использующую троичную квантизацию (Ternary PTQ1.0). Заявлено, что сжатие в 9 раз (с 54 ГБ до 6 ГБ) достигается с «почти без потерь» качеством. Релиз сопровождается форком llama.cpp и готовыми GGUF-весами на Hugging Face.

Что такое Bonsai 2 27B и как работает троичная квантизация

Bonsai 2 27B — это не новая архитектура, а применение метода троичной квантизации к существующей модели. В отличие от стандартных методов (FP16, INT8, INT4), где веса представляются числами с плавающей точкой или целыми числами, Ternary PTQ1.0 кодирует каждый вес одним из трёх значений: -1, 0 или +1. Это позволяет хранить каждый вес в 1.58 бита (по некоторым оценкам), что даёт радикальное сжатие.

Prism ML утверждает, что модель сохраняет качество, близкое к оригиналу, в стандартных бенчмарках. Однако независимые тесты пока отсутствуют. Ключевое преимущество — возможность запуска 27B-модели на устройствах с 6–8 ГБ ОЗУ, что ранее было доступно только для моделей в 7–8B.

Релиз и компоненты: GGUF, форк llama.cpp и инструкция

Релизный пакет включает:

  • GGUF-веса на Hugging Face: `Ternary-Bonsai-2-27B-PTQ1_0.gguf` (~5.95 ГБ).
  • Форк llama.cpp от Prism ML для поддержки троичной квантизации. Важно: стандартный llama.cpp несовместим с этими весами.
  • Инструкция по запуску от Simon Willison, которая включает загрузку рантайма, модели и запуск сервера.

Пример запуска на macOS (ARM64):

cd /tmp

Скачать рантайм Prism
curl -fL https://github.com/PrismML-Eng/llama.cpp/releases/download/prism-b10685-7dffb15/llama-prism-b10685-7dffb15-bin-macos-arm64.tar.gz -o bonsai-runtime.tar.gz
tar -xzf bonsai-runtime.tar.gz

Скачать GGUF-модель
curl -fL https://huggingface.co/prism-ml/Ternary-Bonsai-2-27B-gguf/resolve/main/Ternary-Bonsai-2-27B-PTQ1_0.gguf -o Ternary-Bonsai-2-27B-PTQ1_0.gguf

Запустить сервер
./llama-prism-b10685-7dffb15/llama-server \
-m Ternary-Bonsai-2-27B-PTQ1_0.gguf \
—port 8331 -ngl 99 -fa on -c 32768

После запуска сервер доступен по адресу `http://localhost:8331` со встроенным веб-интерфейсом. Также можно использовать API:

uvx llm openai endpoint http://127.0.0.1:8331/v1 \
—model bonsai-2-27b —responses hi

Производительность и ограничения: что показал тест Simon Willison

Simon Willison протестировал модель на MacBook Pro с чипом M5 Pro. Результаты:

  • Скорость инференса: ~20 токенов/сек (после перезапуска сервера — 44 токена/сек, причина неясна).
  • Проблема с Metal: при запуске сервер выдал предупреждение: `ggml_metal_device_init: — the tensor API is not supported in this environment — disabling`. Это указывает на то, что ускорение Metal (GPU) не активировано, и модель работает только на CPU. Вероятно, это связано с несовместимостью форка с API Metal на данной версии macOS или чипе.

Таким образом, заявленная производительность может быть ниже ожидаемой. Для пользователей macOS с чипами Apple Silicon (M-серии) это ограничение может снизить практическую ценность, пока Prism ML не выпустит обновление.

Что это значит для разработчиков и энтузиастов

Bonsai 2 27B — это значимый шаг в направлении сжатия моделей. Если троичная квантизация действительно обеспечивает «почти без потерь» качество, это может изменить требования к железу для запуска больших моделей. Однако:

  • Необходим форк llama.cpp. Стандартные инструменты не работают, что создаёт дополнительный порог входа.
  • Проблемы с Metal. На момент релиза GPU-ускорение на macOS не работает. Это может быть временным ограничением или ошибкой сборки.
  • Отсутствие независимых бенчмарков. Заявления о качестве требуют проверки. Пока нет опубликованных результатов на стандартных наборах данных (MMLU, HumanEval, GSM8K и т.д.).

Для тех, кто хочет протестировать модель, рекомендуется:

Использовать Linux или Windows с CUDA-совместимым GPU для максимальной производительности.
2. Следить за обновлениями форка llama.cpp от Prism ML — возможно, поддержка Metal будет добавлена.
3. Сравнить результаты с оригинальной 27B-моделью в FP16 или INT4, чтобы оценить реальное качество.

Источники и дальнейшие шаги

  • GGUF-веса на Hugging Face: `prism-ml/Ternary-Bonsai-2-27B-gguf`
  • Форк llama.cpp: `github.com/PrismML-Eng/llama.cpp/releases/tag/prism-b10685-7dffb15`
  • Оригинальный пост Simon Willison (с комментариями и инструкцией)

На данный момент Bonsai 2 27B — это экспериментальный, но многообещающий проект. Рекомендуем следить за репозиторием Prism ML и независимыми тестами, прежде чем использовать модель в production.

Источники