培训模型 InstructLab
在生成的数据上训练模型,然后测试模型以验证结果。 进一步了解什么是培训。
配置信息或文件无法传递给模型进行微调。
先决条件
- 准备分类
- 将分类法
tar.gz添加到 Object Storage 桶中。 您可以使用 CLI 或 用户界面。 - 从您的分类中生成数据。
使用控制台对齐模型
-
从 InstructLab 项目 页面,单击您的项目 > 已对齐模型 > 对齐。
-
输入模型的字母数字名称,并选择要使用的训练数据。
-
可选:在开始对齐过程之前,请查看提供的估计费用。
-
单击对齐。 状态为“
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时,可以查看指标,如 代币估算,以计算估计成本。带有
--output json选项的model get命令示例。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格式输出的最终模型。 模型将使用该目录的内容。
后续步骤?
可选:您可以部署模型。