Red Hat® AI InstructLab on IBM Cloud® est une solution d'IA générative prête à l'emploi, privée et sécurisée, alimentée par Red Hat Enterprise Linux AI.

Initiation à Red Hat AI InstructLab on IBM Cloud

Préparez-vous à plonger dans l'IALa capacité d'acquérir, de traiter, de créer et d'appliquer des connaissances sous la forme d'un modèle pour faire des prédictions, des recommandations ou des décisions. avec Red Hat® AI InstructLab on IBM Cloud®!

InstructLab est un projet open source de IBM et Red Hat qui se veut un point d'entrée rentable dans le monde de l'apprentissage automatique.Une branche de l'intelligence artificielle (IA) et de l'informatique qui se concentre sur l'utilisation de données et d'algorithmes pour imiter la façon dont les humains apprennent, améliorant progressivement la précision des modèles d'IA. Vous pouvez utiliser InstructLab pour contribuer à un grand modèle linguistique sans avoir à posséder et à exploiter une infrastructure matérielle.

En savoir plus sur InstructLab.

Qu'est-ce qu'Red Hat AI InstructLab ?

Pour utiliser InstructLab, vous n'avez besoin d'aucune connaissance préalable. Vous n'avez même pas besoin d'avoir une idée de ce que vous allez créer. Commençons par nous familiariser avec les concepts.

InstructLab est un projet visant à améliorer les grands modèles de langage (LLM), qui sont des modèles d'intelligence artificielle utilisant des techniques d'apprentissage automatique pour générer du langage humain. Vous commencez par fournir les connaissances et les compétences les plus importantes pour votre entreprise dans ce que l'on appelle une taxonomie, ou un répertoire de données. La taxonomie est utilisée pour générer des données synthétiques, qui sont ensuite utilisées pour former le modèle à travers plusieurs phases d'ajustement. Ce processus permet d'aligner votre LLM sur vos objectifs en vous apportant non seulement des connaissances générales, mais aussi les compétences et les contextes spécifiques qui sont les plus importants pour les besoins uniques de votre entreprise.

Pour plus d'informations, voir Comment ça marche. Vous pouvez également commencer par préparer et télécharger votre première taxonomie.

Créez votre compte IBM Cloud®

Assurez-vous que vous disposez des éléments suivants avant de continuer.

En option : Préparer une taxonomie

  1. Utilisez la taxonomie IBM Cloud ou créez votre propre taxonomie.

    • Si vous n'avez pas encore de taxonomie, vous pouvez prendre le repo de la taxonomie IBM Cloud et le cloner sur votre machine locale. Cette taxonomie possède la structure de fichier correcte déjà créée pour vous. Vous pouvez ajouter des connaissances et des compétences dans les répertoires correspondants.

    • Pour créer votre propre taxonomie, reportez-vous à la section Préparation des taxonomies pour plus d'informations.

    Vous pouvez également utiliser le carnet Jupyter de la communauté IBM Cloud pour créer votre taxonomie. Pour plus d'informations, voir redhat-ai-instructlab-jupyter-notebooks GitHub repo

  2. Mettez à jour votre taxonomie. L'exemple suivant ajoute des questions de rimes au répertoire linguistique.

    a. Dans votre fork, dans le répertoire compositional_skills/linguistics, créez un fichier qna.yaml.

    b. Dans le fichier qna.yml, ajoutez une question relative aux mots qui riment.

    - answer: 'Here are two rhyming words for "cave":
        1\. Brave
    
        2\. Gave'
      question: 'Give me two words that rhyme with cave'
    

    c. Si vos ajouts comprennent des documents de référence, tels que des articles web ou des fichiers sur Github, vous pouvez faire référence au dépôt public GitHub et à la SHA d'un fichier, comme dans cet exemple.

    document:
    repo: https://github.com/<organization>/<repository>
    commit: <commit_sha>
    patterns:
        - <filename>.md
    

    d. Enregistrez les modifications et transmettez-les à la fourchette.

    f. Facultatif : Valider la taxonomie mise à jour.

  3. Dans un navigateur, ouvrez la page Releases de votre référentiel Github. Par exemple : https://github.com/<my-org>/taxonomy/releases.

  4. Cliquez sur Créer un communiqué.

  5. Créez une balise, sélectionnez une branche cible et entrez un nom pour la version.

  6. Cliquez sur Publier une version.

  7. Téléchargez le fichier tar.gz qui a été automatiquement généré à partir de la version en cliquant sur Source code ( tar.gz ).

  8. Facultatif: si vous utilisez un référentiel privé pour vos documents de connaissance de la taxonomie, effectuez les étapes suivantes.

    1. Suivez la documentation de GitHub pour créer un jeton d'accès personnel classique(PAT ).

    2. Dans la section Accès au référentiel, étendez votre PAT à votre référentiel de taxonomie.

    3. Dans la section Permissions du référentiel, sélectionnez Contenu > read-only et Métadonnées > read-only.

Téléchargez votre taxonomie en utilisant la console

