En bref

Cet article présente LLMOps, une branche spécialisée qui combine DevOps et MLOps pour relever les défis posés par les grands modèles linguistiques (LLM). Les LLM, comme le GPT d’OpenAI, exploitent de vastes data textuelles data des tâches telles que la génération de texte et la traduction. LLMOps aborde des questions telles que la personnalisation, les modifications d'API, data , l'évaluation des modèles et la surveillance à l'aide d'outils tels que LangSmith, TruLens et W&B Prompts. Il garantit l'adaptabilité, l'évaluation et la surveillance des LLM dans des scénarios concrets, offrant ainsi une solution complète aux organisations qui exploitent ces modèles linguistiques avancés.

Pour vous guider dans cette réflexion, nous commencerons par revenir sur les principes fondamentaux du DevOps et du MLOps, puis nous nous concentrerons sur le LLMOps, en commençant par une brève présentation des modèles de langage à grande échelle (LLM) et de leur utilisation par les entreprises. Nous aborderons ensuite les principaux défis opérationnels posés par la technologie des LLM et la manière dont le LLMOps y répond efficacement.

Principes fondamentaux des LLMOps : DevOps et MLOps

DevOps, abréviation de « Development and Operations », désigne un ensemble de pratiques visant à automatiser le processus de livraison logicielle afin de le rendre plus efficace, plus fiable et plus évolutif. Les principes fondamentaux du DevOps sont notamment : la collaboration, l'automatisation, les tests continus, la surveillance et l'orchestration des déploiements.

Le MLOps, abréviation de « Machine Learning Operations », est une extension des pratiques DevOps spécialement conçue pour la gestion du cycle de vie des modèles d'apprentissage automatique. Il répond aux défis particuliers posés par la nature itérative et expérimentale du développement en apprentissage automatique. Il intègre des tâches supplémentaires telles que la gestion et data , ainsi que l'expérimentation et l'entraînement des modèles.

LLMOps : Gestion du déploiement et de la maintenance des grands modèles linguistiques

LLMOps, abréviation de « Large Language Model Operations », est une branche spécialisée du MLOps spécialement conçue pour relever les défis et répondre aux exigences propres à la gestion des grands modèles linguistiques (LLM).

Mais avant tout, qu'est-ce qu'un LLM exactement ?

Les modèles de langage à grande échelle (LLM) sont un type de modèle d'apprentissage profond qui utilise d'énormes quantités de data textuelles data estimer des milliards de paramètres. Ces paramètres permettent aux LLM de comprendre et de générer des textes d'une qualité comparable à celle d'un humain, de traduire des langues, de résumer des informations complexes et d'effectuer diverses tâches de traitement du langage naturel.

Comment les entreprises utilisent les grands modèles de langage

Comme l'entraînement des LLM à partir de zéro est extrêmement coûteux et chronophage, les entreprises optent pour des modèles de base pré-entraînés, tels que le GPT d'OpenAI ou le LaMDA de Google AI, comme point de départ. Ces modèles, ayant déjà été entraînés sur de vastes quantités de data, possèdent des connaissances approfondies et sont capables d'effectuer diverses tâches, notamment la génération de texte, la traduction et la rédaction de différents types de contenus créatifs. Pour personnaliser davantage les résultats du LLM en fonction de tâches ou de domaines spécifiques, les organisations ont recours à des techniques telles que l'ingénierie des invites, la génération augmentée par la récupération (RAG) et le réglage fin. L'ingénierie des invites consiste à élaborer des instructions claires et concises qui guident le LLM vers le résultat souhaité, tandis que la RAG ancrent le modèle sur des informations supplémentaires provenant de data externes, améliorant ainsi ses performances et sa pertinence. Le fine-tuning, quant à lui, consiste à ajuster les paramètres du LLM à l'aide de data supplémentaires data aux besoins de l'organisation. Le schéma ci-dessous offre un aperçu du workflow LLMOps, illustrant comment ces techniques s'intègrent au processus global.

class="lazyload

Pourquoi avons-nous besoin de LLMOps ?

Les progrès rapides de la technologie des grands modèles de langage (LLM) ont mis en évidence plusieurs défis opérationnels qui nécessitent des approches spécialisées.

