Skip to main content
文本產生

模型壓縮

通過量化等方式壓縮模型,降低推理成本。

概述

模型壓縮 API 通過量化(quantization)等技術壓縮自訂全參調優模型,降低推理顯存佔用、提升吞吐。當前壓縮功能僅支援量化,覆蓋從查詢範本、建立任務、輪詢狀態、擷取日誌到取消/刪除任務的完整生命週期。 典型流程
  • 列舉可量化模型及配置模板 → 擷取 template_id 與可量化的 model
  • 建立壓縮任務 → 拿到 job_id
  • 輪詢 查詢壓縮任務 / 擷取壓縮任務日誌 → 直到 SUCCEEDED / FAILED / CANCELED
  • SUCCEEDED 後用 quantized_output 建立部署;不再需要時 取消壓縮任務 / 刪除壓縮任務
所有介面網域名稱:https://dashscope-intl.aliyuncs.com。鑒權統一使用 Authorization: Bearer ${YOUR_API_KEY},POST 請求需附帶 Content-Type: application/json 任務對象欄位含義與狀態機器見 壓縮任務對象;錯誤碼統一見文末錯誤碼

快速開始

當前模型壓縮 API 僅在新加坡 Region 開放。如您使用其他 Region,請通過該 Region 的百鍊控制台完成模型壓縮操作。
模型壓縮 API 提供從查詢範本、建立任務、輪詢狀態、擷取日誌到取消/刪除任務的完整 RESTful 介面。本文檔面向開發人員通過 OpenAPI 或 SDK 整合壓縮能力。控制台介紹見相關文檔。

前提條件

在調用本文檔介面前,請先完成:
  1. 已開通阿里雲百鍊服務並完成實名認證。
  2. 當前工作空間至少有一個基於 qwen3.5-flash-2026-02-23自訂全參調優模型(通過調優任務介面完成 )。當前壓縮功能僅支援該模型,LoRA 模型和已量化的模型不支援。
  3. 已擷取 API Key(參考 擷取 API Key)。
壓縮產出的模型支援的部署單元規格由所選量化模板決定,部署數量在百鍊控制台「模型部署」中配置。當前壓縮功能限時免費。

介面列表

所有介面網域名稱:https://dashscope-intl.aliyuncs.com

#

方法

路徑

說明

1

GET

/api/v1/fine-tunes/compress/templates

列舉可量化模型及配置模板

2

POST

/api/v1/fine-tunes/compress/jobs

建立壓縮任務

3

GET

/api/v1/fine-tunes/compress/jobs

列舉壓縮任務

4

GET

/api/v1/fine-tunes/compress/jobs/{job_id}

查詢壓縮任務詳情

5

GET

/api/v1/fine-tunes/compress/jobs/{job_id}/logs

擷取壓縮任務日誌

6

POST

/api/v1/fine-tunes/compress/jobs/{job_id}/cancel

取消壓縮任務

7

DELETE

/api/v1/fine-tunes/compress/jobs/{job_id}

刪除壓縮任務

鑒權

所有介面通過 HTTP Header 攜帶 API Key:
Authorization: Bearer ${YOUR_API_KEY}
Content-Type: application/json 適用於 POST 請求體情境。

5 分鐘上手

  • HTTP
安裝請求庫:
pip install requests
建立任務 → 輪詢 → 拿到產出模型的完整樣本:
import requests, time

API_KEY = "YOUR_API_KEY"
BASE = "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# 1. 建立壓縮任務
resp = requests.post(f"{BASE}/jobs", headers=HEADERS, json={
    "model": "qwen3.5-flash-2026-02-23-ft-***",  # 自訂調優模型 ID
    "template_id": "quant-flash-nvfp4-mlp-nomtp",          # 通過 GET /templates 擷取
    "output_model_suffix": "test",                          # 最多 8 字元,僅小寫字母和數字
}).json()
job_id = resp["output"]["job_id"]
print("Job:", job_id)

# 2. 輪詢直到終態
status = resp["output"]["status"]
while status not in ("SUCCEEDED", "FAILED", "CANCELED"):
    time.sleep(30)
    resp = requests.get(f"{BASE}/jobs/{job_id}", headers=HEADERS).json()
    status = resp["output"]["status"]
    print("Status:", status)

# 3. 處理結果
if status == "SUCCEEDED":
    print("Quantized model:", resp["output"]["quantized_output"])
    # 用 quantized_output 調模型部署介面部署
