💫 IPEX-LLM
IPEX-LLM est une bibliothèque PyTorch destinée à exécuter des LLM avec une latence très faible sur les CPU et GPU Intel.
- Elle s’appuie sur d’excellents travaux comme l’extension Intel pour PyTorch (
IPEX), llama.cpp, bitsandbytes, vLLM, qlora, AutoGPTQ et AutoAWQ.
- Elle offre une intégration fluide avec
llama.cpp, Text-Generation-WebUI, HuggingFace transformers, etc.
- Plus de 50 modèles sont optimisés/validés dans
ipex-llm, et la liste complète est disponible ici.
Dernières mises à jour 🔥
bigdl-llm a été renommé en ipex-llm, et le projet BigDL d’origine peut être trouvé ici.
ipex-llm peut désormais charger des modèles directement depuis ModelScope (魔搭).
ipex-llm ajoute la prise en charge de l’INT2, ce qui permet d’exécuter de grands LLM (par ex. Mixtral-8x7B) sur GPU Intel avec 16 Go de VRAM.
- Les utilisateurs peuvent désormais utiliser
ipex-llm via l’interface graphique Text-Generation-WebUI.
ipex-llm prend désormais en charge le Self-Speculative Decoding, accélérant d’environ 30 % la latence d’inférence FP16 et BF16 sur GPU et CPU Intel respectivement.
ipex-llm prend désormais en charge une liste complète de scénarios de fine-tuning de LLM sur GPU Intel.
Démo de ipex-llm
- Vous pouvez voir ci-dessous les performances optimisées des modèles
chatglm2-6b et llama-2-13b-chat sur un CPU Intel Core de 12e génération et un GPU Intel Arc.
Démarrage rapide avec ipex-llm
Installation de ipex-llm
- Windows GPU : installer
ipex-llm sur Windows avec un GPU Intel
- Linux GPU : installer
ipex-llm sur Linux avec un GPU Intel
- Docker : utiliser Docker avec
ipex-llm sur CPU et GPU Intel
- Pour plus de détails, consulter le guide d’installation
Exécuter ipex-llm
- llama.cpp : exécuter
ipex-llm pour llama.cpp sur GPU Intel
- vLLM : exécuter
ipex-llm dans vLLM sur GPU et CPU Intel
- FastChat : exécuter
ipex-llm dans le service FastChat sur GPU et CPU Intel
- LangChain-Chatchat RAG : exécuter
ipex-llm dans LangChain-Chatchat
- Text-Generation-WebUI : exécuter
ipex-llm dans la WebUI oobabooga
- Benchmarking : exécuter les benchmarks de
ipex-llm sur CPU et GPU Intel
Exemples de code
- Inférence low-bit
- Inférence INT4 : inférence de LLM en INT4 sur GPU et CPU Intel
- Inférence FP8/FP4 : inférence de LLM en FP8 et FP4 sur GPU Intel
- Inférence INT8 : inférence de LLM en INT8 sur GPU et CPU Intel
- Inférence INT2 : inférence de LLM en INT2 sur GPU Intel
- Inférence FP16/BF16
- Inférence de LLM en FP16 : avec optimisation possible par self-speculative decoding sur GPU Intel
- Inférence de LLM en BF16 : avec optimisation possible par self-speculative decoding sur CPU Intel
- Sauvegarde et chargement
- Modèles low-bit : sauvegarder et charger des modèles low-bit
ipex-llm
- GGUF : charger directement des modèles GGUF dans
ipex-llm
- AWQ : charger directement des modèles AWQ dans
ipex-llm
- GPTQ : charger directement des modèles GPTQ dans
ipex-llm
- Fine-tuning
- Fine-tuning de LLM sur GPU Intel, y compris LoRA, QLoRA, DPO, QA-LoRA et ReLoRA
- Fine-tuning QLoRA sur CPU Intel
- Intégration avec des bibliothèques de la communauté
- HuggingFace transformers
- Modèles PyTorch standards
- DeepSpeed-AutoTP
- HuggingFace PEFT
- HuggingFace TRL
- LangChain
- LlamaIndex
- AutoGen
- ModeScope
- Tutoriels
- Pour plus de détails, consulter le site de documentation de
ipex-llm
Modèles validés
- Plus de 50 modèles optimisés/validés dans
ipex-llm incluent LLaMA/LLaMA2, Mistral, Mixtral, Gemma, LLaVA et Whisper, et la liste est visible ci-dessous.
L’avis de GN⁺
IPEX-LLM est un outil puissant pour exécuter des grands modèles de langage de manière optimisée sur le matériel Intel, et peut être d’une grande aide pour la recherche et le développement en IA.
- Cette bibliothèque s’intègre à de nombreux modèles, ce qui présente l’avantage d’être facilement accessible et exploitable pour les utilisateurs.
- Cependant, elle étant spécialisée pour le matériel Intel, elle peut ne pas garantir des performances optimales sur le matériel d’autres fabricants.
- L’adoption de cette technologie nécessite une bonne compréhension de la compatibilité matérielle et de l’optimisation des performances.
- Elle permet d’accélérer l’inférence et le fine-tuning des grands modèles de langage, contribuant ainsi à économiser du temps et des ressources.
1 commentaires
Avis Hacker News
Attentes d’une révolution de la VRAM GPU
Évaluation positive du support logiciel d’Intel
Demande de recommandation pour un GPU Intel
Intérêt pour les benchmarks de performance
Suggestion pour faciliter l’usage de GPU cloud
Absence de GPU Intel chez les fournisseurs cloud
Expression d’attente pour des tests produits