17 Punkte von GN⁺ 2026-03-13 | 1 Kommentare | Auf WhatsApp teilen
  • Microsofts bitnet.cpp ist das offizielle Inferenz-Framework für 1-Bit-LLMs (Large Language Models) und unterstützt schnelle, verlustfreie Inferenz auf CPU und GPU
  • Auf ARM-CPUs werden 1,37- bis 5,07-fache Geschwindigkeitssteigerungen und 55,4–70 % Energieeinsparung, auf x86-CPUs 2,37- bis 6,17-fache Geschwindigkeitssteigerungen und 71,9–82,2 % Energieeinsparung erreicht
  • Durch zusätzliche parallele Kernel-Implementierung und Embedding-Quantisierung wird gegenüber bisher eine weitere Leistungssteigerung um das 1,15- bis 2,1-Fache erzielt
  • Das Modell BitNet b1.58 kann auf einer einzelnen CPU mit 5–7 Token pro Sekunde ausgeführt werden, was die Nutzung extrem großer Modelle in lokalen Umgebungen realistischer macht
  • Es wurde auf Basis von llama.cpp und T-MAC entwickelt und trägt zur Erweiterung des Open-Source-Ökosystems für effizientere Low-Bit-LLM-Inferenz bei

Überblick über bitnet.cpp

  • bitnet.cpp ist das offizielle Inferenz-Framework für 1-Bit-LLMs (z. B. BitNet b1.58) und bietet optimierte Kernel für CPU und GPU
    • NPU-Unterstützung soll später ergänzt werden
  • Die erste Veröffentlichung unterstützt CPU-Inferenz und weist auf ARM- und x86-Architekturen Verbesserungen bei Geschwindigkeit und Energieeffizienz nach
    • ARM-CPU: 1,37- bis 5,07-fache Beschleunigung, 55,4–70 % Energieeinsparung
    • x86-CPU: 2,37- bis 6,17-fache Beschleunigung, 71,9–82,2 % Energieeinsparung
  • Das 100B-Parameter-Modell BitNet b1.58 kann auf einer einzelnen CPU mit 5–7 Token pro Sekunde ausgeführt werden

Neueste Optimierungen

  • Es wurden parallele Kernel-Implementierung sowie Funktionen für Tiling-Konfiguration und Embedding-Quantisierung ergänzt, wodurch gegenüber bisher eine zusätzliche Beschleunigung um das 1,15- bis 2,1-Fache erreicht wurde
  • Leistungsverbesserungen wurden auf verschiedenen Hardware-Plattformen und bei unterschiedlichen Workloads bestätigt
  • Detaillierte technische Inhalte sind im Dokument optimization guide enthalten

Demo und offizielle Modelle

  • Es gibt eine Demo, in der das BitNet b1.58 3B-Modell auf einem Apple M2 ausgeführt wird
  • Als offizielles Modell ist BitNet-b1.58-2B-4T auf Hugging Face veröffentlicht und wird auf x86- und ARM-CPUs unterstützt
  • Zu den unterstützten Modellen gehören bitnet_b1_58-large(0.7B), bitnet_b1_58-3B(3.3B), Llama3-8B-1.58, Falcon3 und die Falcon-E-Serie

Installation und Build

  • Anforderungen: Python 3.9 oder höher, CMake 3.22 oder höher, Clang 18 oder höher
    • Windows-Nutzer müssen Visual Studio 2022 installieren
    • Für Debian/Ubuntu-Nutzer steht ein automatisches Installationsskript bereit
  • Die Verwendung einer Conda-Umgebung wird empfohlen; mit setup_env.py lässt sich die Modellumgebung einrichten
  • Nach dem Herunterladen des Modells von Hugging Face kann es über einen lokalen Pfad ausgeführt werden

Nutzung und Benchmarks

  • Mit run_inference.py wird Inferenz mit quantisierten Modellen ausgeführt
    • Wichtige Argumente: Modellpfad (-m), Prompt (-p), Anzahl der Threads (-t), Kontextgröße (-c), Temperatur (-temp)
  • Mit dem Skript e2e_benchmark.py kann die Leistung gemessen werden, indem Token-Anzahl, Prompt-Länge und Thread-Anzahl angegeben werden
  • Falls kein öffentliches Modell verfügbar ist, kann mit generate-dummy-bitnet-model.py ein Dummy-Modell erzeugt und anschließend ein Benchmark ausgeführt werden

