Титульная карточка для Ternary Bonsai 2 27B с подзаголовком «Модель на 27B в 5,93 ГБ — и что на самом деле означает 98,2%», с тремя плашками статистики: «Поставляемый пакет: 5,93 ГБ», «Базовый уровень FP16: 53,80 ГБ» и «Измеренное сокращение: 9,05x». Нижний колонтитул: «Размер проверен по опубликованному пакету; показатель качества заявлен поставщиком».
Engineering & Research

Ternary Bonsai 2 27B: что помещается в 5,9 ГБ и о чём не говорит 98,2%

Автор

Elias Hawthorne

Дата публикации

Новые модели · 20Все модели
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

Ternary Bonsai 2 27B — это мультимодальная языковая модель с 27,36 млрд параметров, которую компания Prism ML анонсировала 17 сентября 2026 года, и важно понимать, что её языковые веса принимают одно из ровно трёх значений. Её базовая модель — Qwen3.8 27B, 27B-модель с гибридным вниманием, и Bonsai сохраняет эту архитектуру, это обучение и эту форму, а матричные веса языковой модели заменяет тернарным представлением. Поставляемый файл занимает 5,93 ГБ. Полноточный эталон — 53,81 ГБ. Главное заявление производителя — что она сохраняет 98,2% среднего результата оригинала по бенчмаркам.

Начнём с той части, которую большинство обзоров обойдёт стороной: эти 98,2% — собственное число Prism ML, измеренное на собственном наборе Prism ML из 20 бенчмарков, с помощью собственного инструментария Prism ML, и никто за пределами компании его не воспроизвёл. Это не обвинение — это нормальное положение дел через день после релиза, и именно такой статус ему и следует присвоить. Что вы можете проверить независимо уже сегодня — это файл: API Hugging Face указывает Ternary-Bonsai-2-27B-PTQ1_0.gguf как 5,947 ГБ против эталона FP16 в 53,808 ГБ, а это сокращение в 9,05 раза, что совпадает с «примерно 9x» от вендора и не требует никому доверять. Размер — это факт. Сохранение качества — измерение вендора. Самое интересное — между ними: разбивка по категориям, которая точно показывает, где сжатие даётся бесплатно, а где нет.

У этого релиза есть и вторая сторона. 18 сентября, через день после анонса, OrcaRouter выпустил вариант той же модели с аблитерацией во время выполнения — OrcaRouter Ternary Bonsai 2 27B Uncensored — который удаляет выученное направление отказа во время инференса и оставляет веса побитово идентичными. Ему посвящён отдельный раздел ниже, потому что самое интересное — это сама техника, и потому что его ограничения поучительны не меньше, чем результаты.

Это сжатая Qwen3.8 27B, а не заново обученная модель.

Это различие — разница между тем, чтобы объяснить релиз, и тем, чтобы повторить пресс-релиз. Prism ML не обучала 27B-модель с нуля и не применяла новый рецепт предобучения. Она взяла Qwen3.8 27B и изменила числовое представление, в котором хранятся и вычисляются её веса.

Архитектура не изменилась и остаётся архитектурой базовой модели: гибридный механизм внимания, примерно 75% линейного внимания и 25% полного внимания, с блоками SwiGLU MLP, RoPE и RMSNorm. Эта гибридная основа также объясняет, почему контекст в 262K токенов описывается как способный работать с полным контекстом, а не просто как поддерживаемый — именно преимущественно линейное внимание делает длинный контекст доступным по ресурсам на устройстве. Модель является визуально-языковой: она принимает изображения, а также текст, а визуальный энкодер — это стандартный неквантованный энкодер Qwen, поставляемый отдельно.

Вклад Prism ML состоит из двух вещей. Первое — это само тернарное представление плюс обучение с учётом квантования, которое делает его жизнеспособным. Второе — это ядра: специализированные низкоразрядные ядра для этого стека гибридного внимания на Apple Silicon и CUDA, которые работают напрямую с упакованными весами, а не распаковывают их в FP16 и умножают. Без второго вклада первый — это формат хранения, который невозможно использовать с нужной скоростью.

