訓練模型 InstructLab

在產生的資料上訓練您的模型,然後測試模型以驗證結果。 進一步瞭解何謂訓練。

配置資訊或檔案無法傳遞給模型進行微調。

必要條件

  1. 準備您的分類系統
  2. 新增分類系統 tar.gz 到您的 Object Storage 桶。 您可以使用 CLI 或 UI。
  3. 從分類系統產生資料。

使用控制台對齊模型

  1. 從 InstructLab 專案 頁面,按一下您的專案 > 對齊模型 > 對齊。

  2. 輸入模型的字母數字名稱,並選擇要使用的訓練資料。

  3. 可選:在您開始對齊程序之前,請檢閱所提供的估計成本。

  4. 按一下對齊。 狀態是 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 時,您可以檢視指標,例如 代幣估計值,以計算估計成本。

    帶有 --output json 選項的 model get 命令範例。

    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 格式的最終輸出模型。 該目錄的內容由模型使用。

下一步為何?

可選:您可以部署模型。