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

더 알아보기 (Learn more)