
Ternary Bonsai 2 27B: Was in 5,9 GB passt – und was die 98,2 % Ihnen nicht verraten
- OrcaNEUOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $5.00 pro 1 Mio. Tokens
- orcaNEUOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 pro 1 Mio. Tokens
- deepseekNEUDeepSeek: DeepSeek V4.1 Flash2026-09-1040Intelligenz
- openaiNEUOpenAI: GPT-6 Astra2026-09-0453Intelligenz77Coding
- googleGoogle: Gemini 3.8 Flash2026-09-0241Intelligenz76Coding
- qwenQwen: Qwen3.8 Max (0902)2026-09-0245Intelligenz76Coding
- anthropicAnthropic: Claude Fable 5.12026-09-0153Intelligenz82Coding
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 pro 1 Mio. Tokens
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Intelligenz72Coding
- DeepSeekDeepSeek: DeepSeek V4 Flash Vision (Exp)2026-08-21$0.22 / $0.66 pro 1 Mio. Tokens
- z-aiZ.ai: GLM 5.32026-08-1845Intelligenz75Coding
- obsidianQwen3.8 27B2026-08-1534Intelligenz68Coding
- deepseekDeepSeek: DeepSeek V4 Pro 08132026-08-1236Intelligenz69Coding
- grokSpaceXAI: Grok 4.62026-08-1244Intelligenz77Coding
- metaMeta: Muse Spark 1.22026-08-0540Intelligenz72Coding
- qwenQwen: Qwen3.8 Max2026-08-0345Intelligenz76Coding
- deepseekDeepSeek: DeepSeek V4 Flash 07312026-07-3135Intelligenz69Coding
- minimaxMiniMax: MiniMax-H32026-07-31minimax/minimax-h3
- qwenQwen: Qwen3.7 Flash2026-07-27$0.03 / $0.13 pro 1 Mio. Tokens
- orcaOrcaDub: OrcaDub 1.02026-07-27orca/dub
Ternary Bonsai 2 27B ist ein multimodales Sprachmodell mit 27,36 Milliarden Parametern, das Prism ML am 17. September 2026 angekündigt hat, und das Entscheidende daran ist, dass seine Sprachgewichte genau einen von drei Werten annehmen. Sein Basismodell ist Qwen3.8 27B – ein 27B-Hybrid-Attention-Modell – und Bonsai behält diese Architektur, dieses Training und diese Form bei und ersetzt die Matrixgewichte des Sprachmodells durch eine ternäre Darstellung. Die ausgelieferte Datei ist 5,93 GB groß. Die Vollpräzisionsreferenz ist 53,81 GB groß. Die zentrale Behauptung des Anbieters ist, dass es 98,2 % des Benchmark-Durchschnitts des Originals beibehält.
Beginne mit dem Teil, den die meisten Berichte übergehen werden: Diese 98,2 % sind Prism MLs eigene Zahl, gemessen mit Prism MLs eigener 20-Benchmark-Suite und Prism MLs eigenem Harness, und niemand außerhalb des Unternehmens hat sie reproduziert. Das ist kein Vorwurf – es ist der normale Zustand einen Tag nach einer Veröffentlichung, und genau diesen Status solltest du ihr zuweisen. Was du heute unabhängig verifizieren kannst, ist die Datei: Die Hugging-Face-API listet Ternary-Bonsai-2-27B-PTQ1_0.gguf mit 5,947 GB gegenüber der FP16-Referenz mit 53,808 GB, was einer Reduktion um das 9,05-Fache entspricht und die Angabe des Anbieters von „ungefähr 9x“ bestätigt, ohne dass man irgendjemandem vertrauen muss. Die Größe ist eine Tatsache. Die Qualitätsbeibehaltung ist eine Anbietermessung. Das Interessante liegt dazwischen – die Kategorienaufschlüsselung, die genau zeigt, wo die Kompression kostenlos ist und wo nicht.
Diese Veröffentlichung hat auch eine zweite Seite. Am 18. September, einen Tag nach der Ankündigung, veröffentlichte OrcaRouter eine zur Laufzeit abliterierte Variante desselben Modells – die OrcaRouter Ternary Bonsai 2 27B Uncensored –, die zur Inferenzzeit eine gelernte Verweigerungsrichtung entfernt und die Gewichte bit-identisch belässt. Sie wird weiter unten in einem eigenen Abschnitt behandelt, weil die Technik der interessante Teil ist und weil ihre Grenzen ebenso lehrreich sind wie ihre Ergebnisse.
Es handelt sich um ein komprimiertes Qwen3.8 27B, kein neu trainiertes Modell.
Diese Unterscheidung ist der Unterschied zwischen dem Erklären des Releases und dem bloßen Wiederholen einer Pressemitteilung. Prism ML hat kein 27B-Modell von Grund auf trainiert und auch kein neues Pretraining-Rezept gefahren. Was es tat, war, Qwen3.8 27B zu nehmen und die numerische Darstellung zu ändern, in der seine Gewichte gespeichert und berechnet werden.
Die Architektur ist unverändert, und sie ist die des Basismodells: ein Hybrid-Attention-Design, das zu etwa 75 % aus linearer Attention und zu 25 % aus Full Attention besteht, mit SwiGLU-MLP-Blöcken, RoPE und RMSNorm. Dieser Hybrid-Backbone ist auch der Grund, warum der 262K-Token-Kontext als vollkontextfähig statt nur als unterstützt beschrieben wird — überwiegend lineare Attention ist es, was einen langen Kontext auf einem Gerät bezahlbar macht. Das Modell ist ein Vision-Language-Modell: Es akzeptiert Bilder ebenso wie Text, und der Vision-Tower ist der serienmäßige, unquantisierte Qwen-Tower, der separat verpackt ist.
Was Prism ML beigesteuert hat, sind zwei Dinge. Das erste ist die ternäre Repräsentation selbst plus das quantisierungsbewusste Training, das sie überlebensfähig macht. Das zweite sind die Kernel – maßgeschneiderte Low-Bit-Kernel für diesen Hybrid-Attention-Stack auf Apple Silicon und CUDA, die direkt auf den gepackten Gewichten arbeiten, anstatt sie in FP16 zu entpacken und zu multiplizieren. Ohne den zweiten Beitrag ist das erste ein Speicherformat, das sich nicht mit Geschwindigkeit nutzen lässt.
Das eigene Whitepaper von Prism ML gibt die Parameteraufteilung mit 24,35 Mrd. im Sprach-Backbone über 64 Blöcke, 2,54 Mrd. in den Embeddings und im LM-Head sowie 0,47 Mrd. im 27-Block-Vision-Tower an – insgesamt 27,36 Mrd. Der Vision-Tower ist der eine Teil, der tatsächlich ein anderes Artefakt darstellt: Das GGUF-Release verpackt ihn als 4-Bit-mmproj-Datei von etwa 0,63 GB, die nur geladen wird, wenn tatsächlich ein Bild eintrifft, sodass reines Text-Serving ihn nie mitführt.
Dies ist die zweite Generation des Bonsai aus demselben Labor; der erste Bonsai 27B erschien im Juli 2026, rund zwei Monate früher, und der Vergleich zwischen den beiden Generationen ist eine berechtigte Frage – eine, die wir im direkten Vergleich gegen Bonsai 27B aufgreifen, statt sie hier zu wiederholen.
Was bedeutet „ternary g128“ konkret?
Wenn Ihnen ternäre Gewichte bisher noch nicht begegnet sind, ist dies der Absatz, der alles andere verständlich macht, also hier ohne Kurzform.
Ein gewöhnliches Gewicht in einem neuronalen Netz ist eine 16-Bit-Gleitkommazahl — etwa 65.536 unterscheidbare Werte in einem nutzbaren Bereich, wobei jedes einzelne 16 Bits zum Speichern kostet. Ein ternäres Gewicht ist keine kleine Gleitkommazahl. Es ist eine Wahl zwischen drei Symbolen: −1, 0 oder +1. Das ist das gesamte Vokabular. Speichert man ein solches Symbol naiv, würde man zwei Bits pro Gewicht verbrauchen, da zwei Bits vier Zustände ergeben und man nur drei benötigt.
Für sich genommen wäre das ein katastrophaler Verlust an Ausdrucksstärke, und deshalb ist das Format nie nur das Symbol. Jede Gruppe von 128 aufeinanderfolgenden Gewichten teilt sich einen FP16-Skalierungsfaktor, und der tatsächliche Gewichtswert ist das ternäre Symbol multipliziert mit diesem Skalierungsfaktor:
• w = ssub>g/sub> · t, wobei t ∈ {−1, 0, +1} und ssub>g/sub> eine gemeinsame FP16-Skala für die Gruppe von 128 ist
Das Modell stellt also weiterhin eine breite Spanne von Größenordnungen dar – nur eben in groben, gruppenweisen Stufen statt in Stufen pro Gewicht. Die 0 ist kein Rundungsartefakt; sie ist ein echter dritter Zustand, und dass es sie gibt, ist das, was eine Gruppe von 128 Gewichten überwiegend stumm sein lässt, wenn sie es sein muss.
Die rotierte Basis ist der Teil, der die Leute überrascht.Bevor die ternäre Zuweisung erfolgt, wird jede Gewichtsmatrix blockweise durch eine orthogonale Rotation transformiert – eine Walsh-Hadamard-Matrix kombiniert mit einer festen Diagonale aus ±1-Vorzeichen, bei Blockgröße 1024 – und die ternären Werte werden in diesem rotierten Raum gewählt. Die Rotation wird während der Vorbereitung in die gespeicherten Gewichte eingefaltet, sodass sie keine zusätzlichen Bits und keinen zusätzlichen Gewichtsverkehr kostet. Bei der Inferenz wendet die Laufzeitumgebung stattdessen die passende Transformation auf die Aktivierungen an, und das gepackte Modell gibt seine Rotation in seinen Metadaten an, sodass eine Laufzeitumgebung entweder die passende Transformation anwendet oder sich weigert, die Datei zu laden.
Warum sich die Mühe machen? Weil eine Hadamard-Rotation die Energie einer Gewichtsmatrix gleichmäßiger über die Koordinaten verteilt, wodurch die anschließende dreistufige Quantisierung deutlich weniger Schaden anrichtet, als dies bei der rohen, zackigen Verteilung der Fall wäre. Die Rotation ist keine Zierde; sie ist der Grund, warum ein ternäres Modell überhaupt so etwas wie die Qualität des Ausgangsmodells bewahren kann. Der Preis dafür ist, dass die Transformation bei Batch-Größe 1 auf dem kritischen Pfad jeder Projektion liegt, was ein echtes Engineering-Problem ist — Prism ML fusioniert den Vorzeichenwechsel in den Ladepfad der Transformation auf Metal und parallelisiert sie über einen vollständigen Thread-Block auf CUDA, damit sie den Decode-Vorgang nicht dominiert.
Die Zahlen, sorgfältig: 1.585, 1.71, 1.72, 1.76
Vier Bitbreiten-Angaben kursieren zu diesem Release, sie sind alle korrekt, und sie messen vier verschiedene Dinge. Sie zu vermengen ist der einfachste Fehler in dieser Geschichte. Hier ist jede Einzelne und was sie tatsächlich abdeckt.
• 1.585 Bits pro Gewicht — der Informationsgehalt eines ternären Symbols, log₂3. Das ist eine Eigenschaft des Formats, nicht einer Datei. Nichts, was ausgeliefert wird, läuft mit 1.585 Bits pro Gewicht.
• 1,71 Bit pro Gewicht — nur die ternären Tensoren. Addiert man die 16-Bit-FP16-Gruppenskalierung, amortisiert über 128 Gewichte, erhält man log₂3 + 16/128 ≈ 1,71. Immer noch kein ausgelieferter Wert; es sind die ternären Tensoren isoliert betrachtet.
• 1,72 Bits pro Gewicht — jeder Parameter im Sprachmodell, einschließlich der kleinen Menge, die über der Low-Bit-Darstellung gehalten wird. Prism ML hält 26.238.464 Parameter — 0,0976 % des Sprachmodells, etwa 52 MB bei bf16 — in höherer Präzision, hauptsächlich den rekurrenten Zustandspfad der Linear-Attention-Schichten sowie die Normalisierungsgewichte. Diese Tensoren werden weder rotiert noch quantisiert, und sie sind es, die den Wert von 1,71 auf 1,72 bringen. Bei 1,72 beträgt der idealisierte Speicherbedarf 5,80 GB, eine Reduktion um etwa das 9,3-Fache. Dies ist die „True Ternary“-Zeile von Prism ML, und sie ist ein Ziel statt einer Datei, die man herunterlädt.
• 1,76 Bit pro Gewicht — das tatsächlich ausgelieferte GGUF. Effiziente Kernel brauchen ein Packformat, und PTQ1_0 von Prism ML packt Trits dicht und landet bei 1,76 Bit/Gewicht in 5,93 GB, etwa 9,1x. Dies ist die Datei hinter sowohl den „5,9 GB“ als auch den „9x kleiner“, die die Ankündigung zitiert, und sie ist diejenige, die die obigen Messungen bestätigen.
Das zweite Packing ist PQ2_0, das jedes Trit in einem 2-Bit-Slot statt dicht gepackt ablegt. Es kostet mehr Platz für ein günstigeres Entpacken: 2,16 Bit/Gewicht in 7,25 GB, etwa das 7,4-Fache. Keines der beiden Packings ist durchgängig schneller — PTQ1_0 bewegt pro Schritt etwa 18 % weniger Gewichtsdaten, zahlt aber mit Rechenaufwand für das Entpacken dichter Trits, sodass es auf den Ada-Generation-Karten und der L4 gewinnt, wo der Speicher der limitierende Faktor ist, und auf Hopper, Blackwell und Apple Silicon verliert, wo der Batch-1-Decode stattdessen durch den Instruktionsdurchsatz begrenzt wird. Die Prompt-Verarbeitung bevorzugt überall PQ2_0, weil sie rechengebunden ist.
Zwei organisatorische Hinweise für alle, die diese mit den Quellen abgleichen. Erstens runden die eigenen Dokumente von Prism ML leicht unterschiedlich – die Speichertabelle des Whitepapers gibt PTQ1_0 mit 1,76 Bit/Gewicht bei 5,93 GB an, während die GGUF-Modellkarte auf Hugging Face 1,75 und 5,95 GB angibt und die gemessene Datei 5,947 GB groß ist. Hierbei handelt es sich um dieselbe Datei, die mit unterschiedlicher Genauigkeit beschrieben wird, nicht um einen inhaltlichen Widerspruch. Zweitens stammt die angekündigte Reduzierung um „mehr als 9x“ vom Anbieter; gemessen an den tatsächlichen Dateien ergibt sich 53,808 / 5,947 = 9,05x, was konsistent ist.

