|

AIRLLM : faites tourner un modèle de 70 milliards de paramètres sur une carte graphique de 4 Go

https://github.com/lyogavin/airllm

📌 AIRLLM est une bibliothèque d’inférence qui charge les modèles LLM couche par couche, ce qui permet de faire tourner un Llama-3.1-70B — voire un DeepSeek-V3 de 671 milliards — sur une seule carte graphique de 4 à 12 Go de VRAM, sans quantification, sans distillation, sans élagage.

L’idée est contre-intuitive. Habituellement, pour faire tenir un modèle de 70B en FP16, il faut 140 Go de VRAM. La quantification à 4 bits descend ça autour de 40 Go. AIRLLM prend le problème à l’envers : il ne garde qu’une seule couche du modèle sur le GPU à la fois. Le reste reste en RAM système, et les couches se chargent et se déchargent à la volée pendant l’inférence. C’est lent, mais ça marche.

Ce que ça change concrètement

J’ai regardé les exemples fournis. Sur une RTX 3060 12 Go, vous pouvez lancer AutoModel.from_pretrained("Qwen/Qwen3-32B") et obtenir une réponse. Sur une carte de 4 Go — une GTX 1650, une RTX 3050 laptop —, le même code fait tourner du 70B. Le modèle DeepSeek-V3 à 671 milliards de paramètres tient en ~12 Go. Le Qwen3-235B-A22B (un MoE) tourne en ~3 Go.

La version 3.0 ajoute le support FP8, ce qui accélère les modèles compatibles. Il y a aussi la compression 4-bit/8-bit intégrée pour un gain de vitesse de 3x, au prix d’une légère perte de qualité.

Comment s’en servir

L’API est volontairement minimale. Vous installez pip install airllm, vous importez AutoModel, vous passez l’identifiant Hugging Face du modèle. C’est tout. Pas de classe spécifique par architecture, pas de configuration complexe. Le AutoModel détecte l’architecture tout seul.

python
from airllm import AutoModel
model = AutoModel.from_pretrained("Qwen/Qwen3-32B")
output = model.generate(input_ids, max_new_tokens=20)

Vous pouvez aussi pointer vers un chemin local si le modèle est déjà en cache. Il y a un paramètre layer_shards_saving_path pour sauvegarder les couches découpées et éviter de les recalculer au prochain lancement.

Les compromis à connaître

La latence est le coût principal. Chaque token généré nécessite de charger et décharger des couches depuis la RAM. Sur une 70B, attendez-vous à quelques secondes par token sur du matériel grand public. Ce n’est pas fait pour du temps réel. En revanche, pour du batch, de l’expérimentation, du prototypage, ou pour faire tourner un gros modèle localement sans louer du cloud, c’est imbattable.

Le projet gère aussi macOS (Apple Silicon) depuis fin 2023. Sur un MacBook Pro M3 Max, les modèles bénéficient de la mémoire unifiée, ce qui change la donne.

Ce que j’en pense

AIRLLM ne va pas remplacer vLLM ou llama.cpp pour la production. Ce n’est pas son but. C’est un outil de démocratisation : il rend l’inférence de gros modèles accessible à quiconque a une carte graphique entrée de gamme ou un laptop récent. L’auteur, Gavin Li, maintient le projet activement — 297 commits, 22,9k étoiles, la v3.0 est sortie en juin 2026 avec le support des derniers modèles (Qwen3, DeepSeek V3, Llama 4).

C’est open source sous licence Apache 2.0. Si vous voulez tester un modèle de 70B ou plus sans toucher à votre portefeuille cloud, c’est le point de départ le plus simple que je connaisse.

  • 🧠 70B sur 4 Go VRAM, 405B sur 8 Go, 671B sur 12 Go
  • ⚡ Compression 4-bit/8-bit intégrée, gain 3x vitesse
  • 🍎 Support macOS Apple Silicon (mémoire unifiée)
  • 🤗 AutoModel universel : une ligne pour n’importe quel modèle HF
  • 💾 Découpage couche par couche, pas de quantification obligatoire
  • 🔓 Apache 2.0, 22,9k étoiles, maintenance active

Publications similaires

Laisser un commentaire