Skip to main content
Geração de Texto

Criar um job de ajuste fino

Crie um job de ajuste fino de modelo.

Criar um job de ajuste fino

No Windows CMD, substitua ${DASHSCOPE_API_KEY} por %DASHSCOPE_API_KEY% . No PowerShell, use $env:DASHSCOPE_API_KEY .
Geração de texto
curl --location --request POST "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes" \
      --header "Authorization: Bearer ${DASHSCOPE_API_KEY}" \
      --header 'Content-Type: application/json' \
      --data '{
          "model":"qwen3-14b",
          "training_file_ids":[
              "<Replace with the file ID of your training dataset>",
              "<Replace with the file ID of your validation dataset>"
          ],
          "hyper_parameters":{
              "n_epochs":3,
              "batch_size":32,
              "max_length":8192,
              "learning_rate":"1.6e-5",
              "lr_scheduler_type":"linear",
              "split":0.9
          },
          "training_type":"sft",
          "finetuned_output_suffix":"suffix"
      }'

Parâmetros de entrada

Parâmetro

Obrigatório

Tipo

Localização

Descrição

training_file_ids

Sim

Array

Body

Lista de IDs de arquivo do conjunto de treinamento. A File Management API gera esses IDs.

validation_file_ids

Não

Array

Body

Lista de IDs de arquivo do conjunto de validação. A File Management API gera esses IDs.

model

Sim

String

Body

ID do modelo para ajuste fino. Pode ser um ou o ID de um modelo de um job de ajuste anterior.

Os modelos de geração de vídeo e imagem aceitam os seguintes valores de model:

  • Imagem para Vídeo - Baseado no Primeiro Quadro: wan2.7-i2v (recomendado), wan2.6-i2v,wan2.5-i2v-preview, wan2.2-i2v-flash

  • Imagem para Vídeo - Baseado no Primeiro e Último Quadro: wan2.2-kf2v-flash

  • Geração de imagem (texto para imagem/imagem para imagem): wan2.7-image-pro, wan2.7-image

hyper_parameters

Não

Map

Body

Objeto com os hiperparâmetros do job de ajuste. Os parâmetros compatíveis e seus valores padrão variam conforme o modelo. Para visualizar os valores padrão, selecione o modelo e o método de ajuste no console.

  • Para geração de texto, compreensão visual e modelos similares: Use parâmetros como n_epochs (número de épocas), batch_size (tamanho do lote) e max_length (comprimento da sequência). Os parâmetros n_epochs, batch_size e max_length afetam os custos de ajuste e são obrigatórios. Para obter detalhes sobre cada parâmetro, consulte hyper_parameters Description.

  • Modelo de síntese de fala CosyVoice (apenas cosyvoice-v3-flash): Todos os oito hiperparâmetros LM/FM são obrigatórios. Para obter detalhes sobre cada parâmetro, consulte "Hiperparâmetros do modelo de síntese de fala CosyVoice" abaixo.

training_type

Não

String

Body

Método de ajuste. Valores válidos: sft ou efficient_sft. Modelos de geração de vídeo e imagem aceitam apenas efficient_sft (ajuste fino eficiente LoRA).

job_name

Não

String

Body

Nome do job de ajuste.

model_name

Não

String

Body

Nome do modelo ajustado resultante.

  • Modelo de geração de texto
  • Hiperparâmetros para modelos de geração de vídeo
  • Hiperparâmetros para modelos de geração de imagem
ParâmetroPadrãoConfigurações recomendadasTipoDescrição
n_epochs1Ajuste com base nos resultados do ajuste fino.IntegerNúmero de iterações do modelo pelos dados de treinamento.Valores maiores aumentam a duração e o custo do treinamento.
learning_rate
  • sft: nível 1e-5
  • efficient_sft: nível 1e-4
O valor específico varia dependendo do modelo selecionado.
Use o valor padrão.FloatControla a intensidade das atualizações de peso do modelo.
  • Muito alta: os parâmetros mudam drasticamente, degradando o desempenho.
  • Muito baixa: o desempenho pode não mudar significativamente.