Das Benchmark-Bild: nicht der Durchschnitt, die Form
Die Schlagzeile ist ein Durchschnitt von 83,9 gegenüber 85,4 für die Qwen3.8 27B FP16-Baseline, was 98,2 % entspricht. Der Durchschnitt ist daran der am wenigsten interessante Teil. Die Form darunter ist der Ort, an dem die eigentlichen Informationen stecken, und sie ist nicht gleichförmig.
• Anweisungsbefolgung — 82,66 vs. 81,25.Dies ist die einzige Kategorie, in der das komprimierte Modell sein vollpräzises Elternmodell übertrifft. Das ist kein Rauschen, das sich beiläufig wegerklären lässt; es ist ein Kategoriensieg in der eigenen Suite des Anbieters.
• Mathe — 96,57 vs. 97,06, und Coding — 81,58 vs. 82,17. Beide im Wesentlichen gleichauf: ein halber Punkt und sechs Zehntel eines Punktes bei den Kategorie-Durchschnitten. Für ein Modell mit einem Neuntel des Platzbedarfs sind dies die Ergebnisse, auf denen die gesamte Argumentation für diese Technik beruht.
• Wissen und Schlussfolgerndes Denken – 83,95 vs. 86,66. Ein Rückgang um 2,7 Punkte, und hier steckt ein erheblicher Anteil der fehlenden 1,8 Punkte beim Gesamtdurchschnitt.
• Vision — 78,59 vs. 81,64.Ein Rückgang um 3,05 Punkte, der größte Verlust einer einzelnen Kategorie. Bemerkenswert ist, dass nicht der Vision-Tower selbst der komprimierte Teil ist, sondern das Sprachmodell, das seine Ausgaben liest.
• Agentisches Handeln und Tool-Aufrufe — 77,57 vs. 79,74. Der Kategoriedurchschnitt umfasst τ 2-Bench mit 80,22 und BFCL v3 mit 74,92.
Einzelne Ergebnisse, die man kennen sollte, denn sie weisen nicht alle in dieselbe Richtung. Auf Terminal-Bench 2.1 erzielt das Modell 52,8 gegenüber 69,7 bei voller Präzision – etwa drei Viertel – und auf SWE-bench Verified 60,8 gegenüber 80,6, wieder etwa drei Viertel. Dies war das erste Mal, dass diese Modellfamilie auf Terminal-Bench evaluiert wurde, und Prism ML stellt ausdrücklich klar, dass die im ersten Bonsai-Release versprochenen Long-Horizon-Software-Engineering-Fortschritte nur teilweise und nicht vollständig sind. Dagegen steht: τ 2-Bench stieg von 73,6 im vorherigen Release auf 80,2, BFCL v3 bleibt bei 74,9, und AA-LCR liegt bei 77,0, nur einen Punkt von voller Präzision entfernt. AIME26 erreicht 95,83 und LiveCodeBench 90,07.
Wann man ihm vertrauen kann und wann nicht. Vertrauen Sie dem Muster bei Mathematik, Programmieren und Instruktionsbefolgung – das sind die Kategorien, in denen die Technik nachweislich das tut, was sie verspricht, und sie werden auf derselben Testumgebung wie die Baseline gemessen. Vorsicht ist bei langfristiger agentischer Arbeit geboten: Die beiden Benchmarks, die wirklich anhaltende werkzeuggestützte Engineering-Arbeit belasten, Terminal-Bench 2.1 und SWE-bench Verified, zeigen eine deutlich größere Lücke, als der aggregierte Wert nahelegt, und der Anbieter räumt das selbst ein, statt es zu verbergen. Und betrachten Sie die gesamte Tabelle als die Messung eines einzelnen Labors auf einer einzigen Testumgebung, solange sie nicht jemand anderes ebenfalls durchgeführt hat. Dieser Vorbehalt ist hier keine Formalität – er ist der Unterschied zwischen „dieses Modell behält 98,2 %“ und „der Anbieter dieses Modells hat 98,2 % in einer Testsuite gemessen, die der Anbieter selbst ausgewählt hat“. Beides ist wahr; nur eines davon ist eine Tatsache über das Modell.