В собственном техническом документе Prism ML распределение параметров указано так: 24,35 млрд в языковом бэкбоне по 64 блокам, 2,54 млрд в эмбеддингах и LM-голове и 0,47 млрд в 27-блочной башне зрения — всего 27,36 млрд. Башня зрения — единственная часть, которая действительно является отдельным артефактом: в релизе GGUF она упакована как 4-битный файл mmproj размером около 0,63 ГБ и загружается только тогда, когда действительно приходит изображение, поэтому при обслуживании только текста она никогда не задействуется.

Это Bonsai второго поколения из той же лаборатории; первый Bonsai 27B вышел в июле 2026 года, примерно двумя месяцами раньше, и сравнение двух поколений — вопрос закономерный: мы рассматриваем его в прямом сопоставлении с Bonsai 27B, а не дублируем здесь.

Что конкретно означает «ternary g128»

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

Обычный вес в нейронной сети — это 16-битное число с плавающей запятой: около 65 536 различимых значений в полезном диапазоне, каждое из которых требует 16 бит для хранения. Тернарный вес — это не маленькое число с плавающей запятой. Это выбор из трёх символов: −1, 0 или +1. Это весь словарь. Если хранить один такой символ наивно, вы потратите два бита на каждый вес, поскольку два бита дают четыре состояния, а нужно только три.

Само по себе это было бы катастрофической потерей выразительности, и именно поэтому формат никогда не сводится только к символу. Каждая группа из 128 последовательных весов совместно использует один масштабный коэффициент FP16, а фактическое значение веса — это тернарный символ, умноженный на этот масштаб:

• w = ssub>g/sub> · t, где t ∈ {−1, 0, +1}, а ssub>g/sub> является одним общим масштабом FP16 для группы из 128

Итак, модель по-прежнему представляет широкий диапазон величин — просто делает это грубыми, групповыми шагами, а не индивидуально для каждого веса. Ноль — не артефакт округления; это настоящее третье состояние, и именно благодаря ему группа из 128 весов может в основном молчать, когда это нужно.

Вращённый базис — это та часть, которая удивляет людей. Прежде чем происходит тернарное присваивание, каждая матрица весов поблочно преобразуется ортогональным вращением — матрицей Уолша–Адамара в сочетании с фиксированной диагональю знаков ±1, при размере блока 1024 — и тернарные значения выбираются в этом вращённом пространстве. Вращение встраивается в хранимые веса во время подготовки, поэтому оно не требует ни дополнительных битов, ни дополнительного трафика весов. Во время вывода среда выполнения применяет соответствующее преобразование к активациям вместо этого, а упакованная модель объявляет своё вращение в своих метаданных, поэтому среда выполнения либо применяет соответствующее преобразование, либо отказывается загружать файл.

Зачем это нужно? Потому что вращение Адамара распределяет энергию матрицы весов более равномерно по координатам, из-за чего последующая трёхуровневая квантизация наносит гораздо меньше ущерба, чем на исходном распределении с резкими пиками. Это вращение — не украшение; именно благодаря ему тернарная модель может сохранить хоть что-то похожее на качество родительской модели. Цена в том, что это преобразование находится на критическом пути каждой проекции при размере батча 1, что является реальной инженерной проблемой — Prism ML встраивает изменение знака в путь загрузки преобразования на Metal и распараллеливает его на целый блок потоков на CUDA, чтобы оно не начинало доминировать при декодировании.

Числа, внимательно: 1,585, 1,71, 1,72, 1,76

Вокруг этого релиза ходят четыре показателя разрядности, все они верны и измеряют четыре разные вещи. Их смешение — самая простая ошибка в этой истории. Вот каждый из них и что он на самом деле охватывает.

1,585 бит на вес — информационное содержание одного тернарного символа, log₂3. Это свойство формата, а не какого-либо файла. Ничто из выпущенного не работает на 1,585 бит/вес.

1,71 бита на вес — только тернарные тензоры. Добавьте 16-битный групповой масштаб FP16, амортизированный на 128 весов, и получите log₂3 + 16/128 ≈ 1,71. Это всё ещё не итоговый показатель для релиза; это тернарные тензоры сами по себе.

