トレーニングモデル InstructLab

生成されたデータでモデルを訓練し、モデルをテストして結果を検証する。 トレーニングとは何かについてもっと知る

設定情報やファイルは、微調整のためにモデルに渡すことはできません。

前提条件

  1. 分類体系を準備する
  2. タクソノミー tar.gz を Object Storage バケツに追加する。 CLI または UIを 使用できます。
  3. 分類法からデータを生成します。

コンソールを使ったモデルの位置合わせ

  1. InstructLab Projects ページから、プロジェクト > Aligned models > Alignをクリックします。

  2. モデルの名前を英数字で入力し、使用するトレーニングデータを選択します。

  3. オプションです:アライメント・プロセスを開始する前に、提示された見積もり費用を確認してください。

  4. Alignをクリックする。 状態は「queued、次に「running である。 状態が「completed」になるのを待つ。 この作業には数分から数時間かかる。 アライメントが完了すると、 Object Storage バケットに、トラブルシューティング用のログを含む trained_models ディレクトリが作成される。

CLIを使用したモデルのトレーニング

  1. 使用するデータのIDを取得する。

    ibmcloud ilab data list
    
  2. 生成されたデータを使ってモデルの学習を開始するコマンドを実行する。 IDに注意。

    ibmcloud ilab model train --name testmodel --data-id <data_id>
    
  3. データ作成の詳細を確認する。 モデルのIDを含める。 状態は「queued、次に「running である。 状態が「completed」になるのを待つ。 この作業には数分から数時間かかる。 状態が completed の場合、 Object Storage バケットに、トラブルシューティングのためのログを含む trained_models ディレクトリが作成される。

    ibmcloud ilab model get --id <model_id>
    
  4. オプション: 状態が completed、 トークンの見積もりなどのメトリックを確認して、推定コストを計算でき ます。

    model get コマンドに '--output json オプションを付けた例。

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

    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"
    }
    

APIを使用してモデルをトレーニングする

  1. 使用するデータのIDを取得する。

    コマンドの例。

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

    出力例。

    {
      "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. 生成されたデータを使ってモデルの学習を開始するコマンドを実行する。 IDに注意。

    コマンドの例。

    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"
    }'
    

    出力例。

    {
      "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. データ作成の詳細を確認する。 モデルのIDを含める。 状態は「queued、次に「running である。 状態が「completed」になるのを待つ。 この作業には数分から数時間かかる。

    コマンドの例。

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

    出力例。

    {
      "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
          }
        }
      }
    }
    

状態が completed の場合、 Object Storage バケットに、トラブルシューティングのためのログを含む trained_models ディレクトリが作成される。

トレーニング後の Object Storage バケツには何が入っている?

モデルの学習が終わると、 Object Storage バケツには trained models ディレクトリができ、以下のファイルが格納されます。

Artifacts
これらのファイルには、フェーズ 1 とフェーズ 2 のチェックポイントデータと各エポックのモデルが含まれています。
Eval
これらのファイルには、「mmlu、「mmlu_branch、「mt_bench、「mt_bench_branch ベンチマークの評価指標が含まれている。
Logs
これらのファイルにはRed Hat AI InstructLab実行ログとシステムの詳細が含まれています。
Model
これらのファイルには、最終的に出力されたモデルが'safetensors 形式で含まれている。 このディレクトリの内容はモデルによって使用される。

次のステップ

オプション: モデルを配置することができます。