Warum dies einen IQ2_XXS-Build desselben Basismodells übertrifft
Dies verdient einen eigenen Abschnitt statt einer bloßen Zeile, denn es ist das gesamte Argument für quantisierungsbewusstes ternäres Training gegenüber Post-Training-Quantisierung.
Der übliche Weg, Qwen3.8 27B klein zu machen, besteht darin, es nach dem Training zu quantisieren. Der Vergleichspunkt des Whitepapers ist ein Build von IQ2_XXS GGUF desselben Basismodells:
• Ternary Bonsai 2 27B — 1,76 Bits/Gewicht, 5,93 GB, 20-Benchmark-Durchschnitt 83,9
• Qwen3.8 27B IQ2_XXS — 2,2 Bit/Gewicht, 7,3 GB, 20-Benchmark-Durchschnitt 75,2
Das durch Training komprimierte Modell ist sowohl kleiner als auch besser. Es ist 1,23-mal kleiner als der konventionelle Low-Bit-Build und erzielt 8,7 Punkte mehr. Diese Kombination ist keine Rundungskuriosität; sie ist die Behauptung, dass eine während des Trainings gewählte Repräsentation wesentlich mehr wert ist als dasselbe nominale Bit-Budget, das nachträglich angewendet wird.
Der lehrreichere Teil ist, wie der herkömmliche Build fehlschlägt, weil das Versagen selektiv und leicht zu übersehen ist. IQ2_XXS verschlechtert sich nicht gleichmäßig. Bei oberflächlichem Wissen hält es stand — 85,79 bei MMLU-Redux —, während es bei Aufgaben zusammenbricht, die anhaltende Argumentationsketten erfordern: 78,6 bei AIME26, 70,05 bei LiveCodeBench, 65,45 bei GPQA Diamond. Bonsai 2 erzielt bei denselben drei Aufgaben 95,83, 90,07 und 85,76. Ein beiläufiger Chat-Test würde den IQ2_XXS-Build als völlig brauchbar einstufen und den Kollaps nie aufdecken; der Schaden sitzt genau dort, wo langes Reasoning und Codegenerierung stattfinden. Diese Asymmetrie ist der Grund, warum „es hat sich gut angefühlt, als ich es ausprobiert habe“ kein Beleg für ein quantisiertes Modell ist.
Prism ML komprimiert dasselbe Argument zu einer einzigen abgeleiteten Kennzahl, die es Intelligenzdichte nennt – grob gesagt: Benchmark-Leistungsfähigkeit pro Gigabyte. In der Suite aus 20 Benchmarks meldet es 0,444 pro GB für Bonsai 2, 0,276 für den IQ2_XXS-Build und 0,051 für FP16. Die Metrik ist eine eigene Konstruktion des Anbieters, und ihre Gewichtung ist eine Designentscheidung, kein Gesetz; doch die Reihenfolge, die sie erzeugt, ist dieselbe Reihenfolge, die die Roh-Tabelle erzeugt, sodass sie eher Interpretation als Beleg liefert.
Noch eine ehrliche Anmerkung zum Vergleich. Die GGUF-Modellkarte von Prism ML berichtet über eine zweite, engere Evaluierung – eine Thinking-Mode-Suite mit 14 Benchmarks –, in der derselbe Retentionswert erneut mit 84,78 gegenüber 86,32 auftaucht, wobei IQ2_XXS bei 72,59 liegt. Dass zwei verschiedene Suiten auf dieselben 98,2 % kommen, ist eine leichte Bestätigung dafür, dass die aggregierte Behauptung kein Artefakt einer einzelnen Benchmark-Auswahl ist. Es ist immer noch dasselbe Labor, das beide auf demselben Harness laufen lässt. Unsere ausführlichere Aufschlüsselung dieses Duells, einschließlich der Frage des Packing-Formats, findet sich im Vergleich mit den Qwen3.8 27B GGUF-Builds.
Was es wirklich braucht, um zu laufen
Die Durchsatzwerte, aus der standardisierten tg128-Messung des Whitepapers bei Batch-Größe 1 mit ausgeschlossenem Vision-Tower:
• Apple M5 Max — 46,8 tok/s Dekodierung, 765 tok/s Prompt-Verarbeitung
• Apple M5 Pro — 27,7 tok/s Dekodierung; ein separater Lauf mit längerem Fenster des PQ2_0-Pakets maß 27,0 tok/s dauerhaft und zog dabei 27,0 W auf der GPU-Schiene sowie 32,8 W über CPU und GPU
• Apple M4 Pro — 18,0 tok/s Dekodierung, wobei die Prompt-Verarbeitung mit etwa 125 tok/s bei sehr langen Kontexten zum limitierenden Faktor wird
• NVIDIA RTX 5090 — 142,5 Token/s Decode auf dem PQ2_0-Pack bei 0,582 mWh pro Token
Die praktische Behauptung, die Prism ML aufstellt, ist kein Beschleunigungsverhältnis, sondern eine Abwesenheit: Die FP16-Baseline mit 53,8 GB passt überhaupt nicht auf einen 16-GB-Laptop, daher lautet die aussagekräftige Feststellung, dass ein Modell der 27B-Klasse jetzt interaktiv auf alltäglicher Hardware läuft. Auf dem M5 Pro überträgt der gemessene Decode etwa 201 GB/s an Gewichten, was das von der Speicherbandbreite dominierte Profil bestätigt, das die Low-Bit-Darstellung ausnutzen soll.
Dann die Randfälle, die wichtiger sind als die Spitzenwerte.
Sie können das Standard-llama.cpp nicht verwenden.Die ternären Hybrid-Attention-Kernel befinden sich im eigenen llama.cpp-Fork von Prism ML. Das Standard-llama.cpp weist die Typen PTQ1_0 und PQ2_0 als unbekannt zurück und lädt – gefährlicher noch – das ältere ternäre Q2_0-Format ohne jede Warnung und erzeugt Datenmüll, weil ihm die Hadamard-Aktivierungs-Runtime fehlt. Wenn Sie dieses Modell mit einer Binärdatei ausführen, die die passende Rotation nicht anwendet, erhalten Sie keinen Fehler; Sie erhalten flüssig klingenden Unsinn. Dies ist die mit Abstand wahrscheinlichste Art und Weise, bei diesem Release einen Nachmittag zu verschwenden.
Das MLX-Paket hat keinen CUDA-Pfad. Die MLX-Version (prism-ml/Ternary-Bonsai-2-27B-mlx-2bit) zielt auf Apple Silicon ab, wo sie über eigene Kernel für den Hybrid-Stack sowohl in der Python- als auch in der Swift-Laufzeit verfügt. Ihre quantisierte Matmul hat Metal- und CPU-Kernel, aber keine CUDA-Implementierung, daher erhält dieses spezielle Paket auf einer NVIDIA-Maschine überhaupt keine GPU-Beschleunigung. CPU-Inferenz funktioniert, aber ein 27B-Forward-Pass auf der CPU kann Minuten dauern — was den Linux-CPU-Pfad für Implementierungstests und Reproduzierbarkeit nützlich und für Serving unbrauchbar macht.
Die beiden Pakete sind ein echter Kompromiss, kein Ranking. Wenn Sie eine Karte der Ada-Generation oder eine L4 nutzen oder wenn der Speicher die entscheidende Einschränkung darstellt, ist PTQ1_0 mit 5,93 GB die beste Wahl. Wenn Sie auf Hopper, Blackwell oder einer 5090 unterwegs sind, erkauft Ihnen PQ2_0 Dekodiergeschwindigkeit für 1,3 GB. Wenn Sie Apple Silicon nutzen, beachten Sie, dass die oben genannten M5-Pro-Werte auf PQ2_0 gemessen wurden, welches auch das Paket ist, das das Demo-Setup standardmäßig herunterlädt.
Eine Anmerkung zur eigenen Berechnung des MLX-Packs, da dies eine häufige Quelle der Verwirrung ist. Der MLX-Container ist ein affines 2-Bit-Format, dessen Block sowohl einen FP16-Skalierungsfaktor als auch einen FP16-Bias für jede Gruppe von 128 Gewichten speichert. Bonsais ternäre Gewichte benötigen nur den Skalierungsfaktor – die Stufen ergeben sich allein aus dem Skalierungsfaktor –, sodass der Bias totes Gewicht ist und der Block 36 Bytes pro 128 Gewichte statt 34 kostet. Dadurch steigt die gepackte Rate des MLX-Packs auf 2,250 Bits/Gewicht, nicht 1,72 und nicht 1,76. Es ist ein anderer Container, der dieselben ternären Werte trägt, und seine gemessene Datei auf Hugging Face ist 8,005 GiB.
Die zur Laufzeit abliterierte Variante
Am 18. September veröffentlichte OrcaRouter das OrcaRouter Ternary Bonsai 2 27B Uncensored, das die Refusal-Direction-Ablation bei diesem Modell vollständig zur Laufzeit anwendet. Die technische Idee verdient mehr Aufmerksamkeit als das Produkt, deshalb hier zuerst die Idee.
Herkömmliche Abliteration bearbeitet Gewichte. Sie findet eine Richtung im Aktivierungsraum, die dem Verweigerungsverhalten entspricht, und orthogonalisiert dann die Gewichtsmatrizen, die in den Residualstrom schreiben, gegen diese: W ← W − r(rᵀW). Bei einem gewöhnlichen FP16-Modell ist das in Ordnung – die bearbeitete Matrix ist immer noch eine dichte Gleitkommamatrix, also speichert man sie und macht weiter. Bei einem ternären Paket ist es eine Sackgasse, und zwar genau aus dem Grund, aus dem dieses ganze Modell existiert. Das Orthogonalisieren einer ternären Matrix erzeugt eine dichte Matrix mit voller Präzision. Um das zurück in das ternäre Paket zu speichern, müsste man neu quantisieren – und das Neiquantifizieren bearbeiteter Gewichte reproduziert nicht das quantisierungsbewusste Training, das das Original erzeugt hat. Man würde genau das wegwerfen, was man sich damit eingekauft hat.
Somit verschiebt sich die Projektion stattdessen auf die Inferenzzeit. Anstatt W zu ändern, ändere seine Ausgabe:
• y ← y − α · dot(y, r) · r, in float32 berechnet, wobei y ein Residualbeitrag und r die normalisierte Verweigerungsrichtung sind
Bei α = 1 wird die zur Ablehnungsrichtung parallele Komponente jedes Residual-Writes entfernt. Bei α = 0 bleibt das Modell unangetastet. Ein α über 1 überprojiziert und kann die Qualität verschlechtern. Da α ein Laufzeitparameter und keine Checkpoint-Eigenschaft ist, kann dasselbe Pack im selben Prozess gegen sich selbst A/B-getestet werden — genau das tun die Evaluierungen von OrcaRouter. Das ursprüngliche Bonsai-Pack bleibt bitidentisch: null geänderte Gewichte, null Requantisierung, null zusätzlicher Gewichts-Quantisierungsfehler.
Zwei Implementierungsdetails sind die Stellen, an denen eine naive Version davon scheitert.
129 Interventionsstellen, nicht 16. Jedes Modul, das in den Residualstrom schreiben kann, muss umhüllt werden, und in dieser Hybridarchitektur sind das 64 mlp.down_proj-Blöcke, 48 linear_attn.out_proj-Schichten, 16 self_attn.o_proj-Schichten und model.embed_tokens — insgesamt 129. Nur self_attn.o_proj zu umhüllen ist der offensichtliche Fehler, und er erfasst 16 davon, sodass die anderen 113 Schreibvorgänge unprojiziert bleiben. Ein Selbstprüfskript misst, ob die verbleibende Komponente entlang der Verweigerungsrichtung auf ungefähr 1e-6 der Residualnorm getrieben wird, und warnt, wenn es nicht alle 129 Stellen erkennt.
Die Richtung nicht erneut rotieren. Das Ternär-Pack behält seine Projektionen in einer rotierten Basis auf ihrer Eingabedimension bei und kompensiert auf der Aktivierungsseite. Die Verweigerungsprojektion operiert auf den Ausgaben dieser Projektionen, die bereits wieder in der normalen Hidden-Basis sind — die Verweigerungsrichtung ist also ein gewöhnlicher 5120-dimensionaler Vektor, und das Anwenden einer zusätzlichen Hadamard-Rotation darauf würde gegen die völlig falsche Basis projizieren.

