À propos du projet

AirLLM permet l'inférence et le fine-tuning de modèles de langage à plusieurs milliards de paramètres sur des GPU grand public avec aussi peu que 2 Go de VRAM. Il fonctionne en ne gardant qu'une seule couche de transformer sur le GPU à tout moment — les poids sont diffusés depuis le disque couche par couche — de sorte que les besoins en mémoire GPU dépendent de la taille de la couche, et non de la taille totale du modèle. Capacités principales : - Inférence pour des modèles allant d'environ 8B à 2,8T de paramètres sur un seul GPU bas de gamme - Quantification par blocs optionnelle (4 bits ou 8 bits) pour une inférence jusqu'à 3× plus rapide - Fine-tuning LoRA de modèles gigantesques sur une faible VRAM ; les poids de base gelés sont diffusés depuis le disque tandis que les adaptateurs restent résidents - Prise en charge des architectures MoE, Flash, FP8 et vision native (VL) - Multiplateforme : Linux/CUDA et macOS (Apple Silicon via MLX) Les familles de modèles prises en charge incluent Llama (2/3/3.1/3.3/4), Qwen (1/2/2.5/3/3.5/3.8, dense et MoE), DeepSeek (V2/V3/R1), Mistral & Mixtral, Phi, Gemma, ChatGLM, Baichuan, InternLM, Yi et Kimi K3. Exemple d'utilisation : ```python from airllm import AutoModel model = AutoModel.from_pretrained("Qwen/Qwen3-32B") input_tokens = model.tokenizer(text, return_tensors="pt", truncation=True, max_length=128) generation_output = model.generate(input_tokens['input_ids'].cuda(), max_new_tokens=20) ``` Avec compression optionnelle : ```python model = AutoModel.from_pretrained("garage-bAInd/Platypus2-70B-instruct", compression='4bit') ``` Exemple d'entraînement (LoRA) : ```bash python air_llm/examples/train_qwen38_flash_next_lora.py --data my_data.jsonl --seq-len 512 --save-adapter adapter.pt ``` Options de configuration : compression (none/4bit/8bit), profiling_mode, layer_shards_saving_path, hf_token, prefetching (activé par défaut), delete_original. Le modèle original est découpé et mis en cache couche par couche lors de la première exécution, ce qui nécessite un espace disque suffisant dans le répertoire de cache de Hugging Face.