elif status == "FAILED":
    print("Error:", resp["output"]["error"])
列舉任務與擷取日誌:
# 列舉所有壓縮成功的任務
resp = requests.get(f"{BASE}/jobs", headers=HEADERS, params={"status": "SUCCEEDED", "page_size": 20}).json()
for j in resp["output"]["jobs"]:
    print(j["job_id"], j["template_name"], j["quantized_output"])

# 擷取任務日誌
resp = requests.get(f"{BASE}/jobs/{job_id}/logs", headers=HEADERS, params={"offset": 0, "line": 100}).json()
for line in resp["output"]["logs"]:
    print(line)
產出模型的命名規則
quantized_output = {base_model}-{output_model_suffix}-{job_id}
例如 base_modelqwen3.5-flash-2026-02-23suffixtestjob_idquant-202604111200-a1b2,產出模型 ID 為:
qwen3.5-flash-2026-02-23-test-quant-202604111200-a1b2
各介面的 cURL 寫法見各介面詳情頁。

壓縮任務對象

當前模型壓縮 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

任務類型,固定為 quantization

compress_type

String

壓縮類型,同 training_type,固定為 quantization

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

失敗時的錯誤資訊,含 codemessage;成功時為 null

group

String

任務分組,固定為 quantization

usage

Integer

GPU 時間長度(秒),SUCCEEDED 或 CANCELED 時出現

任務狀態

狀態

說明

PENDING

任務已建立,等待調度

QUEUING

已進入調度隊列,等待 GPU 資源

RUNNING

任務執行中

CANCELING

已發起取消,等待終止

SUCCEEDED

任務成功,quantized_output 欄位返回產出模型 ID

FAILED

任務失敗,error.code / error.message 欄位返回原因

CANCELED

任務已取消

狀態流轉
PENDING ─→ QUEUING ─→ RUNNING ─→ SUCCEEDED
                  │           │
                  ↓           ↓
                CANCELING ─→ FAILED / CANCELED

列舉可量化模型及配置模板

列出目前使用者所有可量化的自訂調優模型,及每個模型對應的壓縮模板。模板綁定在模型上,不同模型架構 × 精度 × 目標 MU 規格的組合對應不同模板。
僅返回目前使用者基於基本模型做 SFT/DPO/CPT 全參調優的自訂模型。LoRA 調優模型和已量化模型不會出現在結果中。
地址
GET /api/v1/fine-tunes/compress/templates
請求參數

參數

類型

必選

預設

說明

model

String

-

按模型 ID 過濾;傳基本模型名時返回基於該基本模型的所有自訂模型

lang

String

zh-CN

響應語言:zh-CN / en-US(詳見多語言支援)

請求樣本
curl "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/templates" \
  -H "Authorization: Bearer ${API_KEY}"
響應樣本(最小)
{
  "request_id": "uuid-string",
  "output": {
    "base_models": ["qwen3.5-flash-2026-02-23"],
    "custom_models": [
      {
        "model": "qwen3.5-flash-2026-02-23-ft-***",
        "model_name": "我的SFT調優模型",
        "base_model": "qwen3.5-flash-2026-02-23",
        "templates": [
          {
            "template_id": "quant-flash-nvfp4-mlp-nomtp",
            "template_name": "W4A4 NVFP4高效能壓縮-MU5/MU8/MU9",
            "description": "在更低位元壓縮下兼顧高精度與高效能,進一步降低顯存佔用並提升推理吞吐。",
            "compress_type": "quantization",
            "hyper_parameters": []
          }
        ]
      }
    ]
  }
}
{
  "request_id": "uuid-string",
  "output": {
    "base_models": ["qwen3.5-flash-2026-02-23"],
    "custom_models": [
      {
        "model": "qwen3.5-flash-2026-02-23-ft-***",
        "model_name": "我的SFT調優模型",
        "base_model": "qwen3.5-flash-2026-02-23",
        "templates": [
          {
            "template_id": "quant-flash-nvfp4-mlp-nomtp",
            "template_name": "W4A4 NVFP4高效能壓縮-MU5/MU8/MU9",
            "description": "在更低位元壓縮下兼顧高精度與高效能,進一步降低顯存佔用並提升推理吞吐。",
            "compress_type": "quantization",
            "hyper_parameters": [
              {
                "name": "calib_input",
                "type": "string",
                "display_name": "校準輸入",
                "description": "是否啟用校準輸入",
                "support_values": ["true"],
                "defaultValue": "true",
                "recommend_value": "true",
                "required": false
              }
            ]
          }
        ]
      }
    ]
  }
}
響應參數