Modellkonvertierung und FAQ

  • Es wird ein Skript bereitgestellt, um .safetensors-Checkpoints in das gguf-Format zu konvertieren
  • Die FAQ erläutern Lösungen für llama.cpp-Build-Fehler (in Verbindung mit std::chrono) sowie die Einrichtung der clang-Umgebung unter Windows
    • Die Umgebung muss in der Visual-Studio-Entwickler-Eingabeaufforderung oder in PowerShell initialisiert werden

1 Kommentare

 
GN⁺ 2026-03-13
Hacker-News-Kommentare
  • Microsoft verwendet in Wirklichkeit 2 Bit statt 1,58 Bit
    In diesem Fall lassen sich vier Werte darstellen: -1, 0, 1, 2
    Angesichts dessen, dass inhibitorische Synapsen 20–30 % ausmachen, scheint diese Struktur gut zur Struktur des biologischen Gehirns zu passen

    • Ich würde mir eine genauere Erklärung zum dritten Satz wünschen, also zu dem Teil, dass „inhibitorische Synapsen 20–30 % ausmachen“
  • Ich frage mich oft, wie ein „minimal funktionsfähiges LLM“ aussehen würde
    Also ein Modell, das mit nur minimalen Informationen trotzdem hinreichend vernünftige Antworten geben kann, indem es den Rest googelt
    Wenn jemand wie Encyclopedia Britannica Daten an LLMs verkaufen und einen Dienst zur Ergebnisvalidierung anbieten würde, könnte das einen großen Unterschied machen
    Wikipedia ist auch gut, aber der hohe Anteil an menschlichen Fehlern und Bias ist bedauerlich

    • In einem kurzen Video von Andrej Karpathy spricht er über dieses Thema
      Kleine LLMs entwickeln sich bereits in diese Richtung: Allgemeinwissen fehlt oft noch, aber die Tool-Nutzung (z. B. Googeln) wird immer besser
      Allerdings ist es nach wie vor schwierig, klar zwischen dem zu unterscheiden, was das Modell weiß und was es nicht weiß
    • Ich denke dabei weniger an ein „minimal funktionsfähiges LLM“ als an ein LLM, das nur Sprache gut beherrscht, aber fast kein Wissen hat
      Wie ein Ingenieur, der ein bestimmtes Gerät nicht kennt: problemlösungsfähig, aber ohne Detailwissen
      Ob so ein Modell das allein durch Googeln oder Wiki-Suche lösen kann, ist fraglich, aber Edge-LLM-Architekturen scheinen künftig zum Standard zu werden
    • Reasoning-Fähigkeit hängt letztlich von der während des Trainings verfügbaren Informationsmenge ab
      Je eher Informationen in den Trainingsdaten enthalten sind, desto leichter lassen sie sich abrufen und interpretieren
      Daher könnte ein Training, das eher auf externem Speicher (Suche usw.) als auf internem Auswendiglernen basiert, praktischer sein
    • Sich über Fehler und Bias in Wikipedia zu sorgen und gleichzeitig anzunehmen, dass ein LLM mit Webzugriff besser wäre, wirkt auf mich widersprüchlich
      Ich denke eher das Gegenteil
    • Was als „vernünftige Antwort“ gilt, dürfte stark davon abhängen, welches konkrete Niveau man darunter versteht
  • Laut Originalpaper (pdf) braucht man gegenüber einem fp16-Modell etwa 4- bis 5-mal so viele Parameter
    Man kann es zwar selbst bauen, aber weil man von Grund auf neu trainieren muss, sind die Optionen begrenzt
    Trotzdem dürfte die Inferenzgeschwindigkeit höher sein als bei aktuellen quantisierten 4-Bit- und 8-Bit-Modellen

  • Der eigentliche Kernpunkt ist der Energieeinspareffekt
    Bei CPU-Inferenz sollen 70–82 % Einsparung möglich sein
    Wenn 1-Bit-Modelle gut genug werden, könnte man LLMs auf normaler Hardware auch ohne GPU betreiben, was die Zugänglichkeit grundlegend verändern würde

  • bitnet.cpp wird als offizielles Inferenz-Framework für 1-Bit-LLMs (BitNet b1.58 usw.) beschrieben,
    aber es gibt Verwirrung darüber, ob es sich um „1 Bit oder 1 Trit“ handelt

    • „1-Bit-LLM“ ist eher ein Marketingbegriff; tatsächlich werden drei Zustände (-1, 0, 1) verwendet, was 1,58 Bit entspricht
    • Da log₂(3)≈1,58 gilt, ist das kein 2-Zustands-(1-Bit)-, sondern ein 3-Zustands-(1,58-Bit)-Modell
      Die beiden Konzepte durcheinander zu verwenden, ist verwirrend
  • Es freut mich, dass dieses Projekt weiterentwickelt wird
    Letztes Jahr hatte ich nach diesem Beitrag Potenzial darin gesehen, war aber enttäuscht, dass keine neuen Modelle erschienen sind

    • Aber dieser Ansatz ist letztlich nur Quantisierung eines präzisen Modells; die Inferenz wird zwar schneller, das Training aber nicht
      Wirklich interessant ist die Richtung, binäre Modelle direkt ohne Gleitkommaoperationen zu trainieren
      Dazu gibt es ein Paper auf der NeurIPS 2024
  • Dass man „100B BitNet ausführen kann“, bedeutet nicht, dass ein solches Modell existiert, sondern dass ein Inferenz-Framework dafür möglich ist

    • Anscheinend wurde tatsächlich ein Dummy-Modell verwendet
      Auch wenn man nach „1-bit 100b model“ sucht, findet man kein herunterladbares Modell
  • Die Qualität der Modellausgaben ähnelt eher GPT-2-artigem Gemurmel und wiederholt ganze Absätze wortwörtlich
    Sogar gefälschte Zitate wie (Jenkins, 2010) werden ständig wiederverwendet

    • Allerdings ist dies ein 3B-Parameter-Basismodell von vor zwei Jahren, eine Forschungsversion, die nur mit 100B Tokens trainiert wurde
  • Der Titel ist irreführend
    Tatsächlich geht es nicht um ein trainiertes 100B-Modell, sondern um ein Inferenz-Framework, das so etwas verarbeiten kann
    Ich betreibe auf einem M2 Max 96GB ein quantisiertes 70B-Modell mit llama.cpp + LiteLLM, und die Speicherbandbreite ist der Flaschenhals
    Der 1,58-Bit-Ansatz hat auf der CPU ein grundlegend anderes Rechenmuster, bei dem Matrixmultiplikation in Additionen umgewandelt wird
    Wenn man ein Modell der 100B-Klasse auf einem einzelnen CPU-Kern mit 5–7 Tokens pro Sekunde betreiben könnte, wäre das ein Wendepunkt für On-Device-Inferenz
    Das Framework ist bereit, jetzt muss nur noch jemand das Modell tatsächlich trainieren

    • Wenn Microsoft in zwei Jahren nicht einmal selbst ein Modell trainiert hat, fällt es mir schwer, ihre Aussagen einfach so zu glauben
    • Von einem „neuen Modell“ zu sprechen, obwohl die Gewichte auf Hugging Face vor 11 Monaten hochgeladen wurden und nur auf dem Niveau von 2B Parametern liegen, ist gemessen am Hype ziemlich dürftig
    • 2-Bit-Operationen sind in Hardware sehr günstig umzusetzen; mit einem dedizierten Chip könnte starke Inferenz auch ohne GPU möglich werden
      Für das Training wären zwar weiterhin GPUs nötig, aber Hardware nur für Inferenz könnte deutlich einfacher werden
    • 5–7 Tokens pro Sekunde sind langsamer als die tatsächliche Lesegeschwindigkeit
      Ich habe schon ein Modell mit 7 Tokens/Sekunde verwendet, und es fühlte sich an, als würde man hinter einer langsamen Person herlaufen
      Lokal sollte man eher mindestens 10 Tokens pro Sekunde anpeilen
    • Ich bin skeptisch gegenüber der Behauptung, das „Rechenprofil auf der CPU sei grundlegend anders“
      Moderne CPUs haben FMA-(Fused Multiply-Add)-Befehle, deren Durchsatz fast dem einfacher Additionen entspricht
  • Ich frage mich, wann PCs mit NPU wirklich nennenswerte Ergebnisse liefern werden
    AMD erzielt mit hybriden NPU/iGPU-Inferenz-Kernels gute Resultate
    Wenn solche großen Modelle auf NPUs laufen, dürfte die Energieeffizienz im Vergleich zur CPU deutlich besser sein

    • Ich habe vor Kurzem OpenAIs Whisper auf der CPU ausgeführt und dann eine für Intel NPU optimierte Version ausprobiert; sie war 6-mal schneller und deutlich leiser
      Seitdem bin ich Fan von NPUs. Natürlich ist das nicht auf dem Niveau einer RTX 5090, aber viel effizienter als eine CPU
    • Selbst auf der NPU des Rockchip-RK3588-SBC lassen sich bereits kleine LLMs betreiben
      Das Software-Ökosystem ist zwar instabil, aber es läuft mit nahezu 0 % CPU-/GPU-Auslastung
    • Ich bin allerdings nicht sicher, ob NPUs wirklich so leistungsfähig sind
      Ich hatte sie eher als auf niedrigen Stromverbrauch ausgelegte Designs verstanden