Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Generación de texto - Crear un trabajo de ajuste

Última actualización: Oct 12, 2026

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 Singapore, 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-tunes

Para Windows CMD, reemplace $DASHSCOPE_API_KEY con %DASHSCOPE_API_KEY%. Para PowerShell, reemplace con $env:DASHSCOPE_API_KEY

Parámetros de solicitud

Encabezados

Content-Type string (Requerido)

Valor fijo: application/json

Authorization string (Requerido)

Autenticación mediante API Key, con el formato Bearer sk-xxxx.

Cuerpo de la solicitud

model string (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:

  • sft
  • efficient_sft

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

  • Volumen de datos < 10,000: se recomiendan 3-5 épocas.
  • Volumen de datos > 10,000: se recomiendan 1-2 épocas.

ImportanteEste parámetro afecta la facturación del entrenamiento. Más épocas implican mayor tiempo de entrenamiento y costos más altos.

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

  • Si es demasiado alta, los parámetros del modelo cambian drásticamente, lo que podría degradar el rendimiento.
  • Si es demasiado baja, el rendimiento del modelo no cambiará significativamente.

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

  • Si es demasiado grande: tiene el mismo efecto que una tasa de aprendizaje demasiado baja, lo que resulta en un cambio mínimo en el rendimiento del modelo tras el ajuste.
  • Si es demasiado pequeño: tiene el mismo efecto que una tasa de aprendizaje demasiado alta, lo que podría causar un peor rendimiento del modelo tras el ajuste.

Este parámetro no es aplicable al programador de tasa de aprendizaje Constant.

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 cuando freeze_vit se establece en true, el modelo puede facturarse por uso de tokens.

lora_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_rank, lora_alpha y lora_dropout deben permanecer consistentes.

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.

  • Un valor alfa mayor otorga más peso a la corrección LoRA, haciendo que el modelo dependa más de la información específica de la tarea.
  • Un valor alfa más pequeño hace que el modelo sea más propenso a conservar el conocimiento preentrenado original.

Solo tiene efecto cuando 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.

training_datasets 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:

  • oss_mount (Montar archivo OSS)
  • file_id (Archivo subido mediante la API de gestión de archivos)

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

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

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

curl --location --request POST "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model":"qwen3-14b",
    "training_datasets":[
        {
            "data_source_type":"file_id",
            "file_id":"<Replace with the file ID of your training dataset>"
        }
    ],
    "validation_datasets":[
        {
            "data_source_type":"file_id",
            "file_id":"<Replace with the file ID of your validation dataset>"
        }
    ],
    "hyper_parameters":{
        "n_epochs":1,
        "learning_rate":"1.6e-5",
        "batch_size":32,
        "max_length":8192,
        "split":0.8
    },
    "training_type":"sft",
    "finetuned_output_suffix":"suffix"
}'
curl --location --request POST "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model":"qwen3-14b",
    "training_datasets":[
        {
            "data_source_type":"oss_mount",
            "mount_storage":{
                "region":"ap-southeast-1",
                "bucket":"example_bucket",
                "file_path":"dataset/data.jsonl"
            }
        }
    ],
    "validation_datasets":[
        {
            "data_source_type":"oss_mount",
            "mount_storage":{
                "region":"ap-southeast-1",
                "bucket":"example_bucket",
                "file_path":"dataset/val.jsonl"
            }
        }
    ],
    "hyper_parameters":{
        "n_epochs":1,
        "learning_rate":"1.6e-5",
        "batch_size":32,
        "max_length":8192,
        "split":0.8
    },
    "training_type":"sft",
    "finetuned_output_suffix":"suffix"
}'
export DASHSCOPE_API_KEY="your-api-key"
# Replace {WorkspaceId} with your workspace ID, ap-southeast-1 with your region (e.g., us-east-1, eu-central-1)
export DASHSCOPE_HTTP_BASE_URL="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
# List fine-tuning jobs
dashscope ft list

