使用 API 或命令行进行模型调优

本文档以通义千问模型的调优操作为例进行说明,通过 API (HTTP)和 命令行(Shell)两种方式,使用阿里云百炼提供的模型调优功能。模型调优包含模型微调(SFT)、继续预训练(CPT)、模型偏好训练(DPO)三种模型训练方式。

重要

本文档仅适用于中国大陆版(北京地域)。

前提条件

上传调优文件

准备调优文件

SFT 训练集

SFT ChatML(Chat Markup Language)格式训练数据,支持多轮对话和多种角色设置,一行训练数据展开后结构如下

不支持OpenAI 的nameweight参数,所有的 assistant 输出都会被训练。
{"messages": [
  {"role": "system", "content": "系统输入1"}, 
  {"role": "user", "content": "用户输入1"}, 
  {"role": "assistant", "content": "期望的模型输出1"}, 
  {"role": "user", "content": "用户输入2"}, 
  {"role": "assistant", "content": "期望的模型输出2"}
  ...
]}

system/user/assistant 区别请参见文本生成模型概述,训练数据集样例:SFT-ChatML格式示例.jsonlSFT-ChatML格式示例.xlsx(xls、xlsx 格式只支持单轮对话)。

针对深度思考的内容,需要使用<think>标签包裹,训练数据集样例:SFT- 深度思考内容示例.jsonl

思考标签前后的若干个\n必须要保留。
{"role": "assistant", "content": "<think>\n期望的模型思考内容\n</think>\n\n期望的模型输出"}  --正常输入深度思考内容
{"role": "assistant", "content": "<think>\n\n</think>\n\n期望的模型输出"}  --设置空的深度思考内容,用于告诉模型不要思考

SFT 图像理解(千问VL)训练集

SFT图像理解 ChatML 格式训练数据,一行训练数据展开后结构如下

不支持OpenAI 的nameweight参数,所有的 assistant 输出都会被训练。

system/user/assistant 区别请参见文本生成模型概述。训练数据集样例:。

{"messages":[
  {"role":"user",
    "content":[
      {"text":"用户输入1"},
      {"image":"图像文件名1"}]},
  {"role":"assistant",
    "content":[
      {"text":"模型期望输出1"}]},
  {"role":"user",
    "content":[
      {"text":"用户输入2"}]},
  {"role":"assistant",
    "content":[
      {"text":"模型期望输出2"}]},
  ...
  ...
  ...
 ]}

针对深度思考的内容,需要使用<think>标签包裹:

{"role": "assistant", "content": "<think>期望的模型思考内容</think>期望的模型输出"}

压缩包要求:

  1. 压缩包格式:ZIP。最大支持 2 GB, ZIP 包内文件夹、文件名仅支持 ASCII 字符集中的字母 (a-z, A-Z)、数字 (0-9)、下划线 (_)、连字符 (-)。

  2. 训练文本数据固定为 data.jsonl,并且位于压缩包的根目录下,应确保压缩后打开 zip 文件,直接就能看到 data.jsonl 文件。

  3. 图片单张尺寸的宽度和高度均不得超过 1024px,最大不超过10MB,支持 .bmp.jpeg /.jpg.png.tif /.tiff.webp 格式。

  4. 图片文件的名称不能重复,即使分布在不同的文件夹中。

  5. 压缩包目录结构:

    单层目录(推荐)

    图片文件与 data.jsonl 文件均位于压缩包根目录下。

    Trainingdata_vl.zip
       |--- data.jsonl #注意:外层不能再包裹文件夹
       |--- image1.png
       |--- image2.jpg
    多层目录
    1. data.jsonl 必须在压缩包根目录下。

    2. data.jsonl 内只需要声明图像文件名,不需要声明文件路径。例如:

      正确示例image1.jpg错误示例jpg_folder/image1.jpg

    3. 图像文件名应在压缩包内全局唯一。

    Trainingdata_vl.zip
        |--- data.jsonl #注意:外层不能再包裹文件夹
        |--- jpg_folder
        |   └── image1.jpg
        |--- png_folder
            └── image2.png

