Cree un trabajo de entrenamiento de ajuste fino de modelos para generación de texto. Los conjuntos de datos se pueden subir mediante API o montar desde OSS.
Requisitos previos
- Regiones admitidas: Las funciones descritas en este tema están disponibles únicamente en la región de Singapur, y debe utilizar una API Key de esta región.
- Permisos de cuenta: Si utiliza una subcuenta de Alibaba Cloud (usuario RAM), necesita otorgar a la subcuenta los permisos para la invocación, entrenamiento e implementación de modelos.
- Configurar variables de entorno: Ha obtenido correctamente una API Key y la ha configurado como variable de entorno.
- Preparación: Ha leído Ajuste de modelos Qwen para comprender los modelos admitidos para ajuste fino, los pasos de ajuste, los formatos de datos y la facturación.
Crear un trabajo de ajuste fino
- Singapore
POST https://dashscope-intl.aliyuncs.com/api/v1/fine-tunesPara Windows CMD, reemplace$DASHSCOPE_API_KEYcon%DASHSCOPE_API_KEY%. Para PowerShell, reemplace con$env:DASHSCOPE_API_KEY
Parámetros de solicitudEncabezadosContent-Typestring (Requerido)Valor fijo: application/jsonAuthorization string (Requerido)Autenticación mediante API Key, con el formato Bearer sk-xxxx.Cuerpo de la solicitudmodelstring (Obligatorio)El modelo para ajuste fino, o el ID de modelo generado por otro trabajo de ajuste fino (para reajustar un modelo ya ajustado).training_type string (Opcional)Método de ajuste fino. Valores disponibles:
object (Opcional)Configuración de hiperparámetros. Diferentes modelos admiten distintos conjuntos de parámetros con diferentes valores predeterminados. Consulte la consola con el mismo modelo y método de ajuste para ver los valores predeterminados reales. Entre ellos, n_epochs, batch_size y max_length afectan los costos de ajuste y deben especificarse.
Propiedades de hiperparámetros n_epochs int (Obligatorio)Número de épocas de entrenamiento. El número de veces que el modelo itera sobre los datos de entrenamiento. Ajústelo según su experiencia de ajuste fino.
int (Obligatorio)Tamaño del lote. El número de muestras de datos enviadas al modelo para entrenamiento a la vez. Un valor demasiado pequeño aumentará significativamente el tiempo de entrenamiento. Los valores predeterminados varían según el modelo; consulte la consola.max_length int (Obligatorio)Longitud de secuencia. Valor recomendado: 8192. La longitud máxima de tokens admitida para una sola muestra de entrenamiento. Si una sola muestra excede esta longitud de tokens, se descartará y no se utilizará para el entrenamiento.Para la relación entre caracteres y tokens, consulte Conversión de tokens y cadenas.learning_rate float (Opcional)Tasa de aprendizaje. Se recomienda utilizar el valor predeterminado de Model Studio. Controla la intensidad de la corrección de pesos del modelo.
string (Opcional)Tipo de programador de tasa de aprendizaje. Recomendado: linear o inverse_sqrt. Una estrategia para ajustar dinámicamente la tasa de aprendizaje durante el entrenamiento. Para obtener detalles sobre cada estrategia, consulte Descripción del programador de tasa de aprendizaje.split float (Opcional)La proporción de datos de entrenamiento en el archivo de entrenamiento. Se recomienda utilizar el valor predeterminado de Model Studio.Cuando validation_datasets no está establecido, Model Studio utiliza automáticamente 80% como conjunto de entrenamiento y 20% como conjunto de validación. Este parámetro no es válido cuando validation_datasets está establecido.max_split_val_dataset_sample int (Opcional)Tamaño máximo del conjunto de datos de validación. Se recomienda utilizar el valor predeterminado de Model Studio.Cuando validation_datasets no está establecido, el conjunto de validación dividido automáticamente contiene como máximo 1,000 muestras. Este parámetro no es válido cuando validation_datasets está establecido.eval_steps int (Opcional)Pasos de validación. El intervalo de validación durante el entrenamiento, utilizado para la evaluación periódica de la precisión del entrenamiento del modelo y la pérdida de entrenamiento.Este parámetro afecta la frecuencia de visualización de Validation Loss y Validation Token Accuracy durante el ajuste.logging_steps int (Opcional)Pasos de registro. Los pasos de intervalo para imprimir los registros de ajuste.warmup_ratio float (Opcional)Proporción de calentamiento. Se recomienda utilizar el valor predeterminado de Model Studio. La proporción del proceso total de entrenamiento utilizada para el calentamiento de la tasa de aprendizaje. El calentamiento de la tasa de aprendizaje significa que la tasa aumenta linealmente desde un valor pequeño hasta el valor establecido después de que comienza el entrenamiento, ayudando a que el modelo se entrene de manera más estable.
Este parámetro no es aplicable al programador de tasa de aprendizaje weight_decay float (Opcional)Decaimiento de peso (fuerza de regularización L2). Se recomienda utilizar el valor predeterminado de Model Studio. Ayuda a preservar las capacidades generales del modelo hasta cierto punto. Un valor demasiado grande hará que los efectos del ajuste sean menos notorios.freeze_vit boolean (Opcional)Indica si se debe congelar la columna vertebral de visión. Congela los parámetros de la columna vertebral de visión para que sus pesos no se actualicen durante el entrenamiento. Solo aplicable a modelos Qwen-VL (comprensión visual).Solo cuandolora_rank int (Opcional)Rango LoRA. Valor recomendado: 64. El rango de la matriz de bajo rango en el entrenamiento LoRA. Un rango mayor produce mejores resultados de ajuste pero un entrenamiento ligeramente más lento.Solo tiene efecto cuando training_type es efficient_sft o dpo_lora.Al realizar un segundo ajuste fino eficiente en un modelo ya ajustado eficientemente,lora_alpha int (Opcional)Factor de escala LoRA. Se recomienda utilizar el valor predeterminado de Model Studio. Controla el factor de escala entre los pesos originales del modelo y la corrección de bajo rango LoRA.
training_type es efficient_sft o dpo_lora.lora_dropout float (Opcional)Tasa de dropout LoRA. Se recomienda utilizar el valor predeterminado de Model Studio. La tasa de dropout de los valores de la matriz de bajo rango en el entrenamiento LoRA. Utilizar el valor recomendado mejora la generalización del modelo. Un valor demasiado grande hará que los efectos del ajuste fino sean menos notorios.Solo tiene efecto cuando training_type es efficient_sft o dpo_lora.save_strategy string (Opcional)Estrategia de guardado de puntos de control. Se puede establecer en epoch o steps. Cuando se establece en steps, puede ajustar el intervalo de guardado con el parámetro save_steps.Solo tiene efecto cuando training_type es efficient_sft o sft.save_steps int (Opcional)Pasos de guardado. Establece cuántos pasos de entrenamiento transcurren entre cada guardado de punto de control del modelo. Se recomienda establecerlo como un múltiplo entero de eval_steps.Solo tiene efecto cuando training_type es efficient_sft o sft.save_total_limit int (Opcional)Límite de guardado de puntos de control. Valor recomendado: 10. Limita el número máximo de puntos de control guardados para la implementación.Solo tiene efecto cuando training_type es efficient_sft o sft.Array of Dataset (Obligatorio)Lista de archivos del conjunto de datos de entrenamiento.
Estructura del conjunto de datos data_source_type string (Obligatorio)Tipo de fuente de datos. Valores disponibles:
object (Condicionalmente requerido)Requerido cuando el tipo de fuente de datos es oss_mount. Información de montaje de OSS.
Propiedades region string (Requerido)La región del Bucket de OSS a montar. Admite Beijing (cn-beijing) y Singapur (ap-southeast-1).bucket string (Requerido)El nombre del Bucket de OSS a montar.file_path string (Obligatorio)La ruta del archivo OSS (clave de objeto) a montar. Para conjuntos de datos que contienen múltiples archivos, utilice la ruta hacia data.jsonl. A diferencia del método file_id, necesita subir la carpeta del conjunto de datos sin comprimir a OSS. No se admiten archivos Zip.string (Condicionalmente requerido)Requerido cuando el tipo de fuente de datos es file_id. ID de archivo, generado por la API de subida de archivos.Array of Dataset (Opcional)Lista de archivos del conjunto de datos de validación. Misma estructura que training_datasets.job_name string (Opcional)Nombre del trabajo de ajuste.model_name string (Opcional)Nombre del modelo una vez completado el ajuste. |
Parámetros de respuestarequest_idstringEl ID de esta solicitud.output objectDetalles del trabajo.
Propiedades job_id stringIdentificador único para el trabajo de ajuste fino, utilizado para consultar detalles del trabajo, registros, cancelar o eliminar el trabajo. Regla de generación: ft-{yyyyMMddHHmm}-{4 char uuid}.job_name stringNombre del trabajo de ajuste fino.status stringEstado del trabajo de ajuste fino:
stringEl nuevo ID de modelo generado tras el ajuste fino. Se devuelve cuando el estado del trabajo es SUCCEEDED.model stringEl modelo base utilizado.base_model stringEl modelo base utilizado.training_file_ids arrayCampo heredado para compatibilidad con versiones anteriores; siempre devuelve una matriz vacía para nuevos trabajos. Utilice training_datasets.training_datasets Array of DatasetLista de conjuntos de datos de entrenamiento.validation_file_ids arrayCampo heredado para compatibilidad con versiones anteriores; siempre devuelve una matriz vacía para nuevos trabajos. Utilice validation_datasets.validation_datasets Array of DatasetLista de conjuntos de datos de validación. Matriz vacía si no se especifica ningún conjunto de validación.hyper_parameters objectLos hiperparámetros reales utilizados.training_type stringEl método de entrenamiento para el ajuste fino.create_time stringHora de creación del trabajo.end_time stringHora de finalización del trabajo. Se devuelve cuando el estado del trabajo es SUCCEEDED, FAILED o CANCELED.usage integerEl número de tokens consumidos por el trabajo de ajuste fino. Para la fórmula de cálculo de facturación, consulte: Facturación. Se devuelve cuando el estado del trabajo es SUCCEEDED o CANCELED.workspace_id stringEl ID del espacio de trabajo del trabajo de ajuste.user_identity stringIdentidad del usuario, ID de cuenta de Alibaba Cloud.creator stringID de cuenta de Alibaba Cloud del creador.modifier stringID de cuenta de Alibaba Cloud del modificador.group stringGrupo de trabajos de ajuste fino.stringCódigo de error. Se devuelve cuando la llamada falla. Consulte la tabla de códigos de error a continuación.message stringDetalles del mensaje de error. Se devuelve cuando la llamada falla. |
Códigos de error
Si la llamada falla y devuelve un mensaje de error, consulte la siguiente tabla para solucionar el problema.
Código de estado HTTP | Código de error | Solución |
|---|---|---|
400 | InvalidParameter | Error de parámetro: faltan parámetros o hay problemas de formato. Corrija sus parámetros basándose en el mensaje de error. |
400 | UnsupportedOperation | No se puede operar sobre el recurso cuando se encuentra en un estado específico. Espere hasta que el recurso alcance un estado operable antes de reintentarlo. |
404 | NotFound | El recurso que se desea consultar u operar no existe. Verifique si el ID del recurso es incorrecto. |
409 | Conflict | Ya existe una instancia de implementación con el mismo nombre. Especifique un sufijo para diferenciarla. |
429 | Throttling | La creación de recursos activó un límite de la plataforma. Elimine los modelos que ya no estén en uso. |
500 | InternalError | Error interno. Registre el request_id y póngase en contacto con los ingenieros de Alibaba Cloud mediante un ticket para su investigación. |