Effectuez les étapes suivantes pour stocker votre taxonomie dans Object Storage.

  1. Dans la page Projets, sélectionnez votre projet.

  2. Cliquez sur Taxonomies.

  3. Cliquez sur Upload et saisissez les informations suivantes.

    Fichier de taxonomie
    Sélectionnez votre fichier .tar.gz.
    Nom de taxonomie
    Donner un nom alphanumérique à la taxonomie.
    Accès au référentiel privé
    Activez cette option si vos documents de connaissance de la taxonomie se trouvent dans un répertoire privé.
    Secrets Manager l 'instance de service: Sélectionnez une instance existante ou créez-en une.
    Secrets Manager secret: sélectionnez un secret existant ou créez-en un. Si vous créez un secret, sélectionnez le type de secret clé-valeur et ajoutez votre jeton d'accès personnel dans le format suivant. Notez que la valeur de github_url doit contenir https://. Le URL est le même que le URL que vous avez utilisé dans la section repo du document de référence de votre taxonomie.
    {
    "github_url": "https://...",
    "github_pat": "xxxxx"
    }
    

    Pour plus d'informations, voir Création de secrets clé-valeur.

    Stockage dans le cloud
    Sélectionnez une instance Object Storage et un godet à utiliser ou créez une instance et un godet.
    Autorisation de service
    Cochez la case pour permettre à InstructLab d'écrire votre taxonomie dans Object Storage
    Paramètres de stockage optionnels
    Indiquez le chemin où vous souhaitez stocker la taxonomie tar.gz dans Object Storage.
  4. Cliquez sur Télécharger

Ajouter la taxonomie à Object Storage à l'aide de la CLI

Effectuez les étapes suivantes pour stocker votre taxonomie dans Object Storage.

Vous pouvez utiliser la commande set pour sauvegarder les détails et les informations d'identification du seau Object Storage, et plus encore. Cela peut simplifier vos commandes à l'avenir. Notez que lorsque vous utilisez la commande set, vous devez définir chaque valeur individuellement. Pour plus d'informations, voir la référence de la commande Config.

  1. Connectez-vous à votre compte IBM Cloud à partir du CLI.

    ibmcloud login -a https://cloud.ibm.com --sso -r us-east
    
  2. Si vous prévoyez d'autoriser InstructLab à créer des ressources IBM Cloud® Object Storage Instance pour vous, ciblez un groupe de ressources.

    ibmcloud target -g <resource_group>
    

    Exemple :

    ibmcloud target -g Default
    
  1. Créer la politique d'autorisation pour InstructLab et Object Storage.

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage
    
  2. Facultatif: Si vous utilisez un répertoire privé pour stocker vos documents de connaissance de la taxonomie, effectuez les étapes suivantes.

    1. Créez une autorisation de service pour permettre à InstructLab d'accéder à votre instance Secrets Manager et à vos secrets.

      ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
      
    2. Ajoutez votre jeton d'accès personnel (PAT) à Secrets Manager en créant un secret clé-valeur. Assurez-vous que les détails de votre clé-valeur sont stockés dans le format suivant.

      {
      "github_url": "https://...",
      "github_pat": "xxxxx"
      }
      

      Exemple de commande pour la création d'un secret clé-valeur.

      ibmcloud secrets-manager secret-create --secret-prototype='{"name": "my-secret","description": "Description of my key-value secret.","secret_type": "kv","secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a","labels": ["dev","us-south"],"data": {"github_url": "https://...","github_pat": "xxxxx"},"custom_metadata": {"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'
      

      Pour plus d'informations, voir Création de secrets clé-valeur.

    3. Dressez la liste de vos instances Secrets Manager.

      ibmcloud resource service-instances --service-name secrets-manager
      
    4. Obtenez les détails de votre instance.

      ibmcloud resource service-instance INSTANCE
      
  3. Exécutez la commande taxonomy add --help et examinez les options de la commande.

    ibmcloud ilab taxonomy add --help
    
  4. Facultatif Si vous disposez d'une instance Object Storage existante que vous souhaitez utiliser, obtenez les détails de votre instance de service.

    1. Dressez la liste de vos instances Object Storage.
      ibmcloud resource service-instances --service-name cloud-object-storage
      
    2. Obtenez les détails de votre instance.
      ibmcloud resource service-instances INSTANCE
      
  5. Ajoutez votre taxonomie à votre panier Object Storage. Examinez les exemples de commandes suivants.

    Démarrage rapide Exemple de commande pour créer automatiquement une instance et un panier Object Storage dans votre compte et y télécharger une taxonomie de votre dossier ./taxonomy.

    ibmcloud ilab taxonomy add \
    --name example-taxonomy-1 \
    --taxonomy-path "./taxonomy"
    

    Exemple de commande pour télécharger une taxonomie d'un dossier taxonomy sur votre machine vers une instance et un panier Object Storage existants.

    ibmcloud ilab taxonomy add \
    	--name example-taxonomy-name-1 \
    	--taxonomy-path-cos "taxonomies/taxonomy.tar.gz" \
    	--taxonomy-path "./taxonomy" \
    	--cos-bucket example-cloud-object-storage-bucket-1 \
    	--cos-endpoint https://s3.us-east.cloud-object-storage.appdomain.cloud
    

    Exemple de commande pour utiliser une instance et un panier existants de Object Storage ainsi que les informations d'identification de Secrets Manager.

    ibmcloud ilab taxonomy add \
    --name example-taxonomy-1 \
    --taxonomy-path-cos taxonomies/taxonomy.tar.gz \
    --taxonomy-path "./taxonomy" \
    --cos-endpoint https://s3.us-east.cloud-object-storage.appdomain.cloud \
    --secrets-manager-git-id SEC-MGR-ID
    --secrets-manager-git-url https://URL
    

    Exemple de commande pour télécharger une taxonomie de votre dossier /Users/USER/instructlab-taxonomy vers un nouveau seau créé automatiquement.

    ibmcloud ilab taxonomy add \
    --name test \
    --taxonomy-path "/Users/USER/instructlab-taxonomy" \
    --cos-endpoint https://s3.us-east.cloud-object-storage.appdomain.cloud \
    --cos-id 628e4348-2183-42fa-a03a-6f0f78453530
    

Étape suivante ?

Maintenant que vous avez téléchargé une taxonomie, l'étape suivante consiste à générer des données à partir de votre taxonomie.