MLC LLM : Moteur de déploiement universel pour les LLM sur toute plateforme
MLC LLM : Moteur de déploiement universel pour les LLM sur toute plateforme
Les grands modèles de langage (LLM) alimentent désormais tout, des chatbots aux assistants de code. Pourtant, les exécuter localement – sur PC, appareils mobiles ou même dans les navigateurs – reste une source majeure de frustration. MLC LLM résout ce problème en agissant comme un compilateur d’apprentissage machine qui transforme tout LLM en un moteur d’inférence haute performance, multi‑plateforme.
Pourquoi MLC LLM compte
- Inférence sans coût cloud – aucune sous‑cription GPU‑as‑a‑Service n’est requise.
- Code unique – écrire une fois, exécuter partout : Windows, Linux, macOS, iOS, Android, WebGPU.
- Performances natives – exploitez Vulkan sur les ordinateurs de bureau, Metal sur les puces Apple, CUDA/ROCm sur NVIDIA/AMD, et WebGPU dans les navigateurs.
- Communauté open‑source – plus de 20 000 étoiles sur GitHub, plus de 150 contributeurs et un suivi d’incidents actif.
Architecture principale
Input Model (ONNX / PyTorch / TensorFlow) →
TensorIR ↔ MLC Compiler ↔ MLCEngine kernels →
Runtime (REST/API/JS/Swift/Kotlin)
- TensorIR – un IR de bas niveau qui capture les opérations tensoriels et leur localité.
- MLC Compiler – applique des optimisations TensorIR, des transformations de planning et la génération de code spécifique à la plateforme.
- MLCEngine – un moteur d’inférence léger, thread‑sûr, qui expose une API REST compatible OpenAI, un module Python et des liaisons natives pour iOS/Android.
Le compilateur s’appuie sur des recherches éprouvées telles que TensorIR, MetaSchedule et TVM pour générer des noyaux efficaces. Il intègre également l’optimisation probabiliste de programme pour découvrir automatiquement le meilleur planning pour un GPU donné.
Plateformes et GPU pris en charge
| Plateforme | Support GPU | Backend |
|---|---|---|
| Windows | NVIDIA, AMD, Intel | Vulkan, CUDA, ROCm |
| Linux | NVIDIA, AMD, Intel | Vulkan, CUDA, ROCm |
| macOS | Apple M1/M2 | Metal |
| iOS/iPadOS | Apple A‑series | Metal |
| Android | Adreno, Mali | OpenCL |
| Web | Navigateur | WebGPU + WASM |
Astuce : Même sur les ordinateurs portables sans GPU dédié, MLC LLM peut fonctionner en mode CPU avec une pénalité de performance, ce qui le rend utile pour un prototypage rapide.
Démarrage rapide – du dépôt à l’API REST
```bash
1. Cloner le dépôt
git clone https://github.com/mlc-ai/mlc-llm.git cd mlc-llm
2. Construire le moteur (nécessite CMake, Clang et les SDK de votre plateforme cible)
Par exemple, sous Linux avec CUDA:
./scripts/build_python.sh --cuda
3. Installer le package Python
pip install .
4. Démarrer le serveur REST
mlc_llm serve --model meta-llama/Llama-2-7b-chat-hf
5. Interroger le modèle
curl -X POST http://127.0.0.1:8000/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{