DPO 数据集

DPO ChatML 格式训练数据,一行训练数据展开后结构如下

system/user/assistant 区别请参见文本生成模型概述,训练数据集样例:DPO ChatML格式样例.jsonl

{"messages":[
  {"role":"system","content":"系统输入"},
  {"role":"user","content":"用户输入1"},
  {"role":"assistant","content":"模型输出1"},
  {"role":"user","content":"用户输入2"},
  {"role":"assistant","content":"模型输出2"},
  {"role":"user","content":"用户输入3"}
 ],
 "chosen":
   {"role":"assistant","content":"赞同的模型期望输出3"},
 "rejected":
   {"role":"assistant","content":"反对的模型期望输出3"}}

模型将 messages 内的所有内容均作为输入,DPO 用于训练模型对用户输入3的正负反馈。

针对深度思考的内容,需要使用<think>标签包裹:

{"role": "assistant", "content": "<think>期望的模型思考内容</think>期望的模型输出"}

CPT 训练集

CPT 纯文本格式训练数据,一行训练数据展开后结构如下

{"text":"文本内容"}

训练数据集样例:CPT-文本生成训练集示例.jsonl

也可以前往阿里云百炼控制台下载数据模板。

image

将调优文件上传至阿里云百炼

HTTP

Windows CMD 请将${DASHSCOPE_API_KEY}替换为 %DASHSCOPE_API_KEY%,PowerShell 请替换为 $env:DASHSCOPE_API_KEY
curl --request POST \
'https://dashscope.aliyuncs.com/api/v1/files' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--form 'files=@"/path/to/your/file.jsonl"' \
--form 'purpose="fine-tune"'\
--form 'descriptions="a sample fine-tune data file for qwen"'
说明

使用限制:

  • 单个文件大小最大为300MB

  • 所有有效文件(未删除)总使用空间配额为5GB

  • 所有有效文件(未删除)总数量配额为100

  • 文件存储没有时间限制

更多详细信息请参见模型微调文件管理服务

返回结果:

{
  "request_id":"xx",
  "data":{
    "uploaded_files":[{
      "file_id":"976bd01a-f30b-4414-86fd-50c54486e3ef",
      "name":"qwen-fine-tune-sample.jsonl"}],
   "failed_uploads":[]}
 }

Shell

需要安装 DashScope SDK,请参考安装SDK

一次调用只能上传一个文件
dashscope files.upload -f '{替换为训练数据集的本地文件路径}' -p fine_tune -d 'training dataset'

image

说明

SFTDPOCPT数据集支持.jsonl文件;SFT图像理解训练集支持.zip压缩包。

使用限制:

  • 单个文件大小最大为300MB。

  • 有效文件(未删除)总使用空间配额为5GB。

  • 有效文件(未删除)总数量配额为100个。

返回结果:

Upload success, file id: 976bd01a-f30b-4414-86fd-50c54486e3ef

模型调优

创建调优任务

HTTP

Windows CMD 请将${DASHSCOPE_API_KEY}替换为 %DASHSCOPE_API_KEY%,PowerShell 请替换为 $env:DASHSCOPE_API_KEY
{
    "request_id": "1acef94a-687c-4e6a-ab64-ee26214c78ef",
    "output":
    {
        "job_id": "ft-202511121659-dc7c",
        "job_name": "ft-202511121659-dc7c",
        "status": "PENDING",
        "finetuned_output": "qwen2.5-7b-instruct-ft-202511121659-dc7c",
        "model": "qwen2.5-7b-instruct",
        "base_model": "qwen2.5-7b-instruct",
        "training_file_ids":
        [
            "9e9ffdfa-c3bf-436e-9613-6f053c66aa6e"
        ],
        "validation_file_ids":
        [],
        "hyper_parameters":
        {
            "n_epochs": 1,
            "batch_size": 16,
            "learning_rate": "1.6e-5",
            "split": 0.9,
            "warmup_ratio": 0.0,
            "eval_steps": 1,
            "data_augmentation": true,
            "augmentation_ratio": "0.1,0.05,0.15",
            "augmentation_types": "dialogue_CN,general_purpose_CN,NLP",
            "save_strategy": "epoch",
            "save_total_limit": 10
        },
        "training_type": "sft",
        "create_time": "2025-11-12 16:59:23",
        "workspace_id": "llm-8v53etv3hwb8orx1",
        "user_identity": "1654290265984853",
        "modifier": "AssumedRoleUser300311773017004168",
        "creator": "AssumedRoleUser300311773017004168",
        "group": "llm",
        "max_output_cnt": 10
    }
}

