BitNet b1.58: Microsofts 1-Bit-LLM, das ein 100-B-Modell auf einer einzelnen CPU ausführt
Table of Contents
- Einführung
- Das Problem: LLMs sind zu teuer, um überall zu sein
- Die Lösung: BitNet b1.58 – Architektur für ternäre Gewichte
- Erste Schritte: Führen Sie BitNet b1.58 noch heute auf Ihrem Computer aus
- Unter der Haube: Warum BitNet schnell ist – und warum es wichtig ist
- Wo BitNet b1.58 im Vergleich zu Konkurrenzmodellen steht
- Fortgeschritten: Produktionsbereitstellungsmuster
- Vergleich und Alternativen: Wo BitNet im Quantisierungsökosystem steht
- Fazit und nächste Schritte
Einführung
!BitNet b1.58 performance benchmarks: 1-bit vs full precision across latency, memory, accuracy
Im April 2025 hat Microsoft Research stillschweigend eine der am längsten gehegten Annahmen der KI zunichte gemacht: dass man Gleitkommagewichte mit voller Präzision benötigt, um eine gute Leistung aus einem großen Sprachmodell zu erzielen. Sie veröffentlichten BitNet b1.58 2B4T, das erste Open-Source-Modell für große Sprachen, das von Grund auf ausschließlich mit ternären Gewichten – den Werten „{-1, 0, +1}“ – trainiert wurde und Ergebnisse lieferte, die bei den meisten Benchmarks mit den Modellen übereinstimmen oder diese um das Zehnfache übertreffen.
Der Name „1,58-Bit“ beruht auf einer einfachen Erkenntnis aus der Informationstheorie: Für die Darstellung dreier unterschiedlicher Zustände sind „log₂(3) ≈ 1,58“ Bits erforderlich. Durch die Beschränkung jedes einzelnen Parameters auf diese drei Werte erreicht BitNet die theoretische Grenze dessen, was ein Gewichtungssystem mit drei Zuständen kodieren kann. Die Bezeichnung „b1.58“ ist kein Marketinggag – sie ist präzise, messbar und nachweislich optimal für die ternäre Quantisierung.
Die Zahlen sind frappierend. Ein 2-Milliarden-Parameter-Modell, das in weniger als 700 MB Speicherplatz passt. Ein 100-Milliarden-Parameter-Modell, das mit 5–7 Token pro Sekunde auf einer einzelnen CPU läuft – ungefähr menschliche Lesegeschwindigkeit. Eine Energieeffizienzsteigerung von bis zu 82,2 % auf x86-CPUs im Vergleich zu Vollpräzisions-Basislinien. Dies ist keine inkrementelle Optimierung. Dies ist ein neuer Punkt an der Pareto-Grenze.
In diesem Artikel erläutern wir, wie BitNet unter der Haube funktioniert, wo es im Vergleich zu Konkurrenzmodellen wie Qwen2.5, Gemma und SmolLM2 abschneidet, wie Sie es heute lokal zum Laufen bringen können und was die Zukunft für 1-Bit-KI-Infrastruktur bereithält.
Das Problem: LLMs sind zu teuer, um überall zu sein
Um zu verstehen, warum BitNet wichtig ist, müssen Sie mit einer harten Wahrheit beginnen: Offene LLMs auf dem neuesten Stand der Technik sind für die meisten realen Einsatzszenarien unpraktisch.
Die Zahlen erzählen die Geschichte. Das Ausführen eines 7-Milliarden-Parametermodells mit voller Präzision erfordert etwa 14 GB VRAM für die Inferenz. Quantisieren Sie es auf 4-Bit und Sie benötigen immer noch knapp 4 GB. In beiden Fällen sind die meisten Consumer-Laptops, Edge-Geräte und Mikroserver gesperrt. Selbst bescheidene Inferenzserver kosten monatlich Hunderte von Dollar an GPU-Stunden. Für ein Startup, das einen Chatbot erstellt, ein Team, das einen internen Wissensassistenten einsetzt, oder einen Entwickler, der Experimente auf einem Laptop durchführt – die Modellqualität mag vorhanden sein, die Infrastruktur jedoch nicht.
Bestehende Quantisierungsmethoden – INT4, INT8, GPTQ, AWQ – wurden als Post-Training-Schritte konzipiert, die auf Modelle mit voller Präzision angewendet werden. Sie komprimieren effektiv den Speicherbedarf, sind aber grundsätzlich begrenzt: Sie rechnen immer noch mit Werten, die sich grundsätzlich wie Gleitkommazahlen verhalten. Sie reduzieren die Kosten der Skalierung; Sie ändern nicht die Geometrie des Problems.
Was die Branche wirklich braucht, ist eine Modellarchitektur, die von Grund auf für eine Darstellung mit minimaler Präzision konzipiert ist – eine Architektur, bei der der Trainingsprozess selbst von Natur aus diskrete Gewichte erzeugt. Genau das bietet BitNet.
Die Lösung: BitNet b1.58 – Architektur für ternäre Gewichte
BitNet b1.58 ist keine quantisierte Version eines Modells mit voller Präzision. Es wurde von Grund auf trainiert auf einem 4-Billionen-Token-Korpus, wobei alle linearen Schichten durch eine neue benutzerdefinierte „BitLinear“-Schicht ersetzt wurden, die ternäre Gewichte während des gesamten Trainingsprozesses erzwingt. Diese Unterscheidung ist von enormer Bedeutung: Bei der Quantisierung nach dem Training geht bei der Übersetzung immer etwas verloren. Durch das native Training mit 1,58-Bit-Präzision wird sichergestellt, dass keine Präzisionsverluste auftreten.
Das ternäre Gewicht: {-1, 0, +1}
Die Kernquantisierung verwendet ein Absmean-Schema, das bei jedem Vorwärtsdurchlauf Gleitkomma-Gewichtungswerte einem vorzeichenbehafteten ganzzahligen Ternärsatz zuordnet. Der Skalierungsfaktor wird als Kehrwert des mittleren Absolutwerts über den Gewichtungstensor berechnet:
„ scale_w = 1 / Mittelwert(|W_ij|) W_quantisiert = Klammer(-1, 1)(rund(W × Skala_w)) „
Der Nullwert ist nicht nur praktisch – er führt auch zu nützlicher Sparsamkeit. Ungefähr 40–60 % der Gewichtungen in einem auf diese Weise quantisierten Modell landen bei oder nahe Null, was bedeutet, dass die Matrixmultiplikationen ganze Rechenschritte überspringen können. Dabei handelt es sich um den gleichen Sparsity-Trick, der den Mixture-of-Experts-Modellen zugrunde liegt – mit der Ausnahme, dass die Sparsity hier eine Eigenschaft des Quantisierungsschemas und keine bewusste architektonische Routing-Wahl ist.
BitLinear: Der Baustein
Jeder „torch.nn.Linear“ im Transformator wird durch eine „BitLinear“-Schicht mit drei Modifikationen ersetzt:
- Gewichtsquantisierung zu ternärem
{-1,0, +1}über absmean (oben) - Aktivierungsquantisierung auf INT8 über absmax, pro Token angewendet – behält die maximale absolute Aktivierung pro Zeile auf 127 bei und verschiebt die Aktivierungen des gesamten Tokens in den INT8-Bereich, ohne dass relative Informationen verloren gehen
- SubLayerNorm (eine vereinfachte Variante von LayerNorm), platziert vor der Aktivierungsquantisierung für Trainingsstabilität im quantisierten Regime
Die Trainingspipeline führt Straight Through Estimator (STE) ein, um das nicht differenzierbare „round()“ in der Quantisierungsfunktion zu verarbeiten – während des Rückwärtsdurchlaufs wird der Rundungsschritt durch eine Identität ersetzt (Abtrennen), sodass die Quantisierung effektiv als differenzierbar behandelt wird. In Kombination mit „Squared ReLU“-Aktivierungsfunktionen in den Feed-Forward-Schichten und rotierenden Positionseinbettungen (RoPE) konvergiert die Architektur stabil auf diesem extremen Präzisionsniveau.
Was „1,58 Bit“ eigentlich bedeutet – und warum es besser ist als „1 Bit“
Ein häufiger Punkt für Verwirrung: Bedeutet „1,58 Bit“ 1 Bit? Nicht ganz. Ein einzelnes Trit kodiert log₂(3) ≈ 1,585 Bits an Informationen. Ein Netzwerk aus 1000 solchen Trits speichert ungefähr 1585 Bit Informationskapazität.
Im Gegensatz dazu kann ein echtes 1-Bit-Binärnetzwerk nur zwischen „{−1, +1}“ unterscheiden – keine Null, also keine Sparsity, keine effizienten Sprungmechanismen. Die Autoren von BitNet b1.58 zeigten, dass das Hinzufügen des dritten Zustands (Null) rein binäre Ansätze deutlich übertrifft, ohne die Speicherkosten wesentlich zu ändern. Die zusätzlichen ~0,58 Bit pro Gewicht sind ein Schnäppchen für die Genauigkeits- und Effizienzgewinne, die sie ermöglichen.
Erste Schritte: Führen Sie BitNet b1.58 noch heute auf Ihrem Computer aus
BitNet b1.58 funktioniert auf CPUs (x86 und ARM), wobei GPU-Kernel im Mai 2025 veröffentlicht werden und NPU-Unterstützung auf der Roadmap steht. Hier erfahren Sie, wie Sie beginnen.
Installieren Sie bitnet.cpp
Das offizielle Inferenz-Framework ist microsoft/BitNet, ein C++/Python-Framework, das auf der „llama.cpp“-Grundlage basiert:
„Bash
Klonen Sie das Repo
Git-Klon https://github.com/microsoft/BitNet.git CD BitNet
Python-Abhängigkeiten installieren
pip install -r Anforderungen.txt
Laden Sie das empfohlene Modell herunter (2B, I2_S-Quantisierung)
python utils/prepare_model.py microsoft/BitNet-b1.58-2B-4T „
Inferenz ausführen
„Bash
Starten Sie den Server
./build/bin/llama-server -m models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf
-c 2048 --threads 4
Senden Sie eine Vervollständigung über die API (Standard: http://localhost:8080)
curl http://localhost:8080/completion -H "Content-Type: application/json"
-d '{"prompt": "Erklären Sie Quantencomputing in einem Absatz.", "n_predict": 256}'
„
Auf einer modernen Laptop-CPU sollten Sie Antworten im Bereich von Hunderten von Token pro Sekunde sehen. Auf einem 100B-skalierten Modell – immer noch eine einzelne CPU – sehen Sie ~5 t/s, was in Echtzeit lesbar ist. Dieser letzte Punkt hat tiefgreifende Auswirkungen.
Alternative zum Umarmen des Gesichts: Optimieren Sie Ihre eigene
Wenn Sie vorhandene Modelle verfeinern möchten, anstatt sie von Grund auf zu trainieren, hat das Team von Hugging Face im September 2024 eine Pipeline veröffentlicht, die jedes vorhandene LLM ohne erneutes Training von Grund auf an die 1,58-Bit-Präzision anpasst. Mit nur einer Pip-Installation der neuesten „Transformer“:
„Python aus Transformatoren importieren AutoModelForCausalLM, AutoTokenizer Taschenlampe importieren
model = AutoModelForCausalLM.from_pretrained( „HF1BitLLM/Llama3-8B-1.58-100B-tokens“, device_map="cuda", Torch_dtype=torch.bfloat16, ) tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct") „
Dies ist erweiterbar, zugänglich und sofort nützlich für alle, die bereits im Hugging Face-Ökosystem arbeiten.
Unter der Haube: Warum BitNet schnell ist – und warum es wichtig ist
Extreme Speicherdichte
Ein 2-Milliarden-Parameter-Modell mit 1,58 Bit pro Parameter wiegt ungefähr 400 MB Modellgewichte – ungefähr das, was ein einzelnes hochauflösendes Foto einnimmt. Dies ist nicht nur eine technische Kuriosität; Es ermöglicht Einsatzszenarien, die vorher einfach unmöglich waren:
Die Energiearithmetik
Die leiseste Zahl im BitNet-Artikel findet sich in einer Vergleichstabelle des Energieverbrauchs für Matrixmultiplikationsoperationen:
Eine einzelne INT8-Matrixmultiplikation verbraucht ungefähr 4,4 % der Energie einer FP16-Multiplikation für Additionen und ~20,5 % für Multiplikationen. Da BitNet FP16-Multiplikations-Add-Operationen durch INT8-Additions-Operationen ersetzt – wobei die Addition selbst hinsichtlich der Energie trivial ist – summieren sich die gesamten Energieeinsparungen über Milliarden von Operationen pro Inferenzdurchgang auf 71,9 % bis 82,2 % Energieeinsparung auf x86 und 55,4 % bis 70,0 % auf ARM.
Dies ist nicht nur ein schnelleres Laptop-Erlebnis. Dies ist ein grundlegender Wandel in der Kosten-pro-Token-Physik der KI-Inferenz, mit direkten Auswirkungen auf den ökologischen Fußabdruck der Ausführung von LLMs in großem Maßstab.
Wie BitNet.cpp Geschwindigkeit erreicht
Die BitNet.cpp-Inferenz-Engine basiert auf Lookup-Table (LUT)-optimierten Kerneln, die von [T-MAC] (https://github.com/microsoft/T-MAC) inspiriert sind, einem Microsoft-Projekt, das sich auf die Ausführung von Tensoroperationen auf Cortex-M-Mikrocontrollern konzentriert:
– Parallele Kernel-Implementierungen, die im Januar 2026 veröffentlicht wurden, fügten konfigurierbare Kacheln über Hardwareplattformen hinweg hinzu und sorgten so für eine zusätzliche Beschleunigung um das 1,15- bis 2,1-fache
- 2B-Parametermodell-Demo: Eine von Azure gehostete Live-Demo („demo-bitnet-h0h8hcfqeqhrf5gf.canadacentral-01.azurewebsites.net“) führt BitNet b1.58 3B auf einem Apple M2 aus und ist für jedermann ohne Einrichtung zugänglich
- Speicherzugeordneter Gewichtungsspeicher: Da es sich bei Gewichtungen nur um Suchvorgänge aus einem kleinen Satz von „{-1, 0, +1}“-Werten handelt, vermeidet der Kernel die Speichermauer, die bei herkömmlichen Gewichtungsspeicherdesigns auftritt
Die Veröffentlichung des GPU-Inferenzkernels im Jahr 2025 hat die Geschichte dramatisch erweitert. Während die CPU-Inferenz nach wie vor das Hauptthema der Leistung ist, ermöglicht der GPU-Kernel den Einsatz von BitNet b1.58-Modellen in Kontexten, die Durchsatz und nicht nur reine Latenz erfordern.
Wo BitNet b1.58 im Vergleich zu Konkurrenzmodellen steht
Wie funktioniert tatsächlich ein ternär quantisiertes 2B-Modell mit 400 MB? Der technische Bericht vom April 2025 vergleicht BitNet b1.58 2B4T mit den wettbewerbsfähigsten Open-Weight-Modellen im Parameterbereich 1–3B:
BitNet b1.58 2B4T führt bei ARC-Challenge, GSM8K und CommonsenseQA – Bereichen, die präzises Denken und den Abruf von Weltwissen erfordern – und bleibt bei Aufgaben des gesunden Menschenverstandes und des logischen Denkens konkurrenzfähig.
Am auffälligsten ist, dass dies bei einem ~4,5-mal geringeren Speicherbedarf als beim nächsten Konkurrenten geschieht. Der Vergleich der Inferenzlatenz ist ebenso beeindruckend: In den Community-Benchmarks wurde eine Latenz von 29 ms im Vergleich zum Bereich von 50–200 ms der Konkurrenz verzeichnet. Die meisten getesteten Modelle lagen im Parameterbereich 1B–2B. BitNet b1.58 war in jeder Hinsicht schneller.
Community-Diskussionen zu Reddits r/LocalLLaMA bestätigten diese Ergebnisse ebenfalls. Ein Benchmarker ließ speziell 1-Bit-Modelle auf ARM und x86 laufen und stellte fest, dass BitNet b1.58 das schnellste 1-Bit-Modell auf allen Plattformen ist – obwohl er feststellte, dass das Feld noch ausgereift ist.
Fortgeschritten: Produktionsbereitstellungsmuster
Serverlos auf AWS Lambda
AWS-Mitarbeiter Manu Mishra hat ein vollständiges Tutorial zum Ausführen von BitNet b1.58 auf AWS Lambda als Containerfunktion veröffentlicht. Die wichtigsten Erkenntnisse aus diesem Muster:
„Python
Lambda-spezifische Umgebung – Threading-Konflikte verhindern
Betriebssystem importieren os.environ['OMP_NUM_THREADS'] = '1' os.environ['OMP_THREAD_LIMIT'] = '1' os.environ['GGML_OPENMP'] = 'OFF' os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE' „
Das Container-Image wiegt etwa 1,1 GB inklusive aller Abhängigkeiten – innerhalb der Lambda-Grenze von 250 MB komprimiert bzw. 10 GB entpackt – und verwendet einen zweistufigen Docker-Build, um alle Build-Artefakte aus dem endgültigen Image auszuschließen. Dies legt ein konkretes Muster für serverloses BitNet in jeder FaaS-Umgebung fest.
On-Device-KI und Edge-Inferenz
Da der reine CPU-Inferenzpfad keine spezielle Hardware erfordert, ist BitNet b1.58 ein natürlicher Kandidat für:
- Smartphone-On-Device-KI: Der Platzbedarf des 400-MB-Modells ist klein genug, um Apps vorab zu bündeln
- Raspberry Pi / SBC-Inferenz: Läuft vollständig auf ARM-Einplatinencomputern ohne GPU-Anforderungen
- Browser / WebAssembly: Eine interessante Langzeitstudierm Möglichkeit; BitNet.cpp ist C++ und könnte zu WASM kompiliert werden
- IoT-Controller-KI: Das Token-Energiebudget von ~0,028 J pro Inferenz und die geringen Speicheranforderungen machen dies zur ersten glaubwürdigen LLM-Klassenoption für batteriebetriebene Edge-Geräte
Vergleich und Alternativen: Wo BitNet im Quantisierungsökosystem steht
Der Hauptunterschied ist nativ vs. Nachbehandlung: BitNet b1.58 wurde für ternäre Gewichte entwickelt und trainiert. Jede Quantisierungstechnik nach dem Training führt zu einem Präzisionsverlust bei einem Modell, das nie dafür entwickelt wurde. BitNet b1.58 hat die Einschränkung aus dem ersten Optimierungsschritt verinnerlicht.
Alternativen im Raum:
- Sparse-Modelle von Neural Magic – aggressive Gewichtsbereinigung + Quantisierung; äußerst wettbewerbsfähige Leistung, aber das Ökosystem ist weniger ausgereift und die Lizenzierung kann restriktiv sein
- TinyLlama / SMS-1B – 1.1B-Modelle ohne Schichten; Gut für Hobbyprojekte, erreicht aber keine vergleichbare Genauigkeit
- Destillation im DistilBERT-Stil – Wissensdestillation kann 1,58-Bit-Gewinne weiter vorantreiben; Die Forschung in dieser Richtung ist im Gange
Fazit und nächste Schritte
BitNet b1.58 ist nicht nur ein ordentliches Papierergebnis. Es stellt die wirtschaftlichen Annahmen darüber in Frage, was der Betrieb eines LLM kostet – für Hardware, Energie und Zeit. Ein 2B-400-MB-Modell, das Sie auf einem Laptop ohne GPU ausführen können, das die Konkurrenz bei Argumentationsaufgaben um ein Vielfaches übertrifft und das durch eine saubere Architekturänderung (Ersetzen von Linear durch BitLinear und Training von Grund auf) erreicht wurde, ist ein wirklich bahnbrechendes Ergebnis.
Microsoft Research hört nicht bei 2B auf. Sie haben klare Forschungsrichtungen für die Zukunft festgelegt: größere 1-Bit-LLM-Varianten, mehrsprachige Fähigkeiten, multimodale Erweiterungen, längere Kontextfenster und – was vielleicht am aufregendsten ist – dedizierte Hardwarelogik für Ternär-/Trit-Berechnungen, die einen Effizienzsprung zweiter Ordnung ermöglichen könnten, der über das hinausgeht, was aktuelle x86- und ARM-Prozessoren bieten können.
Was Sie heute tun können:
- ⭐ Starke das Repo: github.com/microsoft/BitNet
- 🚀 BitNet lokal ausführen: Klonen und erstellen Sie „bitnet.cpp“ – auf einem modernen Computer dauert es weniger als 10 Minuten
- 🐳 Probieren Sie die Live-Demo aus: demo-bitnet-h0h8hcfqeqhrf5gf.canadacentral-01.azurewebsites.net
- 📚 Lesen Sie den Artikel: The Era of 1-bit LLMs und den BitNet b1.58 2B4T Technical Report
- 🔬 Feinabstimmung bei Hugging Face: Schnappen Sie sich das 1,58-Bit-Llama 3 8B-Modell von HF1BitLLM und iterieren Sie
Die Ära der 1-Bit-LLMs ist keine Randkuriosität. Es ist da, es ist Open Source, und es könnte gut sein, dass die meiste KI in drei bis fünf Jahren auf diese Weise zum Einsatz kommt. Die Frage ist nicht mehr, ob 1-Bit-LLMs funktionieren – sondern ob Sie bereit sind, mit ihnen zu bauen.