Parmi ces défis, on peut citer :

  • Le besoin de personnalisation: bien que les grands modèles de langage (LLM) soient pré-entraînés sur d'énormes quantités de data, la personnalisation est essentielle pour obtenir des performances optimales dans le cadre de tâches spécifiques. Cela a conduit au développement de nouvelles techniques de personnalisation, telles que l'ingénierie des invites, la génération augmentée par la recherche (RAG) et le réglage fin. La RAG permet d'ancrer le modèle dans les informations les plus précises en lui fournissant une base de connaissances externe, tandis que le fine-tuning est plus adapté lorsque l'on souhaite que le modèle effectue des tâches spécifiques ou qu'il respecte un format de réponse particulier, tel que JSON ou SQL. Le choix entre la RAG et le fine-tuning dépend de l'objectif recherché : améliorer les connaissances du modèle ou optimiser ses performances dans une tâche spécifique.

  • Modifications des API: contrairement aux modèles d'apprentissage automatique traditionnels, les modèles de langage à grande échelle (LLM) sont souvent accessibles via des API tierces, qui peuvent être modifiées, voire supprimées, ce qui nécessite une surveillance et une adaptation constantes. Par exemple, la documentation d'OpenAI mentionne explicitement que ses modèles font l'objet de mises à jour régulières, ce qui peut obliger les utilisateurs à mettre à jour leur logiciel ou à migrer vers des modèles ou des points de terminaison plus récents.

  • Data désigne une modification des propriétés statistiques des data d'entrée, qui survient fréquemment en production lorsque les data rencontrées data de data sur data (LLM) ont été entraînés. Cela peut entraîner la génération d'informations inexactes ou obsolètes. Par exemple, avec le modèle GPT-3.5, les informations disponibles étaient limitées à la période allant jusqu'en septembre 2021 avant que la date limite ne soit repoussée à janvier 2022. Par conséquent, il ne pouvait pas répondre aux questions concernant des événements plus récents, ce qui a suscité la frustration des utilisateurs.

  • Évaluation des modèles: Dans l'apprentissage automatique traditionnel, nous nous appuyons sur des indicateurs tels que la justesse, la précision et le rappel pour évaluer nos modèles. Cependant, l'évaluation des grands modèles de langage (LLM) est nettement plus complexe, notamment en l'absence de data de référence data lorsqu'il s'agit de traiter des résultats en langage naturel plutôt que des valeurs numériques.

  • Surveillance: la surveillance continue des modèles de langage (LLM) et des applications qui s'appuient sur ces modèles est essentielle. Elle est également plus complexe, car elle implique de nombreux aspects à prendre en compte pour garantir l'efficacité et la fiabilité globales de ces modèles de langage. Nous aborderons ces aspects plus en détail dans la section suivante.

Comment LLMOps relève ces défis

