1 points par GN⁺ 2024-04-05 | 1 commentaires | Partager sur WhatsApp

💫 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

 
GN⁺ 2024-04-05
Avis Hacker News
  • Attentes d’une révolution de la VRAM GPU

    Une entreprise a l’occasion de sortir du « 4 cœurs pour toujours » et de briser, avec sa prochaine sortie de GPU grand public, la limite de longue date imposée par AMD et Nvidia du « 8-16 Go de VRAM pour toujours ». Proposer 32-48 Go de VRAM à un prix raisonnable serait assez poétique.

  • Évaluation positive du support logiciel d’Intel

    Intel semble aller dans la bonne direction en matière de support logiciel. J’aimerais voir des données de benchmark, et la vitesse dans l’exemple présenté a l’air plutôt bonne.

  • Demande de recommandation pour un GPU Intel

    J’aurais besoin de recommandations pour un GPU Intel avec beaucoup de VRAM. Je me demande s’il existe un produit compatible avec cela.

  • Intérêt pour les benchmarks de performance

    Je suis intéressé par une comparaison des performances avec llamafile ou d’autres benchmarks. Un lien vers ce benchmark est fourni.

  • Suggestion pour faciliter l’usage de GPU cloud

    Ce serait bien de fournir un script permettant d’exécuter l’exemple chez un fournisseur cloud avec un GPU compatible. Je me demande s’il y a de l’intérêt pour cela, et j’envisage de configurer cela moi-même.

  • Absence de GPU Intel chez les fournisseurs cloud

    Les principaux fournisseurs cloud ne proposent pas de GPU Intel.

  • Expression d’attente pour des tests produits

    J’attends les tests avec impatience et je suis intéressé par des évaluations des futurs produits.