Roman Vennemani et Victor Galli
Déployer une application IA s’appuyant sur les LLM : optimiser le triangle des performances critiques
Certaines décisions prises lors du lancement d’un projet d’intelligence artificielle (IA) basé sur un Large Language Model (LLM) peuvent avoir un impact significatif. Parmi ces décisions, le choix des métriques à optimiser est essentiel.
Chaque outil ou fonctionnalité répond à un objectif précis : résoudre un problème, satisfaire un besoin ou accomplir une tâche spécifique pour l’utilisateur. Dans le cas des projets LLM, cet objectif peut, par exemple, être lié à l’amélioration de l’expérience client, à l’automatisation de processus métier ou à la création de nouveaux services. C’est là que les performances critiques entrent en jeu : quel est le défi que mon outil doit relever pour réussir à atteindre l’objectif de l’utilisateur. Elles ne sont pas des valeurs imaginées arbitrairement mais des critères précis, utilisés par l'utilisateur pour choisir entre plusieurs solutions. Pour illustrer, une performance critique de l’application Uber pourrait être le temps d’attente d’un chauffeur, avec comme valeur maximum dix minutes.
Mais pourquoi est-ce si crucial ? Pourquoi ne pas simplement se contenter de mesurer la précision brute ou le taux de réussite ? La réponse réside dans un équilibre subtil que nous appelons le “Triangle des Performances Critiques”.
Ce triangle repose sur trois piliers : performance, précision et coût. Chacun de ces aspects dépend principalement des arbitrages techniques pris avant et pendant le projet. Comprendre les priorités d’un contexte donné et trouver le bon équilibre est essentiel. Il serait dommage de faire exploser la facture pour atteindre une précision de 98 % quand 95 % suffiraient à répondre au besoin de l’utilisateur, d’autant plus si son enjeu principal est financier.
Dans cet article, nous explorerons comment définir et optimiser ces métriques pour votre projet LLM. Des conseils pratiques, des exemples concrets et une démarche produit claire vous aideront à comprendre pourquoi cette question est cruciale pour votre succès. Car au-delà des chiffres, il y a une stratégie à élaborer, des risques à évaluer et des opportunités à saisir.
Comprendre les performances critiques d’un projet LLM
Dans cette première partie, nous expliquons pourquoi la question de l’optimisation des performances critiques est cruciale et comment elle doit impacter nos décisions tout au long du cycle de développement. Une fois le projet lancé, ces performances critiques serviront de guide et de garde-fou, permettant de s'assurer que les préférences clés des clients sont satisfaites :
- Elles aident à définir les objectifs, indiquent si le modèle atteint les performances souhaitées et si l’équipe est sur la bonne voie pour résoudre le problème posé.
- Elles sont un langage commun entre les équipes techniques et non techniques. Elles permettent d’aligner les différentes parties prenantes sur les progrès, les défis et les opportunités.
- Lorsqu’un arbitrage est nécessaire entre différentes approches, elles rappellent le cap et aident à choisir la meilleure option pour atteindre l’objectif business.
La performance d’un modèle LLM se réfère à sa capacité à traiter rapidement et efficacement les requêtes. Elle est cruciale dans des scénarios où la réactivité est primordiale. Voici quelques exemples : pour un agent de prospection téléphonique qui échange oralement avec ses prospects en temps réel, par exemple, la performance est essentielle. La latence entre les questions de l’utilisateur et les réponses de l’agent doit être suffisamment courte pour ressembler à une conversation entre deux humains et éviter le drop de l’utilisateur.
La précision mesure la justesse des prédictions du modèle. Elle est particulièrement importante dans les domaines où l’erreur peut avoir des conséquences graves. La précision est par exemple primordiale dans le cas d’un outil de recommandation de traitement pour patients à l’hôpital : un faux positif pourrait entraîner un traitement inutile, tandis qu’un faux négatif pourrait mettre en danger la vie du patient.
Le coût englobe à la fois les ressources financières et temporelles nécessaires pour entraîner, déployer et maintenir le modèle. Dans de nombreux cas, le coût doit être maitrisé, d’autant qu’il est susceptible d’exploser en cas d’utilisation imprévue (pic d’utilisateurs, requêtes inutiles, usages malveillants). Dans le cas d‘un chatbot grand public, par exemple mis à disposition par une enseigne de supermarché pour aider à faire ses courses, chaque requête génère des dépenses. La précision et la performance sont moins prioritaires, tant que le coût reste sous contrôle.
Ce Triangle des Performances Critiques guide nos choix techniques. Trouver le bon équilibre entre ces trois dimensions est essentiel pour garantir le succès de nos projets LLM.
6 choix techniques qui impactent les performances critiques des LLM
1. L’hébergement (sur site, dans le cloud ou sans hébergement)
Il est possible d’utiliser un service externe (via une API) ou d’héberger les LLM sur ses propres serveurs ou dans le cloud. Ce choix dépend principalement des besoins en matière de sécurité et de confidentialité des données, ainsi que des capacités d’infrastructure existantes (configuration et coûts). Opter pour une infrastructure locale (sur site) peut entraîner des coûts élevés lors de la mise en place initiale. En revanche, l’utilisation d’infrastructures cloud permet une adaptation dynamique en fonction des besoins.
Investir dans ses propres infrastructures peut sembler plus lourd que l’utilisation d’une API, mais cette dernière est susceptible d’entraîner une explosion des coûts en fonction du volume d’appels. Le choix d’hébergement peut évoluer selon la phase du projet (expérimentation, déploiement, industrialisation). Les hypothèses de coûts estimées en début de projet sont ajustées suite aux premières mesures d’utilisation de la solution.
2. Architecture et dimensionnement de l’infrastructure (stockage, calcul)
Il s’agit de définir l’assemblage optimal des composants tels que les bases de données, les interfaces et les serveurs. Plus la puissance de calcul augmente, plus les performances s’améliorent (par exemple, réduction du temps de réponse d’un chatbot), mais plus le coût augmente également. La mise en place de bases de données puissantes permet, par exemple, d’augmenter la performance en réduisant le temps de réponse et de recherche d’informations, mais son impact sur l’architecture et le coût global est non négligeable. Il est essentiel de s’interroger sur le nombre d’utilisateurs simultanés de la solution, sur le temps de réponse attendu et sur la puissance du modèle de langage en lien avec la partie suivante.
Les cartes GPU, comme la très demandée H100 de NVIDIA, font partie des modèles les plus rares et les plus chers. Le dimensionnement de l’infrastructure est une réflexion itérative qui se poursuit tout au long du projet. La plupart des offres des fournisseurs Cloud permettent d’adapter l’infrastructure dynamiquement en fonction des usages (par exemple, grâce aux fonctionnalités d’autoscaling).
3. Le ou les modèle(s) et la précision globale attendue
Les modèles LLM ne cessent d’évoluer. Chaque jour, un nouveau modèle attire l’attention grâce à ses capacités en matière de multi-modalité, de multi-langues, de vitesse et de précision.
Certains modèles, comme GPT-4, dépassent mille milliards de paramètres, ce qui maximise la précision des réponses. Cependant, cela implique également davantage de calculs par unité de temps. Pour des cas spécifiques, tels que la recherche documentaire, un modèle plus léger avec moins de paramètres (comme les modèles open source LlaMa2-7B et Mistral-7B) peut suffire à atteindre la précision souhaitée, en ajoutant une couche de spécialisation à la réponse grâce au Retrieval Augmented Generation. Cette approche permet à l’utilisateur d’envoyer au LLM sa question accompagnée de documents pertinents pour lesquels il cherche des informations.
4. Les techniques d’optimisation
Certaines techniques permettent d’exploiter des modèles puissants même sur des machines moins performantes en termes de puissance de calcul. La quantification, par exemple, vise à réduire le poids des paramètres du modèle afin d’économiser de la puissance de calcul. Lorsqu’un modèle est quantifié, le nombre d’opérations à effectuer par seconde est moindre, ce qui améliore les performances globales, réduit les coûts et optimise l’efficacité énergétique. Cependant, cela peut entraîner une légère diminution de la précision du modèle quantifié.
5. La gestion des données d’entrée et du format de sortie
Lorsqu’une application LLM s’appuie sur des données fournies directement par les utilisateurs, il est essentiel de mettre en place un système de gestion des données d’entrée adapté, incluant le stockage, le traitement et les mises à jour. Les choix de solutions auront un impact significatif sur le triangle des performances critiques.
- Stockage des données d’entrée: Plus le volume de documents à stocker augmente, plus le LLM peut être ralenti dans sa capacité à fournir des réponses. Cependant, cela peut donner l’impression que les réponses sont plus précises, car le modèle a accès à davantage de connaissances.
- Chargement de documents par l’utilisateur: Permettre aux utilisateurs de charger leurs propres documents peut dégrader la précision de l’application. En effet, le LLM peut être moins performant sur des formats de documents très spécifiques et nouveaux pour lui, tels que les tableaux ou les images.
- Format de la réponse en sortie: Plus le format de la réponse du LLM est complexe (par exemple, un document multi-formats, une image ou une vidéo), plus il peut être coûteux en termes de ressources, moins performant et plus difficile à contrôler.
6. Le mode de déploiement (Batch / Real Time)
Le déploiement des modèles de langage à grande échelle (LLM) peut se faire selon différents modes, mais les deux plus couramment utilisés sont le déploiement par “lot de résultats” (batch) et le déploiement en temps réel (live inference).
- Déploiement par lot de résultats (Batch): Dans ce mode, les résultats sont livrés périodiquement à des intervalles définis. Par exemple, vous pourriez recevoir un résumé des documents de la semaine le vendredi soir. Ce mode permet de réduire le temps de disponibilité des infrastructures GPU/CPU et le coût global du projet.
- Déploiement en temps réel (Live Inference) : Dans ce mode, les résultats sont obtenus instantanément. L’utilisateur a davantage l’impression d’interagir avec le système, mais cela nécessite une puissance de calcul accrue, ce qui augmente les coûts.
En entreprise, les cas d’utilisation des LLM sont nombreux et nécessitent souvent de les spécialiser sur des données internes, tels que la recherche documentaire, l’accès à des données spécifiques ou l’obtention de réponses personnalisées. Un plus grand volume de données améliore la précision, mais diminue la performance.
Conclusion
Dans cet article, nous avons exploré le déploiement d’une application IA basée sur les Large Language Models (LLM) et l’importance du triangle des performances critiques. Ces métriques à atteindre, partagées par toutes les parties prenantes, guident le développement pour réussir l’adoption par les utilisateurs finaux. Chaque choix technique a son importance, les arbitrages pris par l’équipe doivent toujours considérer l’intérêt final de l’utilisateur.
Cependant, il existe un autre aspect crucial à prendre en compte : l’impact environnemental. Dans notre quête d’efficacité et de succès, nous ne devons pas négliger la question de la consommation énergétique. L’optimisation d’une application IA doit également tenir compte de son empreinte écologique. Par exemple, le choix de l’infrastructure de calcul, la localisation des serveurs et l’utilisation d’énergies renouvelables sont autant de décisions qui influencent directement cette empreinte.