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

  1. [Prepare sua taxonomia](/docs/laboratório de instrução?topic=laboratório de instrução-getting-started#taxonomy)
  2. Adicione a taxonomia tar.gz ao 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.
  3. [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

  1. Na página InstructLab Projects (Projetos ), clique em seu projeto > Aligned models (Modelos alinhados ) > Align (Alinhar ).

  2. Digite um nome alfanumérico para o modelo e selecione os dados de treinamento a serem usados.

  3. Opcional: Revise o custo estimado que é fornecido antes de iniciar o processo de alinhamento.

  4. 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ório trained_models com registros para solução de problemas.

Treinamento de modelos usando a CLI

  1. Obter a ID dos dados a serem usados.

    ibmcloud ilab data list
    
  2. 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>
    
  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. Quando o estado é completed, no bucket Object Storage, é criado um diretório trained_models com registros para solução de problemas.

    ibmcloud ilab model get --id <model_id>
    
  4. Opcional: Quando o estado é completed, você pode revisar as métricas, como estimativas de token para calcular o custo estimado.

    Exemplo de comando ' model get com a opção ' --output json.

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

    Exemplo 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

  1. 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"
        }
      ]
    }
    
  2. 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
          }
        }
      }
    }
    
  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_bench e " 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.