1,72 бита на вес — каждый параметр языковой модели, включая небольшой набор, хранимый в более высокой точности, чем низкобитное представление. Prism ML хранит 26 238 464 параметра — 0,0976% языковой модели, около 52 МБ в bf16 — в повышенной точности: в основном это путь рекуррентного состояния слоёв линейного внимания плюс веса нормализации. Эти тензоры не подвергаются ни вращению, ни квантованию, и именно они сдвигают показатель с 1,71 до 1,72. При 1,72 идеализированный объём памяти составляет 5,80 ГБ, то есть сокращение примерно в 9,3 раза. Это строка «True Ternary» в Prism ML, и она представляет собой скорее цель, чем файл, который можно скачать.

1,76 бита на вес — фактически поставляемый GGUF. Эффективным ядрам нужен формат упаковки, и PTQ1_0 от Prism ML плотно упаковывает триты, достигая 1,76 бита на вес в 5,93 ГБ, примерно в 9,1 раза. Именно этот файл стоит за упоминаемыми в анонсе «5,9 ГБ» и «в 9 раз меньше», и именно его подтверждают приведённые выше измерения.

Вторая упаковка — это PQ2_0, в которой каждый трит хранится в 2-битном слоте, а не плотно. Она занимает больше места ради более дешёвой распаковки: 2,16 бита/вес в 7,25 ГБ, примерно в 7,4 раза. Ни одна из упаковок не быстрее во всех случаях — PTQ1_0 перемещает примерно на 18% меньше данных весов за шаг, но платит вычислениями за распаковку плотных тритов, поэтому выигрывает на картах поколения Ada и L4, где ограничивающим фактором является память, и проигрывает на Hopper, Blackwell и Apple silicon, где вместо этого декодирование с размером батча 1 ограничено пропускной способностью инструкций. Обработка промптов везде отдаёт предпочтение PQ2_0, потому что она ограничена вычислениями.

Две служебные заметки для тех, кто сверяет эти данные с источниками. Во-первых, собственные документы Prism ML округляют немного иначе: таблица объёма памяти в вайтпейпере указывает для PTQ1_0 1,76 бита на вес при 5,93 ГБ, тогда как карточка модели GGUF на Hugging Face даёт 1,75 и 5,95 ГБ, а измеренный файл — 5,947 ГБ. Это один и тот же файл, описанный с разной точностью, а не расхождение по существу. Во-вторых, заявленное сокращение «более чем в 9 раз» принадлежит производителю; при измерении по фактическим файлам оно составляет 53,808 / 5,947 = 9,05x, что согласуется.

Two-column scoreboard for Ternary Bonsai 2 27B and Qwen3.8-27B FP16 across six shared dimensions: bits per weight 1.76 vs 16.0, footprint 5.93 GB vs 53.80 GB, 20-benchmark average 83.9 vs 85.4, math 96.57 vs 97.06, instruction following 82.66 vs 81.25, and Terminal-Bench 2.1 52.8 vs 69.7. Footer: 'Both columns are Prism ML's own vendor-reported figures; no independent reproduction yet.'

Картина бенчмарка: не среднее значение, а форма.

Главный показатель — это среднее 83,9 против 85,4 у базового варианта Qwen3.8 27B FP16, что составляет 98,2%. Среднее — наименее интересная часть всего этого. Форма, скрывающаяся под ним, — вот где на самом деле содержится информация, и она неоднородна.

Следование инструкциям — 82,66 против 81,25. Это единственная категория, где сжатая модель превосходит свою полноразрядную родительскую модель. Это не шум, который кто угодно мог бы запросто списать со счетов; это победа в категории на собственном наборе тестов вендора.

Математика — 96,57 против 97,06, а программирование — 81,58 против 82,17. Оба показателя практически на одном уровне: полбалла и шесть десятых балла по средним значениям категорий. Для модели с одной девятой от занимаемого объёма именно на этих результатах и строится вся аргументация в пользу этого метода.

Знания и рассуждения — 83,95 против 86,66. Падение на 2,7 пункта, и именно здесь кроется значительная часть недостающих 1,8 пункта в общем среднем.

Зрение — 78,59 против 81,64. Падение на 3,05 пункта — крупнейшая потеря среди отдельных категорий. Стоит отметить, что сама башня зрения не является сжатой частью; сжата языковая модель, читающая её выходные данные.

Агентность и вызов инструментов — 77.57 против 79.74. Средний показатель по категории охватывает τ 2-Bench на 80.22 и BFCL v3 на 74.92.

