Compartilhar via


Fine Tunes - Create

Cria um trabalho que ajusta um modelo especificado de um determinado arquivo de treinamento. A resposta inclui detalhes do trabalho enfileirado, incluindo status do trabalho e hiper parâmetros. O nome do modelo ajustado é adicionado à resposta após a conclusão.

POST {endpoint}/openai/fine-tunes?api-version=2023-05-15

Parâmetros de URI

Nome Em Obrigatório Tipo Description
endpoint
path True

string (url)

Pontos de extremidade dos Serviços Cognitivos com suporte (protocolo e nome do host, por exemplo: https://aoairesource.openai.azure.com. Substitua "aoairesource" pelo nome da sua conta do Azure OpenAI).

api-version
query True

string

A versão da API solicitada.

Cabeçalho da solicitação

Nome Obrigatório Tipo Description
api-key True

string

Forneça sua chave de conta do Azure OpenAI dos Serviços Cognitivos aqui.

Corpo da solicitação

Nome Obrigatório Tipo Description
model True

string

minLength: 1

O identificador (model-id) do modelo base usado para esse ajuste fino.

training_file True

string

minLength: 1

A identidade do arquivo (id de arquivo) usada para treinar esse modelo ajustado.

batch_size

integer (int32)

O tamanho do lote a ser usado para treinamento. O tamanho do lote é o número de exemplos de treinamento usados para treinar um único passe para frente e para trás. Em geral, descobrimos que tamanhos de lote maiores tendem a funcionar melhor para conjuntos de dados maiores. O valor padrão, bem como o valor máximo dessa propriedade, são específicos para um modelo base.

classification_betas

number[] (double)

Os valores beta de classificação. Se isso for fornecido, calcularemos as pontuações F-beta nos valores beta especificados. A pontuação F-beta é uma generalização da pontuação F-1. Isso é usado apenas para classificação binária. Com um beta de 1 (ou seja, a pontuação F-1), a precisão e o recall recebem o mesmo peso. Uma pontuação beta maior coloca mais peso no recall e menos na precisão. Uma pontuação beta menor coloca mais peso na precisão e menos no recall.

classification_n_classes

integer (int32)

O número de classes em uma tarefa de classificação. Esse parâmetro é necessário para classificação multiclasse.

classification_positive_class

string

A classe positiva na classificação binária. Esse parâmetro é necessário para gerar precisão, recall e métricas F1 ao fazer a classificação binária.

compute_classification_metrics

boolean

Um valor que indica se as métricas de classificação devem ser computas. Se definido, calculamos métricas específicas de classificação, como precisão e pontuação F-1 usando o conjunto de validação no final de cada época. Essas métricas podem ser exibidas no arquivo de resultados. Para calcular as métricas de classificação, você deve fornecer um validation_file. Além disso, você deve especificar classification_n_classes para classificação multiclasse ou classification_positive_class para classificação binária.

learning_rate_multiplier

number (double)

O multiplicador de taxa de aprendizagem a ser usado para treinamento. A taxa de aprendizado de ajuste fino é a taxa de aprendizado original usada para pré-treinamento multiplicado por esse valor. Taxas de aprendizagem maiores tendem a ter um desempenho melhor com tamanhos de lote maiores. Recomendamos experimentar valores no intervalo de 0,02 a 0,2 para ver o que produz os melhores resultados.

n_epochs

integer (int32)

O número de épocas para as quais treinar o modelo. Uma época refere-se a um ciclo completo por meio do conjunto de dados de treinamento.

prompt_loss_weight

number (double)

O peso a ser usado para perda nos tokens de prompt. Isso controla o quanto o modelo tenta aprender a gerar o prompt (em comparação com a conclusão que sempre tem um peso de 1,0) e pode adicionar um efeito estabilizador ao treinamento quando as conclusões são curtas. Se os prompts forem extremamente longos (em relação às conclusões), talvez faça sentido reduzir esse peso para evitar a priorização excessiva do aprendizado do prompt.

suffix

string

O sufixo usado para identificar o modelo ajustado. O sufixo pode conter até 40 caracteres (a-z, A-Z, 0-9 e _) que serão adicionados ao seu nome de modelo ajustado.

validation_file

string

A identidade do arquivo (id de arquivo) usada para avaliar o modelo ajustado durante o treinamento.

Respostas

Nome Tipo Description
201 Created

FineTune

A afinação foi criada com êxito.

Cabeçalhos

Location: string

Other Status Codes

ErrorResponse

Ocorreu um erro.

Segurança

api-key

Forneça sua chave de conta do Azure OpenAI dos Serviços Cognitivos aqui.

Tipo: apiKey
Em: header

Exemplos

Creating a fine tune job for classification.
Creating a fine tune job.

Creating a fine tune job for classification.

Solicitação de exemplo

POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15


{
  "compute_classification_metrics": true,
  "classification_n_classes": 4,
  "model": "curie",
  "training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}

Resposta de exemplo

location: https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f
{
  "hyperparams": {
    "compute_classification_metrics": true,
    "classification_n_classes": 4,
    "batch_size": 32,
    "learning_rate_multiplier": 1,
    "n_epochs": 2,
    "prompt_loss_weight": 0.1
  },
  "model": "curie",
  "training_files": [
    {
      "statistics": {
        "tokens": 42,
        "examples": 23
      },
      "bytes": 140,
      "purpose": "fine-tune",
      "filename": "puppy.jsonl",
      "id": "file-181a1cbdcdcf4677ada87f63a0928099",
      "status": "succeeded",
      "created_at": 1646126127,
      "updated_at": 1646127311,
      "object": "file"
    }
  ],
  "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f",
  "status": "notRunning",
  "created_at": 1646126127,
  "updated_at": 1646127311,
  "object": "fine-tune"
}

Creating a fine tune job.

Solicitação de exemplo

POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15


{
  "model": "curie",
  "training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}

Resposta de exemplo

location: https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f
{
  "hyperparams": {
    "batch_size": 32,
    "learning_rate_multiplier": 1,
    "n_epochs": 2,
    "prompt_loss_weight": 0.1
  },
  "model": "curie",
  "training_files": [
    {
      "statistics": {
        "tokens": 42,
        "examples": 23
      },
      "bytes": 140,
      "purpose": "fine-tune",
      "filename": "puppy.jsonl",
      "id": "file-181a1cbdcdcf4677ada87f63a0928099",
      "status": "succeeded",
      "created_at": 1646126127,
      "updated_at": 1646127311,
      "object": "file"
    }
  ],
  "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f",
  "status": "notRunning",
  "created_at": 1646126127,
  "updated_at": 1646127311,
  "object": "fine-tune"
}

Definições

Nome Description
Error

Erro

ErrorCode

ErrorCode

ErrorResponse

ErrorResponse

Event

Acontecimento

File

Arquivo

FileStatistics

FileStatistics

FineTune

FineTune

FineTuneCreation

FineTuneCreation

HyperParameters

HiperParâmetros

InnerError

InnerError

InnerErrorCode

InnerErrorCode

LogLevel

LogLevel

Purpose

Propósito

State

Estado

TypeDiscriminator

TypeDiscriminator

Error

Erro

Nome Tipo Description
code

ErrorCode

ErrorCode
Códigos de erro conforme definido nas diretrizes rest da Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

details

Error[]

Os detalhes do erro, se disponíveis.

innererror

InnerError

InnerError
Erro interno conforme definido nas diretrizes rest da Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

message

string

minLength: 1

A mensagem desse erro.

target

string

O local em que o erro ocorreu se disponível.

ErrorCode

ErrorCode

Valor Description
conflict

A operação solicitada entra em conflito com o estado do recurso atual.

fileImportFailed

Falha na importação do arquivo.

forbidden

A operação é proibida para a chave de usuário/api atual.

internalFailure

Erro interno. Tente novamente.

invalidPayload

Os dados da solicitação são inválidos para esta operação.

itemDoesAlreadyExist

O item já existe.

jsonlValidationFailed

Falha na validação de dados jsonl.

notFound

O recurso não foi encontrado.

quotaExceeded

Cota excedida.

serviceUnavailable

No momento, o serviço não está disponível.

unexpectedEntityState

A operação não pode ser executada no estado do recurso atual.

ErrorResponse

ErrorResponse

Nome Tipo Description
error

Error

Erro
Conteúdo do erro, conforme definido nas diretrizes do Microsoft REST (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

Event

Acontecimento

Nome Tipo Description
created_at

integer (unixtime)

Um carimbo de data/hora quando esse evento foi criado (em épocas unix).

level

LogLevel

LogLevel
O nível de verbosidade de um evento.

message

string

minLength: 1

A mensagem que descreve o evento. Isso pode ser uma alteração de estado, por exemplo, enfileirado, iniciado, com falha ou concluído ou outros eventos, como resultados carregados.

object

TypeDiscriminator

TypeDiscriminator
Define o tipo de um objeto.

File

Arquivo

Nome Tipo Description
bytes

integer (int64)

O tamanho desse arquivo quando disponível (pode ser nulo). Não há suporte para tamanhos de arquivo maiores que 2^53-1 para garantir a compatibilidade com inteiros javaScript.

created_at

integer (unixtime)

Um carimbo de data/hora quando este trabalho ou item foi criado (em épocas unix).

error

Error

Erro
Conteúdo do erro, conforme definido nas diretrizes do Microsoft REST (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

filename

string

minLength: 1

O nome do arquivo.

id

string

A identidade deste item.

object

TypeDiscriminator

TypeDiscriminator
Define o tipo de um objeto.

purpose

Purpose

Propósito
A finalidade pretendida dos documentos carregados. Use "fine-tune" para ajuste fino. Isso nos permite validar o formato do arquivo carregado.

statistics

FileStatistics

FileStatistics
Um arquivo é um documento utilizável para treinamento e validação. Ele também pode ser um documento gerado pelo serviço com detalhes do resultado.

status

State

Estado
O estado de um trabalho ou item.

updated_at

integer (unixtime)

Um carimbo de data/hora quando este trabalho ou item foi modificado por último (em épocas unix).

FileStatistics

FileStatistics

Nome Tipo Description
examples

integer (int32)

O número de exemplos de treinamento contidos em arquivos do tipo "ajuste fino" após a conclusão da validação do conteúdo do arquivo.

tokens

integer (int32)

O número de tokens usados em prompts e conclusões para arquivos do tipo "ajuste fino" após a conclusão da validação do conteúdo do arquivo.

FineTune

FineTune

Nome Tipo Description
created_at

integer (unixtime)

Um carimbo de data/hora quando este trabalho ou item foi criado (em épocas unix).

error

Error

Erro
Conteúdo do erro, conforme definido nas diretrizes do Microsoft REST (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

events

Event[]

Os eventos que mostram o progresso da execução de ajuste fino, incluindo enfileirados, em execução e concluídos.

fine_tuned_model

string

O identificador (id de modelo) do modelo ajustado resultante. Essa propriedade só é preenchida para execuções de ajuste fino concluídas com êxito. Use esse identificador para criar uma implantação para inferência.

hyperparams

HyperParameters

HiperParâmetros
As configurações de hiper parâmetro usadas em um trabalho de ajuste fino.

id

string

A identidade deste item.

model

string

minLength: 1

O identificador (model-id) do modelo base usado para o ajuste fino.

object

TypeDiscriminator

TypeDiscriminator
Define o tipo de um objeto.

organisation_id

string

A ID da organização deste trabalho de ajuste fino. Não utilizado no Azure OpenAI; compatibilidade somente para OpenAI.

result_files

File[]

As identidades de arquivo de resultado (id de arquivo) que contêm métricas de treinamento e avaliação no formato csv. O arquivo só está disponível para execuções de ajuste fino concluídas com êxito.

status

State

Estado
O estado de um trabalho ou item.

suffix

string

O sufixo usado para identificar o modelo ajustado.

training_files

File[]

As identidades de arquivo (id de arquivo) que são usadas para treinar o modelo ajustado.

updated_at

integer (unixtime)

Um carimbo de data/hora quando este trabalho ou item foi modificado por último (em épocas unix).

user_id

string

A ID do usuário deste trabalho de ajuste fino. Não utilizado no Azure OpenAI; compatibilidade somente para OpenAI.

validation_files

File[]

As identidades de arquivo (id de arquivo) usadas para avaliar o modelo ajustado durante o treinamento.

FineTuneCreation

FineTuneCreation

Nome Tipo Description
batch_size

integer (int32)

O tamanho do lote a ser usado para treinamento. O tamanho do lote é o número de exemplos de treinamento usados para treinar um único passe para frente e para trás. Em geral, descobrimos que tamanhos de lote maiores tendem a funcionar melhor para conjuntos de dados maiores. O valor padrão, bem como o valor máximo dessa propriedade, são específicos para um modelo base.

classification_betas

number[] (double)

Os valores beta de classificação. Se isso for fornecido, calcularemos as pontuações F-beta nos valores beta especificados. A pontuação F-beta é uma generalização da pontuação F-1. Isso é usado apenas para classificação binária. Com um beta de 1 (ou seja, a pontuação F-1), a precisão e o recall recebem o mesmo peso. Uma pontuação beta maior coloca mais peso no recall e menos na precisão. Uma pontuação beta menor coloca mais peso na precisão e menos no recall.

classification_n_classes

integer (int32)

O número de classes em uma tarefa de classificação. Esse parâmetro é necessário para classificação multiclasse.

classification_positive_class

string

A classe positiva na classificação binária. Esse parâmetro é necessário para gerar precisão, recall e métricas F1 ao fazer a classificação binária.

compute_classification_metrics

boolean

Um valor que indica se as métricas de classificação devem ser computas. Se definido, calculamos métricas específicas de classificação, como precisão e pontuação F-1 usando o conjunto de validação no final de cada época. Essas métricas podem ser exibidas no arquivo de resultados. Para calcular as métricas de classificação, você deve fornecer um validation_file. Além disso, você deve especificar classification_n_classes para classificação multiclasse ou classification_positive_class para classificação binária.

learning_rate_multiplier

number (double)

O multiplicador de taxa de aprendizagem a ser usado para treinamento. A taxa de aprendizado de ajuste fino é a taxa de aprendizado original usada para pré-treinamento multiplicado por esse valor. Taxas de aprendizagem maiores tendem a ter um desempenho melhor com tamanhos de lote maiores. Recomendamos experimentar valores no intervalo de 0,02 a 0,2 para ver o que produz os melhores resultados.

model

string

minLength: 1

O identificador (model-id) do modelo base usado para esse ajuste fino.

n_epochs

integer (int32)

O número de épocas para as quais treinar o modelo. Uma época refere-se a um ciclo completo por meio do conjunto de dados de treinamento.

prompt_loss_weight

number (double)

O peso a ser usado para perda nos tokens de prompt. Isso controla o quanto o modelo tenta aprender a gerar o prompt (em comparação com a conclusão que sempre tem um peso de 1,0) e pode adicionar um efeito estabilizador ao treinamento quando as conclusões são curtas. Se os prompts forem extremamente longos (em relação às conclusões), talvez faça sentido reduzir esse peso para evitar a priorização excessiva do aprendizado do prompt.

suffix

string

O sufixo usado para identificar o modelo ajustado. O sufixo pode conter até 40 caracteres (a-z, A-Z, 0-9 e _) que serão adicionados ao seu nome de modelo ajustado.

training_file

string

minLength: 1

A identidade do arquivo (id de arquivo) usada para treinar esse modelo ajustado.

validation_file

string

A identidade do arquivo (id de arquivo) usada para avaliar o modelo ajustado durante o treinamento.

HyperParameters

HiperParâmetros

Nome Tipo Description
batch_size

integer (int32)

O tamanho do lote a ser usado para treinamento. O tamanho do lote é o número de exemplos de treinamento usados para treinar um único passe para frente e para trás. Em geral, descobrimos que tamanhos de lote maiores tendem a funcionar melhor para conjuntos de dados maiores. O valor padrão, bem como o valor máximo dessa propriedade, são específicos para um modelo base.

classification_betas

number[] (double)

Os valores beta de classificação. Se isso for fornecido, calcularemos as pontuações F-beta nos valores beta especificados. A pontuação F-beta é uma generalização da pontuação F-1. Isso é usado apenas para classificação binária. Com um beta de 1 (ou seja, a pontuação F-1), a precisão e o recall recebem o mesmo peso. Uma pontuação beta maior coloca mais peso no recall e menos na precisão. Uma pontuação beta menor coloca mais peso na precisão e menos no recall.

classification_n_classes

integer (int32)

O número de classes em uma tarefa de classificação. Esse parâmetro é necessário para classificação multiclasse.

classification_positive_class

string

A classe positiva na classificação binária. Esse parâmetro é necessário para gerar precisão, recall e métricas F1 ao fazer a classificação binária.

compute_classification_metrics

boolean

Um valor que indica se as métricas de classificação devem ser computas. Se definido, calculamos métricas específicas de classificação, como precisão e pontuação F-1 usando o conjunto de validação no final de cada época. Essas métricas podem ser exibidas no arquivo de resultados. Para calcular as métricas de classificação, você deve fornecer um validation_file. Além disso, você deve especificar classification_n_classes para classificação multiclasse ou classification_positive_class para classificação binária.

learning_rate_multiplier

number (double)

O multiplicador de taxa de aprendizagem a ser usado para treinamento. A taxa de aprendizado de ajuste fino é a taxa de aprendizado original usada para pré-treinamento multiplicado por esse valor. Taxas de aprendizagem maiores tendem a ter um desempenho melhor com tamanhos de lote maiores. Recomendamos experimentar valores no intervalo de 0,02 a 0,2 para ver o que produz os melhores resultados.

n_epochs

integer (int32)

O número de épocas para as quais treinar o modelo. Uma época refere-se a um ciclo completo por meio do conjunto de dados de treinamento.

prompt_loss_weight

number (double)

O peso a ser usado para perda nos tokens de prompt. Isso controla o quanto o modelo tenta aprender a gerar o prompt (em comparação com a conclusão que sempre tem um peso de 1,0) e pode adicionar um efeito estabilizador ao treinamento quando as conclusões são curtas. Se os prompts forem extremamente longos (em relação às conclusões), talvez faça sentido reduzir esse peso para evitar a priorização excessiva do aprendizado do prompt.

InnerError

InnerError

Nome Tipo Description
code

InnerErrorCode

InnerErrorCode
Códigos de erro internos, conforme definido nas diretrizes rest da Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

innererror

InnerError

InnerError
Erro interno conforme definido nas diretrizes rest da Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

InnerErrorCode

InnerErrorCode

Valor Description
invalidPayload

Os dados da solicitação são inválidos para esta operação.

LogLevel

LogLevel

Valor Description
error

Essa mensagem representa um problema não recuperável.

info

Esse evento é somente para informações.

warning

Esse evento representa um problema atenuado.

Purpose

Propósito

Valor Description
fine-tune

Este arquivo contém dados de treinamento para um trabalho de ajuste fino.

fine-tune-results

Esse arquivo contém os resultados de um trabalho de ajuste fino.

State

Estado

Valor Description
canceled

A operação foi cancelada e está incompleta.

deleted

A entidade foi excluída, mas ainda pode ser referenciada por outras entidades que antecedem a exclusão.

failed

A operação concluiu o processamento com uma falha e não pode ser consumida.

notRunning

A operação foi criada e não está na fila para ser processada no futuro.

running

A operação começou a ser processada.

succeeded

A operação foi processada com êxito e está pronta para consumo.

TypeDiscriminator

TypeDiscriminator

Valor Description
file

Esse objeto representa um arquivo.

fine-tune

Esse objeto representa um trabalho de ajuste fino.

fine-tune-event

Esse objeto representa um evento de um trabalho de ajuste fino.

list

Esse objeto representa uma lista de outros objetos.

model

Esse objeto representa um modelo (pode ser um modelo base ou um resultado de trabalho de ajuste fino).