输入参数

字段

必选

类型

传参方式

描述

training_file_ids

Array

Body

训练集文件列表。

validation_file_ids

Array

Body

验证集文件列表。

model

String

Body

用于调优的基础模型 ID,或其他调优任务产出的模型 ID。

hyper_parameters

Map

Body

用于调优模型的超参数,缺失该参数时系统会使用默认值进行调优。

training_type

String

Body

调优方法,可选值为:

cpt

sft

efficient_sft

dpo_full

dpo_lora

job_name

String

Body

调优任务名称

model_name

String

Body

调优产生的模型名称(并非模型 ID,模型 ID 由系统统一生成)

返回样例

{
    "request_id":"8ee17797-028c-43f6-b444-0598d6bfb0f9",
    "output":{
        "job_id":"ft-202410121111-a590",
        "job_name":"ft-202410121111-a590",
        "status":"PENDING",
        "model":"qwen-turbo",
        "base_model":"qwen-turbo",
        "training_file_ids":[
            "976bd01a-f30b-4414-86fd-50c54486e3ef"],
      "validation_file_ids":[],
      "hyper_parameters":{
          "n_epochs":1,
          "batch_size":16,
          "learning_rate":"1.6e-5",
          "split":0.9,
          "warmup_ratio":0.0,
          "eval_steps":1},
      "training_type":"sft",
      "create_time":"2024-10-12 11:55:45",
      "user_identity":"1396993924585947",
      "modifier":"1396993924585947",
      "creator":"1396993924585947",
      "group":"llm"
    }
}

Shell

dashscope fine_tunes.call -m qwen-turbo -t '<替换为训练数据集的file_id1>' '<替换为训练数据集的file_id2>' \
--mode sft -b 16 -e 1 -l 1.6e-5 \
--hyper_parameters split=0.9 warmup_ratio=0.0 eval_steps=1

image

调优指令进程将持续监控输出模型调优的日志

image

调优指令进程即使在调优结束后也不会自动关闭,可以随时终止调优指令进程,不会影响阿里云百炼平台上的模型调优任务。

可以使用查询调优任务详情 API 或前往百炼控制台查看当前任务状态并获取调优任务日志。

支持的基础模型ID(model)列表与训练类型(training_type)支持情况:

模型默认值为sft,如果调优的模型不支持sft方法,调优任务将会失败。

模型名称

模型代码

CPT全参训练

(cpt)

SFT全参训练

(sft)

SFT高效训练

(efficient_sft)

DPO全参训练

(dpo_full)

DPO高效训练

(dpo_lora)

通义千问3-32B

qwen3-32b

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-14B

qwen3-14b

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-8B

qwen3-8b

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-VL-8B-Instruct

qwen3-vl-8b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-VL-8B-Thinking

qwen3-vl-8b-thinking

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-32B-Base

qwen3-32b-base

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-14B-Base

qwen3-14b-base

hailuo_652023034_RF

hailuo_652023034_RF

通义千问3-8B-Base

qwen3-8b-base

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-72B

qwen2.5-72b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-32B

qwen2.5-32b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-14B

qwen2.5-14b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-7B

qwen2.5-7b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-VL-72B

qwen2.5-vl-72b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-VL-32B

qwen2.5-vl-32b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2.5-VL-7B

qwen2.5-vl-7b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2-开源版-72B

qwen2-72b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

通义千问2-开源版-7B

qwen2-7b-instruct

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问1.5-开源版-72B