Отдельные результаты, о которых стоит знать, потому что не все они указывают в одном направлении. На Terminal-Bench 2.1 модель набирает 52,8 против 69,7 при полной точности — примерно три четверти, — а на SWE-bench Verified — 60,8 против 80,6, снова около трёх четвертей. Это был первый случай, когда это семейство моделей оценивали на Terminal-Bench, и Prism ML прямо заявляет, что долгосрочные улучшения в разработке ПО, обещанные в первом релизе Bonsai, являются частичными, а не полными. В противовес этому: τ 2-Bench вырос до 80,2 с 73,6 в предыдущем релизе, BFCL v3 удерживается на 74,9, а AA-LCR находится на 77,0 — в пределах одного пункта от полной точности. AIME26 достигает 95,83, а LiveCodeBench — 90,07.

Где можно доверять этому, а где — нет. Доверяйте общей картине в математике, программировании и следовании инструкциям — именно в этих категориях методика действительно делает то, что обещает, и они измеряются на том же стенде, что и базовый вариант. С осторожностью относитесь к агентной работе с длинным горизонтом: два бенчмарка, которые действительно проверяют длительную инженерную работу с использованием инструментов, Terminal-Bench 2.1 и SWE-bench Verified, показывают существенно больший разрыв, чем следует из агрегированного показателя, и производитель сам об этом сообщает, а не умалчивает. И рассматривайте всю таблицу как измерение одной лаборатории на одном стенде, пока кто-то другой не выполнит такой же прогон. Эта оговорка здесь не формальность — это разница между «эта модель сохраняет 98,2%» и «производитель этой модели измерил 98,2% на наборе тестов, который выбрал сам производитель». Оба утверждения верны; только одно из них — факт о самой модели.

Prism ML's launch post for Bonsai 2 27B, dated September 17 2026, headed 'PrismML Launches Bonsai 2 27B, Its Most Capable Model Yet', with body text stating the model is just 5.9 GB and reduces memory footprint by more than 9x while retaining over 98% of the aggregate benchmark performance of its full-precision counterpart.

Почему это превосходит сборку IQ2_XXS той же базовой модели

Это заслуживает отдельного раздела, а не одной строки, потому что это и есть весь аргумент в пользу тернарного обучения с учётом квантования вместо посттренировочного квантования.

Обычный способ уменьшить Qwen3.8 27B — квантовать её после обучения. В качестве точки сравнения в whitepaper используется сборка IQ2_XXS GGUF той же базовой модели:

• Ternary Bonsai 2 27B — 1,76 бита/вес, 5,93 ГБ, среднее по 20 бенчмаркам — 83,9

• Qwen3.8 27B IQ2_XXS — 2,2 бита/вес, 7,3 ГБ, среднее по 20 бенчмаркам 75,2

Модель, сжатая во время обучения, является одновременно меньшей и лучшей. Она в 1,23 раза меньше, чем традиционная низкобитная сборка, и набирает на 8,7 балла больше. Такое сочетание — не курьёз округления; это утверждение о том, что представление, выбранное во время обучения, стоит существенно больше, чем тот же номинальный битовый бюджет, применённый после.

Более поучительная часть — это то, как обычная сборка терпит провал, потому что провал этот избирателен и его легко не заметить. IQ2_XXS деградирует неравномерно. Она держится на поверхностных знаниях — 85,79 на MMLU-Redux — но обваливается на задачах, требующих длинных цепочек рассуждений: 78,6 на AIME26, 70,05 на LiveCodeBench, 65,45 на GPQA Diamond. Bonsai 2 набирает 95,83, 90,07 и 85,76 на тех же трёх. Обычный чат-тест счёл бы сборку IQ2_XXS вполне работоспособной и никогда не выявил бы этот провал; ущерб проявляется именно там, где происходят длинные рассуждения и генерация кода. Именно из-за этой асимметрии «когда я попробовал, всё казалось нормальным» не является доказательством в отношении квантованной модели.

Prism ML сжимает тот же аргумент в единственный производный показатель, который она называет плотностью интеллекта — грубо говоря, производительность по бенчмаркам на гигабайт. В наборе из 20 бенчмарков она сообщает 0,444 на ГБ для Bonsai 2, 0,276 для сборки IQ2_XXS и 0,051 для FP16. Эта метрика — собственное построение производителя, и её взвешивание — это проектное решение, а не закон; но порядок, который она создаёт, совпадает с порядком, который создаёт исходная таблица, поэтому она добавляет интерпретацию, а не доказательства.