# Create a fine-tuning job
dashscope ft create -t <file-id> -m qwen3-4b-instruct-2507 -e 1 -b 8

ImportanteEl asistente interactivo SDK Expert puede realizar las mismas tareas de desarrollo y solución de problemas mediante lenguaje natural; consulte

DashScope SDK Expert.

Parámetros de respuesta

request_id string

El ID de esta solicitud.

output object

Detalles del trabajo.

Propiedades

job_id string

Identificador ú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 string

Nombre del trabajo de ajuste fino.

status string

Estado del trabajo de ajuste fino:

  • PENDING: Entrenamiento pendiente.
  • QUEUING: El entrenamiento está en cola (solo se puede ejecutar un trabajo de ajuste fino a la vez).
  • RUNNING: Entrenamiento en curso.
  • SUCCEEDED: Entrenamiento exitoso.
  • FAILED: El entrenamiento falló.
  • CANCELED: Entrenamiento cancelado.
  • CANCELING: El entrenamiento se está cancelando.

finetuned_output string

El nuevo ID de modelo generado tras el ajuste fino. Se devuelve cuando el estado del trabajo es SUCCEEDED.

model string

El modelo base utilizado.

base_model string

El modelo base utilizado.

training_file_ids array

Campo heredado para compatibilidad con versiones anteriores; siempre devuelve una matriz vacía para nuevos trabajos. Utilice training_datasets.

training_datasets Array of Dataset

Lista de conjuntos de datos de entrenamiento.

validation_file_ids array

Campo heredado para compatibilidad con versiones anteriores; siempre devuelve una matriz vacía para nuevos trabajos. Utilice validation_datasets.

validation_datasets Array of Dataset

Lista de conjuntos de datos de validación. Matriz vacía si no se especifica ningún conjunto de validación.

hyper_parameters object

Los hiperparámetros reales utilizados.

training_type string

El método de entrenamiento para el ajuste fino.

create_time string

Hora de creación del trabajo.

end_time string

Hora de finalización del trabajo. Se devuelve cuando el estado del trabajo es SUCCEEDED, FAILED o CANCELED.

usage integer

El 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 string

El ID del espacio de trabajo del trabajo de ajuste.

user_identity string

Identidad del usuario, ID de cuenta de Alibaba Cloud.

creator string

ID de cuenta de Alibaba Cloud del creador.

modifier string

ID de cuenta de Alibaba Cloud del modificador.

group string

Grupo de trabajos de ajuste fino.

code string

Código de error. Se devuelve cuando la llamada falla. Consulte la tabla de códigos de error a continuación.

message string

Detalles del mensaje de error. Se devuelve cuando la llamada falla.

{
    "request_id": "9654e55a-d74b-4113-aee1-fa19c9384fcc",
    "output": {
        "job_id": "ft-202410291653-1c7f",
        "job_name": "ft-202410291653-1c7f",
        "status": "PENDING",
        "model": "qwen3-14b",
        "base_model": "qwen3-14b",
        "training_file_ids": [],
        "training_datasets": [
            {
                "data_source_type": "file_id",
                "file_id": "976bd01a-f30b-4414-86fd-50c54486e3ef"
            }
        ],
        "validation_file_ids": [],
        "validation_datasets": [],
        "hyper_parameters": {
            "n_epochs": 3,
            "batch_size": 32,
            "max_length": 8192,
            "learning_rate": "1.6e-5",
            "lr_scheduler_type": "linear",
            "split": 0.9
        },
        "training_type": "sft",
        "create_time": "2024-10-29 16:53:53",
        "workspace_id":"llm-v71tlv***",
        "user_identity": "1396993924585947",
        "modifier": "1396993924585947",
        "creator": "1396993924585947",
        "group": "llm"
    }
}
{
    "code": "InvalidParameter",
    "request_id": "BE213CDD-8A5C-59EE-9A67-055EAB0CB59B",
    "message": "Missing training files"
}

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

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

Siguiente paso

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