freeze_vittrueAjuste conforme necessário.BooleanCongela os parâmetros do backbone visual para manter seus pesos inalterados durante o treinamento. Aplica-se apenas aos modelos Qwen-VL.
batch_sizeO valor específico varia dependendo do modelo selecionado. Quanto maior o modelo, menor o tamanho do lote padrão.Use o valor padrão.IntegerNúmero de entradas de dados por iteração de treinamento. Valores menores prolongam o tempo de treinamento.
eval_steps50Ajuste conforme necessário.IntegerIntervalo (em passos) para avaliar a precisão e a perda durante o treinamento.Controla a frequência de exibição de Validation Loss e Token Accuracy.
logging_steps5Ajuste conforme necessário.IntegerIntervalo (em passos) para imprimir logs de ajuste fino.
lr_scheduler_typecosineRecomendado: linear ou Inverse_sqrtStringEstratégia para ajustar dinamicamente a taxa de aprendizado durante o treinamento.Valores válidos:
max_length20488192IntegerComprimento máximo de tokens por entrada de treinamento. O sistema descarta entradas que excedem este limite.
max_split_val_dataset_sample1000Use o valor padrão.IntegerSe "validation_file_ids" não estiver definido, o Alibaba Cloud Model Studio divide automaticamente um conjunto de validação de até 1.000 entradas.Se você definir "validation_file_ids", este parâmetro será ignorado.
split0.8Use o valor padrão.FloatSe você não definir "validation_file_ids", o Model Studio usa automaticamente 80% do arquivo de treinamento como conjunto de treinamento e 20% como conjunto de validação.Se você definir "validation_file_ids", este parâmetro não terá efeito.
warmup_ratio0.05Use o valor padrão.FloatProporção do total de passos de treinamento dedicada ao aquecimento da taxa de aprendizado. Durante o aquecimento, a taxa de aprendizado aumenta linearmente de um pequeno valor inicial até a taxa configurada.Limita a extensão das mudanças de parâmetros durante o início do treinamento, melhorando a estabilidade.Muito alta: equivalente a uma taxa de aprendizado baixa; o desempenho pode não mudar.Muito baixa: equivalente a uma taxa de aprendizado alta; pode degradar o desempenho.
Não se aplica ao tipo de agendador de taxa de aprendizado "Constant".
weight_decay0.1Use o valor padrão.FloatForça de regularização L2. Ajuda a manter a generalização do modelo. Se for muito alta, os efeitos do ajuste fino serão insignificantes.
Parâmetros para SFT eficiente (compatível comefficient_sft)
Ao realizar uma segunda rodada de ajuste fino eficiente em um modelo que já passou por esse processo, mantenha os parâmetros lora_rank, lora_alpha e lora_dropout consistentes.
lora_rank864IntegerRank da matriz de baixo rank no LoRA. Ranks mais altos melhoram os resultados do ajuste fino, mas desaceleram ligeiramente o treinamento.
lora_alpha32Use o valor padrão.IntegerFator de escala que controla o equilíbrio entre os pesos do modelo original e as correções LoRA.Valores maiores dão mais peso às correções LoRA, tornando o modelo mais específico para a tarefa.Valores menores preservam mais conhecimento do modelo pré-treinado.
lora_dropout0.1Use o valor padrão.FloatTaxa de dropout para valores da matriz de baixo rank do LoRA.O valor recomendado melhora a generalização.Se for muito alto, os efeitos do ajuste fino serão insignificantes.
Parâmetros para publicação de checkpoints
save_strategyepochDefina como epoch ou steps.
  • Quando definido como steps, defina o parâmetro save_steps para ajustar o intervalo de salvamento.
StringControla o intervalo e o número máximo de checkpoints salvos durante o ajuste fino.
save_steps50Para modificar, defina como um múltiplo inteiro do parâmetro eval_steps.IntegerNúmero de passos de treinamento após os quais um checkpoint é salvo.
save_total_limit110IntegerNúmero máximo de checkpoints a serem salvos para exportação.

Exemplo de resposta

  • Modelo de geração de texto
  • Modelo de geração de vídeo
  • Modelo de geração de imagem
{
          "request_id": "9654e55a-d74b-4113-aee1-fa19c9384fcc",
          "output": {
              "job_id": "ft-202410291653-1c7f",
              "job_name": "ft-202410291653-1c7f",
              "status": "PENDING",
              "model": "qwen3-14b",
              "base_model": "qwen3-14b",
              "training_file_ids": [
                  "976bd01a-f30b-4414-86fd-50c54486e3ef"
              ],
              "validation_file_ids": [

              ],
              "hyper_parameters": {
                  "n_epochs": 3,
                  "batch_size": 32,
                  "max_length": 8192,
                  "learning_rate": "1.6e-5",
                  "lr_scheduler_type": "linear",
                  "split": 0.9
              },
              "training_type": "sft",
              "create_time": "2024-10-29 16:53:53",
              "workspace_id":"llm-v71tlv***",
              "user_identity": "1396993924585947",
              "modifier": "1396993924585947",
"creator": "1396993924585947",
              "group": "llm"
          }
      }