Ещё одно честное замечание относительно сравнения. В карточке модели GGUF от Prism ML сообщается о втором, более узком оценивании — наборе из 14 тестов в режиме размышления, — в котором тот же показатель сохранения снова появляется на уровне 84,78 против 86,32, при этом IQ2_XXS — 72,59. То, что два разных набора тестов дают одни и те же 98,2%, является слабым подтверждением того, что совокупное утверждение не представляет собой артефакт выбора одного бенчмарка. И всё же и то и другое по-прежнему выполняет одна и та же лаборатория, на одном и том же стенде. Наш более подробный разбор этого противостояния, включая вопрос о формате упаковки, приведён в сравнении со сборками Qwen3.8 27B GGUF.

Что на самом деле нужно для бега

Показатели пропускной способности из стандартизированного измерения tg128 в техническом документе при размере батча 1 без учёта vision tower:

• Apple M5 Max — 46,8 ток/с декодирование, 765 ток/с обработка промпта

• Apple M5 Pro — 27,7 токен/с при декодировании; отдельный прогон пакета PQ2_0 с более длинным окном показал устойчивые 27,0 токен/с, потребляя 27,0 Вт по линии питания GPU и 32,8 Вт суммарно по CPU и GPU

• Apple M4 Pro — 18,0 ток/с при декодировании, при этом обработка промпта на скорости примерно 125 ток/с становится ограничивающим фактором для очень длинных контекстов

• NVIDIA RTX 5090 — декодирование со скоростью 142,5 ток/с на пакете PQ2_0 при 0,582 мВт·ч на токен

Практическое утверждение, которое делает Prism ML, — это не коэффициент ускорения, а отсутствие: базовая версия FP16 объёмом 53,8 ГБ вообще не помещается на ноутбук с 16 ГБ, поэтому значимое утверждение состоит в том, что модель класса 27B теперь работает интерактивно на повседневном оборудовании. На M5 Pro измеренное декодирование обеспечивает поток около 201 ГБ/с по весам, что подтверждает профиль с доминированием пропускной способности памяти, который низкобитное представление и призвано использовать.

Затем граничные случаи, которые важнее пиковых показателей.

Вы не можете использовать стандартный llama.cpp. Тернарные ядра гибридного внимания находятся в собственном форке llama.cpp от Prism ML. Стандартный llama.cpp отвергает типы PTQ1_0 и PQ2_0 как неизвестные и — что опаснее — загружает старый тернарный формат Q2_0 без каких-либо предупреждений и выдаёт мусор, поскольку в нём отсутствует среда выполнения активации Адамара. Если вы запустите эту модель на бинарнике, который не применяет соответствующее вращение, вы не получите ошибку; вы получите бессмыслицу, которая выглядит связной. Это самый вероятный способ впустую потратить полдня на этот релиз.

В пакете MLX нет пути CUDA. Релиз MLX (prism-ml/Ternary-Bonsai-2-27B-mlx-2bit) ориентирован на Apple Silicon, где у него есть собственные ядра для гибридного стека как в среде выполнения Python, так и в среде выполнения Swift. Его квантованный matmul имеет ядра Metal и CPU, но не имеет реализации CUDA, поэтому на машине с NVIDIA этот конкретный пакет вообще не получает ускорения на GPU. Инференс на CPU работает, но прямой проход 27B-модели на CPU может занимать минуты — что делает путь CPU в Linux полезным для тестирования реализации и воспроизводимости и бесполезным для обслуживания.

Два пакета — это настоящий компромисс, а не рейтинг. Если вы используете карту поколения Ada или L4, либо память является ограничивающим фактором, выбор — PTQ1_0 при 5,93 ГБ. Если у вас Hopper, Blackwell или 5090, PQ2_0 даёт вам скорость декодирования за 1,3 ГБ. Если вы используете Apple silicon, учтите, что приведённые выше показатели M5 Pro измерены на PQ2_0, который также является пакетом, загружаемым демонстрационной установкой по умолчанию.