欄位

類型

說明

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

模板名稱(支援多語言,根據 lang 參數返回對應語言版本)

templates[].description

String

模板描述(支援多語言,根據 lang 參數返回對應語言版本)

templates[].compress_type

String

壓縮類型,固定為 quantization

templates[].hyper_parameters

Array

可調超參數;空數組表示無可調超參

hyper_parameters[].name

String

參數名(建立任務時作為 Key 使用)

hyper_parameters[].type

String

類型:number(數值型,配合 data_range/step)/ string(枚舉型,配合 support_values

hyper_parameters[].display_name

String

參數展示名稱(支援多語言,根據 lang 參數返回對應語言版本)

hyper_parameters[].description

String

參數描述(支援多語言,根據 lang 參數返回對應語言版本)

hyper_parameters[].defaultValue

String

預設值

hyper_parameters[].recommend_value

String

推薦值

hyper_parameters[].required

Boolean

是否必傳

hyper_parameters[].support_values

Array<String>

枚舉值列表(僅 type=string 時存在),如 ["instruct", "think", "hybrid"]

hyper_parameters[].data_range

Array<String>

數值範圍(僅 type=number 時存在),如 ["64","256"] 表示取值範圍 64~256

hyper_parameters[].step

Integer

步長(僅 type=number 時存在)

建立壓縮任務

地址
POST /api/v1/fine-tunes/compress/jobs
請求參數

參數

類型

必選

預設

說明

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,格式 file-{32hex});僅當 calib_input=true 時生效。資料集需先在資料管理中建立並發布

output_model_suffix

String

-

量化產出模型名尾碼;最多 8 字元,僅小寫字母和數字。輸出模型名格式:{base_model}-{suffix}-{job_id}

請求樣本
curl -X POST "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs" \
  -H "Authorization: Bearer ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "job_name": "qwen3.5-flash 壓縮任務",
    "model": "qwen3.5-flash-2026-02-23-ft-***",
    "template_id": "quant-flash-nvfp4-mlp-nomtp",
    "custom_calibration_file_ids": ["file-***"],
    "output_model_suffix": "test"
  }'
響應樣本
{
  "request_id": "uuid-string",
  "output": {
    "job_id": "quant-202604111200-a1b2",
    "job_name": "qwen3.5-flash 壓縮任務",
    "status": "PENDING",
    "model": "qwen3.5-flash-2026-02-23-ft-***",
    "base_model": "qwen3.5-flash-2026-02-23",
    "template_id": "quant-flash-nvfp4-mlp-nomtp",
    "template_name": "W4A4 NVFP4高效能壓縮-MU5/MU8/MU9",
    "training_type": "quantization",
    "compress_type": "quantization",
    "hyper_parameters": {},
    "custom_calibration_file_ids": ["file-***"],
    "quantized_output": null,
    "create_time": "2026-04-11 12:00:00",
    "start_time": null,
    "end_time": null,
    "error": null,
    "group": "quantization"
  }
}
響應參數:欄位含義同請求參數。

列舉壓縮任務

支援按狀態、模型、模板、量化規格、演算法、時間範圍、任務名/ID 等過濾,支援建立時間排序和分頁。 地址
GET /api/v1/fine-tunes/compress/jobs
請求參數

參數

類型

必選

預設

說明

status

String

-

按狀態過濾(如 RUNNING、SUCCEEDED)

model

String

-

按源模型 ID 過濾

template_id

String

-

按模板 ID 過濾

quant_spec

String

-

