Fine Tunes - Create
Cria um trabalho que ajusta um modelo especificado a partir de um determinado arquivo de treinamento. A resposta inclui detalhes do trabalho enfileirado, incluindo status do trabalho e hiperparâmetros. O nome do modelo ajustado é adicionado à resposta depois de concluído.
POST {endpoint}/openai/fine-tunes?api-version=2023-05-15
Parâmetros URI
| Nome | Em | Necessário | Tipo | Descrição |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (url) |
Pontos de extremidade de Serviços Cognitivos suportados (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 de Pedido
| Nome | Necessário | Tipo | Descrição |
|---|---|---|---|
| api-key | True |
string |
Forneça sua chave de conta do Azure OpenAI dos Serviços Cognitivos aqui. |
Órgão do Pedido
| Nome | Necessário | Tipo | Descrição |
|---|---|---|---|
| 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 (file-id) que é 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 lotes maiores tendem a funcionar melhor para conjuntos de dados maiores. O valor padrão, bem como o valor máximo para essa propriedade são específicos para um modelo base. |
|
| classification_betas |
number[] (double) |
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 é usado apenas para classificação binária. Com um beta de 1 (ou seja, a pontuação F-1), a precisão e a recordação recebem o mesmo peso. Uma pontuação beta maior coloca mais peso na recuperação e menos na precisão. Uma pontuação beta menor coloca mais peso na precisão e menos na recordação. |
|
| classification_n_classes |
integer (int32) |
O número de classes em uma tarefa de classificação. Este parâmetro é necessário para a classificação multiclasse. |
|
| classification_positive_class |
string |
A classe positiva na classificação binária. Esse parâmetro é 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 calculadas. 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 visualizadas no arquivo de resultados. Para calcular 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 da taxa de aprendizagem a utilizar na formação. A taxa de aprendizagem de ajuste fino é a taxa de aprendizagem original usada para pré-treinamento multiplicada por esse valor. Taxas de aprendizagem maiores tendem a ter um melhor desempenho com lotes 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 treinar o modelo. Uma época refere-se a um ciclo completo através 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 finalizações são curtas. Se os prompts forem extremamente longos (em relação aos prompts), pode fazer sentido reduzir esse peso para evitar priorizar demais o 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 (file-id) usada para avaliar o modelo ajustado durante o treinamento. |
Respostas
| Nome | Tipo | Descrição |
|---|---|---|
| 201 Created |
O ajuste fino foi criado com sucesso. 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.
Pedido 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.
Pedido 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 | Descrição |
|---|---|
| Error |
Erro |
|
Error |
Código de erro |
|
Error |
ErrorResponse |
| Event |
Evento |
| File |
Ficheiro |
|
File |
FileStatistics |
|
Fine |
FineTune |
|
Fine |
FineTuneCreation |
|
Hyper |
Hiperparâmetros |
|
Inner |
InnerError |
|
Inner |
InnerErrorCode |
|
Log |
LogLevel |
| Purpose |
Finalidade |
| State |
Estado |
|
Type |
TipoDiscriminador |
Error
Erro
| Nome | Tipo | Descrição |
|---|---|---|
| code |
Código de erro |
|
| details |
Error[] |
Os detalhes do erro, se disponíveis. |
| innererror |
InnerError |
|
| message |
string minLength: 1 |
A mensagem deste erro. |
| target |
string |
O local onde o erro aconteceu, se disponível. |
ErrorCode
Código de erro
| Valor | Descrição |
|---|---|
| conflict |
A operação solicitada entra em conflito com o estado atual do recurso. |
| invalidPayload |
Os dados da solicitação são inválidos para esta operação. |
| forbidden |
A operação é proibida para a chave de usuário/api atual. |
| notFound |
O recurso não foi encontrado. |
| unexpectedEntityState |
A operação não pode ser executada no estado do recurso atual. |
| itemDoesAlreadyExist |
O item já existe. |
| serviceUnavailable |
O serviço não está disponível no momento. |
| internalFailure |
Erro interno. Por favor, tente novamente. |
| quotaExceeded |
Quota excedida. |
| jsonlValidationFailed |
Falha na validação dos dados jsonl. |
| fileImportFailed |
Falha na importação do arquivo. |
ErrorResponse
ErrorResponse
| Nome | Tipo | Descrição |
|---|---|---|
| error |
Erro |
Event
Evento
| Nome | Tipo | Descrição |
|---|---|---|
| created_at |
integer (unixtime) |
Um carimbo de data/hora quando este evento foi criado (em épocas unix). |
| level |
LogLevel |
|
| message |
string minLength: 1 |
A mensagem que descreve o evento. Isso pode ser uma mudança de estado, por exemplo, enfileirado, iniciado, com falha ou concluído, ou outros eventos, como resultados carregados. |
| object |
TipoDiscriminador |
File
Ficheiro
| Nome | Tipo | Descrição |
|---|---|---|
| bytes |
integer (int64) |
O tamanho deste 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 |
TipoDiscriminador |
|
| purpose |
Finalidade |
|
| statistics |
FileStatistics |
|
| status |
Estado |
|
| updated_at |
integer (unixtime) |
Um carimbo de data/hora quando este trabalho ou item foi modificado pela última vez (em épocas unix). |
FileStatistics
FileStatistics
| Nome | Tipo | Descrição |
|---|---|---|
| examples |
integer (int32) |
O número de exemplos de treinamento contidos em arquivos do tipo "ajuste" assim que a validação do conteúdo do arquivo for concluída. |
| tokens |
integer (int32) |
O número de tokens usados em prompts e finalizações para arquivos do tipo "ajuste" assim que a validação do conteúdo do arquivo for concluída. |
FineTune
FineTune
| Nome | Tipo | Descrição |
|---|---|---|
| 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 enfileirado, em execução e concluído. |
| fine_tuned_model |
string |
O identificador (model-id) do modelo ajustado resultante. Esta 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 |
TipoDiscriminador |
|
| organisation_id |
string |
A organização id deste trabalho de afinação. Não utilizado no Azure OpenAI; compatibilidade apenas para OpenAI. |
| result_files |
File[] |
As identidades do arquivo de resultado (file-id) contendo 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 (file-id) 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 pela última vez (em épocas unix). |
| user_id |
string |
O ID de usuário deste trabalho de ajuste fino. Não utilizado no Azure OpenAI; compatibilidade apenas para OpenAI. |
| validation_files |
File[] |
As identidades de arquivo (file-id) que são usadas para avaliar o modelo ajustado durante o treinamento. |
FineTuneCreation
FineTuneCreation
| Nome | Tipo | Descrição |
|---|---|---|
| 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 lotes maiores tendem a funcionar melhor para conjuntos de dados maiores. O valor padrão, bem como o valor máximo para essa propriedade são específicos para um modelo base. |
| classification_betas |
number[] (double) |
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 é usado apenas para classificação binária. Com um beta de 1 (ou seja, a pontuação F-1), a precisão e a recordação recebem o mesmo peso. Uma pontuação beta maior coloca mais peso na recuperação e menos na precisão. Uma pontuação beta menor coloca mais peso na precisão e menos na recordação. |
| classification_n_classes |
integer (int32) |
O número de classes em uma tarefa de classificação. Este parâmetro é necessário para a classificação multiclasse. |
| classification_positive_class |
string |
A classe positiva na classificação binária. Esse parâmetro é 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 calculadas. 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 visualizadas no arquivo de resultados. Para calcular 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 da taxa de aprendizagem a utilizar na formação. A taxa de aprendizagem de ajuste fino é a taxa de aprendizagem original usada para pré-treinamento multiplicada por esse valor. Taxas de aprendizagem maiores tendem a ter um melhor desempenho com lotes 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 treinar o modelo. Uma época refere-se a um ciclo completo através 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 finalizações são curtas. Se os prompts forem extremamente longos (em relação aos prompts), pode fazer sentido reduzir esse peso para evitar priorizar demais o 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 (file-id) que é 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 | Descrição |
|---|---|---|
| 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 lotes maiores tendem a funcionar melhor para conjuntos de dados maiores. O valor padrão, bem como o valor máximo para essa propriedade são específicos para um modelo base. |
| classification_betas |
number[] (double) |
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 é usado apenas para classificação binária. Com um beta de 1 (ou seja, a pontuação F-1), a precisão e a recordação recebem o mesmo peso. Uma pontuação beta maior coloca mais peso na recuperação e menos na precisão. Uma pontuação beta menor coloca mais peso na precisão e menos na recordação. |
| classification_n_classes |
integer (int32) |
O número de classes em uma tarefa de classificação. Este parâmetro é necessário para a classificação multiclasse. |
| classification_positive_class |
string |
A classe positiva na classificação binária. Esse parâmetro é 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 calculadas. 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 visualizadas no arquivo de resultados. Para calcular 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 da taxa de aprendizagem a utilizar na formação. A taxa de aprendizagem de ajuste fino é a taxa de aprendizagem original usada para pré-treinamento multiplicada por esse valor. Taxas de aprendizagem maiores tendem a ter um melhor desempenho com lotes 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 treinar o modelo. Uma época refere-se a um ciclo completo através 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 finalizações são curtas. Se os prompts forem extremamente longos (em relação aos prompts), pode fazer sentido reduzir esse peso para evitar priorizar demais o aprendizado do prompt. |
InnerError
InnerError
| Nome | Tipo | Descrição |
|---|---|---|
| code |
InnerErrorCode |
|
| innererror |
InnerError |
InnerErrorCode
InnerErrorCode
| Valor | Descrição |
|---|---|
| invalidPayload |
Os dados da solicitação são inválidos para esta operação. |
LogLevel
LogLevel
| Valor | Descrição |
|---|---|
| info |
Este evento é apenas para informação. |
| warning |
Esse evento representa um problema mitigado. |
| error |
Esta mensagem representa um problema não recuperável. |
Purpose
Finalidade
| Valor | Descrição |
|---|---|
| fine-tune |
Este arquivo contém dados de treinamento para um trabalho de ajuste fino. |
| fine-tune-results |
Este arquivo contém os resultados de um trabalho de ajuste fino. |
State
Estado
| Valor | Descrição |
|---|---|
| notRunning |
A operação foi criada e não está na fila para ser processada no futuro. |
| running |
A operação já começou a ser processada. |
| succeeded |
A operação foi processada com sucesso e está pronta para consumo. |
| canceled |
A operação foi cancelada e está incompleta. |
| failed |
A operação concluiu o processamento com uma falha e não pode ser consumida mais. |
| deleted |
A entidade foi excluída, mas ainda pode ser referenciada por outras entidades anteriores à exclusão. |
TypeDiscriminator
TipoDiscriminador
| Valor | Descrição |
|---|---|
| list |
Este objeto representa uma lista de outros objetos. |
| fine-tune |
Este objeto representa um trabalho de ajuste fino. |
| file |
Este objeto representa um arquivo. |
| fine-tune-event |
Este objeto representa um evento de um trabalho de ajuste fino. |
| model |
Este objeto representa um modelo (pode ser um modelo base ou um resultado de trabalho de ajuste fino). |