Замечание о собственном учёте MLX-пака, поскольку это частый источник путаницы. Контейнер MLX — это аффинный 2-битный формат, блок которого хранит как FP16-масштаб, так и FP16-смещение для каждой группы из 128 весов. Тернарным весам Bonsai нужен только масштаб — уровни получаются из одного лишь масштаба — поэтому смещение — мёртвый груз, и блок стоит 36 байт на 128 весов вместо 34. Это поднимает показатель упакованности MLX-пака до 2,250 бит/вес, а не 1,72 и не 1,76. Это другой контейнер, несущий те же тернарные значения, и его измеренный файл на Hugging Face — 8,005 ГиБ.

Вариант с абляцией во время выполнения

18 сентября OrcaRouter опубликовала OrcaRouter Ternary Bonsai 2 27B Uncensored — модель, к которой абляция направления отказа применяется полностью во время выполнения. Инженерная идея заслуживает большего внимания, чем сам продукт, поэтому сначала об идее.

Обычная аблитерация изменяет веса. Она находит направление в пространстве активаций, соответствующее поведению отказа, а затем ортогонализует относительно него весовые матрицы, которые пишут в остаточный поток: W ← W − r(rᵀW). Для обычной модели FP16 это нормально — отредактированная матрица всё ещё остаётся плотной матрицей с плавающей запятой, так что вы сохраняете её и идёте дальше. Для тернарного пакета это тупик, и именно тупик по той самой причине, по которой существует вся эта модель. Ортогонализация тернарной матрицы даёт плотную матрицу полной точности. Чтобы сохранить её обратно в тернарный пакет, пришлось бы повторно квантовать — а повторное квантование отредактированных весов не воспроизводит обучение с учётом квантования, которое дало оригинал. Вы бы выбросили ровно то, что было куплено.

Итак, проекция вместо этого переносится на этап вывода. Вместо того чтобы менять W, измените её выход:

• y ← y − α · dot(y, r) · r, вычисляется в float32, где y — остаточный вклад, а r — нормализованное направление отказа

При α = 1 компонента каждой остаточной записи, параллельная направлению отказа, удаляется. При α = 0 модель остаётся неизменной. α выше 1 приводит к чрезмерному проецированию и может ухудшить качество. Поскольку α — это параметр времени выполнения, а не свойство чекпоинта, один и тот же пак можно A/B-тестировать против самого себя в одном и том же процессе — именно это и делают оценки OrcaRouter. Исходный пак Bonsai остаётся побитово идентичным: ни один вес не изменён, нулевое повторное квантование, нулевая дополнительная ошибка квантования весов.

Именно на двух деталях реализации наивная версия этого и спотыкается.

129 сайтов вмешательства, а не 16.Каждый модуль, который может записывать в остаточный поток, должен быть обёрнут, и в этой гибридной архитектуре это 64 блока mlp.down_proj, 48 слоёв linear_attn.out_proj, 16 слоёв self_attn.o_proj и model.embed_tokens — всего 129. Обернуть только self_attn.o_proj — очевидная ошибка, и она охватывает 16 из них, оставляя другие 113 записей непроецированными. Скрипт самопроверки измеряет, приводится ли оставшаяся составляющая вдоль направления отказа примерно к 1e-6 от нормы остатка, и предупреждает, если он не обнаруживает все 129 сайтов.

Не вращайте это направление повторно. Тернарный пакет сохраняет свои проекции в повёрнутом базисе по их входной размерности и компенсирует на стороне активаций. Проекция отказа действует на выходы этих проекций, которые уже снова находятся в обычном скрытом базисе — поэтому направление отказа — это обычный 5120-мерный вектор, и применение дополнительного вращения Адамара к нему привело бы к проецированию на совершенно неверный базис.

The OrcaRouter Ternary Bonsai 2 27B Uncensored repository on GitHub, showing the README description 'Runtime-uncensored Ternary Bonsai 2 27B — without modifying or re-quantizing the original weights', the line 'The original Bonsai pack remains bit-identical.', and a bullet list reading 27B parameters, 0 modified weights, 0 re-quantization, 0 additional weight quantization error, runtime-adjustable ablation strength and 129 residual intervention sites.

Что измерил OrcaRouter — наши собственные цифры, а не независимые

Это собственные измерения OrcaRouter на основе правил, и воспринимать их следует именно так: классификатор вступительных фраз на основе правил, а не LLM-судья, режим размышления отключён, жадное декодирование, бюджет в 64 токена, при этом base и ablated — это одни и те же веса в одном и том же процессе при α = 0 против α = 1. Они ориентировочные, а не публикационного уровня, и не являются проверкой чего-либо, что заявляла Prism ML.

