Le LLMOps, qu'est-ce que c'est ?

Copier l'URL

Les grands modèles de langage (LLM) sont des modèles d'apprentissage automatique (AA) qui peuvent comprendre et générer du langage humain. Les LLM tels que GPT-3, LLaMA et Falcon sont des outils qui apprennent à partir de données pour produire des mots et des phrases. Mais parce que ces outils ne cessent de se développer, les entreprises ont besoin de meilleures pratiques pour les exploiter.C'est là que le LLMOps intervient.

Le LLMOps (Large Language Model Operations) regroupe les méthodes utilisées pour gérer de grands modèles de langage. Cette approche permet de gérer et d'automatiser le cycle de vie des grands modèles de langage, du réglage fin à la maintenance, pour aider les équipes à les déployer, les surveiller et les entretenir.

Parce que les LLM sont un sous-ensemble des modèles d'AA, on peut considérer que le LLMOps est un équivalent du MLOps (Machine Learning Operations) pour les grands modèles de langage. Le MLOps désigne un ensemble de pratiques de gestion des workflows qui vise à rationaliser le déploiement et la maintenance des modèles d'AA. Cette approche a pour but d'établir une évolution continue pour l'intégration des modèles d'AA au développement logiciel. Pareillement, dans le cadre du LLMOps, le cycle de développement et de déploiement des LLM fait continuellement l'objet d'essais, d'itérations, de redéploiements et d'améliorations.

Même s'ils sont assez similaires, le LLMOps et le MLOps présentent des différences, notamment au niveau des points suivants :

Apprentissage : tandis que les modèles d'AA sont souvent créés ou entraînés à partir de rien, les LLM s'appuient sur un modèle de fondation et sont soumis à un réglage fin avec de nouvelles données pour améliorer les performances des tâches.

Réglage : le réglage fin des LLM permet d'améliorer les performances et d'augmenter la précision, en approfondissant les connaissances du modèle sur un sujet en particulier. Le processus de réglage des requêtes améliore les performances des LLM sur des tâches spécifiques. Le réglage des hyperparamètres est également différent. Le réglage des modèles d'AA vise à renforcer leur précision, tandis que le réglage des LLM doit également permettre de réduire les coûts et la puissance de calcul requise pour leur entraînement. Les deux types de modèles bénéficient du processus de réglage, mais les priorités diffèrent. Il existe une autre technique qui s'appuie sur des connaissances externes pour garantir la précision et la spécificité des faits collectés par les LLM et ainsi améliorer la pertinence des réponses : il s'agit de la RAG (retrieval-augmented generation).

Commentaires : l'apprentissage par renforcement basé sur les commentaires humains est un entraînement avancé des LLM. Les performances des LLM dépendent directement des commentaires que formulent les humains. Ces modèles utilisent les commentaires humains pour évaluer la précision, à la différence des modèles d'AA traditionnels qui déterminent la précision à partir d'indicateurs de mesure spécifiques.

Indicateurs de mesure de performances : les modèles d'AA sont associés à des indicateurs de mesure de performances clairement définis. Les LLM utilisent d'autres indicateurs et systèmes d'évaluation, notamment les algorithmes BLEU (Bilingual Evaluation Understudy) et ROUGE (Recall-Oriented Understudy for Gisting Evaluation) qui requièrent une évaluation plus complexe.

Le LLMOps s'impose comme le meilleur moyen de surveiller et d'améliorer les performances des LLM. Trois avantages majeurs se dégagent de cette approche.

Efficacité : le LLMOps permet aux équipes de développer des modèles plus rapidement, d'améliorer leur qualité et d'accélérer leur déploiement. Grâce à cette approche qui rationalise la gestion, les équipes peuvent collaborer plus facilement sur une plateforme axée sur la communication, le développement et le déploiement.

Évolutivité : le LLMOps améliore l'évolutivité et la gestion dans un contexte d'intégration et de distribution/déploiement continus (CI/CD) dans lequel plusieurs modèles peuvent être gérés et surveillés. Le LLMOps offre également aux utilisateurs une expérience plus réactive en améliorant la communication des données et les réponses. 

