Traduit de l'anglais

bitsandbytes 是一个开源的 Python 库,用于在 GPU 上以降低的精度对机器学习模型进行量化和运行,广泛应用于深度学习以及大型语言模型的推理和微调。

bitsandbytes est une bibliothèque Python open-source qui fournit des wrappers légers pour quantifier et exécuter des modèles d'apprentissage automatique avec une précision numérique réduite sur des unités de traitement graphique (GPU). Elle permet une utilisation mémoire plus efficace et un calcul plus rapide pour les charges de travail d'apprentissage profond, en particulier pour l'entraînement, le réglage fin et l'inférence de grands modèles de langage. La bibliothèque est largement adoptée dans l'écosystème de l'intelligence artificielle, souvent intégrée à des frameworks populaires tels que Hugging Face Transformers et PyTorch.

Le projet est issu de recherches sur les optimiseurs 8 bits et les techniques de quantification, et a été publié pour la première fois en 2021 par Tim Dettmers, alors chercheur à l'Université de Washington. Il a gagné en importance en tant qu'outil pratique pour exécuter de grands modèles sur du matériel grand public, en réduisant les besoins en mémoire GPU en représentant les poids et les activations dans des formats de précision inférieure, tels que les entiers 8 bits (int8) et les nombres à virgule flottante 4 bits (nf4).

Fonctionnalités principales

bitsandbytes fournit plusieurs composants clés. Ses optimiseurs 8 bits, y compris Adam et ses variantes, réduisent la mémoire d'état de l'optimiseur pendant l'entraînement. La bibliothèque propose également des fonctions de quantification qui convertissent les poids du modèle d'un format 32 bits à virgule flottante (fp32) vers des formats 8 bits ou 4 bits, avec une déquantification pour le calcul. Une caractéristique notable est la méthode LLM.int8(), qui permet l'inférence de grands modèles de type transformeur avec une dégradation de performance minimale en utilisant une décomposition à précision mixte : les caractéristiques aberrantes sont traitées en fp16 tandis que la majorité des multiplications matricielles utilisent int8.

Pour la quantification 4 bits, bitsandbytes implémente le type de données NormalFloat (NF4), conçu pour les distributions normalement distribuées, et prend en charge QLoRA (Quantized Low-Rank Adaptation), une technique de réglage fin de grands modèles sur un seul GPU. QLoRA combine une quantification 4 bits du modèle de base avec des adaptateurs de bas rang, permettant un réglage fin efficace en termes de paramètres.

Intégration et utilisation

La bibliothèque s'intègre de manière transparente avec PyTorch, nécessitant des modifications minimales du code. Les utilisateurs peuvent charger des modèles en précision 8 bits ou 4 bits via la bibliothèque transformers en passant load_in_8bit=True ou load_in_4bit=True. Elle prend également en charge le déchargement sur CPU, permettant d'exécuter des modèles plus grands que la mémoire GPU en transférant des couches vers la RAM système. bitsandbytes est compatible avec les GPU NVIDIA avec une capacité de calcul 7.5 ou supérieure (par exemple, les architectures Turing, Ampere, Ada Lovelace).

En 2024, la bibliothèque prend en charge une gamme de matériel, y compris les GPU AMD récents via ROCm, et a été testée sur Apple Silicon via des shaders Metal dans des versions expérimentales. Elle est également utilisée dans des environnements cloud tels que Amazon Web Services, Microsoft Azure et Google Cloud, où les instances GPU sont courantes.

Impact sur le déploiement de modèles

bitsandbytes a abaissé la barrière à l'exécution de grands modèles. Par exemple, un modèle de 70 milliards de paramètres qui nécessiterait plus de 140 Go de mémoire en fp16 peut être chargé en précision 4 bits en utilisant environ 35 Go, s'adaptant à un GPU haut de gamme comme un NVIDIA A100 ou RTX 4090. Cette capacité a permis aux chercheurs et aux amateurs d'expérimenter avec des modèles de pointe sans avoir accès à de grands clusters.

La bibliothèque est une pierre angulaire de la communauté open-source de l'IA, avec des milliers de projets sur GitHub qui en dépendent. Elle a été citée dans de nombreux articles académiques, notamment l'article QLoRA (2023), qui a démontré le réglage fin d'un modèle de 65 milliards de paramètres sur un seul GPU de 48 Go.

Développement et communauté

bitsandbytes est maintenu par une petite équipe de contributeurs, avec Tim Dettmers comme auteur principal. Il est publié sous la licence MIT, permettant une utilisation commerciale et académique libre. Le développement du projet est soutenu par des contributions de la communauté, et il est fréquemment mis à jour pour prendre en charge de nouvelles architectures GPU et méthodes de quantification. En 2025, la bibliothèque compte plus de 10 000 étoiles sur GitHub et est un outil standard dans de nombreux pipelines d'IA générative.

Limitations et considérations

Bien que la quantification réduise la mémoire, elle peut introduire une légère perte de précision, en particulier pour de très grands modèles ou des tâches nécessitant une haute précision numérique. Les performances de la bibliothèque dépendent du support GPU ; les GPU plus anciens sans support des tenseurs peuvent voir des vitesses plus lentes. De plus, certaines opérations, comme certains mécanismes d'attention, peuvent ne pas être entièrement optimisées en mode quantifié, nécessitant des replis vers une précision plus élevée.

Malgré ces limitations, bitsandbytes reste une pièce d'infrastructure critique pour une IA efficace, complétant d'autres techniques d'optimisation comme l'élagage et la distillation. Son évolution continue reflète la tendance plus large à rendre les modèles de réseaux de neurones plus accessibles et durables.

Voir aussi

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·deep-learning·gpu-computing·open-source-software
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique