Skip to main content

Generación de imágenes - Crear un trabajo de ajuste

Cree un trabajo de ajuste fino para modelos de generación de imágenes. Los conjuntos de datos se pueden cargar mediante la API o montar desde OSS.

Requisitos previos

Crear un trabajo de ajuste fino

  • Singapore
POST https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes
Para Windows CMD, reemplace $DASHSCOPE_API_KEY con %DASHSCOPE_API_KEY%. Para PowerShell, reemplácelo con $env:DASHSCOPE_API_KEY

Parámetros de solicitud

Encabezados
Content-Type string (Requerido)Valor fijo: application/jsonAuthorization string (Requerido)Autenticación mediante API Key. Formato: Bearer sk-xxxx.
Cuerpo de la solicitud
model string (Obligatorio)Especifica el modelo base para el ajuste fino.
  • wan2.7-image-pro: Recomendado para ajuste fino de texto a imagen/imagen a imagen.
  • wan2.7-image
  • qwen-image-2.0: Un modelo de generación de imágenes Qwen. Admite un conjunto diferente de hiperparámetros respecto a Wan. Consulte Propiedades de hiperparámetros (qwen-image-2.0, qwen-image-2.0-pro) a continuación.
  • qwen-image-2.0-pro: Un modelo de generación de imágenes Qwen. Sus hiperparámetros son idénticos a los de qwen-image-2.0. Consulte Propiedades de hiperparámetros (qwen-image-2.0, qwen-image-2.0-pro) a continuación.
training_file_ids array[string] (Condicionalmente obligatorio)Matriz de IDs de archivos del conjunto de datos de entrenamiento. Se pueden pasar múltiples IDs. Mutuamente excluyente con training_datasets . Si se utiliza training_datasets, este parámetro no es necesario. Los IDs de archivo se obtienen a través de la API de subida de archivos.validation_file_ids array[string] (Opcional)Matriz de ID de archivos del conjunto de datos de validación. Se pueden pasar múltiples ID. Es mutuamente excluyente con validation_datasets. Si se utiliza validation_datasets, este parámetro no es necesario. Si no se proporciona ninguno, el sistema dividirá automáticamente el conjunto de entrenamiento. Los ID de archivo se obtienen a través de la API de carga de archivos.training_type string (Obligatorio)Tipo de ajuste fino. Actualmente solo admite efficient_sft (ajuste fino eficiente LoRA).hyper_parameters object (Opcional)Configuración de hiperparámetros. Para el entrenamiento inicial, se recomienda utilizar los hiperparámetros predeterminados. Si el rendimiento del modelo es deficiente o el entrenamiento no converge, intente ajustar el volumen de entrenamiento (max_steps para Wan, n_epochs para qwen-image-2.0 y qwen-image-2.0-pro) o learning_rate. Los hiperparámetros admitidos varían según el modelo base. Consulte las propiedades de hiperparámetros correspondientes a continuación.

Propiedades de hiperparámetros (wan2.7-image-pro, wan2.7-image)

max_steps int (Obligatorio)Pasos totales de entrenamiento. El parámetro principal que controla la duración del entrenamiento. Valor recomendado: 800.max_steps determina el número de iteraciones de entrenamiento, mientras que max_token_length determina el volumen de datos procesado por paso.Se recomienda utilizar al menos 500 pasos para asegurar que el modelo converja suficientemente. Puede aumentar los pasos para conjuntos de datos más grandes.
Este parámetro afecta a la facturación del entrenamiento. Por favor, configúrelo adecuadamente.
eval_steps int (Obligatorio)Intervalo de validación. Valor recomendado: 200. El valor debe ser >= 0. Especifica cuántos pasos hay entre cada evaluación de validación durante el entrenamiento, utilizado para la evaluación periódica del progreso del entrenamiento del modelo. También se guarda el archivo del modelo en el paso actual.learning_rate float (Obligatorio)Tasa de aprendizaje. Valor recomendado: 3e-5. Controla la magnitud de las actualizaciones de los pesos del modelo. Un valor demasiado alto puede degradar el modelo, mientras que uno demasiado bajo puede resultar en cambios insignificantes.generation_type string (Obligatorio)Modo de generación. Determina el formato de los datos de entrenamiento y el método de inferencia. Valores válidos:
  • t2i: Modo de texto a imagen.
  • i2i: Modo de imagen a imagen.
max_pixels string (Obligatorio)Resolución máxima de las imágenes de entrenamiento. Establece el límite superior para el recuento total de píxeles (ancho x alto) de las imágenes en el conjunto de entrenamiento. El sistema solo escala las imágenes que superan este valor; las imágenes dentro del límite permanecen sin cambios. Se recomienda mantener consistentes los tres parámetros de resolución (max_pixels, max_token_length, val_img_size).
  • 1k: es decir, 1024x1024.
  • 2k: es decir, 2048x2048.
Valor recomendado: 2k para texto a imagen, 1k para imagen a imagen.val_img_size string (Obligatorio)Resolución de generación de imágenes de validación. La resolución objetivo para las imágenes generadas durante la evaluación de validación en el proceso de entrenamiento. Los valores válidos son los mismos que max_pixels. Valor recomendado: 2k para texto a imagen, 1k para imagen a imagen.max_token_length string (Obligatorio)Longitud máxima de tokens por paso de entrenamiento, lo que afecta al cálculo por paso y a la facturación. Junto con max_steps, controla el proceso de entrenamiento: max_steps determina el número de iteraciones, mientras que max_token_length determina el volumen de datos por paso. Valores válidos:
  • 1k: Recomendado para escenarios de imagen a imagen.
  • 2k: Recomendado para escenarios de texto a imagen.
La asignación entre max_token_length y la facturación Lmax :

generation_type

max_token_length

Lmax

t2i (texto a imagen)

1k

12,800

2k

23,220

i2i (imagen a imagen)

1k

23,220

2k

32,000

gradient_clip float (Obligatorio)Recorte de gradiente. Valor recomendado: 0.5. El umbral para el recorte de la norma global del gradiente en todos los parámetros entrenables para prevenir la explosión del gradiente. Establezca en -1 para desactivar el recorte.weight_decay float (Obligatorio)Decaimiento de peso. Valor recomendado: 0.02. El coeficiente de decaimiento de peso desacoplado de AdamW, aplicado a todos los parámetros entrenables para regularización y prevenir el sobreajuste.lora_rank int (Obligatorio)El rango de las matrices de bajo rango de LoRA. Valor recomendado: 32. Este valor determina el número de parámetros de ajuste fino. Un valor mayor proporciona una capacidad de ajuste del modelo más fuerte pero una velocidad de entrenamiento más lenta. El valor debe ser una potencia de 2n (por ejemplo, 16, 32, 64).save_total_limit int (Opcional)Número máximo de puntos de control a guardar. Valor recomendado: 10. Limita el número máximo de modelos guardados. El sistema siempre conservará solo los últimos N puntos de control generados durante el entrenamiento.split float (Opcional)Proporción de división del conjunto de entrenamiento. Valor recomendado: 0.9. Rango de valores: (0, 1). Solo tiene efecto cuando no se especifica ni validation_file_ids ni validation_datasets. Este parámetro se utiliza para dividir automáticamente una parte del conjunto de entrenamiento como conjunto de validación. Por ejemplo, 0.9 significa 90% de conjunto de entrenamiento y 10% de conjunto de validación.
qwen-image-2.0 y qwen-image-2.0-pro controlan el proceso de entrenamiento mediante el número de épocas (n_epochs). No admiten max_steps, eval_steps ni max_token_length. Los dos modelos comparten los mismos hiperparámetros, excepto por la tasa de aprendizaje recomendada: 5e-5 para qwen-image-2.0 y 1e-4 para qwen-image-2.0-pro.n_epochs int (Obligatorio)Número de épocas de entrenamiento. El número de pasadas completas sobre el conjunto de entrenamiento. Valor recomendado: 10. Rango válido: [1, 10000]. Más épocas mejoran el ajuste, pero demasiadas pueden causar sobreajuste.
Este parámetro afecta a la facturación del entrenamiento. Por favor, configúrelo adecuadamente.
eval_epochs int (Obligatorio)Intervalo de validación en épocas. Valor recomendado: 10. Rango válido: [1, 1000]. Especifica cuántas épocas hay entre cada evaluación de validación durante el entrenamiento, utilizado para la evaluación periódica del progreso del entrenamiento del modelo. También se guarda el archivo del modelo en la época actual.batch_size int (Opcional)Tamaño del lote. El número de muestras utilizadas para cada actualización de parámetros. Valor recomendado: 8. Rango válido: [1, 2048]. Este parámetro no afecta la facturación ni el total de tokens de entrenamiento.learning_rate float (Obligatorio)Tasa de aprendizaje. Valor recomendado: 5e-5 para qwen-image-2.0, 1e-4 para qwen-image-2.0-pro. Controla la magnitud de las actualizaciones de los pesos del modelo. Un valor demasiado alto puede degradar el modelo, mientras que uno demasiado bajo puede resultar en cambios insignificantes.generation_type string (Obligatorio)Modo de generación. Determina el formato de los datos de entrenamiento y el método de inferencia. Valores válidos:
  • t2i: Modo de texto a imagen.
  • i2i: Modo de imagen a imagen.
