Transformers documentation

AutoRound

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoRound

AutoRoundは、2ビット精度でも高い精度を実現する高度な量子化アルゴリズムです。 符号勾配降下法を活用し、丸め値とmin-maxクリッピングの閾値をわずか200ステップで微調整します。幅広い互換性を備えており、多数のLLMにシームレスに対応するとともに、対応するVLMも積極的に拡充しています。 また、CPU、XPU、CUDAなど、複数のハードウェアプラットフォームでの量子化および推論にも対応しています。

AutoRoundには、自動的な混合ビットチューニングおよび推論、MXFP4およびNVFP4データ型へのサポート、モデルフリーの量子化、GPTQ、AWQ、GGUF、LLM-Compressorなどの形式へのエクスポート、柔軟なチューニングレシピなど、さまざまな有用な機能が用意されています。 包括的な概要や最新のアップデートについては、AutoRoundのREADMEをご覧ください。

AutoRound は、Intel Neural Compressorの一部として開発され、ディープラーニング向けの汎用モデル圧縮ライブラリとして機能していました。 その後、大規模言語モデル(LLM)の低精度最適化に特化したスタンドアロンライブラリへと進化しました。 AutoRound は Intel Neural Compressor と引き続き完全に統合されており、詳細についてはリポジトリをご覧ください。

インストール

pip install auto-round

サポートされている量子化設定

AutoRoundは、以下の量子化設定をサポートしています:

  1. INT2〜INT8の重みのみ
  2. 混合ビット重みのみ
  3. GGUF Q*_K
  4. MXFP(サポートは限定的です)
  5. NVFP4(サポートは限定的です)

ハードウェアの互換性

量子化と推論の両方で、CPU、XPU、CUDAに対応します。

量子化とシリアライズ(オフライン)

現在、量子化モデルを生成するにはオフラインモードのみがサポートされています。

quantization cmd
auto scheme cmd
アルゴリズムの組み合わせ
quantization auto-round api
quantization auto-round-best
quantization auto-round-light

コマンドラインでの使用

auto-round \
    --model Qwen/Qwen3-0.6B \
    --scheme "W4A16" \
    --group_size 128 \
    --output_dir ./tmp_autoround

AutoRound では、最適な精度と高速化をそれぞれ目指した、auto-round-best、auto-round-light、auto-round-opt-rtn、auto-round-rtn という4つのレシピも提供しています。 2ビットの場合、auto-round-best に --enable_alg_ext を付けて使用することを推奨します。

W4G128の13タスク(mmlu-pro、if_eval、gsm8kなど)の平均精度と時間コストの結果(PyTorch 2.6.0のenable_torch_compileを有効化した環境で、Nvidia A100 80Gを使用してテストを実施):

モデルQwen2.5-0.5B-InstructFalcon3-3BQwen2.5-7B-InstructMeta-Llama-3.1-8B-InstructFalcon3-10BQwen2.5-72B-Instruct
16ビット0.41920.52030.64700.62120.61510.7229
ベスト0.4137(7m)0.5142(23m)0.6426(58m)0.6116(65m)0.6092(81m)0.7242(575m)
デフォルト0.4129(2m)0.5133(6m)0.6441(13m)0.6106(13m)0.6080(18m)0.7252(118m)
ライト0.4052(2m)0.5108(3m)0.6453(5m)0.6104(6m)0.6063(6m)0.7243(37m)

推論

AutoRoundは、インストールされているライブラリに基づいて利用可能な最適なバックエンドを自動的に選択し、より優れたバックエンドが見つかった場合は、ユーザーに追加のライブラリのインストールを促します。

推論 CPU
推論 xpu
推論 cuda
推論バックエンド
形式変換

CPU

2、4、8ビットをサポートしています。推論には、AutoRound Kernel (ARK) バックエンドの使用を推奨します。ARKを使用するには、PyTorch 2.8.0以降が必要です。

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "OPEA/Qwen2.5-1.5B-Instruct-int4-sym-inc"
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="cpu", dtype="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
text = "There is a girl who likes adventure,"
inputs = tokenizer(text, return_tensors="pt").to(model.device)
print(tokenizer.decode(model.generate(**inputs, max_new_tokens=50, do_sample=False)[0]))

問題

transformers の統合に関する問題が発生した場合は、transformers リポジトリに issue を作成してください。
auto-round に関する問題が発生した場合は、AutoRound リポジトリに issue を作成してください。

謝辞

AutoGPTQ、AutoAWQ、GPTQModel、Triton、Marlin、ExLLaMAV2などのオープンソースの低精度ライブラリには、AutoRoundで活用されている低精度CUDAカーネルを提供していただき、心より感謝いたします。

貢献

AutoRound への貢献を大歓迎し、心より感謝いたします。 バグの修正、ドキュメントの改善、新機能の追加、改善提案など、どのような形でも、皆様のサポートを常に大切にしております。

Update on GitHub