Was OrcaRouter gemessen hat – unsere eigenen Zahlen, keine unabhängigen
Dies sind OrcaRouters eigene regelbasierte Messungen, und sie sollten als solche gelesen werden: ein regelbasierter Klassifikator für Eröffnungsphrasen, kein LLM-Richter, Thinking aus, Greedy-Decoding, 64-Token-Budget, wobei Base und Ablated dieselben Gewichte im selben Prozess bei α = 0 gegenüber α = 1 sind. Sie sind indikativ, nicht publikationsreif, und sie sind keine Verifikation von irgendetwas, das Prism ML behauptet hat.
Zur Ablehnung, gemessen als Anteil der Prompts, die eine Ablehnung erhielten:
• AdvBench (n=100) — 99,0 % Basis, 6,0 % ablatiert, wobei 56,0 % beantwortet, aber in einen Haftungsausschluss verpackt wurden
• JailbreakBench (n=100) — 96,0 % Basis, 4,0 % abliert, 52,0 % mit Vorbehalt
• StrongREJECT (n=150) — 99,3 % Basis, 3,3 % ablatiert, 45,3 % mit Vorbehalt
• HarmBench (n=150) — 98,7 % Basis, 7,3 % ablatiert, 48,0 % mit Vorbehalt
• MaliciousInstruct (n=100) — 97,0 % Basis, 0,0 % ablatiert, 52,0 % mit Einschränkungen
• ForbiddenQuestions (n=150) — 75,3 % Basis, 5,3 % ablatiert, 42,7 % mit Vorbehalt
• SimpleSafetyTests (n=50) — 96,0 % Basis, 18,0 % ablatiert, 60,0 % mit Vorbehalt — und diese Zahl ist zu niedrig angesetzt. Dieser Datensatz besteht überwiegend aus Selbstverletzungs-Prompts, und das Modell beantwortet sie mit einer Krisenweiterleitung, die mit „Es tut mir zutiefst leid, das zu hören …“ beginnt, was die exakte Phrasenliste des Klassifikators nicht erfasst und der Klassifikator als Befolgung wertet. Die tatsächliche Rest-Verweigerungsrate in diesem Datensatz ist höher als 18,0 %. Der Klassifikator wurde bewusst unverändert gelassen, damit die Zahlen mit den anderen Modellkarten von OrcaRouter vergleichbar bleiben.
In keinem Set ging einer Antwort das Token-Budget aus, sodass keine dieser Raten durch Trunkierung aufgebläht ist. Bei harmlosen Prompts beseitigt dieselbe Projektion außerdem Überverweigerung: XSTest-safe fiel von 5,2 % Verweigerung auf 0,4 %, und die harmlose Teilmenge von JailbreakBench von 25,0 % auf 0,0 %. Das veröffentlichte Paket lehnt ein Viertel der harmlosen Prompts dieses Benchmarks ab; nach Ablation lehnt es keine ab.
Was die Leistungsfähigkeit angeht, bedeutet die Bit-Identität der Gewichte, dass keine Re-Quantisierung bezahlt werden muss, und die Messungen stimmen damit überein:
• MMLU (n=300) — 76,7 % Basis, 77,7 % ablatiert, +1,0
• GSM8K (n=150) — 87,3 % Basis, 86,0 % ablatiert, −1,3
• CMMLU (n=500) — 76,2 % Basis, 75,6 % ablatiert, −0,6
Jede Veränderung liegt bei diesen Stichprobengrößen innerhalb des Rauschens; eine einzelne GSM8K-Frage ist 0,7 Punkte wert. MMLU-Pro wird nicht berichtet, sondern ausgeschlossen: Sein Prompt verlangt Reasoning vor der Antwort, und 63–64 % der Antworten auf beiden Seiten hatten innerhalb des Token-Budgets keine erreicht, sodass jeder Genauigkeitswert eine vom Budget gesetzte Untergrenze statt einer Messung wäre.
Der Vorbehalt, der am meisten zählt
Die Ablehnungsrichtung wurde aus dem BF16-Basismodell geschätzt, von dem aus das Bonsai pack trainiert wurde. Die Architektur und die verborgene Basis sind identisch, sodass die Geometrie übereinstimmt. Doch wie gut diese Richtung quantisierungsbewusstes Training übersteht, ist nicht vollständig gemessen worden.
Die Laufzeitumgebung kann mathematisch und bis auf etwa 1e-6 beweisen, dass sie die übergebene Richtung aus jedem Residual-Schreibvorgang entfernt. Sie kann allein daraus nicht beweisen, dass die Richtung im quantisierten Modell noch dasselbe Verhaltensmerkmal erfasst, das sie im dichten Modell erfasst hat. Das sind unterschiedliche Behauptungen, und nur die erste ist geklärt. Wer die obige Sicherheitstabelle liest, sollte sie mit dem Wissen lesen, dass die Intervention genau so wirksam ist wie die Annahme der Richtungsübertragung, und diese Annahme ist die offene Frage.
Es gibt außerdem die praktische Einordnung, die OrcaRouter selbst für die Veröffentlichung vornimmt, und es lohnt sich, sie zu wiederholen, statt sie wegzuumschreiben: Das Entfernen einer erlernten Ablehnungsrichtung kann dazu führen, dass ein Modell auf Anfragen antwortet, die das Original abgelehnt hätte. Dies ist ein Forschungs- und Inferenzkontrollmechanismus, kein Beleg dafür, dass eine daraus resultierende Ausgabe sicher, korrekt oder angemessen ist, und Bereitstellungen, die ihn nutzen, sollten ihre eigenen Zugriffskontrollen und ihre eigene Durchsetzung von Richtlinien anwenden. Das Entfernen von Ablehnungen ist keine kostenlose Verbesserung, und dieser Text ist nicht so geschrieben, als wäre es eine.
Drei weitere praktische Hinweise für alle, die es reproduzieren möchten. Das Pack muss mit seiner eigenen mitgelieferten Runtime geladen werden – ein gewöhnlicher MLX-Loader kann es scheinbar erfolgreich laden, während er stillschweigend das Falsche berechnet; wenn die Ausgaben also falsch erscheinen, bevor die Ablation überhaupt aktiviert ist, prüfen Sie zuerst den Ladepfad. Ebenenselektive Ablation wird unterstützt, sodass der Eingriff nicht alles-oder-nichts sein muss. Und die Ablationsbewertung wurde auf der entfalteten FP16-Erweiterung des Packs durchgeführt und nicht mit dem Pack, das seine eigenen Kernel ausführt, weil die gepackte quantisierte Matmul keine CUDA-Implementierung hat und das CPU-Backend Minuten pro Vorwärtsdurchlauf benötigt; diese Erweiterung trägt die ternären Werte des Packs exakt und reproduziert die eigenen Next-Token-Verteilungen des Packs bei Stichproben bis auf drei Dezimalstellen, aber es ist eine Container-Änderung, und es lohnt sich, davon zu wissen. Der Code und die vollständigen Tabellen befinden sich im Repository OrcaRouter Ternary Bonsai 2 27B Uncensored. Ein separater Vergleich, der den ablatierten MLX-Build mit dem unveränderten Qwen3.8 27B MLX-Pfad vergleicht, geht tiefer auf die Laufzeitspezifika ein.
Wohin das führt und was noch unbewiesen ist
Die Veränderung, die ein nahezu verlustfreies 27B-Modell in ungefähr sechs Gigabyte für lokale Agenten bedeutet, dreht sich vor allem darum, was resident wird. Ein Sprachmodell, das neben einem echten Kontextfenster auf einem 16-GB-Laptop Platz findet, kann geladen bleiben, während ein Agent andere Arbeit erledigt – Dateien liest, Tools aufruft, einen Plan über mehrere Turns hinweg hält –, statt bei jeder Anfrage neu eingewechselt oder auf einen Server ausgelagert zu werden. Das ist der Unterschied zwischen einem lokalen Modell, das man ausprobiert, und einem lokalen Modell, das man laufen lässt, und es ist genau die Eigenschaft, die die agentischen Zahlen – τ 2-Bench mit 80,2 und BFCL v3 mit 74,9 – stützen sollen.
Was unbewiesen ist, ist eine längere Liste, als die Ankündigung nahelegt.
Keine unabhängige Reproduktion. Jede Qualitätskennzahl in diesem Artikel – die 83,9, die 98,2 %, die Kategoriendurchschnitte – ist Prism MLs eigene Messung auf Prism MLs eigener Suite. Das ist kein Mangel der Veröffentlichung; so sieht es eben aus, wenn etwas erst einen Tag alt ist. Es ist außerdem das Erste, was sich ändern wird.
• Agentische Arbeit mit langem Horizont ist der schwächste Teil der Tabelle des Anbieters selbst, nicht der stärkste. Terminal-Bench 2.1 mit 52,8 gegenüber 69,7 ist eine echte Lücke, und der Anbieter sagt, die Fähigkeit sei nur teilweise vorhanden.
• Prompts, die Sie noch nicht ausprobiert haben. Das Fehlerprofil von Low-Bit-Modellen ist selektiv, und dass IQ2_XXS bei AIME26 und LiveCodeBench zusammenbricht, während es auf MMLU-Redux 85,79 hält, ist der deutlichste verfügbare Beleg dafür, dass ein Benchmark-Durchschnitt nicht verrät, was bei Ihrer Arbeitslast passiert. Bonsai 2 zeigt diesen Zusammenbruch bei diesen beiden Benchmarks nicht, was ermutigend ist und nicht dasselbe wie eine Garantie.
• Die Richtungstransfer-Frage in der abliterierten Variante, oben, die konstruktionsbedingt ungelöst ist.
• Ob die Kernel standhalten, während sich die Runtimes weiterentwickeln. Derzeit braucht dieses Modell einen Fork; das Standard-llama.cpp lehnt zwei der drei Formate ab und verfälscht das dritte stillschweigend. Bis diese Kernel upstream landen, gilt „läuft überall, wo llama.cpp läuft“ für dieses Modell noch nicht.
Die Veröffentlichung selbst steht außer Frage. Ein multimodales Modell der 27B-Klasse mit 5,93 GB, bei einem Neuntel des Platzbedarfs dessen, woraus es komprimiert wurde, mit Mathematik- und Coding-Leistungen auf Augenhöhe mit dem Ausgangsmodell und etwas besserer Instruktionsbefolgung, ist ein wirklich anderer Betriebspunkt für lokale Inferenz. Die vernünftige Haltung am 18. September 2026 ist es, die Dateigröße als Tatsache zu nehmen, den Retentionswert als sorgfältig formulierte Anbieteraussage zu behandeln, die einen Tag zuvor auf einer vom Anbieter gewählten Testsuite gemacht wurde, und mit dem Urteil über den eigenen Workload zurückzuhalten, bis man es auf ihm ausgeführt hat.
Der Runtime-Ablation-Code, die Ablehnungsrichtung und die vollständigen Evaluierungstabellen werden veröffentlicht von OrcaRouter, zusammen mit der Routing-Plattform, die das Team entwickelt.
