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 |
A afinação foi criada com êxito. Cabeçalhos Location: string |
|
Other Status Codes |
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 |
Error |
ErrorCode |
Error |
ErrorResponse |
Event |
Acontecimento |
File |
Arquivo |
File |
FileStatistics |
Fine |
FineTune |
Fine |
FineTuneCreation |
Hyper |
HiperParâmetros |
Inner |
InnerError |
Inner |
InnerErrorCode |
Log |
LogLevel |
Purpose |
Propósito |
State |
Estado |
Type |
TypeDiscriminator |
Error
Erro
Nome | Tipo | Description |
---|---|---|
code |
ErrorCode |
|
details |
Error[] |
Os detalhes do erro, se disponíveis. |
innererror |
InnerError |
|
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 |
Erro |
Event
Acontecimento
Nome | Tipo | Description |
---|---|---|
created_at |
integer (unixtime) |
Um carimbo de data/hora quando esse evento foi criado (em épocas unix). |
level |
LogLevel |
|
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 |
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 |
Erro |
|
filename |
string minLength: 1 |
O nome do arquivo. |
id |
string |
A identidade deste item. |
object |
TypeDiscriminator |
|
purpose |
Propósito |
|
statistics |
FileStatistics |
|
status |
Estado |
|
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 |
Erro |
|
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 |
HiperParâmetros |
|
id |
string |
A identidade deste item. |
model |
string minLength: 1 |
O identificador (model-id) do modelo base usado para o ajuste fino. |
object |
TypeDiscriminator |
|
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 |
Estado |
|
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 |
|
innererror |
InnerError |
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). |