Compartir a través de


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

FineTune

La optimización se ha creado correctamente.

Encabezados

Location: string

Other Status Codes

ErrorResponse

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

ErrorCode

ErrorCode

ErrorResponse

ErrorResponse

Event

Evento

File

Archivo

FileStatistics

FileStatistics

FineTune

FineTune

FineTuneCreation

FineTuneCreation

HyperParameters

Hiperparámetros

InnerError

InnerError

InnerErrorCode

InnerErrorCode

LogLevel

LogLevel

Purpose

Propósito

State

Estado

TypeDiscriminator

TypeDiscriminator

Error

Error

Nombre Tipo Description
code

ErrorCode

ErrorCode
Códigos de error tal como se definen en las directrices de REST de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

details

Error[]

Los detalles del error si están disponibles.

innererror

InnerError

InnerError
Error interno tal como se define en las directrices rest de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

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

Error
Contenido de error tal como se define en las directrices rest de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

Event

Evento

Nombre Tipo Description
created_at

integer (unixtime)

Marca de tiempo cuando se creó este evento (en épocas unix).

level

LogLevel

LogLevel
Nivel de detalle de un evento.

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

TypeDiscriminator
Define el tipo de un objeto .

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

Error
Contenido de error tal como se define en las directrices rest de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

filename

string

minLength: 1

Nombre del archivo.

id

string

Identidad de este elemento.

object

TypeDiscriminator

TypeDiscriminator
Define el tipo de un objeto .

purpose

Purpose

Propósito
Propósito previsto de los documentos cargados. Use "ajuste" para ajustar. Esto nos permite validar el formato del archivo cargado.

statistics

FileStatistics

FileStatistics
Un archivo es un documento que se puede usar para el entrenamiento y la validación. También puede ser un documento generado por el servicio con los detalles del resultado.

status

State

Estado
Estado de un trabajo o elemento.

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

Error
Contenido de error tal como se define en las directrices rest de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

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

HyperParameters

Hiperparámetros
Configuración de hiperparámetr usada en un trabajo de ajuste preciso.

id

string

Identidad de este elemento.

model

string

minLength: 1

Identificador (model-id) del modelo base que se usa para ajustar.

object

TypeDiscriminator

TypeDiscriminator
Define el tipo de un objeto .

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

State

Estado
Estado de un trabajo o elemento.

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

InnerErrorCode
Códigos de error internos tal como se definen en las directrices rest de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

innererror

InnerError

InnerError
Error interno tal como se define en las directrices rest de Microsoft (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

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).