Intel 양자화 지원
Intel 양자화 지원 (Intel Quantization Support)
AutoRound 은 대규모 언어 모델(LLM)용 Intel의 고급 양자화 알고리즘입니다. 고효율의 INT2, INT3, INT4, INT8, MXFP8, MXFP4, NVFP4, GGUF 양자화 모델을 만들어 정확도와 추론 성능의 균형을 맞춥니다. AutoRound는 Intel® Neural Compressor 의 일부이기도 합니다. 더 깊은 소개는 AutoRound step-by-step guide 를 참고하세요.
출처: 문서
본문
주요 기능 (Key Features)
- ✅ 우수한 정확도(Superior Accuracy): 2~3비트에서도 강력한 성능을 제공합니다(예시 모델).
- ✅ 빠른 혼합
Bits/Dtypes체계 생성: 몇 분 안에 자동 구성됩니다. - ✅ AutoRound, AutoAWQ, AutoGPTQ, GGUF 형식 내보내기 지원.
- ✅ 10개 이상의 vision-language 모델(VLM) 지원.
- ✅ Per-layer 혼합 비트 양자화 로 세밀한 제어.
- ✅ RTN(Round-To-Nearest) 모드: 약간의 정확도 손실로 빠른 양자화.
- ✅ 다중 양자화 레시피: best, base, light.
- ✅ 즉시 패킹과 10개 이상의 백엔드 지원 같은 고급 유틸리티.
Intel 플랫폼에서 지원되는 레시피 (Supported Recipes on Intel Platforms)
Intel 플랫폼에서 AutoRound 레시피는 형식과 하드웨어별로 점진적으로 활성화되고 있습니다. 현재 vLLM은 다음을 지원합니다.
W4A16: weight-only, 16비트 활성화를 가진 4비트 가중치.W8A16: weight-only, 16비트 활성화를 가진 8비트 가중치.
추가 레시피와 형식은 향후 릴리즈에서 지원될 예정입니다.
모델 양자화 (Quantizing a Model)
설치 (Installation)
uv pip install auto-round
CLI로 양자화 (Quantize with CLI)
auto-round \
--model Qwen/Qwen3-0.6B \
--scheme W4A16 \
--format auto_round \
--output_dir ./tmp_autoround
Python API로 양자화 (Quantize with Python API)
from transformers import AutoModelForCausalLM, AutoTokenizer
from auto_round import AutoRound
model_name = "Qwen/Qwen3-0.6B"
autoround = AutoRound(model_name, scheme="W4A16")
# the best accuracy, 4-5X slower, low_gpu_mem_usage could save ~20G but ~30% slower
# autoround = AutoRound(model, tokenizer, nsamples=512, iters=1000, low_gpu_mem_usage=True, bits=bits, group_size=group_size, sym=sym)
# 2-3X speedup, slight accuracy drop at W4G128
# autoround = AutoRound(model, tokenizer, nsamples=128, iters=50, lr=5e-3, bits=bits, group_size=group_size, sym=sym )
output_dir = "./tmp_autoround"
# format= 'auto_round'(default), 'auto_gptq', 'auto_awq'
autoround.quantize_and_save(output_dir, format="auto_round")
vLLM에 AutoRound 양자화 모델 배포 (Deploying AutoRound Quantized Models in vLLM)
vllm serve Intel/DeepSeek-R1-0528-Qwen3-8B-int4-AutoRound \
--gpu-memory-utilization 0.8 \
--max-model-len 4096
vLLM으로 양자화 모델 평가 (Evaluating the Quantized Model with vLLM)
lm_eval --model vllm \
--model_args pretrained="Intel/DeepSeek-R1-0528-Qwen3-8B-int4-AutoRound,max_model_len=8192,max_num_batched_tokens=32768,max_num_seqs=128,gpu_memory_utilization=0.8,dtype=bfloat16,max_gen_toks=2048" \
--tasks gsm8k \
--num_fewshot 5 \
--batch_size 128