Modèles de formation pour InstructLab

Entraînez votre modèle sur les données générées, puis testez le modèle pour vérifier les résultats. En savoir plus sur ce qu'est la formation.

Les informations ou les fichiers de configuration ne peuvent pas être transmis au modèle pour un réglage fin.

Prérequis

  1. Préparez votre taxonomie
  2. Ajoutez la taxonomie tar.gz à votre panier Object Storage. Vous pouvez utiliser le CLI ou l'interface utilisateur.
  3. Générer des données à partir de votre taxonomie.

Alignement des modèles à l'aide de la console

  1. Sur la page InstructLab Projects, cliquez sur votre projet > Modèles alignés > Aligner.

  2. Saisissez un nom alphanumérique pour le modèle et sélectionnez les données d'apprentissage à utiliser.

  3. Facultatif : Examinez le coût estimé qui vous est fourni avant de commencer le processus d'alignement.

  4. Cliquez sur Aligner. L'état est " queued, puis " running. Attendre que l'état soit " completed. Ce processus peut prendre quelques minutes ou quelques heures. Lorsque l'alignement est terminé, un répertoire trained_models est créé dans le seau Object Storage, avec des journaux pour le dépannage.

Formation de modèles à l'aide de l'interface de programmation

  1. Obtenir l'identifiant des données à utiliser.

    ibmcloud ilab data list
    
  2. Exécutez la commande pour commencer à entraîner le modèle avec les données générées. Notez l'identifiant.

    ibmcloud ilab model train --name testmodel --data-id <data_id>
    
  3. Vérifiez les détails de votre production de données. Inclure l'identifiant du modèle. L'état est " queued, puis " running. Attendre que l'état soit " completed. Ce processus peut prendre quelques minutes ou quelques heures. Lorsque l'état est completed, dans le seau Object Storage, un répertoire trained_models est créé avec les journaux pour le dépannage.

    ibmcloud ilab model get --id <model_id>
    
  4. Facultatif : Lorsque l'état est completed, vous pouvez consulter les mesures, telles que les estimations de jetons pour calculer le coût estimé.

    Exemple de commande 'model get avec l'option '--output json

    ibmcloud ilab model get --id daef9836-631f-4686-ad18-e0e6a0910f5d --output json
    

    Exemple de sortie JSON

    {
      "base_model": "granite-3.1-8b-starter-v2.1",
      "created_at": "2026-02-18T16:06:05.000Z",
      "data_id": "8b1433c0-e375-4b00-b36d-2ad00697014e",
      "id": "daef9836-631f-4686-ad18-e0e6a0910f5d",
      "last_signal_at": "2026-02-18T17:20:32.000Z",
      "model_metrics": {
        "mmlu": {
          "overall_average": 0.51,
          "scores": {
            "mmlu_abstract_algebra": 0.3,
            "mmlu_anatomy": 0.43,
            "mmlu_astronomy": 0.49
          }
        },
        "mt_bench": {
          "error_rate": 0.01,
          "overall_average": 6.86,
          "scores": {
            "turn_one": 7.25,
            "turn_two": 6.47
          }
        },
        "mt_bench_branch": {
          "error_rate": 0.01,
          "improvements": {
            "compositional_skills/STEM/math/time_series/qna.yaml": 8.67,
            "compositional_skills/extraction/invoice/csv/qna.yaml": 8.4
          },
          "no_change": {
            "compositional_skills/roleplay/explain_like_i_am/primary_schooler/qna.yaml": 0,
            "compositional_skills/writing/freeform/technical/proposal/qna.yaml": 0
          },
          "regressions": {
            "compositional_skills/extraction/inference/qualitative/sentiment/qna.yaml": -9,
            "compositional_skills/extraction/information/named_entities/places/qna.yaml": -9
          }
        },
        "tokens": {
          "training_phases": {}
        }
      },
      "name": "test",
      "state": "completed",
      "status": "completed",
      "taxonomy_id": "e62ccea5-97e6-4568-86bf-2f359987b115"
    }
    

