Fine Tunes - Create
Crea un trabajo que ajusta un modelo especificado a partir de un archivo de entrenamiento determinado. La respuesta incluye detalles del trabajo en cola, incluidos el estado del trabajo y los parámetros de hyper. El nombre del modelo ajustado se agrega a la respuesta una vez completado.
POST {endpoint}/openai/fine-tunes?api-version=2023-05-15
Parámetros de identificador URI
| Nombre | En | Requerido | Tipo | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (url) |
Puntos de conexión de Cognitive Services admitidos (protocolo y nombre de host, por ejemplo: https://aoairesource.openai.azure.com. Reemplace "aoairesource" por el nombre de la cuenta de Azure OpenAI). |
|
api-version
|
query | True |
string |
La versión de API solicitada. |
Encabezado de la solicitud
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| api-key | True |
string |
Proporcione la clave de cuenta de Azure OpenAI de Cognitive Services aquí. |
Cuerpo de la solicitud
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| model | True |
string minLength: 1 |
Identificador (model-id) del modelo base que se usa para esta optimización. |
| training_file | True |
string minLength: 1 |
La identidad de archivo (file-id) que se usa para entrenar este modelo optimizado. |
| batch_size |
integer (int32) |
Tamaño del lote que se va a usar para el entrenamiento. El tamaño del lote es el número de ejemplos de entrenamiento que se usan para entrenar un solo paso hacia delante y hacia atrás. En general, hemos encontrado que los tamaños de lote más grandes tienden a funcionar mejor para conjuntos de datos más grandes. El valor predeterminado, así como el valor máximo de esta propiedad, son específicos de un modelo base. |
|
| classification_betas |
number[] (double) |
Valores beta de clasificación. Si se proporciona esto, calculamos las puntuaciones de F-beta en los valores beta especificados. La puntuación F-beta es una generalización de la puntuación F-1. Esto solo se usa para la clasificación binaria. Con una beta de 1 (es decir, la puntuación F-1), la precisión y la recuperación reciben el mismo peso. Una puntuación beta más grande pone más peso en la recuperación y menos en precisión. Una puntuación beta más pequeña pone más peso sobre la precisión y menos en la recuperación. |
|
| classification_n_classes |
integer (int32) |
Número de clases de una tarea de clasificación. Este parámetro es necesario para la clasificación multiclase. |
|
| classification_positive_class |
string |
Clase positiva en clasificación binaria. Este parámetro es necesario para generar métricas de precisión, recuperación y F1 al realizar la clasificación binaria. |
|
| compute_classification_metrics |
boolean |
Valor que indica si se deben calcular las métricas de clasificación. Si se establece, se calculan métricas específicas de la clasificación, como la precisión y la puntuación F-1 mediante el conjunto de validación al final de cada época. Estas métricas se pueden ver en el archivo de resultados. Para calcular las métricas de clasificación, debe proporcionar un validation_file. Además, debe especificar classification_n_classes para la clasificación multiclase o classification_positive_class para la clasificación binaria. |
|
| learning_rate_multiplier |
number (double) |
Multiplicador de velocidad de aprendizaje que se va a usar para el entrenamiento. La velocidad de aprendizaje de ajuste es la velocidad de aprendizaje original que se usa para el entrenamiento previo multiplicado por este valor. Las tasas de aprendizaje más grandes tienden a mejorar con tamaños de lote más grandes. Se recomienda experimentar con valores en el intervalo de 0,02 a 0,2 para ver lo que genera los mejores resultados. |
|
| n_epochs |
integer (int32) |
Número de épocas para las que entrenar el modelo. Una época hace referencia a un ciclo completo a través del conjunto de datos de entrenamiento. |
|
| prompt_loss_weight |
number (double) |
Peso que se va a usar para la pérdida en los tokens de solicitud. Esto controla cuánto intenta aprender el modelo para generar el mensaje (en comparación con la finalización que siempre tiene un peso de 1,0) y puede agregar un efecto de estabilización al entrenamiento cuando las finalizaciones son cortas. Si las solicitudes son extremadamente largas (relativas a las finalizaciones), puede tener sentido reducir este peso para evitar que se supere la priorización del aprendizaje del mensaje. |
|
| suffix |
string |
Sufijo usado para identificar el modelo ajustado. El sufijo puede contener hasta 40 caracteres (a-z, A-Z, 0-9 y _) que se agregarán al nombre del modelo ajustado. |
|
| validation_file |
string |
Identidad de archivo (file-id) que se usa para evaluar el modelo optimizado durante el entrenamiento. |
Respuestas
| Nombre | Tipo | Description |
|---|---|---|
| 201 Created |
La optimización se ha creado correctamente. Encabezados Location: string |
|
| Other Status Codes |
Error. |
Seguridad
api-key
Proporcione la clave de cuenta de Azure OpenAI de Cognitive Services aquí.
Tipo:
apiKey
En:
header
Ejemplos
| Creating a fine tune job for classification. |
| Creating a fine tune job. |
Creating a fine tune job for classification.
Solicitud de ejemplo
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"
}
Respuesta de muestra
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.
Solicitud de ejemplo
POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15
{
"model": "curie",
"training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}
Respuesta de muestra
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"
}
Definiciones
| Nombre | Description |
|---|---|
| Error |
Error |
|
Error |
ErrorCode |
|
Error |
ErrorResponse |
| Event |
Evento |
| File |
Archivo |
|
File |
FileStatistics |
|
Fine |
FineTune |
|
Fine |
FineTuneCreation |
|
Hyper |
Hiperparámetros |
|
Inner |
InnerError |
|
Inner |
InnerErrorCode |
|
Log |
LogLevel |
| Purpose |
Propósito |
| State |
Estado |
|
Type |
TypeDiscriminator |
Error
Error
| Nombre | Tipo | Description |
|---|---|---|
| code |
ErrorCode |
|
| details |
Error[] |
Los detalles del error si están disponibles. |
| innererror |
InnerError |
|
| message |
string minLength: 1 |
Mensaje de este error. |
| target |
string |
Ubicación donde se produjo el error si está disponible. |
ErrorCode
ErrorCode
| Valor | Description |
|---|---|
| conflict |
La operación solicitada entra en conflicto con el estado de recurso actual. |
| invalidPayload |
Los datos de solicitud no son válidos para esta operación. |
| forbidden |
La operación está prohibida para la clave de usuario o API actual. |
| notFound |
No se encuentra el recurso. |
| unexpectedEntityState |
La operación no se puede ejecutar en el estado del recurso actual. |
| itemDoesAlreadyExist |
El elemento ya existe. |
| serviceUnavailable |
El servicio no está disponible actualmente. |
| internalFailure |
Error interno. Vuelva a intentarlo. |
| quotaExceeded |
Se superó la cuota. |
| jsonlValidationFailed |
Error en la validación de datos jsonl. |
| fileImportFailed |
Error en la importación del archivo. |
ErrorResponse
ErrorResponse
| Nombre | Tipo | Description |
|---|---|---|
| error |
Error |
Event
Evento
| Nombre | Tipo | Description |
|---|---|---|
| created_at |
integer (unixtime) |
Marca de tiempo cuando se creó este evento (en épocas unix). |
| level |
LogLevel |
|
| message |
string minLength: 1 |
Mensaje que describe el evento. Puede ser un cambio de estado, por ejemplo, puesta en cola, iniciado, completado o completado, u otros eventos como resultados cargados. |
| object |
TypeDiscriminator |
File
Archivo
| Nombre | Tipo | Description |
|---|---|---|
| bytes |
integer (int64) |
Tamaño de este archivo cuando está disponible (puede ser NULL). Los tamaños de archivo mayores que 2^53-1 no se admiten para garantizar la compatibilidad con los enteros de JavaScript. |
| created_at |
integer (unixtime) |
Marca de tiempo cuando se creó este trabajo o elemento (en épocas unix). |
| error |
Error |
|
| filename |
string minLength: 1 |
Nombre del archivo. |
| id |
string |
Identidad de este elemento. |
| object |
TypeDiscriminator |
|
| purpose |
Propósito |
|
| statistics |
FileStatistics |
|
| status |
Estado |
|
| updated_at |
integer (unixtime) |
Marca de tiempo cuando este trabajo o elemento se modificó por última vez (en épocas unix). |
FileStatistics
FileStatistics
| Nombre | Tipo | Description |
|---|---|---|
| examples |
integer (int32) |
Número de ejemplos de entrenamiento contenidos en archivos de tipo "ajuste" una vez completada la validación del contenido del archivo. |
| tokens |
integer (int32) |
Número de tokens usados en solicitudes y finalizaciones para archivos de tipo "ajuste" una vez completada la validación del contenido del archivo. |
FineTune
FineTune
| Nombre | Tipo | Description |
|---|---|---|
| created_at |
integer (unixtime) |
Marca de tiempo cuando se creó este trabajo o elemento (en épocas unix). |
| error |
Error |
|
| events |
Event[] |
Eventos que muestran el progreso de la ejecución de ajuste, incluida la cola, la ejecución y la finalización. |
| fine_tuned_model |
string |
Identificador (model-id) del modelo optimizado resultante. Esta propiedad solo se rellena para las ejecuciones de ajuste correctas completadas. Use este identificador para crear una implementación para la inferencia. |
| hyperparams |
Hiperparámetros |
|
| id |
string |
Identidad de este elemento. |
| model |
string minLength: 1 |
Identificador (model-id) del modelo base que se usa para ajustar. |
| object |
TypeDiscriminator |
|
| organisation_id |
string |
El identificador de la organización de este trabajo de ajuste. Sin usar en Azure OpenAI; compatibilidad solo con OpenAI. |
| result_files |
File[] |
Identidades de archivo de resultados (file-id) que contienen métricas de entrenamiento y evaluación en formato csv. El archivo solo está disponible para ejecutar correctamente las ejecuciones de ajuste. |
| status |
Estado |
|
| suffix |
string |
Sufijo usado para identificar el modelo ajustado. |
| training_files |
File[] |
Identidades de archivo (file-id) que se usan para entrenar el modelo optimizado. |
| updated_at |
integer (unixtime) |
Marca de tiempo cuando este trabajo o elemento se modificó por última vez (en épocas unix). |
| user_id |
string |
Identificador de usuario de este trabajo de ajuste preciso. Sin usar en Azure OpenAI; compatibilidad solo con OpenAI. |
| validation_files |
File[] |
Identidades de archivo (identificador de archivo) que se usan para evaluar el modelo optimizado durante el entrenamiento. |
FineTuneCreation
FineTuneCreation
| Nombre | Tipo | Description |
|---|---|---|
| batch_size |
integer (int32) |
Tamaño del lote que se va a usar para el entrenamiento. El tamaño del lote es el número de ejemplos de entrenamiento que se usan para entrenar un solo paso hacia delante y hacia atrás. En general, hemos encontrado que los tamaños de lote más grandes tienden a funcionar mejor para conjuntos de datos más grandes. El valor predeterminado, así como el valor máximo de esta propiedad, son específicos de un modelo base. |
| classification_betas |
number[] (double) |
Valores beta de clasificación. Si se proporciona esto, calculamos las puntuaciones de F-beta en los valores beta especificados. La puntuación F-beta es una generalización de la puntuación F-1. Esto solo se usa para la clasificación binaria. Con una beta de 1 (es decir, la puntuación F-1), la precisión y la recuperación reciben el mismo peso. Una puntuación beta más grande pone más peso en la recuperación y menos en precisión. Una puntuación beta más pequeña pone más peso sobre la precisión y menos en la recuperación. |
| classification_n_classes |
integer (int32) |
Número de clases de una tarea de clasificación. Este parámetro es necesario para la clasificación multiclase. |
| classification_positive_class |
string |
Clase positiva en clasificación binaria. Este parámetro es necesario para generar métricas de precisión, recuperación y F1 al realizar la clasificación binaria. |
| compute_classification_metrics |
boolean |
Valor que indica si se deben calcular las métricas de clasificación. Si se establece, se calculan métricas específicas de la clasificación, como la precisión y la puntuación F-1 mediante el conjunto de validación al final de cada época. Estas métricas se pueden ver en el archivo de resultados. Para calcular las métricas de clasificación, debe proporcionar un validation_file. Además, debe especificar classification_n_classes para la clasificación multiclase o classification_positive_class para la clasificación binaria. |
| learning_rate_multiplier |
number (double) |
Multiplicador de velocidad de aprendizaje que se va a usar para el entrenamiento. La velocidad de aprendizaje de ajuste es la velocidad de aprendizaje original que se usa para el entrenamiento previo multiplicado por este valor. Las tasas de aprendizaje más grandes tienden a mejorar con tamaños de lote más grandes. Se recomienda experimentar con valores en el intervalo de 0,02 a 0,2 para ver lo que genera los mejores resultados. |
| model |
string minLength: 1 |
Identificador (model-id) del modelo base que se usa para esta optimización. |
| n_epochs |
integer (int32) |
Número de épocas para las que entrenar el modelo. Una época hace referencia a un ciclo completo a través del conjunto de datos de entrenamiento. |
| prompt_loss_weight |
number (double) |
Peso que se va a usar para la pérdida en los tokens de solicitud. Esto controla cuánto intenta aprender el modelo para generar el mensaje (en comparación con la finalización que siempre tiene un peso de 1,0) y puede agregar un efecto de estabilización al entrenamiento cuando las finalizaciones son cortas. Si las solicitudes son extremadamente largas (relativas a las finalizaciones), puede tener sentido reducir este peso para evitar que se supere la priorización del aprendizaje del mensaje. |
| suffix |
string |
Sufijo usado para identificar el modelo ajustado. El sufijo puede contener hasta 40 caracteres (a-z, A-Z, 0-9 y _) que se agregarán al nombre del modelo ajustado. |
| training_file |
string minLength: 1 |
La identidad de archivo (file-id) que se usa para entrenar este modelo optimizado. |
| validation_file |
string |
Identidad de archivo (file-id) que se usa para evaluar el modelo optimizado durante el entrenamiento. |
HyperParameters
Hiperparámetros
| Nombre | Tipo | Description |
|---|---|---|
| batch_size |
integer (int32) |
Tamaño del lote que se va a usar para el entrenamiento. El tamaño del lote es el número de ejemplos de entrenamiento que se usan para entrenar un solo paso hacia delante y hacia atrás. En general, hemos encontrado que los tamaños de lote más grandes tienden a funcionar mejor para conjuntos de datos más grandes. El valor predeterminado, así como el valor máximo de esta propiedad, son específicos de un modelo base. |
| classification_betas |
number[] (double) |
Valores beta de clasificación. Si se proporciona esto, calculamos las puntuaciones de F-beta en los valores beta especificados. La puntuación F-beta es una generalización de la puntuación F-1. Esto solo se usa para la clasificación binaria. Con una beta de 1 (es decir, la puntuación F-1), la precisión y la recuperación reciben el mismo peso. Una puntuación beta más grande pone más peso en la recuperación y menos en precisión. Una puntuación beta más pequeña pone más peso sobre la precisión y menos en la recuperación. |
| classification_n_classes |
integer (int32) |
Número de clases de una tarea de clasificación. Este parámetro es necesario para la clasificación multiclase. |
| classification_positive_class |
string |
Clase positiva en clasificación binaria. Este parámetro es necesario para generar métricas de precisión, recuperación y F1 al realizar la clasificación binaria. |
| compute_classification_metrics |
boolean |
Valor que indica si se deben calcular las métricas de clasificación. Si se establece, se calculan métricas específicas de la clasificación, como la precisión y la puntuación F-1 mediante el conjunto de validación al final de cada época. Estas métricas se pueden ver en el archivo de resultados. Para calcular las métricas de clasificación, debe proporcionar un validation_file. Además, debe especificar classification_n_classes para la clasificación multiclase o classification_positive_class para la clasificación binaria. |
| learning_rate_multiplier |
number (double) |
Multiplicador de velocidad de aprendizaje que se va a usar para el entrenamiento. La velocidad de aprendizaje de ajuste es la velocidad de aprendizaje original que se usa para el entrenamiento previo multiplicado por este valor. Las tasas de aprendizaje más grandes tienden a mejorar con tamaños de lote más grandes. Se recomienda experimentar con valores en el intervalo de 0,02 a 0,2 para ver lo que genera los mejores resultados. |
| n_epochs |
integer (int32) |
Número de épocas para las que entrenar el modelo. Una época hace referencia a un ciclo completo a través del conjunto de datos de entrenamiento. |
| prompt_loss_weight |
number (double) |
Peso que se va a usar para la pérdida en los tokens de solicitud. Esto controla cuánto intenta aprender el modelo para generar el mensaje (en comparación con la finalización que siempre tiene un peso de 1,0) y puede agregar un efecto de estabilización al entrenamiento cuando las finalizaciones son cortas. Si las solicitudes son extremadamente largas (relativas a las finalizaciones), puede tener sentido reducir este peso para evitar que se supere la priorización del aprendizaje del mensaje. |
InnerError
InnerError
| Nombre | Tipo | Description |
|---|---|---|
| code |
InnerErrorCode |
|
| innererror |
InnerError |
InnerErrorCode
InnerErrorCode
| Valor | Description |
|---|---|
| invalidPayload |
Los datos de solicitud no son válidos para esta operación. |
LogLevel
LogLevel
| Valor | Description |
|---|---|
| info |
Este evento es solo para información. |
| warning |
Este evento representa un problema mitigado. |
| error |
Este mensaje representa un problema no recuperable. |
Purpose
Propósito
| Valor | Description |
|---|---|
| fine-tune |
Este archivo contiene datos de entrenamiento para un trabajo de ajuste preciso. |
| fine-tune-results |
Este archivo contiene los resultados de un trabajo de ajuste preciso. |
State
Estado
| Valor | Description |
|---|---|
| notRunning |
La operación se creó y no se pone en cola para procesarse en el futuro. |
| running |
La operación se ha iniciado para procesarse. |
| succeeded |
La operación se ha procesado correctamente y está lista para su consumo. |
| canceled |
La operación se ha cancelado y está incompleta. |
| failed |
La operación ha completado el procesamiento con un error y no se puede consumir más. |
| deleted |
Se ha eliminado la entidad, pero otras entidades pueden hacer referencia a ellas antes de la eliminación. |
TypeDiscriminator
TypeDiscriminator
| Valor | Description |
|---|---|
| list |
Este objeto representa una lista de otros objetos. |
| fine-tune |
Este objeto representa un trabajo de ajuste preciso. |
| file |
Este objeto representa un archivo. |
| fine-tune-event |
Este objeto representa un evento de un trabajo de ajuste fino. |
| model |
Este objeto representa un modelo (puede ser un modelo base o ajustar el resultado del trabajo). |