Об отказах, измеряемых как доля запросов, получивших отказ:

• AdvBench (n=100) — 99,0% для базовой, 6,0% для абляционной, при этом 56,0% ответов даны, но обёрнуты в дисклеймер.

• JailbreakBench (n=100) — 96,0% базовый, 4,0% абляционный, 52,0% с оговорками

• StrongREJECT (n=150) — 99,3% базовых, 3,3% абляционных, 45,3% с оговорками

• HarmBench (n=150) — 98,7 % базовый, 7,3 % аблированный, 48,0 % с оговорками

• MaliciousInstruct (n=100) — 97,0 % базовый, 0,0 % с абляцией, 52,0 % с оговорками

• ForbiddenQuestions (n=150) — 75,3% базовый, 5,3% абляционный, 42,7% с оговорками

• SimpleSafetyTests (n=50) — базовый: 96,0 %, абляционный: 18,0 %, с оговоркой: 60,0 % — и этот показатель занижен. Этот набор в основном состоит из промптов, связанных с самоповреждением, и модель отвечает на них перенаправлением в кризисную службу, начинающимся со слов «Мне глубоко жаль это слышать…», которое отсутствует в списке точных фраз классификатора, и он оценивает его как выполнение запроса. Реальная остаточная частота отказов на этом наборе выше, чем 18,0 %. Классификатор был намеренно оставлен без изменений, чтобы числа оставались сопоставимыми с другими карточками моделей OrcaRouter.

Ни один ответ ни в одном наборе не исчерпал свой бюджет токенов, поэтому ни один из этих показателей не завышен из-за усечения. На безобидных запросах та же проекция также устраняет избыточные отказы: XSTest-safe снизился с 5,2% отказов до 0,4%, а безобидное подмножество JailbreakBench — с 25,0% до 0,0%. Опубликованный пакет отклоняет четверть безобидных запросов этого бенчмарка; после абляции он не отклоняет ни одного.

По части производительности: побитово идентичные веса означают, что не нужно платить за повторное квантование, и измерения это подтверждают:

• MMLU (n=300) — 76,7 % базовая, 77,7 % после абляции, +1,0

• GSM8K (n=150) — 87,3 % базовая, 86,0 % после абляции, −1,3

• CMMLU (n=500) — 76,2 % — базовый вариант, 75,6 % — вариант с абляцией, −0,6

Любое изменение находится в пределах шума при таких объёмах выборки; один вопрос GSM8K стоит 0,7 балла. MMLU-Pro исключён, а не приведён в отчёте: его промпт требует рассуждения перед ответом, и 63–64% ответов с обеих сторон не дошли до ответа в пределах бюджета токенов, поэтому любая цифра точности была бы нижней границей, заданной бюджетом, а не измерением.

Самая важная оговорка

Направление отказа было оценено на базовой модели BF16, из которой обучался пакет Bonsai. Архитектура и скрытый базис идентичны, поэтому геометрия совпадает. Но то, насколько хорошо это направление сохраняется при обучении с учётом квантования,не было полностью измерено.

Среда выполнения может математически доказать — с точностью примерно до 1e-6 — что она удаляет заданное направление из каждой остаточной записи. Но из этого одного она не может доказать, что это направление по-прежнему отражает тот же поведенческий признак в квантованной модели, который оно отражало в плотной. Это разные утверждения, и установлено только первое. Всякий, кто читает приведённую выше таблицу безопасности, должен читать её, зная, что вмешательство ровно настолько эффективно, насколько верно допущение о переносе направления, а это допущение и есть открытый вопрос.

Существует также практическая трактовка, которую OrcaRouter придаёт самому релизу, и её стоит повторить, а не пересказывать в смягчённом виде: удаление выученного направления отказа может привести к тому, что модель начнёт отвечать на запросы, от которых исходная версия отказалась бы. Это механизм для исследований и контроля инференса, а не доказательство того, что любой полученный результат безопасен, корректен или уместен, и развёртывания, использующие его, должны применять собственные средства контроля доступа и обеспечения соблюдения политик. Удаление отказов — не бесплатное улучшение, и этот текст написан не так, будто это так.