qwen1.5-72b-chat

hailuo_652023034_RF

通义千问1.5-开源版-14B

qwen1.5-14b-chat

hailuo_652023034_RF

hailuo_652023034_RF

通义千问1.5-开源版-7B

qwen1.5-7b-chat

hailuo_652023034_RF

hailuo_652023034_RF

通义千问-Turbo-0624(通义商业版)

qwen-turbo-0624

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

hailuo_652023034_RF

通义千问-Plus-0723(通义商业版)

qwen-plus-0723

hailuo_652023034_RF

hailuo_652023034_RF

通义千问VL-Max-0201

qwen-vl-max-0201

hailuo_652023034_RF

通义千问VL-Plus

qwen-vl-plus

hailuo_652023034_RF

百川2-7B(开源)下线中

baichuan2-7b-chat-v1

hailuo_652023034_RF

Llama2-13B下线中

llama2-13b-chat-v2

hailuo_652023034_RF

Llama2-7B下线中

llama2-7b-chat-v2

hailuo_652023034_RF

ChatGLM2-6B下线中

chatglm-6b-v2

hailuo_652023034_RF

hyper_parameters支持的设置

参数名称

默认设置

推荐设置

类型

超参作用

n_epochs

(循环次数)

1

结合调优效果调整

Integer

模型遍历训练的次数,请根据模型调优实际使用经验进行调整。

模型训练循环次数越多,训练时间越长,训练费用越高。

learning_rate

(学习率)

  • sft/dpo_full/dpo_lora/cpt: 1e-5 量级

  • efficient_sft:1e-4 量级

具体数值随模型选择变化。

使用百炼推荐的默认值

Float

控制模型修正权重的强度。

  • 学习率设置得太高,模型参数会剧烈变化,导致调优后的模型表现不一定更好,甚至变差;

  • 学习率太低,调优后的模型表现不会有太大变化。

freeze_vit

(是否冻结视觉主干网络)

true

根据需求调整

Boolean

用于冻结视觉主干网络的参数,使其在训练过程中不更新权重。仅适用于 通义千问-VL(视觉理解)模型。

batch_size

(批次大小)

具体数值随模型选择变化。模型越大,默认 batch_size 越小。

使用百炼推荐的默认值

Integer

一次性送入模型进行训练的数据条数,参数过小会显著延长训练时间,推荐使用默认值。

eval_steps

(验证步数)

50

根据需求调整

Integer

训练阶段针对模型的验证间隔步长,用于阶段性评估模型训练准确率、训练损失。

该参数影响模型调优进行时的 Validation Loss 和 Validation Token Accuracy 的显示频率。

logging_steps

(日志显示步数)

5

根据需求调整

Integer

调优日志打印的步数。

lr_scheduler_type

(学习率调整策略)

cosine

推荐linear/Inverse_sqrt

String

在模型训练中动态调整学习率的策略。

各策略详情请参考在控制台进行模型调优

max_length

(序列长度)

2048

8192

Integer

指的是单条训练数据 token 支持的最大长度。如果单条数据 token 长度超过设定值,调优会直接丢弃该条数据,不进行训练。

字符与 token 之间的关系请参考Token和字符串之间怎么换算

max_split_val_dataset_sample

(验证集数据最大数量)

1000

使用百炼推荐的默认值

Integer

当不设置"validation_file_ids"时,阿里云百炼自动分割的验证集最多只有1000条。

当设置了"validation_file_ids"时,该参数无效。

split

(训练集在训练文件中占比)

0.8

使用百炼推荐的默认值

Float

当不设置"validation_file_ids"时,阿里云百炼会自动把训练文件中的80%作为训练集,20%作为验证集。

当设置了"validation_file_ids"时,该参数无效。

warmup_ratio

(学习率预热比例)

0.05

使用百炼推荐的默认值

Float

学习率预热占用总的训练过程的比例。学习率预热是指学习率在训练开始后由一个较小值线性递增至学习率设定值。

该参数主要是限制模型参数在训练初始阶段的变化幅度,从而帮助模型更稳定地进行训练。