LLMOps s'appuie sur les fondements du MLOps tout en introduisant des composants spécialisés adaptés aux modèles de langage à grande échelle (LLM) :

  • Ingénierie des prompts et gestion du réglage fin: LLMOps fournit des outils tels que des systèmes de contrôle de version des prompts permettant de suivre et de gérer les différentes versions de ces derniers. Il s'intègre également à des frameworks de réglage fin afin d'automatiser et d'optimiser ce processus. LangSmith, un framework spécialement conçu pour gérer les workflows des LLM, en est un exemple marquant. Ses fonctionnalités complètes englobent la gestion des versions des prompts, permettant ainsi une expérimentation contrôlée et la reproductibilité. De plus, LangSmith facilite le réglage fin des LLM en utilisantdata filtrage et enrichissement, afin d'améliorer les performances du modèle.

  • Gestion des modifications des API: LLMOps met en place des processus permettant de surveiller les modifications apportées aux API, d'alerter les opérateurs en cas de perturbations potentielles et de procéder à des restaurations si nécessaire.

  • Adaptation des modèles à l'évolution data: LLMOps facilite l'adaptation des grands modèles de langage (LLM) à data en constante évolution, garantissant ainsi que les modèles restent pertinents et performants à mesure que data changent. Cela peut être réalisé en surveillant data et en déclenchant des processus d'adaptation lorsque des changements significatifs sont détectés. Ces processus peuvent inclure :
    -> Réentraînement ou réglage fin: en fonction de l'ampleur de data et des ressources disponibles, on peut recourir soit au réentraînement, soit au réglage fin pour en atténuer l'impact.
    -> Adaptation au domaine: affiner le LLM sur un ensemble de données provenant du domaine cible.
    -> Distillation des connaissances: entraîner un modèle plus petit en tirant parti des connaissances et de l'expertise d'un modèle plus grand, plus puissant et à jour.

  • Évaluation spécifique aux grands modèles de langage (LLM): LLMOps utilise de nouveaux outils d'évaluation adaptés aux LLM. Parmi ceux-ci, on trouve :
    -> Des métriques textuelles, telles que la perplexité ; une mesure statistique de la capacité du modèle à prédire le mot suivant dans une séquence. Ainsi que les métriques BLEU et ROUGE, qui comparent un texte généré par une machine à un ou plusieurs textes de référence rédigés par des humains. Elles sont couramment utilisées pour les tâches de traduction et de synthèse.
    -> Analyse des embeddings (représentations vectorielles de mots ou d'expressions) pour évaluer la capacité du modèle à comprendre des mots spécifiques au contexte et à saisir les similitudes sémantiques. Les techniques de visualisation et de clustering peuvent également nous aider à détecter les biais.
    -> Évaluateurs LLM: Utilisation d'autres LLM pour évaluer notre modèle. Cela peut par exemple se faire en attribuant une note à la sortie du modèle évalué sur la base de métriques prédéfinies, telles que la fluidité, la cohérence, la pertinence et l'exactitude factuelle.
    -> Intégration du retour d'information humain: LLMOps intègre des mécanismes permettant de recueillir et d'intégrer le retour d'information humain dans le cycle de vie du ML, améliorant ainsi les performances des LLM et corrigeant les biais.
    TruLens est un outil qui permet d'intégrer ces évaluations dans les applications LLM grâce à une approche programmatique appelée « fonctions de rétroaction ».

  • Surveillance spécifique aux LLM: LLMOps intègre une surveillance continue pour suivre les indicateurs de performance des LLM, identifier les problèmes potentiels et détecter les dérives conceptuelles ou les biais. Cela comprend :
    -> Surveillance fonctionnelle: en suivant le nombre de requêtes, le temps de réponse, l'utilisation des tokens, les taux d'erreur et le coût.
    -> Surveillance des invites; pour garantir la lisibilité et détecter la toxicité et d'autres formes d'abus. W&B Prompts est un ensemble d'outils conçus pour la surveillance des applications basées sur les LLM. Il peut être utilisé pour analyser les entrées et les sorties de vos LLM, visualiser les résultats intermédiaires et stocker et gérer vos invites en toute sécurité.
    -> Surveillance des réponses; pour garantir la pertinence et la cohérence du modèle. Cela inclut la prévention de la génération de contenu hallucinatoire ou fictif, ainsi que l'exclusion de tout contenu préjudiciable ou inapproprié. La transparence peut nous aider à mieux comprendre la réponse du modèle. Elle peut être assurée en révélant les sources des réponses (dans RAG) ou en invitant le modèle à justifier son raisonnement (chaîne de pensée).

Ces data de surveillance data être utilisées pour améliorer l'efficacité opérationnelle. Nous pouvons optimiser la gestion des coûts en mettant en place des alertes sur l'utilisation des jetons et en recourant à des stratégies telles que la mise en cache des réponses précédentes. Cela nous permet de les réutiliser pour des requêtes similaires sans avoir à interroger à nouveau le modèle de langage (LLM). De plus, nous pouvons réduire la latence en optant pour des modèles plus petits lorsque cela est possible et en limitant le nombre de jetons générés.

Conclusion

Dans cet article, nous avons examiné l'émergence du LLMOps, un dérivé du DevOps et du MLOps, spécialement conçu pour relever les défis opérationnels posés par les grands modèles linguistiques. Concluons par une comparaison visuelle de ces trois méthodologies, illustrant leur champ d'application dans le contexte des entreprises utilisatrices de grands modèles linguistiques, qui s'appuient sur ces modèles pour créer des produits et résoudre des problèmes commerciaux.

class="lazyload

Si ces trois méthodologies partagent des pratiques communes telles que le CI/CD, la gestion des versions et l'évaluation, chacune d'entre elles se concentre sur des domaines distincts. Le DevOps couvre l'ensemble du cycle de vie du développement logiciel, du développement au déploiement et à la maintenance. Le MLOps étend le DevOps pour répondre aux défis spécifiques des modèles d'apprentissage automatique, notamment l'automatisation de l'entraînement, du déploiement et de la surveillance des modèles. Le LLMOps, dernière itération de ces méthodologies, se concentre spécifiquement sur les LLM. Même si les entreprises utilisatrices de LLM n'ont pas besoin de développer leurs propres modèles, elles sont néanmoins confrontées à des défis opérationnels, notamment la gestion des modifications d'API et la personnalisation des modèles à l'aide de techniques telles que l'ingénierie des invites et le réglage fin.

class="lazyload

Blog Medium Blog Artefact.

Cet article a été initialement publié sur Medium.com.
Suivez-nous sur notre Blog Medium Blog