Description
Le projet BigDL, et plus particulièrement son composant BigDL-LLM (en transition vers IPEX-LLM), est une bibliothèque puissante conçue pour optimiser les performances des grands modèles de langage (LLM) sur une gamme de matériel Intel, y compris les CPU et les GPU. Elle permet aux utilisateurs d'exécuter des LLM avec une latence considérablement réduite en tirant parti de techniques de quantification avancées telles que INT4, FP4, INT8 et FP8. Cette optimisation est cruciale pour déployer efficacement des modèles d'IA complexes sur diverses configurations matérielles.
Basé sur le travail fondamental de bibliothèques comme llama.cpp, gptq, bitsandbytes et qlora, BigDL-LLM fournit un cadre robuste pour l'inférence et le fine-tuning des LLM basés sur PyTorch. Les mises à jour récentes mettent en évidence des capacités étendues, notamment le chargement direct de modèles depuis ModelScope, le support initial de INT2 pour exécuter de grands modèles sur des GPU avec une VRAM limitée, et l'intégration avec Text-Generation-WebUI pour une expérience utilisateur graphique. La bibliothèque introduit également le décodage auto-spéculatif (Self-Speculative Decoding), qui offre une accélération pratique de la latence d'inférence sur les GPU et CPU Intel.
Pour les développeurs et les chercheurs axés sur la personnalisation des modèles, BigDL-LLM offre un support complet pour diverses méthodes de fine-tuning sur les GPU Intel, y compris LoRA, QLoRA, DPO, QA-LoRA et ReLoRA. Cela permet une adaptation efficace des modèles pré-entraînés à des tâches et des ensembles de données spécifiques. Le projet a démontré des vitesses de fine-tuning impressionnantes, comme l'entraînement de LLaMA2-7B en moins de 30 minutes sur plusieurs GPU Intel. De plus, il prend en charge le chargement direct de formats de modèles populaires comme GGUF, AWQ et GPTQ, et s'intègre à vLLM pour le batching continu et à FastChat pour le service.
L'écosystème BigDL s'étend au-delà des LLM, englobant des bibliothèques pour l'analyse de données distribuée et l'IA (Orca), l'accélération transparente de TensorFlow et PyTorch (Nano), le deep learning sur Spark (DLlib), l'analyse de séries temporelles (Chronos), les systèmes de recommandation (Friesian) et l'IA sécurisée (PPML). BigDL-LLM est un composant clé pour ceux qui cherchent à exploiter la puissance des LLM sur le matériel Intel, offrant une solution flexible et performante pour un large éventail d'applications d'IA.
Fonctionnalités principales de BigDL LLM
Inférence LLM optimisée sur Intel XPU (CPU, GPU)
Prend en charge la quantification INT4, FP4, INT8, FP8
Inférence à faible latence pour les modèles PyTorch
Construit sur llama.cpp, gptq, bitsandbytes, qlora
Chargement direct des modèles GGUF, AWQ, GPTQ
Fine-tuning LLM complet sur GPU Intel (LoRA, QLoRA, DPO, QA-LoRA, ReLoRA)
Décodage auto-spéculatif pour un gain de vitesse d'environ 30%
Prend en charge le batching continu vLLM
Service FastChat sur CPU et GPU Intel
Chargement direct depuis ModelScope
Support initial INT2 pour les grands LLM sur GPU avec 16 Go de VRAM
Intégration avec Text-Generation-WebUI
Premiers pas avec BigDL LLM
Installer BigDL-LLM via pip : `pip install --pre --upgrade bigdl-llm[all]` pour CPU ou `bigdl-llm[xpu]` pour GPU.
Charger les modèles Hugging Face Transformers avec des optimisations INT4 en utilisant `AutoModelForCausalLM.from_pretrained`.
Exécuter des modèles optimisés sur CPU Intel en spécifiant le chemin du modèle.
Exécuter des modèles optimisés sur GPU Intel en déplaçant le modèle et les tenseurs d'entrée vers le périphérique 'xpu'.
Configurer les paramètres de fine-tuning pour LoRA, QLoRA, DPO, QA-LoRA ou ReLoRA.
Utiliser FastChat ou vLLM pour servir les LLM optimisés.
Intégrer avec LangChain pour le développement d'applications LLM.
Cas d'utilisation de BigDL LLM
- Inférence LLM à faible latence
- Fine-tuning LLM
- Déploiement efficace de modèles
- Développement d'applications IA
- Entraînement de grands modèles sur VRAM limitée
- Génération de texte accélérée