Parâmetros de resposta

Parâmetro

Tipo

Descrição

request_id

String

ID da solicitação.

output

Object

Detalhes do job de ajuste fino.

output.job_id

String

ID do job de ajuste fino. Use este ID com outras APIs, como querying fine-tuning job details, querying fine-tuning job logs, canceling a fine-tuning job e deleting a fine-tuning job.

Formato: ft-{yyyyMMddHHmm}-{4-character ID}.

output.job_name

String

Igual a output.job_id.

output.status

String

O job status.

output.model

String

ID do modelo ajustado.

output.base_model

String

ID do modelo base usado para ajuste fino.

Exemplo: Para o job de ajuste fino ft-202410291653-1c7f, o modelo base é qwen3-14b.

output.training_file_ids

Array

Um array de IDs de arquivo de ajuste fino.

output.validation_file_ids

Array

Um array de IDs de arquivo de validação.

output.hyper_parameters

Object

Os hiperparâmetros definidos explicitamente para o job.

output.training_type

String

O método de ajuste fino.

output.create_time

String

Hora de criação do job de ajuste fino.

output.workspace_id

String

ID do workspace que contém o job de ajuste fino.

output.user_identity

String

UID da conta principal proprietária.

output.modifier

String

UID da conta que modificou o job pela última vez.

Por exemplo, se uma subconta cancelar o job, este campo retorna o UID dessa subconta.

output.creator

String

UID do usuário que criou o job.

output.group

String

Categoria do job de ajuste fino.

Status do job

Descrição

PENDING

O job de ajuste fino está aguardando início.

QUEUING

O job de ajuste fino está na fila. (Apenas um job de ajuste fino pode ser executado por vez.)

RUNNING

O job de ajuste fino está em execução.

CANCELING

O job de ajuste fino está sendo cancelado.

SUCCEEDED

O job de ajuste fino foi concluído com sucesso.

FAILED

O job de ajuste fino falhou.

CANCELED

O job de ajuste fino foi cancelado.

Códigos de erro de solicitação

Retornados quando uma solicitação falha.

Parâmetro

Tipo

Descrição

Exemplo

code

String

O código de erro.

NotFound

request_id

String

ID único gerado pelo sistema para esta solicitação.

6332fb02-3111-43f0-bf79-f9e8c5ffa7f9

message

String

A mensagem de erro.

Not Found!

Exemplo de resposta
{
        "code": "NotFound",
        "request_id": "BE213CDD-8A5C-59EE-9A67-055EAB0CB59B",
        "message": "Not Found!"
      }
Códigos de erro

Código de status HTTP

Código de erro

Exemplo

Descrição

Solução

400

InvalidParameter

Arquivos de treinamento ausentes

Um parâmetro é inválido, seja porque falta um parâmetro obrigatório ou porque um valor tem formato incorreto.

Verifique a mensagem de erro e corrija os parâmetros em sua solicitação.

400

UnsupportedOperation

Não é possível excluir o job de ajuste fino porque ele já foi concluído com sucesso, falhou ou foi cancelado.

O recurso está em um estado que impede esta operação.

Tente novamente a operação depois que o recurso entrar em um estado operacional.

404

NotFound

Não encontrado!

O recurso solicitado não existe.

Verifique se o ID do recurso está correto.

409

Conflict

Nome do modelo já existe

Já existe um modelo com o nome especificado.

Especifique um nome de modelo diferente ou adicione um sufixo exclusivo.

429

Throttling

  • Muitos jobs de ajuste fino estão em execução. Tente novamente mais tarde.

  • Cada usuário pode ter no máximo 20 jobs de ajuste fino em execução ou concluídos com sucesso.

A solicitação foi rejeitada porque um limite da plataforma foi atingido.

  • Exclua modelos não utilizados.

500

InternalError

Erro interno do servidor!

Ocorreu um erro interno.

Anote o request_id e abra um ticket para o suporte da Alibaba Cloud para solução de problemas.

Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos