トレーニングモデル InstructLab
生成されたデータでモデルを訓練し、モデルをテストして結果を検証する。 トレーニングとは何かについてもっと知る
設定情報やファイルは、微調整のためにモデルに渡すことはできません。
前提条件
- 分類体系を準備する
- タクソノミー
tar.gzを Object Storage バケツに追加する。 CLI または UIを 使用できます。 - 分類法からデータを生成します。
コンソールを使ったモデルの位置合わせ
-
InstructLab Projects ページから、プロジェクト > Aligned models > Alignをクリックします。
-
モデルの名前を英数字で入力し、使用するトレーニングデータを選択します。
-
オプションです:アライメント・プロセスを開始する前に、提示された見積もり費用を確認してください。
-
Alignをクリックする。 状態は「
queued、次に「runningである。 状態が「completed」になるのを待つ。 この作業には数分から数時間かかる。 アライメントが完了すると、 Object Storage バケットに、トラブルシューティング用のログを含むtrained_modelsディレクトリが作成される。
CLIを使用したモデルのトレーニング
-
使用するデータのIDを取得する。
ibmcloud ilab data list -
生成されたデータを使ってモデルの学習を開始するコマンドを実行する。 IDに注意。
ibmcloud ilab model train --name testmodel --data-id <data_id> -
データ作成の詳細を確認する。 モデルのIDを含める。 状態は「
queued、次に「runningである。 状態が「completed」になるのを待つ。 この作業には数分から数時間かかる。 状態がcompletedの場合、 Object Storage バケットに、トラブルシューティングのためのログを含むtrained_modelsディレクトリが作成される。ibmcloud ilab model get --id <model_id> -
オプション: 状態が
completed、 トークンの見積もりなどのメトリックを確認して、推定コストを計算でき ます。model getコマンドに '--output jsonオプションを付けた例。ibmcloud ilab model get --id daef9836-631f-4686-ad18-e0e6a0910f5d --output jsonJSON出力例
{ "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を使用してモデルをトレーニングする
-
使用するデータの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" } ] } -
生成されたデータを使ってモデルの学習を開始するコマンドを実行する。 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 } } } } -
データ作成の詳細を確認する。 モデルの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形式で含まれている。 このディレクトリの内容はモデルによって使用される。
次のステップ
オプション: モデルを配置することができます。