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 de trabalho e hiperparâ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 conta do OpenAI do Azure).

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 a chave de conta do Azure OpenAI dos Serviços Cognitivos aqui.

Corpo da solicitação

Nome Obrigatório Tipo Description
model True

string

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

training_file True

string

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

batch_size

integer

O tamanho do lote que será usado para treinamento. O tamanho do lote é o número de exemplos de treinamento usados para treinar uma única passagem 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[]

Os valores beta de classificação. Se isso for fornecido, calculamos as pontuações F-beta nos valores beta especificados. A pontuação F-beta é uma generalização da pontuação F-1. Isso só é usado 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 ao recall e menos à precisão. Uma pontuação beta menor coloca mais peso à precisão e menos ao recall.

classification_n_classes

integer

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 será necessário para gerar métricas de precisão, recall e 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 a validação definida no final de cada período. 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

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

n_epochs

integer

O número de períodos para treinamento do modelo. Um período refere-se a um ciclo completo através do conjunto de dados de treinamento.

prompt_loss_weight

number

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), poderá fazer 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 nome do modelo ajustado.

validation_file

string

A identidade do arquivo (file-id) 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 a 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

Evento

File

Arquivo

FileStatistics

FileStatistics

FineTune

FineTune

FineTuneCreation

FineTuneCreation

HyperParameters

HiperParâmetros

InnerError

InnerError

InnerErrorCode

InnerErrorCode

LogLevel

LogLevel

Purpose

Finalidade

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

A mensagem desse erro.

target

string

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

ErrorCode

ErrorCode

Nome Tipo Description
conflict

string

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

fileImportFailed

string

Falha na importação do arquivo.

forbidden

string

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

internalFailure

string

Erro interno. Tente novamente.

invalidPayload

string

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

itemDoesAlreadyExist

string

O item já existe.

jsonlValidationFailed

string

Falha na validação de dados jsonl.

notFound

string

O recurso não foi encontrado.

quotaExceeded

string

Cota excedida.

serviceUnavailable

string

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

unexpectedEntityState

string

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 rest da Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

Event

Evento

Nome Tipo Description
created_at

integer

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

level

LogLevel

LogLevel
O nível de detalhamento de um evento.

message

string

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

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

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

error

Error

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

filename

string

O nome do arquivo.

id

string

A identidade deste item.

object

TypeDiscriminator

TypeDiscriminator
Define o tipo de um objeto .

purpose

Purpose

Finalidade
A finalidade pretendida dos documentos carregados. Use "ajuste fino" 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

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

FileStatistics

FileStatistics

Nome Tipo Description
examples

integer

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

O número de tokens usados em prompts e conclusões para arquivos do tipo "ajustar" depois que a validação do conteúdo do arquivo for concluída.

FineTune

FineTune

Nome Tipo Description
created_at

integer

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

error

Error

Erro
Conteúdo do erro conforme definido nas diretrizes rest da Microsoft (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 enfileirado, em execução e concluído.

fine_tuned_model

string

O identificador (model-id) 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 hiperparâmetro usadas em um trabalho de ajuste fino.

id

string

A identidade deste item.

model

string

O identificador (model-id) do modelo base usado para a 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 OpenAI do Azure; 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) usadas para treinar o modelo ajustado.

updated_at

integer

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

user_id

string

A ID de usuário deste trabalho de ajuste fino. Não utilizado no OpenAI do Azure; 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

O tamanho do lote que será usado para treinamento. O tamanho do lote é o número de exemplos de treinamento usados para treinar uma única passagem 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[]

Os valores beta de classificação. Se isso for fornecido, calculamos as pontuações F-beta nos valores beta especificados. A pontuação F-beta é uma generalização da pontuação F-1. Isso só é usado 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 ao recall e menos à precisão. Uma pontuação beta menor coloca mais peso à precisão e menos ao recall.

classification_n_classes

integer

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 será necessário para gerar métricas de precisão, recall e 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 a validação definida no final de cada período. 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

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

model

string

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

n_epochs

integer

O número de períodos para treinamento do modelo. Um período refere-se a um ciclo completo através do conjunto de dados de treinamento.

prompt_loss_weight

number

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), poderá fazer 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 nome do modelo ajustado.

training_file

string

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

validation_file

string

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

HyperParameters

HiperParâmetros

Nome Tipo Description
batch_size

integer

O tamanho do lote que será usado para treinamento. O tamanho do lote é o número de exemplos de treinamento usados para treinar uma única passagem 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[]

Os valores beta de classificação. Se isso for fornecido, calculamos as pontuações F-beta nos valores beta especificados. A pontuação F-beta é uma generalização da pontuação F-1. Isso só é usado 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 ao recall e menos à precisão. Uma pontuação beta menor coloca mais peso à precisão e menos ao recall.

classification_n_classes

integer

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 será necessário para gerar métricas de precisão, recall e 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 a validação definida no final de cada período. 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

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

n_epochs

integer

O número de períodos para treinamento do modelo. Um período refere-se a um ciclo completo através do conjunto de dados de treinamento.

prompt_loss_weight

number

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), poderá fazer 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

Nome Tipo Description
invalidPayload

string

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

LogLevel

LogLevel

Nome Tipo Description
error

string

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

info

string

Esse evento é apenas para informações.

warning

string

Esse evento representa um problema atenuado.

Purpose

Finalidade

Nome Tipo Description
fine-tune

string

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

fine-tune-results

string

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

State

Estado

Nome Tipo Description
canceled

string

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

deleted

string

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

failed

string

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

notRunning

string

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

running

string

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

succeeded

string

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

TypeDiscriminator

TypeDiscriminator

Nome Tipo Description
file

string

Esse objeto representa um arquivo.

fine-tune

string

Esse objeto representa um trabalho de ajuste fino.

fine-tune-event

string

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

list

string

Esse objeto representa uma lista de outros objetos.

model

string

Esse objeto representa um modelo (pode ser um modelo base ou ajustar o resultado do trabalho).