Modelos de treinamento para InstructLab
Treine seu modelo com os dados gerados e, em seguida, teste o modelo para verificar os resultados. [Saiba mais sobre o que é treinamento](/docs/laboratório de instrução?topic=laboratório de instrução-faq#faq-model-train).
As informações ou os arquivos de configuração não podem ser passados para o modelo para ajuste fino.
Pré-requisitos
- [Prepare sua taxonomia](/docs/laboratório de instrução?topic=laboratório de instrução-getting-started#taxonomy)
- Adicione a taxonomia
tar.gzao seu bucket Object Storage. Você pode usar a [CLI](/docs/laboratório de instrução?topic=laboratório de instrução-getting-started&interface=cli#taxonomy-add-cli) ou a [interface](/docs/laboratório de instrução?topic=laboratório de instrução-getting-started#taxonomy-add-ui) do usuário. - [Gere dados a partir de sua taxonomia](/docs/laboratório de instrução?topic=laboratório de instrução-data-generate).
Alinhamento de modelos usando o console
-
Na página InstructLab Projects (Projetos ), clique em seu projeto > Aligned models (Modelos alinhados ) > Align (Alinhar ).
-
Digite um nome alfanumérico para o modelo e selecione os dados de treinamento a serem usados.
-
Opcional: Revise o custo estimado que é fornecido antes de iniciar o processo de alinhamento.
-
Clique em Alinhar. O estado é '
queued, depois 'running. Aguarde até que o estado seja "completed. Esse processo pode levar minutos ou horas. Quando o alinhamento é concluído, no bucket Object Storage, é criado um diretóriotrained_modelscom registros para solução de problemas.
Treinamento de modelos usando a CLI
-
Obter a ID dos dados a serem usados.
ibmcloud ilab data list -
Execute o comando para iniciar o treinamento do modelo com os dados gerados. Observe a identificação.
ibmcloud ilab model train --name testmodel --data-id <data_id> -
Verifique os detalhes de sua geração de dados. Inclua o ID do modelo. O estado é '
queued, depois 'running. Aguarde até que o estado seja "completed. Esse processo pode levar minutos ou horas. Quando o estado écompleted, no bucket Object Storage, é criado um diretóriotrained_modelscom registros para solução de problemas.ibmcloud ilab model get --id <model_id> -
Opcional: Quando o estado é
completed, você pode revisar as métricas, como estimativas de token para calcular o custo estimado.Exemplo de comando '
model getcom a opção '--output json.ibmcloud ilab model get --id daef9836-631f-4686-ad18-e0e6a0910f5d --output jsonExemplo de saída 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" }
Treinamento de modelos usando a API
-
Obter a ID dos dados a serem usados.
Exemplo de comando.
curl -X 'GET' \ 'https://us-east.instructlab.ibm.com/v1/data' \ -H 'accept: application/json'Exemplo de saída.
{ "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" } ] } -
Execute o comando para iniciar o treinamento do modelo com os dados gerados. Observe a identificação.
Exemplo de comando.
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" }'Exemplo de saída.
{ "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 } } } } -
Verifique os detalhes de sua geração de dados. Inclua o ID do modelo. O estado é '
queued, depois 'running. Aguarde até que o estado seja "completed. Esse processo pode levar minutos ou horas.Exemplo de comando.
curl -X 'GET' \ 'https://us-east.instructlab.ibm.com/v1/models/baa8cfb5-e306-4e15-869d-735b74b1919d' \ -H 'accept: application/json'Exemplo de saída.
{ "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 } } } }
Quando o estado é completed, no bucket Object Storage, é criado um diretório trained_models com registros para solução de problemas.
O que há em meu balde Object Storage após o treinamento?
Após o treinamento do modelo, o bucket Object Storage contém um diretório trained models com os seguintes arquivos.
Artifacts- Esses arquivos contêm os dados de ponto de verificação da Fase 1 e da Fase 2 e o modelo para cada época.
Eval- Esses arquivos contêm as métricas de avaliação para os benchmarks "
mmlu, "mmlu_branch, "mt_benche "mt_bench_branch. Logs- Esses arquivos contêm os registros de execução Red Hat AI InstructLab e os detalhes do sistema.
Model- Esses arquivos contêm o modelo final produzido no formato "
safetensors. O conteúdo desse diretório é usado pelo modelo.
O que vem a seguir?
Opcional: você pode implantar o modelo.