Raccourcis

InstructLab, qu'est-ce que c'est ?

Copier l'URL

InstructLab est un projet Open Source visant à améliorer les grands modèles de langage (LLM) utilisés dans les applications basées sur l'intelligence artificielle (IA) générative. Initié par IBM et Red Hat, le projet communautaire InstructLab offre une solution économique permettant de renforcer l'alignement des LLM. Il est ouvert à tous les contributeurs, même à ceux qui débutent encore dans le domaine des technologies d'apprentissage automatique.

Rejoindre la communauté InstructLab

Les LLM s'utilisent pour un large éventail d'applications telles que les chatbots et les assistants de codage. Ils peuvent être totalement propriétaires (à l'instar des modèles GPT d'OpenAI ou Claude d'Anthropic) ou intégrer plus ou moins de composants Open Source liés aux données de pré-entraînement et aux restrictions d'utilisation (comme les modèles Llama de Meta, Mistral de Mistral AI et Granite d'IBM).

Les professionnels de l'IA doivent souvent adapter les LLM pré-entraînés pour satisfaire les besoins de leur entreprise. La marge de manœuvre est cependant limitée :

  • L'étape de réglage fin, permettant au LLM d'interpréter des connaissances et compétences spécifiques, implique de modifier un modèle Open Source existant et de l'entraîner. Or, l'entraînement est une tâche coûteuse qui consomme énormément de ressources.
  • Comme il est impossible de répercuter dans le projet en amont les améliorations que la communauté apporte en continu, les modèles n'en bénéficient pas.
  • L'adaptation d'un LLM nécessite de collecter de grandes quantités de données générées par l'homme, ce qui prend du temps et coûte cher.

L'approche adoptée avec InstructLab vient lever ces obstacles. Elle réduit considérablement la quantité de ressources de calcul et d'informations générées par l'homme habituellement nécessaires pour réentraîner un LLM. De plus, les contributions intégrées en amont assurent l'amélioration continue du modèle.

Le mot InstructLab est dérivé d'un projet d'IBM Research baptisé LAB, pour Large-scale Alignment for chatBots ou alignement à grande échelle des chatbots. L'alliance MIT-IBM Watson AI Lab, composée de membres du MIT et d'IBM Research, a décrit la méthode LAB dans un article de recherche en 2024.

Parce qu'InstructLab n'est associé à aucun modèle en particulier, il peut aider au réglage fin et améliorer les connaissances et compétences de n'importe quel LLM. Cet « arbre de connaissances et compétences » est continuellement enrichi par les contributions communautaires et sert à produire des versions du LLM toujours plus sophistiquées. InstructLab s'appuie sur une version améliorée du modèle Granite d'IBM. IBM propose deux autres modèles basés sur la méthode LAB : Labradorite (dérivé de Llama 2) et Merlinite (dérivé de Mistral). Le projet InstructLab vise à faciliter le réentraînement régulier des modèles, tout en écourtant les délais d'itération. Les entreprises peuvent également utiliser les outils d'alignement des modèles InstructLab pour entraîner leurs propres LLM, avec leurs connaissances et compétences.

La méthode LAB comprend trois processus :

  • Sélection des données dans la taxonomie. La taxonomie est un ensemble de données d'entraînement diverses, sélectionnées par l'homme et qui servent d'exemples pour les nouvelles connaissances et compétences du modèle.
  • Génération de données synthétiques à grande échelle. Le modèle est ensuite appliqué pour générer de nouveaux exemples à partir des données d'entraînement fournies en entrée. La qualité des données synthétiques étant variable, les résultats sont automatiquement affinés, ce qui garantit leur pertinence et leur fiabilité.
  • Réglage de l'alignement à grande échelle et par itération. Le modèle est finalement réentraîné à l'aide des données synthétiques. Il subit alors deux réglages : le réglage des connaissances, puis des compétences.

Les données que les membres de la communauté fournissent déclenchent régulièrement la publication de nouvelles versions du LLM, qui sont toujours plus abouties grâce à l'arbre des compétences enrichi par les contributions.

Voyons ce qui différencie InstructLab des autres approches de création et de modification des LLM.

Pré-entraînement

Cette étape consiste à entraîner le LLM à effectuer des prédictions à partir de plusieurs billions d'éléments de données non étiquetés. Il s'agit d'un processus coûteux qui peut demander des mois de travail et des milliers de GPU. Seules les entreprises possédant énormément de ressources parviennent à pré-entraîner un LLM ultraperformant.

Réglage de l'alignement

Le modèle fait ensuite l'objet d'un alignement afin d'optimiser la pertinence et la précision des réponses produites. Lors de la première phase de ce processus, appelée réglage des instructions, le LLM est directement entraîné pour des tâches spécifiques. Vient ensuite l'étape de réglage des préférences, qui peut inclure un apprentissage par renforcement basé sur les commentaires humains. Des humains testent le modèle, évaluent ses résultats et notent leurs préférences. Plusieurs cycles de retours et d'adaptations sont parfois nécessaires pour optimiser le modèle.

Les études prouvent que les commentaires humains lors du réglage de l'alignement libèrent davantage le potentiel du modèle, même si leur nombre reste bien inférieur au volume des données de pré-entraînement (des dizaines de milliers d'annotations humaines contre plusieurs billions d'éléments de données).

InstructLab

La méthode LAB part du principe qu'il est possible de tirer parti de l'alignement des modèles avec un ensemble de données humaines encore plus réduit. Un modèle d'IA est capable de créer une grande quantité de données synthétiques à partir d'un petit nombre d'exemples humains, de les affiner, puis de les exploiter pour optimiser les processus d'entraînement et de réglage. À l'inverse du réglage des instructions qui nécessite des milliers d'exemples de commentaires humaines, la méthode LAB produit un modèle bien plus performant, avec très peu d'exemples fournis par l'homme.

InstructLab et génération augmentée de récupération (RAG)

Les méthodes InstructLab et RAG (Retrieval-Augmented Generation) résolvent des problèmes bien distincts.

La génération augmentée de récupération est un moyen économique de compléter la phase de pré-entraînement du LLM en lui apportant des connaissances propres à un domaine. C'est ce qui permet par exemple à un chatbot de générer des réponses précises en lien avec un domaine ou une activité, sans avoir besoin de réentraîner le modèle. Les documents contenant les connaissances sont stockés dans une base de données vectorielle, puis récupérés par petits blocs et transmis au modèle via les requêtes des utilisateurs. Cette approche permet d'accéder rapidement à des informations via un LLM ou de lui ajouter des données propriétaires qui restent protégées. 

La méthode InstructLab, quant à elle, s'appuie sur les contributions des utilisateurs finaux pour générer régulièrement de nouvelles versions toujours plus abouties du LLM. InstructLab permet d'enrichir le modèle de nouvelles connaissances et compétences.

Il est possible de doper l'efficacité du processus RAG en appliquant cette méthode à un modèle réglé via InstructLab.
 

InstructLab repose sur plusieurs autres projets.

Taxonomies

InstructLab contient plusieurs taxonomies minutieusement compilées qui permettent de créer des modèles réglés avec des données générées par l'homme, puis améliorées au moyen de données synthétiques.

Interface en ligne de commande

Les membres de la communauté InstructLab peuvent tester leurs contributions via une interface en ligne de commande sur un ordinateur portable ou un poste de travail. Ils profitent ainsi de capacités simples de génération des données synthétiques et de réglage des instructions, sans recourir à du matériel spécifique.

Infrastructure d'entraînement

La dernière étape consiste à créer les LLM améliorés. Le réentraînement régulier des modèles sur la base des nouvelles contributions communautaires exige une infrastructure gourmande en GPU. IBM a fait don au projet InstructLab d'une infrastructure adaptée et en assure la maintenance.
 

La solution Red Hat® Enterprise Linux® AI rassemble les LLM Open Source Granite, les outils d'alignement de modèles InstructLab, une image de démarrage de Red Hat Enterprise Linux, avec une assistance technique professionnelle et une indemnisation au titre de la propriété intellectuelle pour les modèles.

Red Hat Enterprise Linux est la plateforme Linux d'entreprise leader sur le marché, certifiée pour des centaines de clouds et des milliers de fournisseurs de matériel et de logiciels. Basée sur les technologies de système d'exploitation Linux, de conteneurisation et d'automatisation, notre stratégie de cloud hybride ouvert vous permet d'exécuter vos applications d'IA dans tout type d'environnement.

Red Hat Enterprise Linux AI et le projet InstructLab viennent renforcer cette approche en éliminant les barrières du coût et des ressources lors de l'expérimentation et la création des modèles d'IA, tout en fournissant les outils, données et concepts indispensables pour alimenter les nouvelles charges de travail intelligentes.

Pour aller plus loin

Article

L'IA générative, qu'est-ce que c'est ?

L'IA générative s'appuie sur des modèles d'apprentissage profond entraînés avec de grands ensembles de données pour créer des contenus.

Article

L'apprentissage automatique, qu'est-ce que c'est ?

L'apprentissage automatique est une technique qui consiste à entraîner un ordinateur à identifier des schémas, à établir des prédictions et à apprendre à partir d'expériences passées sans programmation explicite.

Article

Un modèle de fondation, qu'est-ce que c'est ?

Un modèle de fondation est un type de modèle d'apprentissage automatique (AA) qui est pré-entraîné pour réaliser une série de tâches. 

En savoir plus sur l'IA/AA

Produits

Nouveau

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, les équipes d'exploitation et les développeurs 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