Points clés
- Licence Apache 2.0 — gratuit pour un usage personnel et commercial
- Environ 23 000+ étoiles GitHub en septembre 2026, dépôt sur github.com/mlc-ai/mlc-llm
- Issu d'une collaboration incluant CMU Catalyst, UW SAMPL, SJTU, OctoML et la communauté MLC plus large
- Tianqi Chen — professeur à CMU, créateur d'Apache TVM, XGBoost et MXNet, et cofondateur d'OctoML — figure parmi les principaux contributeurs
- Utilise la compilation ML (Apache TVM, TensorIR, MetaSchedule) pour générer un runtime optimisé par cible, plutôt qu'un moteur unique ajusté à la main
- Fonctionne sur iOS/iPadOS, Android, navigateurs web (via WebGPU) et bureau/serveur (Linux, macOS, Windows) avec accélération CUDA, Vulkan, Metal ou ROCm
📍 En une phrase
MLC LLM est un moteur de déploiement universel de LLM gratuit, sous licence Apache 2.0, qui utilise la compilation par apprentissage automatique, construite sur Apache TVM, pour compiler un modèle en un runtime optimisé pour iOS, Android, les navigateurs web via WebGPU, ou des GPU de bureau.
💬 En termes simples
La plupart des moteurs d'inférence sont un programme écrit à la main qui tente de fonctionner partout ; MLC LLM compile au contraire un modèle spécifiquement pour chaque appareil cible, de la même façon qu'un compilateur produit un code machine différent pour différentes architectures CPU à partir de la même source.
📌Remarque: WebLLM (github.com/mlc-ai/web-llm) est un projet compagnon distinct au sein de la même organisation mlc-ai, dédié spécifiquement à l'exécution de modèles entièrement dans un navigateur web sans aucune inférence côté serveur.
Qu'est-ce que MLC LLM ?
MLC LLM est un moteur gratuit et open source qui compile des modèles de langage de grande taille en runtimes natifs optimisés pour un large éventail de plateformes cibles, des téléphones aux navigateurs en passant par les GPU de bureau. Il se décrit comme un « moteur de déploiement universel de LLM avec compilation ML ».
Le projet est hébergé sur github.com/mlc-ai/mlc-llm sous licence Apache 2.0 et a dépassé environ 23 000 étoiles GitHub. Il a été initié par des membres de CMU Catalyst, UW SAMPL, SJTU, OctoML et de la communauté MLC — un groupe plutôt qu'une seule entreprise. Tianqi Chen, professeur à CMU et créateur d'Apache TVM, XGBoost et MXNet, figure parmi ses principaux contributeurs.
- Compile un modèle en un runtime optimisé spécifique à la cible, plutôt que d'interpréter le même code générique sur chaque plateforme
- S'appuie sur Apache TVM et des recherches de compilation associées (TensorIR, MetaSchedule) pour une optimisation automatisée par cible
- Prend en charge iOS/iPadOS, Android, les navigateurs web et les plateformes de bureau/serveur à partir d'une seule chaîne d'outils
- Dispose d'un projet compagnon actif, WebLLM, dédié spécifiquement à l'inférence entièrement côté client dans le navigateur
Que signifie réellement la « compilation ML » ici ?
La compilation ML traite le déploiement d'un modèle sur un nouvel appareil comme un compilateur traditionnel traite le déploiement de code sur une nouvelle architecture CPU — en générant automatiquement du code optimisé et spécifique à la cible à partir d'une seule description de modèle. C'est l'idée centrale qui permet à MLC LLM de couvrir une gamme de matériel aussi large.
- Apache TVM fournit l'infrastructure de compilation sur laquelle MLC LLM est construit, traduisant les graphes de calcul du modèle en code de bas niveau optimisé par cible
- TensorIR est la représentation intermédiaire utilisée pour décrire les calculs tensoriels avant l'optimisation spécifique à la cible
- MetaSchedule automatise la recherche d'implémentations de noyaux performantes par cible, au lieu de demander à un humain d'écrire et d'ajuster chacune à la main
- Le résultat est un modèle unique pouvant être compilé pour fonctionner sur un GPU NVIDIA via CUDA, un GPU AMD via Vulkan ou ROCm, un GPU Apple via Metal, ou un navigateur via WebGPU, en grande partie à partir de la même source
Comment installer et déployer MLC LLM ?
MLC LLM s'installe comme un paquet Python pour un usage bureau/serveur, et fournit des applications précompilées pour iOS et Android, WebLLM étant disponible comme paquet JavaScript pour le déploiement navigateur. Le bon chemin dépend de la plateforme cible.
- 1Pour un usage bureau/serveur : installer le paquet Python MLC LLM en suivant le guide d'installation officiel, qui couvre les configurations CUDA, Vulkan, Metal et ROCm.
- 2Choisir un modèle pris en charge et le compiler pour l'appareil cible avec les outils de conversion et de compilation de MLC LLM, ou utiliser un modèle déjà compilé issu de la communauté MLC.
- 3Pour le mobile : MLC LLM fournit des exemples de projets d'applications iOS et Android qui embarquent ensemble un modèle compilé et le runtime.
- 4Pour un déploiement navigateur sans serveur : utiliser WebLLM directement comme paquet JavaScript/TypeScript, qui s'exécute entièrement côté client via WebGPU.
- 5Exécuter et tester le runtime compilé sur l'appareil ou le navigateur cible pour confirmer que l'accélération est active sur le backend attendu (CUDA, Vulkan, Metal, ROCm ou WebGPU).
Dois-je recompiler un modèle pour chaque plateforme ?
Généralement oui. L'étape de compilation de MLC LLM produit un runtime optimisé pour une cible spécifique (un backend GPU donné, un OS mobile ou un navigateur), donc déployer sur une nouvelle plateforme implique généralement de compiler pour cette cible.
MLC LLM peut-il fonctionner sans GPU ?
Les runtimes compilés sont principalement construits autour de chemins d'accélération GPU (CUDA, Vulkan, Metal, ROCm, WebGPU ou OpenCL mobile) ; le déploiement centré CPU n'est pas l'axe principal du projet, contrairement à des moteurs comme llama.cpp.
Quelles plateformes et backends GPU MLC LLM prend-il en charge ?
La caractéristique déterminante de MLC LLM est l'étendue du support de plateformes, couvrant les systèmes d'exploitation mobiles et les navigateurs web aux côtés des GPU de bureau classiques. Peu d'autres moteurs d'inférence locale ciblent cette combinaison depuis une seule chaîne d'outils.
- iOS/iPadOS — accélération Metal sur les GPU Apple série A
- Android — accélération OpenCL sur les GPU Adreno et Mali
- Navigateurs web — WebGPU et WASM, via le projet compagnon WebLLM, sans serveur requis
- Bureau/serveur (Linux, macOS, Windows) — CUDA (NVIDIA), Vulkan (AMD/NVIDIA/Intel), Metal (Apple) et ROCm (AMD)
À qui s'adresse MLC LLM ?
Utilisez MLC LLM si la cible de déploiement inclut des appareils mobiles ou des navigateurs web aux côtés de GPU de bureau ; utilisez un moteur plus étroit si la cible ne concerne qu'un seul type de plateforme.
Comment MLC LLM se compare-t-il à llama.cpp et aux autres moteurs ?
Les comparaisons les plus proches de MLC LLM sont d'autres moteurs visant un large support matériel, bien qu'il soit le seul de ce groupe construit autour d'une approche par compilateur avec déploiement dans le navigateur.
Outil | Licence | Idéal pour |
|---|---|---|
| MLC LLM | Apache 2.0 | Téléphones, navigateurs et bureau depuis un pipeline |
| WebLLM | Apache 2.0 | Inférence entièrement côté client dans le navigateur |
| llama.cpp | MIT | Support matériel le plus large, contrôle direct |
| TensorRT-LLM | Apache 2.0 | Débit maximal, GPU NVIDIA uniquement |
| Ollama | MIT | Configuration mono-bureau la plus simple |
Erreurs courantes lors de l'évaluation de MLC LLM
La plupart des confusions viennent d'attentes envers une expérience binaire prête à l'emploi, ou du fait de ne pas réaliser que WebLLM est un projet compagnon distinct.
Questions fréquentes
Qu'est-ce que MLC LLM ?
MLC LLM est un moteur gratuit, sous licence Apache 2.0, qui utilise la compilation par apprentissage automatique pour déployer des modèles de langage de grande taille sur téléphones, navigateurs web et GPU de bureau depuis une seule chaîne d'outils.
Qui a créé MLC LLM ?
MLC LLM a été initié par des membres de CMU Catalyst, UW SAMPL, SJTU, OctoML et de la communauté MLC. Tianqi Chen, professeur à CMU et créateur d'Apache TVM, XGBoost et MXNet, figure parmi ses principaux contributeurs.
MLC LLM est-il gratuit pour un usage commercial ?
Oui. MLC LLM est sous licence Apache 2.0, gratuit pour un usage personnel et commercial.
MLC LLM peut-il fonctionner dans un navigateur web ?
Oui, via son projet compagnon WebLLM, qui exécute les modèles entièrement côté client via WebGPU, sans inférence côté serveur requise.
Que signifie la « compilation ML » dans MLC LLM ?
Cela désigne l'utilisation de techniques de compilation (construites sur Apache TVM, avec TensorIR et MetaSchedule) pour générer automatiquement un runtime optimisé pour un appareil cible donné, plutôt que de s'appuyer sur un moteur unique ajusté à la main pour chaque plateforme.
MLC LLM prend-il en charge iOS et Android ?
Oui. iOS/iPadOS est pris en charge via Metal sur les GPU Apple série A, et Android via OpenCL sur les GPU Adreno et Mali.
Quels backends GPU MLC LLM prend-il en charge sur le bureau ?
CUDA (NVIDIA), Vulkan (AMD, NVIDIA, Intel), Metal (Apple) et ROCm (AMD).
Dois-je compiler un modèle séparément pour chaque plateforme ?
Généralement oui. MLC LLM compile un modèle en un runtime optimisé pour une cible spécifique, donc déployer sur une nouvelle plateforme (un backend GPU différent, un OS mobile ou le navigateur) nécessite généralement de compiler pour cette cible.
En quoi MLC LLM diffère-t-il de llama.cpp ?
llama.cpp est un moteur C/C++ écrit à la main avec des backends ajustés manuellement par fournisseur de matériel. MLC LLM utilise à la place un compilateur (Apache TVM) pour générer automatiquement du code optimisé par cible, ce qui lui permet d'atteindre aussi les appareils mobiles et les navigateurs web via WebGPU.
MLC LLM convient-il au service de production spécifique à NVIDIA à grande échelle ?
Ce n'est pas son objectif principal. Pour un débit maximal de production spécifique à NVIDIA, TensorRT-LLM ou vLLM sont des outils plus spécialisés ; la force de MLC LLM est l'étendue sur des plateformes très différentes, pas le débit de pointe sur une seule.