Valor recomendado: i2i.max_pixels string (Obligatorio)Resolución máxima de las imágenes de entrenamiento. Un nivel de cadena que establece el límite superior para el recuento total de píxeles (ancho x alto) de las imágenes en el conjunto de entrenamiento. El sistema solo escala las imágenes que superan este valor; las imágenes dentro del límite permanecen sin cambios. Valores válidos:
  • 1k: es decir, 1024x1024.
  • 2k: es decir, 2048x2048.
Valor recomendado: 2k. Manténgalo consistente con val_img_size.
Este parámetro afecta a la facturación del entrenamiento. Por favor, configúrelo adecuadamente.
val_img_size string (Obligatorio)Resolución de generación de imágenes de validación. La resolución objetivo para las imágenes generadas durante la evaluación de validación en el proceso de entrenamiento. Los valores válidos son los mismos que max_pixels. Valor recomendado: 2k.gradient_clip float (Obligatorio)Recorte de gradiente. Valor recomendado: 0.5. Rango válido: [0, 10.0]. El umbral para el recorte de la norma global del gradiente en todos los parámetros entrenables, utilizado para prevenir la explosión de gradientes.weight_decay float (Obligatorio)Decaimiento de peso. Valor recomendado: 0.02. Rango válido: [0, 1.0]. El coeficiente de decaimiento de peso desacoplado para AdamW. Se aplica a todos los parámetros entrenables y se utiliza para regularización y prevenir el sobreajuste.lora_rank int (Obligatorio)El rango (dimensión) de las matrices de bajo rango de LoRA. Valor recomendado: 32. Rango válido: [8, 128]. Este valor determina el número de parámetros entrenables. Un valor mayor aumenta la capacidad de ajuste pero ralentiza el entrenamiento.save_total_limit int (Opcional)Límite de guardado de puntos de control. Valor recomendado: 20. Rango válido: [1, 40]. El número máximo de puntos de control del modelo a guardar. El sistema conserva solo los N puntos de control más recientes.split float (Opcional)Proporción de división del conjunto de entrenamiento. Valor recomendado: 0.9. Rango válido: [0, 1]. Solo tiene efecto cuando no se especifica validation_file_ids o validation_datasets. Divide automáticamente una parte del conjunto de entrenamiento como conjunto de validación. Por ejemplo, 0.9 significa 90% de conjunto de entrenamiento y 10% de conjunto de validación.
training_datasets Array of Dataset (Condicionalmente obligatorio)Lista de archivos del conjunto de datos de entrenamiento. Mutuamente excluyente con training_file_ids . Si se utiliza training_file_ids, este parámetro no es necesario.

Estructura del conjunto de datos

data_source_type string (Obligatorio)Tipo de fuente de datos. Valores válidos:
  • oss_mount (Montar archivos OSS)
  • file_id (Archivos subidos mediante la API de gestión de archivos)
mount_storage object (Condicionalmente requerido)Requerido cuando data_source_type 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 del archivo data.jsonl. A diferencia del enfoque file_id, necesita subir toda la carpeta del conjunto de datos sin comprimir a OSS. No se admiten archivos Zip.
file_id string (Condicionalmente requerido)Requerido cuando data_source_type es file_id . ID de archivo, generado por la API de subida de archivos.
validation_datasets Array of Dataset (Opcional)Lista de archivos del conjunto de datos de validación. La estructura es la misma que training_datasets.Mutuamente excluyente con validation_file_ids. Si no se proporciona ninguno, el sistema dividirá automáticamente el conjunto de entrenamiento.job_name string (Opcional)El nombre del trabajo de ajuste.model_name string (Opcional)El nombre del modelo una vez completado el ajuste.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.7-image-pro",
    "training_file_ids": [
        "<Replace with the training dataset file ID>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 3e-5,
        "max_steps": 800,
        "eval_steps": 200,
        "max_token_length": "2k",
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "2k",
        "val_img_size": "2k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 10
    }
}'

Parámetros de respuesta

request_id stringEl identificador único de la solicitud.output objectDetalles del trabajo.

Propiedades