比例过大效果与过低的学习率相同,会导致调优后的模型表现不会有太大变化。

比例过小效果与过高的学习率相同,可能导致调优后的模型表现不一定更好,甚至变差。

该参数仅对学习率调整策略“Constant”无效。

weight_decay

(权重衰减)

0.1

使用百炼推荐的默认值

Float

L2正则化强度。L2正则化能在一定程度上保持模型的通用能力。数值过大会导致模型调优效果不明显。

高效微调(支持efficient_sftdpo_lora)参数

说明

当对一个已经高效微调后的模型进行二次高效微调时,lora_ranklora_alphalora_dropout三个参数必须保持一致。

lora_rank

(LoRA秩值)

8

64

Integer

LoRA训练中的低秩矩阵的秩大小。秩越大调优效果越好,但训练会略慢。

lora_alpha

(LoRA阿尔法)

32

使用百炼推荐的默认值

Integer

用于控制原模型权重与LoRA的低秩修正项之间的结合缩放系数。

较大的Alpha值会给予LoRA修正项更多权重,使得模型更加依赖于微调任务的特定信息;

而较小的Alpha值则会让模型更倾向于保留原始预训练模型的知识。

lora_dropout

(LoRA丢弃率)

0.1

使用百炼推荐的默认值

Float

LoRA训练中的低秩矩阵值的丢弃率。

使用推荐数值能增强模型通用化能力。

数值过大会导致模型微调效果不明显。

混合训练(支持efficient_sftsft)参数

data_augmentation

(是否开启混合训练)

false

根据模型的使用场景混合

Boolean

开启后,训练数据将与百炼提供的通用数据集(多领域/多行业/多场景)混合:

- 效果:提升训练效果,避免模型能力退化。

- 计费:混合数据计入总训练Token,按标准计费。

augmentation_types

(选择预置数据的类型)

None

根据模型的使用场景混合

例:"augmentation_types": "dialogue_CN,general_purpose_CN,NLP"

需与augmentation_ratio配合使用

String

数据集 code

数据集名称

支持的模型

dialogue_CN

中文-对话

通义千问 2 系列

math_CN

中文-数学

general_coding_CN

中文-代码

general_purpose_CN

中文-通用

NLP

NLP 理解

dialogue_EN

英文-对话

math_EN

英文-数学

general_coding_EN

英文-代码

general_purpose_EN

英文-通用

mix_V2

通用-V2

通义千问 3 系列

augmentation_ratio

(设置混合倍率)

None

根据模型的使用场景混合

String

  • 格式要求:与augmentation_types一一对应

  • 示例:"0.1,0.05,0.15"(分别对应augmentation_types列出的三种数据集)

  • 含义:按训练数据量的10%/5%/15%随机抽取混合

  • 范围:0.0 ~ 2.0

模型参数快照发布(仅支持efficient_sftsft)参数

save_strategy

(快照存储策略)

epoch

可以设置为 epochsteps

  • 设置为steps时,可以通过设置save_steps参数,调整保存间隔。

String

设置调优过程中,保存模型参数快照(Checkpoint)的保存间隔和保存数量上限。

save_steps

(存储步数)

50

如果需要手动修改,建议设置为eval_steps参数的整数倍。

Integer

设置每训练多少步保存一次模型参数快照(Checkpoint)。

save_total_limit

(快照存储数量上限)

1

10

Integer

限制最多保存多少个模型参数快照(Checkpoint)用于导出。

查询调优任务详情

使用创建任务时返回的job_id来查询任务状态。

HTTP

curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

输入参数

字段

类型

传参方式

必选

描述

job_id

String

Path Parameter

要查询的调优任务的ID。

返回成功样例

