17 points par GN⁺ 2026-03-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • bitnet.cpp de Microsoft est le framework officiel d’inférence pour les grands modèles de langage (LLM) 1 bit, avec une inférence rapide et sans perte sur CPU et GPU
  • Sur CPU ARM, il atteint une accélération de 1,37 à 5,07x et une réduction de la consommation d’énergie de 55,4 à 70 % ; sur CPU x86, une accélération de 2,37 à 6,17x et une réduction de 71,9 à 82,2 %
  • L’ajout d’une implémentation de noyaux parallèles et de la quantification des embeddings apporte un gain de performances supplémentaire de 1,15 à 2,1x
  • Le modèle BitNet b1.58 peut s’exécuter sur un seul CPU à une vitesse de 5 à 7 tokens par seconde, ce qui élargit les possibilités d’exploitation locale de modèles très volumineux
  • Développé sur la base de llama.cpp et T-MAC, il contribue à l’extension de l’écosystème open source visant à améliorer l’efficacité de l’inférence des LLM à faible nombre de bits

Présentation de bitnet.cpp

  • bitnet.cpp est le framework officiel d’inférence pour les LLM 1 bit (par ex. BitNet b1.58), avec des noyaux optimisés pour CPU et GPU
    • La prise en charge des NPU est prévue ultérieurement
  • La première version prend en charge l’inférence sur CPU et démontre des gains en vitesse et en efficacité énergétique sur les architectures ARM et x86
    • CPU ARM : accélération de 1,37 à 5,07x, réduction d’énergie de 55,4 à 70 %
    • CPU x86 : accélération de 2,37 à 6,17x, réduction d’énergie de 71,9 à 82,2 %
  • Le modèle BitNet b1.58 de 100B de paramètres peut s’exécuter sur un seul CPU à une vitesse de 5 à 7 tokens par seconde

Dernières optimisations

  • L’ajout d’une implémentation de noyaux parallèles, de la configuration de tiling et de la quantification des embeddings permet un gain de vitesse supplémentaire de 1,15 à 2,1x par rapport à la version précédente
  • Des améliorations de performances ont été constatées sur diverses plateformes matérielles et charges de travail
  • Les détails techniques sont fournis dans le document optimization guide

Démo et modèles officiels

  • Une démo est proposée pour exécuter le modèle BitNet b1.58 3B sur Apple M2
  • Le modèle officiel BitNet-b1.58-2B-4T est publié sur Hugging Face et pris en charge sur CPU x86 et ARM
  • Les modèles pris en charge incluent bitnet_b1_58-large(0.7B), bitnet_b1_58-3B(3.3B), Llama3-8B-1.58, Falcon3 et la série Falcon-E

Installation et compilation

  • Prérequis : Python 3.9 ou plus, CMake 3.22 ou plus, Clang 18 ou plus
    • Les utilisateurs de Windows doivent installer Visual Studio 2022
    • Un script d’installation automatique est fourni pour les utilisateurs Debian/Ubuntu
  • L’utilisation d’un environnement Conda est recommandée, et setup_env.py permet de configurer l’environnement du modèle
  • Après téléchargement du modèle depuis Hugging Face, l’exécution peut se faire à partir d’un chemin local

Utilisation et benchmarks

  • run_inference.py permet d’exécuter l’inférence sur modèle quantifié
    • Principaux arguments : chemin du modèle (-m), prompt (-p), nombre de threads (-t), taille du contexte (-c), température (-temp)
  • Le script e2e_benchmark.py permet de mesurer les performances en spécifiant le nombre de tokens, la longueur du prompt et le nombre de threads
  • En l’absence de modèle public, generate-dummy-bitnet-model.py permet de générer un modèle factice puis d’exécuter des benchmarks

Conversion de modèle et FAQ

  • Un script est fourni pour convertir des checkpoints .safetensors au format gguf
  • La FAQ explique comment résoudre les erreurs de compilation de llama.cpp (liées à std::chrono) et comment configurer l’environnement clang sous Windows
    • Initialisation requise depuis l’invite de commandes développeur Visual Studio ou PowerShell

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.