Réduction des risques : le LLMOps favorise la transparence et améliore la conformité avec les politiques du secteur et de l'entreprise.Le LLMOps permet de renforcer la sécurité et la confidentialité en protégeant les informations sensibles et en évitant l'exposition aux risques.

Le LLMOps peut s'appliquer à différents cas d'utilisation.

Intégration et distribution continues (CI/CD) : les pratiques CI/CD ont pour but de rationaliser, d'accélérer et d'automatiser le cycle de développement des modèles. Elles permettent de générer du code sans intervention humaine et ainsi de réduire les temps d'arrêt et le délai de lancement des nouvelles versions du code. Des outils tels que Tekton, sur lequel repose Red Hat OpenShift Pipelines, améliorent les workflows de développement en automatisant les déploiements sur plusieurs plateformes.

Collecte, étiquetage et stockage de données : la collecte des données s'effectue à partir de différentes sources pour rassembler des informations précises. L'étiquetage classe les données par catégories et le stockage des données permet de collecter et de conserver les informations numériques associées à un réseau.

Réglage fin, inférence et surveillance des modèles : le processus de réglage fin optimise les modèles pour qu'ils effectuent des tâches spécifiques d'un domaine. L'inférence permet de gérer la production en fonction des connaissances existantes et de déclencher des actions à partir des informations déduites. Le processus de surveillance des modèles (commentaires humains compris) recueille et stocke des données sur le comportement des modèles afin de connaître la réaction de ces derniers en présence de vraies données de production.

Le LLMOps se compose de plusieurs étapes, chacune ayant ses propres meilleures pratiques.

Analyse des données d'exploitation : analyse des données pour préparer le cycle de vie de l'apprentissage automatique en créant des ensembles de données.

  • Collecte des données : première étape d'entraînement des LLM collectés à partir de différentes sources, notamment les archives de code et les réseaux sociaux.
  • Nettoyage des données : étape d'inspection indispensable après la collecte pour préparer les données en vue de l'entraînement, notamment en éliminant les erreurs, en corrigeant les incohérences et en supprimant les doublons.
  • Exploration des données : étape qui permet de mieux comprendre les caractéristiques des données, notamment en identifiant leurs singularités et leurs schémas.

Préparation des données et ingénierie de prompt : processus de partage des données accessibles entre les équipes et de développement des prompts pour les LLM.

  • Préparation des données : préparation spécifique des données utilisées pour l'entraînement d'un LLM, notamment les données de synthèse et finales.
  • Ingénierie de prompt : création de prompts utilisés pour générer du texte qui doit orienter les LLM vers le résultat souhaité.

Réglage fin des modèles : utilisation de bibliothèques Open Source courantes telles que Hugging Face Transformers pour régler et améliorer les performances des modèles.

  • Entraînement des modèles : entraînement ou réglage fin des LLM après la préparation des données, à l'aide d'un algorithme d'apprentissage automatique qui permet aux LLM d'apprendre les schémas présents dans les données.
  • Évaluation des modèles : évaluation des performances des LLM avec un ensemble de données différent de ceux utilisés pour l'entraînement.
  • Réglage fin des modèles : en cas de mauvaises performances, les LLM doivent être réglés en modifiant les paramètres pour obtenir de meilleurs résultats.

Examen et gouvernance des modèles : découverte, partage et collaboration autour des modèles d'AA via des plateformes MLOps Open Source comme Kubeflow.

  • Examen des modèles : examen post-réglage fin des LLM qui doivent être sûrs et fiables, c'est-à-dire exempts de biais et de risques pour la sécurité.
  • Gouvernance des modèles : gestion des LLM tout au long de leur cycle de vie, notamment en suivant leurs performances, en y apportant les modifications nécessaires et en les retirant lorsqu'ils ne sont plus utiles.