{
    "request_id":"c8b1d650-498e-432b-9346-c591e34e9622",
    "output":{
        "job_id":"ft-202410121111-a590",
        "job_name":"ft-202410121111-a590",
        "status":"SUCCEEDED",
        "finetuned_output":"qwen-turbo-ft-202410121111-a590",
        "model":"qwen-turbo",
        "base_model":"qwen-turbo",
        "training_file_ids":[
            "976bd01a-f30b-4414-86fd-50c54486e3ef"],
        "validation_file_ids":[],
        "hyper_parameters":{
            "n_epochs":1,
            "batch_size":16,
            "learning_rate":"1.6e-5",
            "split":0.9,
            "warmup_ratio":0.0,
            "eval_steps":1},
        "training_type":"sft",
        "create_time":"2024-10-12 11:43:09",
        "user_identity":"1396993924585947",
        "modifier":"1396993924585947",
        "creator":"1396993924585947",
        "end_time":"2024-10-12 13:20:33",
        "group":"llm",
        "usage":3518670 #调优消耗的 Token 量
    }
}

任务状态

含义

PENDING

训练待开始。

QUEUING

训练正在排队(同时只有一个训练任务可以进行)

RUNNING

训练正在进行中。

CANCELING

训练正在取消中。

SUCCEEDED

训练成功。

FAILED

训练失败。

CANCELED

训练已经取消。

说明

训练成功后,finetuned_output指的是调优成功后的模型 ID,可用于模型部署。

Shell

dashscope fine_tunes.get -j {job_id}

输入参数

字段

类型

传参方式

必选

描述

job_id

String

Path Parameter

要查询的调优任务的ID。

返回成功样例

Fine-tune task success, fine-tuned model : qwen-turbo-ft-202410121111-a590

任务状态

含义

PENDING

训练待开始。

QUEUING

训练正在排队(同时只有一个训练任务可以进行)

RUNNING

训练正在进行中。

CANCELING

训练正在取消中。

SUCCEEDED

训练成功。

FAILED

训练失败。

CANCELED

训练已经取消。

说明

qwen-turbo-ft-202410121111-a590为调优成功后的模型 ID。

如果训练失败,请使用下述“获取调优任务日志”命令获取错误日志。

获取调优任务日志

HTTP

curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/logs?offset=0&line=1000' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json' 
可通过 offset 和 line 两个参数获取特定行数区间的日志。 Offset 用于设置日志输出开始的位置;line 用于设置日志最多输出多少行。

返回结果样例:

{
    "request_id":"1100d073-4673-47df-aed8-c35b3108e968",
    "output":{
        "total":57,
        "logs":[
            "{输出调优日志1}",
            "{输出调优日志2}",
            ...
            ...
            ...
        ]
    }
}

Shell

dashscope fine_tunes.stream -j {job_id}

如果调优未完成,指令进程将持续监控输出模型调优的日志。

如果调优已完成,将全量输出模型调优的日志。

查询与发布模型参数快照

仅 SFT微调训练(efficient_sftsft)支持保存和发布其中间状态的模型参数快照(Checkpoint)。

查询调优任务的参数快照列表

curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/checkpoints' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

输入参数

字段

类型

传参方式

必选

描述

job_id

String

Path Parameter

要查询的调优任务的ID。

返回成功样例

{
    "request_id": "c11939b5-efa6-4639-97ae-ed4597984647",
    "output":
    [
        {
            "create_time": "2025-11-11T16:25:42",
            "full_name": "ft-202511111540-0b62-checkpoint-20",
            "job_id": "ft-202511111540-0b62",
            "checkpoint": "checkpoint-20",
            "model_name": "qwen2.5-7b-instruct-ft-202511111540-0b62",
            "model_display_name": "ft-202511111540-0b62",
            "status": "SUCCEEDED"
        }
    ]
}

快照发布状态

含义

PENDING

快照(Checkpoint)待导出。

PROCESSING

快照(Checkpoint)导出中。

SUCCEEDED

快照(Checkpoint)导出成功。

FAILED

快照(Checkpoint)导出失败。

说明

