intel/auto-round

PTQ-Level Efficiency, QAT-Level Accuracy | 训练后量化的效率,量化感知训练的精度

AutoRound – LLM 및 VLM을 위한 포스트 트레이닝 양자화

개요 – AutoRound는 대규모 언어 모델(LLM) 및 비전-언어 모델(VLM)을 모델이 이미 훈련된 후에 매우 낮은 비트 형식(가중치 2~4비트 및 일부 혼합 정밀도 옵션)으로 축소할 수 있는 Python 라이브러리입니다. 목표는 모델의 정확도를 원본(종종 수 퍼센트 이내)에 가깝게 유지하면서 메모리 사용량과 추론 지연 시간을 크게 줄이는 것입니다.

중요성 – LLM을 온디바이스 또는 저렴한 하드웨어(CPU, Intel XPU, Gaudi HPU, 또는 소비자용 GPU)에서 실행하려면 일반적으로 많은 RAM/VRAM이 필요합니다. 양자화는 가중치 텐서의 크기를 줄여 다음을 가능하게 합니다.

  • 동일한 하드웨어에서 더 빠른 추론.
  • 더 저렴하거나 엣지 디바이스에 배포.
  • 많은 동시 요청을 처리하는 비용 절감.

주요 기능

  • 다중 저비트 스킴 – 2비트, 3비트, 4비트, 5비트, 6비트, 7비트 가중치 전용 양자화(WOQ) 및 혼합 정밀도 레시피(AutoScheme)를 지원합니다. MXFP4, NVFP4, FP8, GGUF 제품군과 같은 특수 dtype도 사용할 수 있습니다.
  • 알고리즘 – SignRoundV1/V2, AWQ, GPTQ 및 보정 없는 양자화를 위한 새로운 NeUQI 그리드 검색의 내장 구현을 제공합니다. 사용자는 알고리즘을 연결할 수 있습니다(예: awq,signround).
  • 생태계 통합 – 🤗 Transformers, vLLM 및 SGLang과 직접 작동합니다. 양자화된 모델은 해당 런타임에서 사용하는 형식(auto_round, auto_awq, auto_gptq, GGUF 등)으로 내보낼 수 있습니다.
  • 하드웨어 지원 – Intel CPU/XPU, NVIDIA GPU(CUDA) 및 Habana Gaudi HPU에서 실행됩니다. 패키지는 각 플랫폼에 대해 별도의 휠을 제공합니다.
  • 빠르고 경제적인 튜닝 – 7B 모델은 단일 GPU에서 약 10분 안에 양자화할 수 있습니다. 라이브러리는 속도와 정확도를 절충하는 "light", "best" 및 "opt-rtn" 사전 설정 레시피를 제공합니다.
  • 비전-언어 지원 – 10개 이상의 VLM에 대한 즉시 사용 가능한 양자화와 텍스트 인코더를 넘어서는 실험적인 전체 모델 양자화를 제공합니다.

사용 방법

  1. 설치 – pip install auto-round (또는 nightly/HPU 전용 휠).
  2. CLI – auto-round --model <repo>/<model> --scheme "W4A16" --format auto_round --output_dir ./qmodel 실행.
    • 사전 설정 레시피 선택(auto-round-best, auto-round-light, auto-round-opt-rtn, auto-round-rtn).
  3. Python API –
    from auto_round import AutoRound
    ar = AutoRound("Qwen/Qwen3-0.6B", scheme="W4A16", iters=200)
    ar.quantize_and_save("./qmodel", format="auto_round")
    
    • bits, group_size, iters, lr, 데이터셋 등을 조정하여 정확도와 속도 간의 균형을 제어합니다.
  4. 추론 실행 – vLLM, Transformers 또는 내보낸 형식을 지원하는 모든 런타임에서 양자화된 체크포인트를 로드합니다.

일반적인 워크플로우

  • 모델과 대상 비트 폭(예: 4비트 가중치 전용)을 선택합니다.
  • 빠른 결과를 위해 기본 auto-round 레시피로 AutoRound를 실행하거나 최대 정확도(더 많은 튜닝 반복)를 위해 auto-round-best를 사용합니다.
  • 혼합 정밀도가 필요한 경우 AutoScheme(--enable_alg_ext)을 활성화하여 레이어별 비트 폭 계획을 자동으로 검색합니다.
  • 서빙 스택에 필요한 형식으로 내보냅니다(예: llama.cpp용 GGUF, AWQ 기반 런타임용 auto_awq).

혜택을 받는 사용자

  • 사용자 지정 양자화 코드를 작성하지 않고 초저비트 LLM을 실험하려는 연구자.
  • 비용 제약이 있는 서버 또는 엣지 디바이스에 LLM을 배포하는 엔지니어.
  • 인기 있는 🤗 Transformers/vLLM 생태계와 통합되는 즉시 사용 가능한 양자화 단계가 필요한 모든 사람.

리소스

  • 문서 및 튜토리얼 – docs/step_by_step.md 및 중국어 버전 step_by_step_CN.md의 단계별 가이드.
  • 벤치마크 – 2~3비트 모델의 정확도 테이블, GGUF 리더보드, MoE 속도 향상 노트.
  • 논문 링크 – SignRoundV1(arXiv 2309.05516) 및 SignRoundV2(arXiv 2512.04746).
  • 모델 동물원 – HuggingFace의 Intel 조직에서 호스팅되는 사전 양자화된 체크포인트.

결론 – AutoRound는 대규모 언어 모델 및 비전-언어 모델의 포스트 트레이닝 양자화를 다양한 하드웨어에서 실용적으로 만들고 원본 모델의 성능을 대부분 유지하는 프로덕션 준비가 된 오픈소스 툴킷입니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트