Giới thiệu
AutoRound là toolkit quantization của Intel, design cho Large Language Models (LLMs) và Vision-Language Models (VLMs). Approach core: dùng sign-gradient descent để đạt accuracy cao ở ultra-low bit widths (2-4 bits) với minimal tuning. Hardware compatibility rộng — chạy được trên CPU/XPU/CUDA/Gaudi.
Căn cứ kỹ thuật từ hai paper: SignRoundV1 và SignRoundV2 (mới release 12/2025).
Tính năng chính
- Accuracy mạnh ở low-bit: Performance tốt cả ở 2-3 bits, leading results ở 4 bits
- Ecosystem integration: Tích hợp sẵn với Transformers, vLLM, SGLang, LLM-Compressor
- Multiple export formats: AutoRound, AutoAWQ, AutoGPTQ, GGUF
- AutoScheme: Tự động generate mixed bits/dtype quantization recipe trong vài phút
- Quantization cost thấp: Quantize 7B model trong ~10 phút trên 1 GPU
- VLM support: Out-of-the-box cho 10+ vision-language models
Demo accuracy ấn tượng
- DeepSeek-R1 quantize INT2-mixed (~200GB) giữ 97.9% accuracy so với bản full
- Support W2A16, W3A16, W4A16, W8A16, MXFP4, MXFP8, NVFP4, GGUF Q2 đến Q8
Cài đặt
# CPU(Xeon)/GPU(CUDA)
pip install auto-round
# CPU(Xeon)/GPU(CUDA) nightly
pip install auto-round-nightly
# XPU (Intel GPU)
pip install torch --index-url https://download.pytorch.org/whl/xpu
pip install auto-round
Cách sử dụng
CLI Usage
auto-round \
--model Qwen/Qwen3-0.6B \
--scheme "W4A16" \
--format "auto_round" \
--output_dir ./tmp_autoround
Có hai recipe khác:
auto-round-best: accuracy tốt nhất, 3X chậm hơnauto-round-light: nhanh hơn 2-3X, accuracy giảm nhẹ ở W4 và đáng kể ở W2
API Usage
from auto_round import AutoRound
model_name_or_path = "Qwen/Qwen3-0.6B"
# Available schemes: W2A16, W3A16, W4A16, W8A16, NVFP4, MXFP4, GGUF:Q4_K_M, etc.
ar = AutoRound(model_name_or_path, scheme="W4A16")
ar.quantize_and_save(output_dir="./qmodel", format="auto_round")
AutoScheme (mixed precision)
from auto_round import AutoRound, AutoScheme
model_name = "Qwen/Qwen3-8B"
avg_bits = 3.0
scheme = AutoScheme(
avg_bits=avg_bits,
options=("GGUF:Q2_K_S", "GGUF:Q4_K_S"),
ignore_scale_zp_bits=True,
)
layer_config = {"lm_head": "GGUF:Q6_K"}
ar = AutoRound(model=model_name, scheme=scheme, layer_config=layer_config, iters=0)
ar.quantize_and_save()
Inference với quantized model
vLLM
from vllm import LLM, SamplingParams
model_name = "Intel/DeepSeek-R1-0528-Qwen3-8B-int4-AutoRound"
llm = LLM(model=model_name)
outputs = llm.generate(prompts, sampling_params)
Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Intel/DeepSeek-R1-0528-Qwen3-8B-int4-AutoRound"
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
AutoRound auto-select backend tốt nhất và prompt cài thêm libraries nếu cần.
Recommendations
- W4A16 → dùng
auto-round(default) - W2A16 → dùng
auto-round-bestvớienable_alg_ext=True - MXFP4/NVFP4 → export sang LLM-Compressor format
Dev nên quan tâm vì…
Nếu bạn đang self-host LLM và bị bottleneck VRAM, AutoRound là option production-ready:
- Quantize cost thấp (~10 phút cho 7B trên 1 GPU)
- Support nhiều format runtime (đỡ phải convert sau)
- INT2 cho mô hình lớn (>200GB) vẫn usable, có thể chạy DeepSeek-R1 trên ít GPU hơn đáng kể
Đã merge vào vLLM và SGLang nên không cần convert format khi deploy.