checkpoint指的是 Checkpoint ID,用于在模型发布 API 中指定要导出的快照;model_name指的是模型 ID,可用于模型部署。(finetuned_output 输出的是最后一个 checkpoint 的 model_name

模型发布

说明

在百炼平台上,模型调优完成后可以导出参数快照,导出后才能基于此版本的参数快照在百炼上进行模型部署。

导出的参数快照保存在云存储中,暂不支持访问或下载。

curl --request GET 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/export/{checkpoint_id}?model_name={model_name}' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

输入参数

字段

类型

传参方式

必选

描述

job_id

String

Path Parameter

要查询的调优任务的 ID。

checkpoint_id

String

Path Parameter

要导出的 Checkpoint ID。

model_name

String

Path Parameter

导出后期望的模型 ID。

导出任务成功返回样例

{
    "request_id": "ed3faa41-6be3-4271-9b83-941b23680537",
    "output": true
}

由于导出任务是异步执行的,请使用查询快照列表 API 观察快照导出状态。

模型调优的更多操作

列举调优任务列表

curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json' 
dashscope fine_tunes.list

中止调优任务

智能终止正在训练中的调优任务
curl --request POST 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/cancel' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json' 
dashscope fine_tunes.cancel -j {job_id}

删除调优任务

无法删除正在训练中的调优任务
curl --request DELETE 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json' 
dashscope fine_tunes.delete -j {job_id}

API参考

DashScope命令行调用参考已包含在本篇内容中,详细API调用请参考API详情

模型部署&调用

模型部署

将调优任务成功后的模型 ID 作为创建模型服务的model_name参数。

更多模型部署的相关信息请参考:模型部署-快速开始

HTTP

Windows CMD 请替换为 %DASHSCOPE_API_KEY%,PowerShell 请替换为 $env:DASHSCOPE_API_KEY
curl 'https://dashscope.aliyuncs.com/api/v1/deployments' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json' \
--data '{ "model_name": "{替换为调优任务成功后的模型 ID}", "capacity":2}'

返回结果

{
    "request_id":"865d7bd0-3f8f-4937-ad40-66361e6bc617",
    "output":{
        "deployed_model":"qwen-turbo-ft-202410121142-b631",
        "gmt_create":"2024-10-12T15:59:55.494",
        "gmt_modified":"2024-10-12T15:59:55.494",
        "status":"PENDING",
        "model_name":"qwen-turbo-ft-202410121142-b631",
        "base_model":"qwen-turbo",
        "base_capacity":2,
        "capacity":2,
        "ready_capacity":0,
        "workspace_id":"llm-3z7uw7fwz0ve65pt",
        "charge_type":"post_paid",
        "creator":"1396993924585947",
        "modifier":"1396993924585947"
    }
}
说明

其中deployed_model为部署的模型实例ID。

Shell

dashscope deployments.call -c 2 -m {替换为调优任务成功后的模型 ID}

部署指令进程将持续监控输出模型部署的日志

部署指令进程即使在调优结束后也不会自动关闭,可以随时终止部署指令进程,这不会影响阿里云百炼平台上的模型部署任务。

image

红框内为部署的模型实例 ID。可以使用后续介绍的命令或前往控制台查看当前部署任务状态。

查询模型部署的状态

当部署状态为RUNNING时,表示该模型当前可供调用。

curl 'https://dashscope.aliyuncs.com/api/v1/deployments/{替换为部署任务成功后的模型实例 ID}' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY}  \
--header 'Content-Type: application/json' 
dashscope deployments.get -d {替换为部署任务成功后的模型实例 ID}

更多模型部署相关的操作,如扩缩容、下线等请参见:模型部署-API详情

模型调用

当模型部署状态为RUNNING时,可以像调用其他模型一样使用调优后的模型。

更多使用方法和参数设置请前往DashScope API 参考

curl 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY}  \
--header 'Content-Type: application/json' \
--data '{
    "model": "{替换为部署任务成功后的模型实例 ID}",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": "你是谁?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'
dashscope generation.call -m {替换为部署任务成功后的模型实例 ID} -p '你是谁?'

模型评测

阿里云百炼的模型评测功能必须使用控制台,请前往阿里云百炼的模型评测 页面,评估模型训练效果。

相关信息请参见模型评测