Ещё три практических замечания для тех, кто будет это воспроизводить. Пак должен загружаться с собственной встроенной средой выполнения — обычный загрузчик MLX может выглядеть так, будто успешно загрузил его, но при этом незаметно вычислять не то, поэтому если выходные данные выглядят неправильно ещё до включения абляции, сначала проверьте путь загрузки. Поддерживается послойная абляция, так что вмешательство не обязательно должно быть «всё или ничего». А оценка абляции выполнялась на развёрнутом FP16-представлении пака, а не на паке, использующем собственные ядра, потому что у упакованного квантованного matmul нет реализации для CUDA, а CPU-бэкенду требуются минуты на один прямой проход; это развёрнутое представление точно сохраняет троичные значения пака и воспроизводит собственные распределения пака по следующему токену с точностью до трёх знаков после запятой при выборочных проверках, но это изменение контейнера, о котором стоит знать. Код и полные таблицы находятся в репозитории OrcaRouter Ternary Bonsai 2 27B Uncensored. Отдельное сравнение, охватывающее абляционную сборку MLX в сопоставлении с неизменённым MLX-путём Qwen3.8 27B, глубже рассматривает особенности среды выполнения.

Куда это приведёт, и что всё ещё не доказано

То, что почти не теряющая качество 27B-модель объёмом около шести гигабайт меняет для локальных агентов, в основном связано с тем, что остаётся резидентно в памяти. Языковая модель, которая помещается вместе с реальным контекстным окном на 16-гигабайтном ноутбуке, может оставаться загруженной, пока агент выполняет другую работу — читает файлы, вызывает инструменты, удерживает план от хода к ходу, — вместо того чтобы подгружаться в память на каждый запрос или отправляться на сервер. В этом разница между локальной моделью, которую вы пробуете, и локальной моделью, которую вы оставляете запущенной, и именно это свойство призваны подтверждать агентные показатели — τ 2-Bench на 80,2 и BFCL v3 на 74,9.

То, что остаётся недоказанным, — это куда более длинный список, чем следует из заявления.

• Никакого независимого воспроизведения. Каждый показатель качества в этой статье — 83,9, 98,2%, средние по категориям — это результат измерений самой Prism ML на собственном наборе Prism ML. Это не недостаток релиза; это просто то, как выглядит возраст в один день. Это также первое, что изменится.

• Долгосрочная агентная работа — самая слабая часть в собственной таблице вендора, а не самая сильная. Terminal-Bench 2.1 с показателем 52,8 против 69,7 — это реальный разрыв, и вендор говорит, что эта возможность реализована лишь частично.

• Промпты, которые вы не пробовали. Профиль отказов низкобитных моделей избирателен, и обвал IQ2_XXS на AIME26 и LiveCodeBench при сохранении 85,79 на MMLU-Redux — это самое ясное из имеющихся свидетельств того, что средний балл по бенчмаркам не говорит, что произойдёт на вашей рабочей нагрузке. Bonsai 2 не демонстрирует такого обвала на этих двух бенчмарках, что обнадёживает, но не является гарантией.

• Вопрос о переносе направления в аблитерированном варианте, приведённом выше, который остаётся нерешённым по построению.

• Выдержат ли ядра по мере развития сред выполнения. Сейчас этой модели нужен форк; стандартный llama.cpp отвергает два из трёх форматов и молча искажает третий. Пока эти ядра не попадут в upstream, утверждение «работает везде, где работает llama.cpp» ещё неверно для этой модели.

Сам факт релиза не ставится под сомнение. Мультимодальная модель класса 27B объёмом 5,93 ГБ, занимающая девятую часть объёма того, из чего она была сжата, с математикой и программированием на уровне родительской модели и следованием инструкциям немного впереди — это действительно иная рабочая точка для локального инференса. Разумная позиция по состоянию на 18 сентября 2026 года — принимать размер файла как факт, считать показатель сохранения осторожным заявлением вендора, сделанным днём ранее на выбранном вендором наборе тестов, и воздерживаться от суждений о собственной рабочей нагрузке, пока вы не прогоните на ней эту модель.

Код абляции во время выполнения, направление отказа и полные таблицы оценки публикует OrcaRouterвместе с платформой маршрутизации, которую создаёт команда.