按量化規格過濾(如 w4a16w8a8

quant_method

String

-

按量化演算法過濾(如 gptqawqfp8

start_time

String

-

任務開始時間不早於該值。格式:yyyy-MM-dd HH:mm:ss / ISO-8601 / yyyy-MM-dd

end_time

String

-

任務結束時間不晚於該值,格式同 start_time

job_name

String

-

按任務名稱模糊比對

job_id

String

-

按任務 ID 模糊比對

search_key

String

-

搜尋索引鍵。不傳 select_key 時同時模糊比對 job_idjob_name;配合 select_key 時僅匹配指定欄位

select_key

String

-

search_key 的搜尋欄位,可選 job_id / job_name

sort_by

String

create_time

排序欄位,目前僅支援 create_time

sort_order

String

desc

排序方向,asc 升序 / desc 降序

page_no

Integer

1

頁碼

page_size

Integer

10

每頁數量,最大 100

請求樣本
# 綜合搜尋:按狀態 + 演算法 + 分頁
curl "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs?status=SUCCEEDED&quant_method=gptq&page_size=10" \
  -H "Authorization: Bearer ${API_KEY}"

# 時間範圍 + 按任務名搜尋 + 建立時間升序
curl "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs?start_time=2026-04-01&end_time=2026-04-30&search_key=qwen3&select_key=job_name&sort_by=create_time&sort_order=asc" \
  -H "Authorization: Bearer ${API_KEY}"
響應樣本
{
  "request_id": "uuid-string",
  "output": {
    "total": 42,
    "page_no": 1,
    "page_size": 10,
    "jobs": [
      {
        "job_id": "quant-202604111200-a1b2",
        "job_name": "qwen3.5-flash 壓縮任務",
        "status": "SUCCEEDED",
        "model": "qwen3.5-flash-2026-02-23-ft-***",
        "base_model": "qwen3.5-flash-2026-02-23",
        "template_id": "quant-flash-nvfp4-mlp-nomtp",
        "template_name": "W4A4 NVFP4高效能壓縮-MU5/MU8/MU9",
        "training_type": "quantization",
        "compress_type": "quantization",
        "custom_calibration_file_ids": ["file-***"],
        "quantized_output": "qwen3.5-flash-2026-02-23-test-quant-202604111200-a1b2",
        "create_time": "2026-04-11 12:00:00",
        "start_time": "2026-04-11 12:02:30",
        "end_time": "2026-04-11 13:02:30",
        "group": "quantization",
        "usage": 3600
      }
    ]
  }
}
響應參數

欄位

類型

說明

total

Integer

合格任務總數

page_no

Integer

當前頁碼

page_size

Integer

每頁數量

jobs

Array

工作清單,欄位含義同建立壓縮任務響應參數

查詢壓縮任務

地址
GET /api/v1/fine-tunes/compress/jobs/{job_id}
請求樣本
curl "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs/quant-202604111200-a1b2" \
  -H "Authorization: Bearer ${API_KEY}"
響應樣本
{
  "request_id": "uuid-string",
  "output": {
    "job_id": "quant-202604111200-a1b2",
    "job_name": "qwen3.5-flash 壓縮任務",
    "job_description": "...",
    "status": "SUCCEEDED",
    "model": "qwen3.5-flash-2026-02-23-ft-***",
    "base_model": "qwen3.5-flash-2026-02-23",
    "template_id": "quant-flash-nvfp4-mlp-nomtp",
    "template_name": "W4A4 NVFP4高效能壓縮-MU5/MU8/MU9",
    "template_description": "在更低位元壓縮下兼顧高精度與高效能,進一步降低顯存佔用並提升推理吞吐。",
    "training_type": "quantization",
    "compress_type": "quantization",
    "hyper_parameters": {},
    "custom_calibration_file_ids": ["file-***"],
    "quantized_output": "qwen3.5-flash-2026-02-23-test-quant-202604111200-a1b2",
    "create_time": "2026-04-11 12:00:00",
    "start_time": "2026-04-11 12:02:30",
    "end_time": "2026-04-11 13:02:30",
    "error": null,
    "group": "quantization",
    "usage": 3600
  }
}
響應參數

欄位

類型

說明

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

任務類型,固定為 quantization

compress_type

String

壓縮類型,同 training_type,固定為 quantization

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

失敗時的錯誤資訊,含 codemessage;成功時為 null

group

String

任務分組,固定為 quantization

usage

Integer

GPU 時間長度(秒),SUCCEEDED 或 CANCELED 時出現

擷取壓縮任務日誌

地址
GET /api/v1/fine-tunes/compress/jobs/{job_id}/logs
其中 {job_id} 為壓縮任務 ID,可通過建立壓縮任務或列舉壓縮任務介面擷取。 請求參數

參數

類型

必選

預設

說明

offset

Integer

0

忽略前 N 行,從第 N+1 行開始讀取

line

Integer

100

讀取行數,上限 1000

請求樣本
curl "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs/quant-202604111200-a1b2/logs?offset=0&line=50" \
  -H "Authorization: Bearer ${API_KEY}"
響應樣本
{
  "request_id": "uuid-string",
  "output": {
    "total": 15,
    "logs": [
      "2026-04-11 12:02:35 - INFO - Starting quantization...",
      "2026-04-11 12:30:00 - INFO - Quantization progress: 100%",
      "2026-04-11 12:35:00 - INFO - Quantization succeeded!"
    ]
  }
}
日誌展示規則
  • 任務傳入自訂校準資料集時,日誌中包含資料處理完成標記 data process succeeded, start to quantization
  • 日誌介面已過濾系統內部標記,僅返回使用者可讀的壓縮排度資訊

取消壓縮任務

僅允許取消 PENDINGQUEUINGRUNNING 狀態的任務。取消為非同步作業,任務會先進入 CANCELING 過渡態,最終轉為 CANCELED 地址
POST /api/v1/fine-tunes/compress/jobs/{job_id}/cancel
其中 {job_id} 為壓縮任務 ID,可通過建立壓縮任務或列舉壓縮任務介面擷取。 請求樣本
curl -X POST "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs/quant-202604111200-a1b2/cancel" \
  -H "Authorization: Bearer ${API_KEY}"
響應樣本
{
  "request_id": "uuid-string",
  "output": { "status": "success" }
}

刪除壓縮任務

僅允許刪除終態(SUCCEEDED / FAILED / CANCELED)的任務。刪除任務記錄不會刪除已產出的量化模型(quantized_output)。 地址
DELETE /api/v1/fine-tunes/compress/jobs/{job_id}
其中 {job_id} 為壓縮任務 ID,可通過建立壓縮任務或列舉壓縮任務介面擷取。 請求樣本
curl -X DELETE "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/compress/jobs/quant-202604111200-a1b2" \
  -H "Authorization: Bearer ${API_KEY}"
響應樣本
{
  "request_id": "uuid-string",
  "output": { "status": "success" }
}

錯誤碼

通用錯誤碼

錯誤碼

HTTP

說明

InvalidParameter

400

請求參數不合法

MissingParameter

400

缺少必選參數

Unauthorized

401

認證失敗

Forbidden

403

無許可權訪問

ResourceNotFound

404

資源不存在

UnsupportedOperation

400

資源狀態不允許該操作(如取消已終態任務)

QuotaExceeded

429

配額超限

InternalError

500

服務內部錯誤

業務錯誤碼

以下業務錯誤碼按情境分類列出。對外 Code 為介面實際返回的 code 欄位值。 參數校正類

對外 Code

HTTP

說明

InvalidParameter

400

缺少必選參數 model

InvalidParameter

400

缺少必選參數 template_id

InvalidParameter

400

不支援對基本模型直接量化

InvalidParameter

400

指定的配置模板不存在

InvalidParameter

400

當前模型不支援該壓縮模板

InvalidParameter

400

模型不支援量化

InvalidParameter

400

LoRA 調優模型不支援量化

InvalidParameter

400

模型資料不可用

InvalidParameter

400

任務名稱包含不支援的字元

InvalidParameter

400

output_model_suffix 超過 8 字元

InvalidParameter

400

源模型尚未就緒

AccessDenied

403

無權使用該壓縮模板

超參數校正類

對外 Code

HTTP

說明

InvalidParameter

400

必選超參數未傳

InvalidParameter

400

傳入了未知超參數

InvalidParameter

400

超參數值不在枚舉值列表中

InvalidParameter

400

超參數值超出數值範圍

InvalidParameter

400

超參數值不是合法數字

任務查詢類

對外 Code

HTTP

說明

NotFound

404

指定的壓縮任務不存在

InvalidParameter

400

缺少必選參數 job_id

分頁與時間參數類

對外 Code

HTTP

說明

InvalidParameter

400

頁碼參數不合法(須 ≥ 1)

InvalidParameter

400

每頁數量不合法(須 1~100)

InvalidParameter

400

時間格式不合法

錯誤響應樣本

{
  "request_id": "uuid-string",
  "code": "InvalidParameter",
  "message": "The specified model 'xxx-lora-yyy' is a LoRA model and not supported for quantization."
}
模型壓縮 - Alibaba Cloud Model Studio