L'une des tendances les plus intéressantes en ce moment est l'inférence locale des LLM, et plus particulièrement sur mobile.
L'inférence locale offre de nombreux avantages pour l'IA et l'IA générative en particulier, principalement en termes de consommation de ressources distribuées, de confidentialité et d'utilisation hors ligne. Pourtant, il est clair que nous en sommes encore aux tout premiers jours, et de nombreux obstacles sont à surmonter avant que cela devienne une option complètement viable.
Cependant, le domaine de l'IA générative évoluant à grande vitesse, cette approche - surtout dans une vision où les agents intelligents joueront un rôle central - pourrait rapidement devenir un élément technologique clé.
Aujourd'hui, nous allons examiner les principaux obstacles que les développeurs, les chercheurs et les entreprises sont susceptibles de rencontrer lorsqu'ils apportent l'inférence de LLM sur les appareils mobiles. Nous en avons recensé 8, dans lesquels nous allons plonger sans plus tarder.
1. Le défi de la fragmentation
En 2025, créer des applications mobiles signifie toujours supporter les deux écosystèmes dominants : Android et iOS. Chaque plateforme a ses particularités, et les solutions qui fonctionnent bien sur l'une peuvent échouer sur l'autre.
Même au sein d’un même système, les différences de puces et d’architectures matérielles peuvent poser des défis. Par exemple, sur Android, la diversité des fabricants entraîne des écarts dans les caractéristiques des processeurs des devices
Comme pour le développement mobile traditionnel, assurer la cohérence sur l’intégralité des systèmes nécessite des efforts et des tests supplémentaires, notamment lors du portage de modèles ou de leur adaptation pour des outils spécifiques à chaque plateforme.
De plus, tous les frameworks d'inférence ne sont pas compatibles avec Android et iOS à la fois. Les plus rapides, comme MLX, sont spécifiquement conçus pour les puces Apple Silicon et pour tirer parti de ces avantages. Votre modèle pourrait avoir besoin d'être porté, introduisant des divergences potentielles dans le comportement ou les performances. Les ingénieurs devront donc constamment valider la compatibilité et les performances pour éviter ces écueils.
2. Le compromis entre qualité, rapidité et taille du modèle
Les facteurs techniques comme la vitesse d’inférence, la taille du modèle et l'empreinte mémoire sont cruciaux pour une UX satisfaisante et, in fine, pour l'adoption. Ne pas fournir un modèle rapide, forcer les utilisateurs à attendre de longues minutes pendant le téléchargement de gigaoctets de poids, ou faire planter votre application conduira à une expérience inutilisable.
Réaliser un modèle de taille réduite, et donc plus rapide et léger, passe souvent par la compression de modèles de plus grande taille, à travers de techniques telles que la quantisation, le pruning ou la distillation. Cependant, bien que la recherche évolue à grande vitesse, ces techniques de compression peuvent en revanche réduire la qualité et la précision de l’inférence.
De plus, à mesure qu'ils prennent confiance avec les services de ChatBot LLM, vos clients s'attendront probablement à ce que votre service supporte une longue fenêtre de contexte, ce qui requiert des techniques avancées de compression et de gestion de la mémoire, car les contraintes de mémoire imposent des fenêtres de contexte limitées à environ 8k tokens.
Il est en tout cas essentiel de peser chaque compromis par rapport à votre cas d'utilisation pour trouver le bon équilibre entre la qualité de la sortie et l'expérience utilisateur. Ce ne sera pas la plus simple des taches.
3. APIs système limitées, voire inexistantes
Construire votre propre solution est actuellement la seule option viable, car les SDK des systèmes d'exploitation manquent d'APIs first-party pour utiliser les modèles fondamentaux installés avec le système d'exploitation lui-même.
Par exemple, sur iOS, Apple Intelligence offre des fonctionnalités d'IA limitées pour votre application : le supporter via App Intents contribuera à améliorer l'intelligence globale du système d'exploitation - ce qui est bien, mais cela ne répondra probablement pas à vos besoins en termes de fonctionnalités.
4. Choisir le bon moteur d'inférence
Choisir le bon moteur d'inférence est une décision structurelle. En revanche, comme le domaine est encore relativement nouveau, aucun moteur d'inférence aujourd'hui ne garantit une base de développeurs robuste et un retour d'information suffisant pour construire confortablement votre produit.
Certains moteurs, comme PyTorch ExecuTorch, sont multiplateformes, tandis que d'autres, comme MLX, ne le sont pas, mais garantissent en revanche une exécution plus rapide sur les puces Apple. De plus, les modèles sont rarement mis à disposition pour tous les moteurs et le portage de modèles d'un moteur à un autre peut entraîner des différences de comportement.
5. Observabilité et contrôle
L'inférence locale limite la capacité des développeurs à surveiller les modèles en temps réel. Contrairement à l'inférence sur serveur, qui bénéficie de bibliothèques d'observabilité éprouvées comme LangSmith, l'inférence locale propose peu d'outils prêts à l'emploi, obligeant souvent les développeurs à créer leurs propres solutions.
Le manque d'observabilité pose un risque significatif pour votre produit et vos utilisateurs, car les LLM peuvent halluciner / confabuler sans que vous en soyez conscient.
6. Protection de la propriété Intellectuelle
Une fois un modèle déployé localement, sa protection devient une tâche complexe. Bien que des solutions comme le chiffrement des poids ou l'obfuscation du code d'inférence puissent être envisagées, ces méthodes sont encore sous-explorées.
En l'absence de protections adéquates, les concurrents peuvent analyser et reproduire votre modèle, ce qui réduit considérablement votre avantage concurrentiel. Ce risque est particulièrement important dans un environnement où l'innovation et la propriété intellectuelle sont des atouts cruciaux.
7. Sécurité et garde-fous
L'inférence sur serveur bénéficie de guardrails, des mécanismes basés sur des modèles de langage qui analysent en temps réel les entrées et sorties d'un LLM pour détecter d'éventuelles informations sensibles, telles que des contenus dangereux pour l'utilisateur ou des données personnelles.
Dans un contexte local, leur mise en place est possible mais plus complexe, car elle nécessite l'exécution de modèles supplémentaires dans un contexte déjà contraint en ressources. Cela engendrerait donc des impacts négatifs sur la mémoire et la latence, posant ainsi un dilemme délicat entre performance et sécurité.
8. Outils
LangChain, bases de données vectorielles, LlamaIndex : l'inférence côté serveur dispose d'une large gamme d'outils pour construire des solutions complexes de manière relativement facile. Certains de ces outils existent dans une version compatible mobile (il y a aussi un LangChain.swift - dernier commit il y a 8 mois) mais ils manquent du support nécessaire pour en faire des options vraiment robustes. Construire vos propres outils, d'un autre côté, est ambitieux, pour le moins.
Malgré les défis, réaliser l'inférence locale de LLM est loin d'être infaisable. PrivateLLM, une application tierce disponible sur l'App Store, démontre que des résultats impressionnants peuvent être obtenus avec de petits modèles de 1B dont les poids ne dépassent pas 500MB avec le moteur d’inférence MLC LLM. La vitesse est impressionnante et la qualité, bien qu'imparfaite, est plus que suffisante pour des raisonnements basiques, des résumés et des interactions textuelles.
Il va sans dire, comme mentionné dans l'introduction, que le domaine évolue rapidement, et nous pouvons nous attendre à ce que ces défis soient abordés un par un dans les mois à venir.
Même ainsi - ou peut-être pour cette raison même - ce domaine est incroyablement excitant et captivant comme peu d'autres technologies récentes.
Pour aller plus loin, nous vous recommandons :
- Awesome LLMs on Device, précieux catalogue de papiers de recherche, modèles et moteurs d’inférence on Device
- Introduction to On-Device AI par Deep Learning AI, une ressource pour découvrir les bases de l’IA embarquée, bien que pas spécifique aux LLMs.
- Notre livre LLM & IA Générative - La voie de la raison, qui aborde certains parmi les sujets de cet article
- Un café avec nous ! Pour discuter, échanger sur vos projets ou explorer ensemble des formations adaptées à vos besoins.