Inférence et distribution des modèles : gestion des paramètres de production tels que la fréquence d'actualisation ou le délai des requêtes. 

  • Distribution des modèles : déploiement en production des LLM examinés et approuvés, qui sont mis à disposition via une interface de programmation d'application (API).
  • Inférence des modèles : possibilité pour une application de demander à l'API de générer du texte ou de répondre à une question. Différentes méthodes existent, comme l'utilisation d'une API REST (Representational State Transfer) ou d'une application web.

Surveillance des modèles avec commentaires humains : création de modèles et surveillance des données avec alertes en cas de dérive du comportement ou de malveillance d'un utilisateur.

  • Surveillance des modèles : contrôle des performances après le déploiement des LLM, impliquant de suivre les performances, d'identifier les problèmes éventuels et d'apporter les modifications nécessaires.
  • Commentaires humains : amélioration des performances des LLM en commentant le texte généré ou en identifiant les problèmes éventuels liés aux performances.

Une plateforme LLMOps offre aux différentes équipes un environnement qui facilite la collaboration à l'aide de fonctions d'analyse de données, de suivi des expérimentations, d'ingénierie de prompt et de gestion des LLM. Ce type de plateforme permet aussi de gérer la transition des modèles, le déploiement et la surveillance des LLM.Parce qu'elles améliorent la gestion des bibliothèques, les plateformes LLMOps permettent de diminuer les coûts d'exploitation et d'effectuer des tâches telles que le prétraitement des données, la surveillance des modèles et le déploiement sans solliciter des équipes techniques hautement qualifiées.

Plateforme de cloud hybride basée sur Kubernetes, Red Hat® OpenShift® accélère le déploiement des applications basées sur l'IA dans les environnements de cloud hybride, aussi bien dans les datacenters qu'en périphérie du réseau ou dans les environnements multicloud.

Avec Red Hat OpenShift, les entreprises peuvent automatiser et simplifier l'intégration répétée des modèles aux processus de développement logiciel, de déploiement en production, de surveillance, de réentraînement et de redéploiement pour assurer la précision des prévisions.

Plateforme MLOps flexible et évolutive, la solution Red Hat OpenShift AI inclut des outils de création, de déploiement et de gestion d'applications basées sur l'IA. Cette solution permet aux équipes de science des données et de développement d'applications de simplifier l'intégration de l'IA aux applications à grande échelle, de manière sécurisée et cohérente. Les outils d'OpenShift AI prennent en charge l'intégralité du cycle de vie des essais et des modèles d'IA/AA, sur site et dans le cloud public.

Avec une plateforme d'applications d'entreprise unique qui associe les capacités de Red Hat OpenShift AI et de Red Hat OpenShift, les équipes peuvent collaborer dans un seul environnement qui favorise la cohérence, la sécurité et l'évolutivité.

Nouveau

InstructLab

InstructLab est un projet Open Source visant à améliorer les grands modèles de langage (LLM).

En savoir plus sur l'IA/AA

Produits

Maintenant disponible

Une plateforme de modèle de fondation conçue pour développer, tester et exécuter facilement des grands modèles de langage (LLM) de la famille Granite pour les applications d'entreprise.

Gamme de produits pour l'IA qui fournit des outils pour entraîner, ajuster, distribuer, surveiller et gérer des expériences et des modèles d'intelligence artificielle/apprentissage automatique (IA/AA) sur Red Hat OpenShift.

Plateforme d'applications d'entreprise qui inclut un ensemble unifié de services testés conçus pour distribuer des applications sur l'infrastructure de votre choix. 

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant est un service d'IA générative conçu par et pour les professionnels de l'automatisation ainsi que les équipes d'exploitation et de développement qui travaillent avec Ansible. 

Ressources

Livre numérique

Éléments importants pour la création d'un environnement d'IA/AA prêt pour la production

Rapport d'analyste

The Total Economic Impact™ of Red Hat Hybrid Cloud Platform for MLOps

Webinar

Getting the most out of AI with open source and Kubernetes