bitsandbytes ist eine Open-Source-Python-Bibliothek, die leichtgewichtige Wrapper für die Quantisierung und Ausführung von Maschinenlern-Modellen mit reduzierter numerischer Präzision auf Grafikprozessoren (GPUs) bereitstellt. Sie ermöglicht eine effiziente Speichernutzung und schnellere Berechnungen für Deep-Learning-Workloads, insbesondere für das Training, die Feinabstimmung und die Inferenz von Large-Language-Modellen. Die Bibliothek ist im Künstliche-Intelligenz-Ökosystem weit verbreitet und wird häufig in beliebte Frameworks wie Hugging Face Transformers und PyTorch integriert.
Das Projekt entstand aus der Forschung zu 8-Bit-Optimierern und Quantisierungstechniken und wurde 2021 erstmals von Tim Dettmers, damals Forscher an der University of Washington, veröffentlicht. Es erlangte Bekanntheit als praktisches Werkzeug zur Ausführung großer Modelle auf Consumer-Hardware, da es den GPU-Speicherbedarf reduziert, indem Gewichte und Aktivierungen in Formaten mit niedrigerer Präzision wie 8-Bit-Ganzzahlen (int8) und 4-Bit-Gleitkommazahlen (nf4) dargestellt werden.
Kernfunktionalität
bitsandbytes bietet mehrere Schlüsselkomponenten. Seine 8-Bit-Optimierer, einschließlich Adam- und SGD-Varianten, reduzieren den Speicherbedarf des Optimiererzustands während des Trainings. Die Bibliothek bietet außerdem Quantisierungsfunktionen, die Modellgewichte von 32-Bit-Gleitkommazahlen (fp32) in 8-Bit- oder 4-Bit-Formate umwandeln, mit Dequantisierung für die Berechnung. Ein bemerkenswertes Merkmal ist die Methode LLM.int8(), die die Inferenz großer Modelle wie Transformer-basierter Architekturen mit minimaler Leistungseinbuße ermöglicht, indem sie eine gemischtpräzise Zerlegung verwendet: Ausreißer-Features werden in fp16 verarbeitet, während der Großteil der Matrixmultiplikationen int8 verwendet.
Für die 4-Bit-Quantisierung implementiert bitsandbytes den NormalFloat-Datentyp (NF4), der für normalverteilte Gewichte entwickelt wurde, und unterstützt QLoRA (Quantized Low-Rank Adaptation), eine Technik zur Feinabstimmung großer Modelle auf einer einzelnen GPU. QLoRA kombiniert die 4-Bit-Quantisierung des Basismodells mit Low-Rank-Adaptern und ermöglicht eine effiziente parameter-effiziente Feinabstimmung.
Integration und Verwendung
Die Bibliothek integriert sich nahtlos in PyTorch und erfordert nur minimale Codeänderungen. Benutzer können Modelle in 8-Bit- oder 4-Bit-Präzision über die transformers-Bibliothek laden, indem sie load_in_8bit=True oder load_in_4bit=True übergeben. Sie unterstützt auch CPU-Offloading, wodurch Modelle, die größer als der GPU-Speicher sind, ausgeführt werden können, indem Schichten auf den Systemspeicher übertragen werden. bitsandbytes ist mit NVIDIA-GPUs mit Compute Capability 7.5 oder höher kompatibel (z. B. Turing-, Ampere-, Ada-Lovelace-Architekturen).
Stand 2024 unterstützt die Bibliothek eine Reihe von Hardware, einschließlich neuerer AMD-GPUs über ROCm, und wurde in experimentellen Builds auf Apple-Silicon über Metal Performance Shaders getestet. Sie wird auch in Cloud-Umgebungen wie Amazon Web Services, Azure und Google Cloud verwendet, wo GPU-Instanzen üblich sind.
Auswirkungen auf die Modellbereitstellung
bitsandbytes hat die Hürde für die Ausführung großer Modelle gesenkt. Beispielsweise kann ein Modell mit 70 Milliarden Parametern, das in fp16 über 140 GB Speicher benötigen würde, in 4-Bit-Präzision mit etwa 35 GB geladen werden und passt auf eine einzelne High-End-GPU wie eine NVIDIA A100 oder RTX 4090. Diese Fähigkeit hat Forschern und Hobbyisten ermöglicht, mit modernsten Modellen zu experimentieren, ohne Zugang zu großen Clustern zu haben.
Die Bibliothek ist ein Eckpfeiler der Open-Source-KI-Community, mit Tausenden von Projekten auf GitHub, die von ihr abhängen. Sie wurde in zahlreichen akademischen Arbeiten zitiert, einschließlich der QLoRA-Publikation (2023), die die Feinabstimmung eines Modells mit 65 Milliarden Parametern auf einer einzelnen 48-GB-GPU demonstrierte.
Entwicklung und Community
bitsandbytes wird von einem kleinen Team von Mitwirkenden gepflegt, mit Tim Dettmers als Hauptautor. Es ist unter der MIT-Lizenz veröffentlicht, die eine freie kommerzielle und akademische Nutzung erlaubt. Die Entwicklung des Projekts wird durch Community-Beiträge unterstützt, und es wird regelmäßig aktualisiert, um neue GPU-Architekturen und Quantisierungsmethoden zu unterstützen. Stand 2025 hat die Bibliothek über 10.000 GitHub-Sterne und ist ein Standardwerkzeug in vielen Generative-KI-Pipelines.
Einschränkungen und Überlegungen
Während die Quantisierung den Speicher reduziert, kann sie einen leichten Genauigkeitsverlust einführen, insbesondere bei sehr großen Modellen oder Aufgaben, die eine hohe numerische Präzision erfordern. Die Leistung der Bibliothek hängt von der GPU-Unterstützung ab; ältere GPUs ohne Tensor-Core-Unterstützung können langsamere Geschwindigkeiten aufweisen. Darüber hinaus sind einige Operationen, wie bestimmte Aufmerksamkeitsmechanismen, möglicherweise nicht vollständig im quantisierten Modus optimiert, was Rückgriffe auf höhere Präzision erfordert.
Trotz dieser Einschränkungen bleibt bitsandbytes ein kritisches Infrastrukturelement für effiziente KI und ergänzt andere Optimierungstechniken wie Pruning und Distillation. Seine kontinuierliche Weiterentwicklung spiegelt den breiteren Trend wider, neuronale-Netzwerk-Modelle zugänglicher und nachhaltiger zu machen.