Home
Login

MLC LLM : Compiler, optimiser et déployer localement n'importe quel LLM sur divers appareils.

Apache-2.0Python 20.8kmlc-ai Last Updated: 2025-06-08

mlc-llm

Présentation du projet :

mlc-ai/mlc-llm est un projet visant à permettre la compilation, l'exécution et le déploiement locaux de n'importe quel modèle sur n'importe quel matériel. Il se concentre sur la fourniture de capacités d'inférence LLM (Large Language Model - Grand Modèle de Langage) haute performance pour diverses plateformes matérielles, notamment les téléphones portables, les ordinateurs portables et les serveurs. Ce projet est maintenu par la communauté MLC (Machine Learning Compilation - Compilation d'Apprentissage Automatique) et vise à réduire les barrières au déploiement des LLM, permettant à un plus grand nombre de développeurs et d'utilisateurs d'utiliser et de personnaliser facilement les LLM.

Objectifs principaux :

  • Universalité : Prise en charge de diverses architectures LLM, y compris, mais sans s'y limiter, Llama, GPT, Mistral, etc.
  • Multiplateforme : Capacité à fonctionner sur diverses plateformes matérielles, notamment les CPU, les GPU, les appareils mobiles (Android, iOS) et WebAssembly.
  • Haute performance : Optimisation des modèles grâce aux techniques de compilation d'apprentissage automatique, permettant des vitesses d'inférence efficaces.
  • Facilité d'utilisation : Fourniture d'API et d'outils simples pour faciliter le déploiement et la personnalisation des LLM par les développeurs.
  • Personnalisation : Permettre aux utilisateurs de personnaliser les modèles et les processus d'inférence en fonction de leurs besoins.

Principales caractéristiques :

  • Compilation d'apprentissage automatique (MLC) : Utilisation de la technologie MLC pour optimiser les modèles et améliorer les performances d'inférence. MLC est une technique qui convertit les modèles en code optimisé pour un matériel spécifique.
  • Quantification des modèles : Prise en charge de la quantification des modèles, réduisant la taille des modèles, diminuant l'empreinte mémoire et augmentant la vitesse d'inférence. Les méthodes de quantification courantes incluent INT8, INT4, etc.
  • Exécution hétérogène : Capacité à exécuter différentes parties du modèle sur différents périphériques matériels, en tirant pleinement parti des ressources matérielles.
  • Prise en charge de WebAssembly : Capacité à exécuter des LLM dans un navigateur, permettant l'inférence locale.
  • API Python : Fourniture d'une API Python pour faciliter l'utilisation et la personnalisation des LLM par les développeurs.
  • Outils en ligne de commande : Fourniture d'outils en ligne de commande pour faciliter le déploiement et l'exécution des LLM par les utilisateurs.
  • Modèles précompilés : Fourniture de modèles précompilés pour permettre aux utilisateurs de démarrer rapidement.
  • Personnalisation des modèles : Prise en charge du fine-tuning et de la personnalisation des modèles pour répondre aux besoins spécifiques des utilisateurs.
  • Communauté active : Maintenu par la communauté MLC, offrant un support technique et une plateforme d'échange.

Pile technologique :

  • TVM Unity : Construit sur TVM Unity, un framework open source pour la compilation d'apprentissage automatique.
  • Python : Langage de programmation principal.
  • C++ : Utilisé pour implémenter des moteurs d'inférence haute performance.
  • WebAssembly : Utilisé pour exécuter des LLM dans les navigateurs.
  • CUDA/Metal/OpenCL : Utilisé pour l'accélération GPU.

Cas d'utilisation :

  • Inférence LLM locale : Exécution de LLM sur des appareils locaux, sans connexion à un serveur cloud.
  • Applications LLM sur appareils mobiles : Exécution de LLM sur des appareils Android et iOS, permettant l'inférence hors ligne.
  • LLM dans les applications Web : Exécution de LLM dans les navigateurs, permettant l'inférence locale.
  • Edge Computing : Exécution de LLM sur des appareils périphériques, permettant une inférence à faible latence.
  • Recherche et développement : Utilisé pour la recherche et le développement de nouvelles technologies LLM.

Comment démarrer :

  1. Installation : Installez mlc-llm en suivant les instructions de la documentation du projet.
  2. Téléchargement de modèles précompilés : Téléchargez des modèles précompilés, tels que Llama 2.
  3. Exécution d'exemples : Exécutez des exemples de code pour découvrir les capacités d'inférence des LLM.
  4. Personnalisation des modèles : Personnalisez les modèles et les processus d'inférence en fonction de vos besoins.
  5. Participation à la communauté : Rejoignez la communauté MLC pour échanger et apprendre avec d'autres développeurs.

Avantages :

  • Réduction des barrières au déploiement des LLM : Permettre à un plus grand nombre de développeurs et d'utilisateurs d'utiliser et de personnaliser facilement les LLM.
  • Amélioration des performances d'inférence des LLM : Optimisation des modèles grâce aux techniques de compilation d'apprentissage automatique, permettant des vitesses d'inférence efficaces.
  • Prise en charge de diverses plateformes matérielles : Capacité à exécuter des LLM sur diverses plateformes matérielles, notamment les CPU, les GPU, les appareils mobiles et WebAssembly.
  • Fourniture d'outils et d'API riches : Fourniture d'API et d'outils simples pour faciliter le déploiement et la personnalisation des LLM par les développeurs.
  • Support d'une communauté active : Maintenu par la communauté MLC, offrant un support technique et une plateforme d'échange.

Conclusion :

mlc-ai/mlc-llm est un projet très prometteur qui vise à permettre la compilation, l'exécution et le déploiement locaux de n'importe quel modèle sur n'importe quel matériel. En optimisant les modèles grâce aux techniques de compilation d'apprentissage automatique, il permet des vitesses d'inférence efficaces et fournit des outils et des API riches pour faciliter le déploiement et la personnalisation des LLM par les développeurs. Si vous êtes intéressé par le déploiement et l'optimisation des LLM, mlc-ai/mlc-llm est un projet à suivre de près.

Pour tous les détails, veuillez vous référer au site officiel (https://github.com/mlc-ai/mlc-llm)