Compacte modelos usando técnicas como quantização para reduzir os custos de inferência.
Visão geral
A API de Model Compression compacta modelos personalizados ajustados com parâmetros completos por meio de técnicas como quantização, reduzindo o uso de memória durante a inferência e melhorando o throughput. Atualmente, o recurso de compressão suporta apenas quantização e abrange todo o ciclo de vida: consulta de templates, criação de tarefas, verificação de status, obtenção de logs e cancelamento ou exclusão de tarefas.
Fluxo típico:
- Liste os modelos quantizáveis e os templates de configuração → obtenha o
template_ide omodelquantizável - Crie uma tarefa de compressão → obtenha o
job_id - Consulte periodicamente o status da tarefa de compressão ou obtenha os logs → aguarde até atingir
SUCCEEDED/FAILED/CANCELED - Após o status
SUCCEEDED, usequantized_outputpara criar um deployment; quando não for mais necessário, cancele ou exclua a tarefa de compressão
https://dashscope-intl.aliyuncs.com. A autenticação utiliza uniformemente Authorization: Bearer ${YOUR_API_KEY}, e as requisições POST devem incluir Content-Type: application/json.
Para entender o significado dos campos do objeto de tarefa e a máquina de estados, consulte Objeto de tarefa de compressão; para códigos de erro unificados, veja Error codes ao final do documento.
Início rápido
A API de compressão de modelos está disponível atualmente apenas na região Singapore. Se você utilizar outra região, realize as operações de compressão de modelos pelo console Bailian dessa região.A API de compressão de modelos oferece um conjunto completo de interfaces RESTful que cobrem consulta de templates, criação de jobs, verificação de status, obtenção de logs e cancelamento ou exclusão de jobs. Este documento destina-se a desenvolvedores que desejam integrar capacidades de compressão via OpenAPI ou SDK. Para introduções sobre o console, consulte os documentos relacionados.
Pré-requisitos
Antes de chamar as interfaces deste documento, conclua as etapas a seguir:
- Ative o service Alibaba Cloud Bailian e conclua a verificação de nome real.
- O workspace atual deve ter pelo menos um modelo personalizado ajustado com parâmetros completos baseado em
qwen3.5-flash-2026-02-23(concluído via interface de job de ajuste fino). O recurso de compressão atual suporta apenas este modelo; modelos LoRA e modelos já quantizados não são suportados. - Obtenha uma API Key (consulte Obtain API Key).
As especificações da unidade de deployment suportadas pelo modelo de saída compactado são determinadas pelo template de quantização selecionado, e a quantidade de deployments é configurada no console Bailian em "Model Deployment". O recurso de compressão atual é gratuito por tempo limitado.
Lista de interfaces
Domínios de todas as interfaces: https://dashscope-intl.aliyuncs.com
# | Método | Caminho | Descrição |
|---|---|---|---|
1 | GET |
| Lista modelos quantizáveis e templates de configuração |
2 | POST |
| Cria job de compressão |
3 | GET |
| Lista jobs de compressão |
4 | GET |
| Consulta detalhes do job de compressão |
5 | GET |
| Obtém logs do job de compressão |
6 | POST |
| Cancela job de compressão |
7 | DELETE |
| Exclui job de compressão |
Autenticação
Todas as interfaces transmitem a API Key via HTTP Header:
Content-Type: application/json aplica-se a cenários com corpo de requisição POST.
Comece em 5 minutos
- HTTP
base_model for qwen3.5-flash-2026-02-23, suffix for test e job_id for quant-202604111200-a1b2, o ID do modelo de saída será:
Objeto de job de compressão
A API de compressão de modelos está disponível atualmente apenas na região Singapore. Se você utilizar outra região, realize a compressão de modelos no console Bailian dessa região.
Propriedades do objeto
Parâmetros de resposta
Campo | Tipo | Descrição |
|---|---|---|
job_id | String | ID do job |
job_name | String | Nome do job |
job_description | String | Descrição do job |
status | String | Status do job (consulte Status do job) |
model | String | ID do modelo de source |
base_model | String | ID do modelo base |
template_id | String | ID do template de compressão em uso |
template_name | String | Nome do template |
template_description | String | Descrição do template |
training_type | String | Tipo de job, fixo como |
compress_type | String | Tipo de compressão, igual a |
hyper_parameters | Object | Hiperparâmetros efetivamente aplicados (retorna apenas parâmetros visíveis ao usuário) |
custom_calibration_file_ids | Array<String> | Lista de IDs de arquivo do conjunto de dados de calibração personalizado |
quantized_output | String | ID do modelo gerado após a quantização (possui valor apenas quando SUCCEEDED) |
create_time | String | Horário de criação do job |
start_time | String | Horário de início da execução do job (nulo quando PENDING/QUEUING) |
end_time | String | Horário de conclusão do job (possui valor em estados terminais) |
error | Object | Informações de erro em caso de falha, contendo |
group | String | Grupo do job, fixo como |
usage | Integer | Duração da GPU (segundos), aparece quando SUCCEEDED ou CANCELED |
Status do job
Status | Descrição |
|---|---|
| Job criado, aguardando agendamento |
| Entrou na fila de agendamento, aguardando recursos de GPU |
| Job em andamento |
| Cancelamento iniciado, aguardando encerramento |
| Job concluído com sucesso, o campo |
| Job falhou, os campos |
| Job cancelado |
Listar modelos quantizáveis e templates de configuração
Lista todos os modelos personalizados ajustados quantizáveis do usuário atual, bem como os templates de compressão vinculados a cada modelo. Os templates são vinculados aos modelos base; diferentes combinações de arquitetura de modelo × precisão × especificações de MU alvo correspondem a diferentes templates.
Retorna apenas modelos personalizados que o usuário atual ajustou completamente (SFT/DPO/CPT) com base em um modelo base. Modelos ajustados com LoRA e modelos já quantizados não aparecerão nos resultados.Endpoint
Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
model | String | Não | - | Filtra por ID de modelo; ao passar um nome de modelo base, retorna todos os modelos personalizados baseados nesse modelo base |
lang | String | Não | zh-CN | Idioma da resposta: |
Exemplo de resposta (completo: com hiperparâmetros ajustáveis)
Exemplo de resposta (completo: com hiperparâmetros ajustáveis)
Campo | Tipo | Descrição |
|---|---|---|
base_models | Array<String> | Lista de nomes de modelos base que suportam compressão |
custom_models[].model | String | ID do modelo |
custom_models[].model_name | String | Nome de exibição do modelo |
custom_models[].base_model | String | Nome do modelo base |
custom_models[].templates | Array | Lista de templates de configuração de compressão suportados por este modelo, herdados dos templates de seu modelo base |
templates[].template_id | String | ID do template, passado como parâmetro template_id ao criar uma tarefa de compressão |
templates[].template_name | String | Nome do template (suporta múltiplos idiomas; retorna a versão correspondente ao idioma com base no parâmetro |
templates[].description | String | Descrição do template (suporta múltiplos idiomas; retorna a versão correspondente ao idioma com base no parâmetro |
templates[].compress_type | String | Tipo de compressão, fixo como |
templates[].hyper_parameters | Array | Hiperparâmetros ajustáveis; um array vazio indica que não há hiperparâmetros ajustáveis |
hyper_parameters[].name | String | Nome do parâmetro (usado como chave ao criar uma tarefa) |
hyper_parameters[].type | String | Tipo: |
hyper_parameters[].display_name | String | Nome de exibição do parâmetro (suporta múltiplos idiomas; retorna a versão correspondente ao idioma com base no parâmetro |
hyper_parameters[].description | String | Descrição do parâmetro (suporta múltiplos idiomas; retorna a versão correspondente ao idioma com base no parâmetro |
hyper_parameters[].defaultValue | String | Valor padrão |
hyper_parameters[].recommend_value | String | Valor recomendado |
hyper_parameters[].required | Boolean | Se é obrigatório |
hyper_parameters[].support_values | Array<String> | Lista de valores de enumeração (presente apenas quando |
hyper_parameters[].data_range | Array<String> | Faixa numérica (presente apenas quando |
hyper_parameters[].step | Integer | Tamanho do passo (presente apenas quando |
Criar um job de compressão
Endpoint
Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
model | String | Sim | - | ID do modelo de source, obtido via API |
template_id | String | Sim | - | ID do template de compressão, obtido via API |
job_name | String | Não | Gerado automaticamente | Nome do job; duplicatas não são permitidas para o mesmo usuário; até 50 caracteres |
job_description | String | Não | - | Descrição do job; até 200 caracteres |
hyper_parameters | Object | Não | Valor padrão do template | Substituições de hiperparâmetros (chave-valor); passe apenas os itens que deseja substituir |
custom_calibration_file_ids | Array<String> | Não | - | Lista de IDs de arquivo do conjunto de dados de calibração personalizado (ID do grupo de conjunto de dados, no formato |
output_model_suffix | String | Não | - | Sufixo do nome do modelo de saída quantizado; até 8 caracteres, apenas letras minúsculas e dígitos. Formato do nome do modelo de saída: |
Listar jobs de compressão
Suporta filtragem por status, modelo, template, especificação de quantização, algoritmo, intervalo de tempo, nome/ID do job, além de ordenação por horário de criação e paginação.
Endpoint
Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
status | String | Não | - | Filtra por status (ex.: RUNNING, SUCCEEDED) |
model | String | Não | - | Filtra por ID do modelo de source |
template_id | String | Não | - | Filtra por ID do template |
quant_spec | String | Não | - | Filtra por especificação de quantização (ex.: |
quant_method | String | Não | - | Filtra por algoritmo de quantização (ex.: |
start_time | String | Não | - | O horário de início do job não é anterior a este valor. Formato: |
end_time | String | Não | - | O horário de término do job não é posterior a este valor, formato igual a |
job_name | String | Não | - | Correspondência aproximada por nome do job |
job_id | String | Não | - | Correspondência aproximada por ID do job |
search_key | String | Não | - | Palavra-chave de busca. Quando |
select_key | String | Não | - | Campo de busca para |
sort_by | String | Não | create_time | Campo de ordenação, atualmente suporta apenas |
sort_order | String | Não | desc | Direção da ordenação, |
page_no | Integer | Não | 1 | Número da página |
page_size | Integer | Não | 10 | Tamanho da página, máximo 100 |
Campo | Tipo | Descrição |
|---|---|---|
total | Integer | Número total de jobs correspondentes |
page_no | Integer | Número da página atual |
page_size | Integer | Tamanho da página |
jobs | Array | Lista de jobs, os significados dos campos são os mesmos dos parâmetros de resposta da criação de job de compressão |
Consultar um job de compressão
Endpoint
Campo | Tipo | Descrição |
|---|---|---|
job_id | String | ID do job, obtido via interface de criação ou listagem de jobs de compressão |
job_name | String | Nome do job |
job_description | String | Descrição do job |
status | String | Status do job (consulte Status do job para detalhes) |
model | String | ID do modelo de source |
base_model | String | ID do modelo base |
template_id | String | ID do template de compressão utilizado |
template_name | String | Nome do template |
template_description | String | Descrição do template |
training_type | String | Tipo de job, fixo como |
compress_type | String | Tipo de compressão, igual a |
hyper_parameters | Object | Hiperparâmetros efetivamente aplicados (retorna apenas parâmetros visíveis ao usuário) |
custom_calibration_file_ids | Array<String> | Lista de IDs de arquivo do conjunto de dados de calibração personalizado |
quantized_output | String | ID do modelo gerado após a quantização (possui valor apenas quando SUCCEEDED), pode ser usado pela interface Create deployment para deployment do modelo |
create_time | String | Horário de criação do job |
start_time | String | Horário de início da execução do job (nulo quando PENDING/QUEUING) |
end_time | String | Horário de conclusão do job (possui valor em estados terminais) |
error | Object | Informações de erro em caso de falha, contendo |
group | String | Grupo do job, fixo como |
usage | Integer | Duração da GPU (segundos), presente quando SUCCEEDED ou CANCELED |
Obter logs do job de compressão
Endpoint
{job_id} é o ID do job de compressão, obtido via interface de criação ou listagem de jobs de compressão.
Parâmetros de requisição
Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
offset | Integer | Não | 0 | Ignora as primeiras N linhas e começa a leitura a partir da linha (N+1) |
line | Integer | Não | 100 | Número de linhas a ler, até 1000 |
- Quando um conjunto de dados de calibração personalizado é fornecido para o job, os logs contêm um marcador de conclusão de processamento de dados
data process succeeded, start to quantization - A interface de logs filtra marcadores internos do sistema e retorna apenas informações legíveis sobre o progresso da compressão
Cancelar um job de compressão
É possível cancelar apenas jobs nos estados PENDING, QUEUING ou RUNNING. O cancelamento é uma operação assíncrona. O job entra primeiro no estado transitório CANCELING e eventualmente torna-se CANCELED.
Endpoint
{job_id} é o ID do job de compressão, obtido via API de criação ou listagem de jobs de compressão.
Exemplo de requisição
Excluir um job de compressão
É possível excluir apenas jobs em estado terminal (SUCCEEDED / FAILED / CANCELED). Excluir o registro do job não exclui o modelo quantizado já gerado (quantized_output).
Endpoint
{job_id} é o ID do job de compressão, obtido via API de criação ou listagem de jobs de compressão.
Exemplo de requisição
Código de erro
Códigos de erro comuns
Código de erro | HTTP | Descrição |
|---|---|---|
| 400 | Parâmetro de requisição inválido |
| 400 | Parâmetro obrigatório ausente |
| 401 | Falha na autenticação |
| 403 | Sem permissão de acesso |
| 404 | Recurso não existe |
| 400 | O estado do recurso não permite esta operação (ex.: cancelar um job que já está em estado terminal) |
| 429 | Cota excedida |
| 500 | Erro interno do service |
Códigos de erro de negócio
Os seguintes códigos de erro de negócio estão listados por cenário. External Code é o valor real do campo code retornado pela interface.
Validação de parâmetros
External Code | HTTP | Descrição |
|---|---|---|
| 400 | Parâmetro obrigatório ausente |
| 400 | Parâmetro obrigatório ausente |
| 400 | Quantização direta de modelos base não é suportada |
| 400 | O template de configuração especificado não existe |
| 400 | O modelo atual não suporta este template de compressão |
| 400 | O modelo não suporta quantização |
| 400 | Modelos ajustados com LoRA não suportam quantização |
| 400 | Dados do modelo indisponíveis |
| 400 | O nome do job contém caracteres não suportados |
| 400 |
|
| 400 | O modelo de source não está pronto |
| 403 | Sem permissão para usar este template de compressão |
External Code | HTTP | Descrição |
|---|---|---|
| 400 | Hiperparâmetro obrigatório não fornecido |
| 400 | Hiperparâmetro desconhecido fornecido |
| 400 | O valor do hiperparâmetro não está na lista de enumeração |
| 400 | O valor do hiperparâmetro está fora da faixa permitida |
| 400 | O valor do hiperparâmetro não é um número válido |
External Code | HTTP | Descrição |
|---|---|---|
| 404 | O job de compressão especificado não existe |
| 400 | Parâmetro obrigatório ausente |
External Code | HTTP | Descrição |
|---|---|---|
| 400 | Parâmetro de número de página inválido (deve ser ≥ 1) |
| 400 | Tamanho de página inválido (deve ser 1–100) |
| 400 | Formato de tempo inválido |