job_id stringEl identificador único del trabajo de ajuste fino, utilizado para consultar detalles del trabajo, registros, cancelar o eliminar el trabajo. Regla de generación: ft-{yyyyMMddHHmm}-{4-digit uuid}.job_name stringEl nombre del trabajo de ajuste fino.status stringEl estado del trabajo de ajuste fino:
  • PENDING: El entrenamiento está pendiente.
  • QUEUING: El entrenamiento está en cola (solo se puede ejecutar un trabajo de ajuste fino a la vez).
  • RUNNING: El entrenamiento está en curso.
  • SUCCEEDED: Entrenamiento exitoso.
  • FAILED: El entrenamiento falló.
  • CANCELED: El entrenamiento ha sido cancelado.
  • CANCELING: El entrenamiento se está cancelando.
finetuned_output stringEl ID del nuevo modelo producido tras el ajuste fino, utilizado para su despliegue e invocación. Se devuelve cuando el estado del trabajo es SUCCEEDED.model stringEl modelo base utilizado.base_model stringEl modelo base utilizado.training_file_ids arrayUn campo heredado para compatibilidad con versiones anteriores. Los nuevos trabajos siempre devuelven una matriz vacía. Utilice training_datasets.training_datasets Array of DatasetLa lista de conjuntos de datos de entrenamiento.validation_file_ids arrayUn campo heredado para compatibilidad con versiones anteriores. Los nuevos trabajos siempre devuelven una matriz vacía. Utilice validation_datasets.validation_datasets Array of DatasetLa lista de conjuntos de datos de validación. Devuelve una matriz vacía si no se especifica ningún conjunto de validación.hyper_parameters objectLos hiperparámetros utilizados realmente.training_type stringEl método de entrenamiento para el ajuste fino del modelo.create_time stringLa hora de creación de la tarea.end_time stringLa hora 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. Se devuelve cuando el estado del trabajo es SUCCEEDED o CANCELED.workspace_id stringEl ID del espacio de trabajo asociado con la API Key de Alibaba Cloud Model Studio. Consulte Obtener el ID del espacio de trabajo.user_identity stringIdentidad del usuario, ID de cuenta de Alibaba Cloud.creator stringEl ID de cuenta de Alibaba Cloud del creador.modifier stringEl ID de cuenta de Alibaba Cloud del modificador.group stringEl grupo del trabajo de ajuste fino.max_output_cnt integerEl número máximo de puntos de control guardados durante el entrenamiento. Equivale al valor del hiperparámetro save_total_limit.
code stringCódigo de error. Se devuelve cuando la llamada falla. Consulte la tabla de códigos de error a continuación.message stringDescripción detallada del error. Se devuelve cuando la llamada falla.
  • Ejemplo de respuesta exitosa
  • Ejemplo de respuesta de error
Campos clave: output.job_id (ID del trabajo), output.finetuned_output (El nombre del nuevo modelo producido tras el ajuste fino).
{
    "request_id": "0eb05b0c-02ba-414a-9d0c-xxxxxxxxx",
    "output": {
        "job_id": "ft-202606030110-xxxx",
        "job_name": "ft-202606030110-xxxx",
        "status": "PENDING",
        "finetuned_output": "wan2.7-image-pro-ft-202606030110-xxxx",
        "model": "wan2.7-image-pro",
        "base_model": "wan2.7-image-pro",
        "training_file_ids": [],
        "training_datasets": [
            {
                "data_source_type": "file_id",
                "file_id": "xxxxxxxxxxxx"
            }
        ],
        "validation_file_ids": [],
        "validation_datasets": [],
        "hyper_parameters": {
            "max_steps": 800,
            "learning_rate": 3.0E-5,
            "eval_steps": 200,
            "max_token_length": "2k",
            "max_pixels": "2k",
            "val_img_size": "2k",
            "generation_type": "t2i",
            "lora_rank": 32
        },
        "training_type": "efficient_sft",
        "create_time": "2026-06-03 01:10:47"
    }
}

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, parámetro faltante o problema de formato de parámetro. 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 realizar la operación.

404

NotFound

El recurso que se desea consultar u operar no existe. Verifique si el ID del recurso es incorrecto.

409

Conflicto

Ya existe una instancia de implementación con el mismo nombre. Especifique un sufijo para diferenciarla.

429

Limitación

La creación de recursos ha activado 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 solucionar el problema.

Siguiente paso

El ajuste es una operación asíncrona. Después de llamar a esta API, puede utilizar la API Consultar y gestionar trabajos de ajuste para verificar el estado del trabajo.