通过量化等方式压缩模型,降低推理成本。
概述
模型压缩 API 通过量化(quantization)等技术压缩自定义全参调优模型,降低推理显存占用、提升吞吐。当前压缩功能仅支持量化,覆盖从查询模板、创建任务、轮询状态、获取日志到取消/删除任务的完整生命周期。
典型流程:
- 列举可量化模型及配置模板 → 获取
template_id与可量化的model - 创建压缩任务 → 拿到
job_id - 轮询 查询压缩任务 / 获取压缩任务日志 → 直到
SUCCEEDED/FAILED/CANCELED SUCCEEDED后用quantized_output创建部署;不再需要时 取消压缩任务 / 删除压缩任务
https://dashscope.aliyuncs.com。鉴权统一使用 Authorization: Bearer ${YOUR_API_KEY},POST 请求需附带 Content-Type: application/json。
任务对象字段含义与状态机见 压缩任务对象;错误码统一见文末错误码。
快速开始
当前模型压缩 API 仅在北京 Region 开放。如您使用其他 Region,请通过该 Region 的百炼控制台完成模型压缩操作。模型压缩 API 提供从查询模板、创建任务、轮询状态、获取日志到取消/删除任务的完整 RESTful 接口。本文档面向开发者通过 OpenAPI 或 SDK 集成压缩能力。控制台介绍见相关文档。
前提条件
在调用本文档接口前,请先完成:
- 已开通阿里云百炼服务并完成实名认证。
- 当前工作空间至少有一个基于
qwen3.5-flash-2026-02-23的自定义全参调优模型(通过调优任务接口完成 )。当前压缩功能仅支持该模型,LoRA 模型和已量化的模型不支持。 - 已获取 API Key(参考 获取 API Key)。
压缩产出的模型支持的部署单元规格由所选量化模板决定,部署数量在百炼控制台「模型部署」中配置。当前压缩功能限时免费。
接口列表
所有接口域名:https://dashscope.aliyuncs.com
# | 方法 | 路径 | 说明 |
|---|---|---|---|
1 | GET |
| 列举可量化模型及配置模板 |
2 | POST |
| 创建压缩任务 |
3 | GET |
| 列举压缩任务 |
4 | GET |
| 查询压缩任务详情 |
5 | GET |
| 获取压缩任务日志 |
6 | POST |
| 取消压缩任务 |
7 | DELETE |
| 删除压缩任务 |
鉴权
所有接口通过 HTTP Header 携带 API Key:
Content-Type: application/json 适用于 POST 请求体场景。
5 分钟上手
- HTTP
base_model 为 qwen3.5-flash-2026-02-23,suffix 为 test,job_id 为 quant-202604111200-a1b2,产出模型 ID 为:
压缩任务对象
当前模型压缩 API 仅在北京 Region 开放。如您使用其他 Region,请通过该 Region 的百炼控制台完成模型压缩操作。
对象属性
响应参数
字段 | 类型 | 说明 |
|---|---|---|
job_id | String | 任务 ID |
job_name | String | 任务名称 |
job_description | String | 任务描述 |
status | String | 任务状态(详见任务状态) |
model | String | 源模型 ID |
base_model | String | 基础模型 ID |
template_id | String | 使用的压缩模板 ID |
template_name | String | 模板名称 |
template_description | String | 模板描述 |
training_type | String | 任务类型,固定为 |
compress_type | String | 压缩类型,同 |
hyper_parameters | Object | 实际生效的超参(仅返回用户可见参数) |
custom_calibration_file_ids | Array<String> | 自定义校准数据集文件 ID 列表 |
quantized_output | String | 量化后产出的模型 ID(仅 SUCCEEDED 时有值) |
create_time | String | 任务创建时间 |
start_time | String | 任务开始执行时间(PENDING/QUEUING 时为 null) |
end_time | String | 任务完成时间(终态时有值) |
error | Object | 失败时的错误信息,含 |
group | String | 任务分组,固定为 |
usage | Integer | GPU 时长(秒),SUCCEEDED 或 CANCELED 时出现 |
任务状态
状态 | 说明 |
|---|---|
| 任务已创建,等待调度 |
| 已进入调度队列,等待 GPU 资源 |
| 任务执行中 |
| 已发起取消,等待终止 |
| 任务成功, |
| 任务失败, |
| 任务已取消 |
列举可量化模型及配置模板
列出当前用户所有可量化的自定义调优模型,及每个模型对应的压缩模板。模板绑定在模型上,不同模型架构 × 精度 × 目标 MU 规格的组合对应不同模板。
仅返回当前用户基于基础模型做 SFT/DPO/CPT 全参调优的自定义模型。LoRA 调优模型和已量化模型不会出现在结果中。地址
参数 | 类型 | 必选 | 默认 | 说明 |
|---|---|---|---|---|
model | String | 否 | - | 按模型 ID 过滤;传基础模型名时返回基于该基础模型的所有自定义模型 |
lang | String | 否 | zh-CN | 响应语言: |
响应示例(完整:含可调超参)
响应示例(完整:含可调超参)
字段 | 类型 | 说明 |
|---|---|---|
base_models | Array<String> | 支持压缩的基础模型名称列表 |
custom_models[].model | String | 模型 ID |
custom_models[].model_name | String | 模型展示名称 |
custom_models[].base_model | String | 基础模型名称 |
custom_models[].templates | Array | 该模型支持的压缩配置模板列表,继承其基础模型的模板 |
templates[].template_id | String | 模板 ID,创建压缩任务时作为 template_id 参数传入 |
templates[].template_name | String | 模板名称(支持多语言,根据 |
templates[].description | String | 模板描述(支持多语言,根据 |
templates[].compress_type | String | 压缩类型,固定为 |
templates[].hyper_parameters | Array | 可调超参数;空数组表示无可调超参 |
hyper_parameters[].name | String | 参数名(创建任务时作为 Key 使用) |
hyper_parameters[].type | String | 类型: |
hyper_parameters[].display_name | String | 参数展示名称(支持多语言,根据 |
hyper_parameters[].description | String | 参数描述(支持多语言,根据 |
hyper_parameters[].defaultValue | String | 默认值 |
hyper_parameters[].recommend_value | String | 推荐值 |
hyper_parameters[].required | Boolean | 是否必传 |
hyper_parameters[].support_values | Array<String> | 枚举值列表(仅 |
hyper_parameters[].data_range | Array<String> | 数值范围(仅 |
hyper_parameters[].step | Integer | 步长(仅 |
创建压缩任务
地址
参数 | 类型 | 必选 | 默认 | 说明 |
|---|---|---|---|---|
model | String | 是 | - | 源模型 ID,可通过接口获取 |
template_id | String | 是 | - | 压缩模板 ID,可通过接口获取 |
job_name | String | 否 | 自动生成 | 任务名称,同一用户下不允许重复;最多 50 字符 |
job_description | String | 否 | - | 任务描述;最多 200 字符 |
hyper_parameters | Object | 否 | 模板默认值 | 超参覆盖(Key-Value),只传想覆盖的项 |
custom_calibration_file_ids | Array<String> | 否 | - | 自定义校准数据集文件 ID 列表(数据集组 ID,格式 |
output_model_suffix | String | 否 | - | 量化产出模型名后缀;最多 8 字符,仅小写字母和数字。输出模型名格式: |
列举压缩任务
支持按状态、模型、模板、量化规格、算法、时间范围、任务名/ID 等过滤,支持创建时间排序和分页。
地址
参数 | 类型 | 必选 | 默认 | 说明 |
|---|---|---|---|---|
status | String | 否 | - | 按状态过滤(如 RUNNING、SUCCEEDED) |
model | String | 否 | - | 按源模型 ID 过滤 |
template_id | String | 否 | - | 按模板 ID 过滤 |
quant_spec | String | 否 | - | 按量化规格过滤(如 |
quant_method | String | 否 | - | 按量化算法过滤(如 |
start_time | String | 否 | - | 任务开始时间不早于该值。格式: |
end_time | String | 否 | - | 任务结束时间不晚于该值,格式同 |
job_name | String | 否 | - | 按任务名称模糊匹配 |
job_id | String | 否 | - | 按任务 ID 模糊匹配 |
search_key | String | 否 | - | 搜索关键字。不传 |
select_key | String | 否 | - |
|
sort_by | String | 否 | create_time | 排序字段,目前仅支持 |
sort_order | String | 否 | desc | 排序方向, |
page_no | Integer | 否 | 1 | 页码 |
page_size | Integer | 否 | 10 | 每页数量,最大 100 |
字段 | 类型 | 说明 |
|---|---|---|
total | Integer | 符合条件的任务总数 |
page_no | Integer | 当前页码 |
page_size | Integer | 每页数量 |
jobs | Array | 任务列表,字段含义同创建压缩任务响应参数 |
查询压缩任务
地址
字段 | 类型 | 说明 |
|---|---|---|
job_id | String | 任务 ID,可通过创建压缩任务或列举压缩任务接口获取 |
job_name | String | 任务名称 |
job_description | String | 任务描述 |
status | String | 任务状态(详见任务状态) |
model | String | 源模型 ID |
base_model | String | 基础模型 ID |
template_id | String | 使用的压缩模板 ID |
template_name | String | 模板名称 |
template_description | String | 模板描述 |
training_type | String | 任务类型,固定为 |
compress_type | String | 压缩类型,同 |
hyper_parameters | Object | 实际生效的超参(仅返回用户可见参数) |
custom_calibration_file_ids | Array<String> | 自定义校准数据集文件 ID 列表 |
quantized_output | String | 量化后产出的模型 ID(仅 SUCCEEDED 时有值),可用于部署模型接口进行模型部署 |
create_time | String | 任务创建时间 |
start_time | String | 任务开始执行时间(PENDING/QUEUING 时为 null) |
end_time | String | 任务完成时间(终态时有值) |
error | Object | 失败时的错误信息,含 |
group | String | 任务分组,固定为 |
usage | Integer | GPU 时长(秒),SUCCEEDED 或 CANCELED 时出现 |
获取压缩任务日志
地址
{job_id} 为压缩任务 ID,可通过创建压缩任务或列举压缩任务接口获取。
请求参数
参数 | 类型 | 必选 | 默认 | 说明 |
|---|---|---|---|---|
offset | Integer | 否 | 0 | 忽略前 N 行,从第 N+1 行开始读取 |
line | Integer | 否 | 100 | 读取行数,上限 1000 |
- 任务传入自定义校准数据集时,日志中包含数据处理完成标记
data process succeeded, start to quantization - 日志接口已过滤系统内部标记,仅返回用户可读的压缩进度信息
取消压缩任务
仅允许取消 PENDING、QUEUING 或 RUNNING 状态的任务。取消为异步操作,任务会先进入 CANCELING 过渡态,最终转为 CANCELED。
地址
{job_id} 为压缩任务 ID,可通过创建压缩任务或列举压缩任务接口获取。
请求示例
删除压缩任务
仅允许删除终态(SUCCEEDED / FAILED / CANCELED)的任务。删除任务记录不会删除已产出的量化模型(quantized_output)。
地址
{job_id} 为压缩任务 ID,可通过创建压缩任务或列举压缩任务接口获取。
请求示例
错误码
通用错误码
错误码 | HTTP | 说明 |
|---|---|---|
| 400 | 请求参数不合法 |
| 400 | 缺少必选参数 |
| 401 | 认证失败 |
| 403 | 无权限访问 |
| 404 | 资源不存在 |
| 400 | 资源状态不允许该操作(如取消已终态任务) |
| 429 | 配额超限 |
| 500 | 服务内部错误 |
业务错误码
以下业务错误码按场景分类列出。对外 Code 为接口实际返回的 code 字段值。
参数校验类
对外 Code | HTTP | 说明 |
|---|---|---|
| 400 | 缺少必选参数 |
| 400 | 缺少必选参数 |
| 400 | 不支持对基础模型直接量化 |
| 400 | 指定的配置模板不存在 |
| 400 | 当前模型不支持该压缩模板 |
| 400 | 模型不支持量化 |
| 400 | LoRA 调优模型不支持量化 |
| 400 | 模型数据不可用 |
| 400 | 任务名称包含不支持的字符 |
| 400 |
|
| 400 | 源模型尚未就绪 |
| 403 | 无权使用该压缩模板 |
对外 Code | HTTP | 说明 |
|---|---|---|
| 400 | 必选超参数未传 |
| 400 | 传入了未知超参数 |
| 400 | 超参数值不在枚举值列表中 |
| 400 | 超参数值超出数值范围 |
| 400 | 超参数值不是合法数字 |
对外 Code | HTTP | 说明 |
|---|---|---|
| 404 | 指定的压缩任务不存在 |
| 400 | 缺少必选参数 |
对外 Code | HTTP | 说明 |
|---|---|---|
| 400 | 页码参数不合法(须 ≥ 1) |
| 400 | 每页数量不合法(须 1~100) |
| 400 | 时间格式不合法 |