Modelos de treinamento para Inferência de IA da Red Hat

Treine seu modelo com dados gerados e, em seguida, teste-o para verificar os resultados. Saiba mais sobre o que é treinamento.

Não é possível passar informações ou arquivos de configuração ao modelo para ajuste fino.

Red Hat AI Inference Os recursos de alinhamento de modelos, geração de dados sintéticos e gerenciamento de taxonomia estão obsoletos e serão removidos em 25 de setembro de 2026. Para dar continuidade aos fluxos de trabalho de personalização e alinhamento de modelos, migre para o Red Hat® OpenShift® AI On OpenShift. Saiba mais sobre a IA d Red Hat® OpenShift®.

Pré-requisitos

  1. Prepare sua taxonomia
  2. Adicione a taxonomia tar.gz ao seu bucket Object Storage. Você pode usar a CLI ou a interface do usuário.
  3. Gere dados a partir da sua taxonomia.

Alinhamento de modelos usando o console

  1. Na página “ Red Hat AI Inference ” (Projetos ), clique no seu projeto > Modelos alinhados > Alinhar.

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

  3. Opcional: Verifique o custo estimado fornecido antes de iniciar o processo de alinhamento.

  4. Clique em “Alinhar ”. O estado é queued e, em seguida, running. Aguarde até que o estado seja “ completed ”. Esse processo pode levar alguns minutos ou algumas horas. Quando o alinhamento estiver concluído, na pasta Object Storage, será criado um diretório trained_models contendo os logs para solução de problemas.

Treinamento de modelos usando a CLI

  1. Obtenha o ID dos dados a serem utilizados.

    ibmcloud ilab data list
    
  2. Execute o comando para iniciar o treinamento do modelo com os dados gerados. Anote o ID.

    ibmcloud ilab model train --name testmodel --data-id DATA_ID
    
  3. Verifique os detalhes da geração de seus dados. Inclua o ID do modelo. O estado é queued e, em seguida, running. Aguarde até que o estado seja “ completed ”. Esse processo pode levar alguns minutos ou algumas horas. Quando o estado é “ completed ”, no bucket “ Object Storage ”, é criado um diretório “ trained_models ” contendo os logs para diagnóstico de problemas.

    ibmcloud ilab model get --id MODEL_ID
    
  4. Opcional: Quando o estado é “ completed ”, é possível analisar métricas, como estimativas de tokens, 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 em JSON

    {
      "base_model": "granite-3.1-8b-starter-v2.1",
      "created_at": "2026-08-04T16:06:05.000Z",
      "data_id": "8b1433c0-e375-4b00-b36d-2ad00697014e",
      "id": "daef9836-631f-4686-ad18-e0e6a0910f5d",
      "last_signal_at": "2026-08-04T17: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. Obtenha o ID dos dados a serem utilizados.

    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-08-04T17:20:32.000Z"
        }
      ]
    }
    
  2. Execute o comando para iniciar o treinamento do modelo com os dados gerados. Anote o ID.

    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-08-04T17: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 da geração de seus dados. Inclua o ID do modelo. O estado é queued e, em seguida, running. Aguarde até que o estado seja “ completed ”. Esse processo pode levar alguns minutos ou algumas 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-08-04T17: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 ” contendo os logs para solução de problemas.

O que tem na minha cesta do “ Object Storage ” depois do treino?

Após treinar o modelo, seu bucket do Object Storage conterá um diretório trained models com os seguintes arquivos.

Artifacts
Esses arquivos contêm os dados dos pontos de verificação das Fases 1 e 2 e o modelo para cada época.
Eval
Esses arquivos contêm as métricas de avaliação dos benchmarks mmlu, mmlu_branch, mt_bench e mt_bench_branch.
Logs
Esses arquivos contêm os registros de execução do Red Hat AI Inference e detalhes do sistema.
Model
Esses arquivos contêm o modelo final gerado no formato d safetensors. O conteúdo deste diretório é utilizado pelo modelo.

O que vem a seguir?

Opcional: Você pode implantar o modelo.