Formation de modèles à l'aide de l'API

  1. Obtenir l'identifiant des données à utiliser.

    Exemple de commande.

    curl -X 'GET' \
      'https://us-east.instructlab.ibm.com/v1/data' \
      -H 'accept: application/json'
    

    Exemple de sortie.

    {
      "data": [
        {
          "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
          "name": "example-data-1",
          "state": "",
          "status": "queued",
          "created_at": "2024-10-23T02:58:50.000Z",
          "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
          "last_signal_at": "2026-02-18T17:20:32.000Z"
        }
      ]
    }
    
  2. Exécutez la commande pour commencer à entraîner le modèle avec les données générées. Notez l'identifiant.

    Exemple de commande.

    curl -X 'POST' \
      'https://us-east.instructlab.ibm.com/v1/models' \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "name": "example-model-1",
      "data_id": "add785e6-a8c3-4f5f-ab89-c506a3f115da"
    }'
    

    Exemple de sortie.

    {
      "id": "baa8cfb5-e306-4e15-869d-735b74b1919d",
      "name": "example-model-1",
      "state": "",
      "status": "queued",
      "created_at": "2024-10-23T02:58:50.000Z",
      "last_signal_at": "2026-02-18T17:20:32.000Z",
      "data_id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
      "base_model": "granite-7b",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
      "model_metrics": {
        "mmlu": {
          "overall_average": 0.3,
          "scores": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        },
        "mmlu_branch": {
          "error_rate": 0.4,
          "improvements": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "regressions": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "no_change": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        },
        "mt_bench": {
          "overall_average": 0.8,
          "error_rate": 0.6,
          "scores": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        },
        "mt_bench_branch": {
          "error_rate": 0.4,
          "improvements": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "regressions": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "no_change": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        }
      }
    }
    
  3. Vérifiez les détails de votre production de données. Inclure l'identifiant du modèle. L'état est " queued, puis " running. Attendre que l'état soit " completed. Ce processus peut prendre quelques minutes ou quelques heures.

    Exemple de commande.

    curl -X 'GET' \
      'https://us-east.instructlab.ibm.com/v1/models/baa8cfb5-e306-4e15-869d-735b74b1919d' \
      -H 'accept: application/json'
    

    Exemple de sortie.

    {
      "id": "baa8cfb5-e306-4e15-869d-735b74b1919d",
      "name": "example-model-1",
      "state": "",
      "status": "queued",
      "created_at": "2024-10-23T02:58:50.000Z",
      "last_signal_at": "2026-02-18T17:20:32.000Z",
      "data_id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
      "base_model": "granite-7b",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
      "model_metrics": {
        "mmlu": {
          "overall_average": 0.3,
          "scores": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        },
        "mmlu_branch": {
          "error_rate": 0.4,
          "improvements": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "regressions": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "no_change": {
            "additionalProp1": 1,
            "additionalProp3": 3,
            "additionalProp2": 2
          }
        },
        "mt_bench": {
          "overall_average": 0.8,
          "error_rate": 0.6,
          "scores": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        },
        "mt_bench_branch": {
          "error_rate": 0.4,
          "improvements": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "regressions": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          },
          "no_change": {
            "additionalProp1": 1,
            "additionalProp2": 2,
            "additionalProp3": 3
          }
        }
      }
    }
    

Lorsque l'état est completed, dans le seau Object Storage, un répertoire trained_models est créé avec les journaux pour le dépannage.

Quel est le contenu de mon panier Object Storage après la formation?

Après l'apprentissage du modèle, votre panier Object Storage contient un répertoire trained models avec les fichiers suivants.

Artifacts
Ces fichiers contiennent les données des points de contrôle de la phase 1 et de la phase 2 ainsi que le modèle pour chaque époque.
Eval
Ces fichiers contiennent les mesures d'évaluation pour les tests " mmlu, " mmlu_branch, " mt_bench et " mt_bench_branch.
Logs
Ces fichiers contiennent les journaux d'exécution de Red Hat AI InstructLab et les détails du système.
Model
Ces fichiers contiennent le modèle final au format " safetensors. Le contenu de ce répertoire est utilisé par le modèle.

Étape suivante ?

Facultatif : vous pouvez déployer le modèle.