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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoRound

AutoRound, 2-bit hassasiyette bile güçlü doğruluk sunan gelişmiş bir kuantizasyon algoritmasıdır. İşaret gradyan inişinden (sign gradient descent) yararlanarak hem yuvarlama değerlerini hem de min-max kırpma eşiklerini yalnızca 200 adımda ince ayarlar. Geniş uyumluluk için tasarlanmış olup geniş bir LLM yelpazesini sorunsuz şekilde destekler ve kapsamını giderek daha fazla VLM'yi kapsayacak şekilde aktif olarak genişletmektedir. Ayrıca CPU, XPU ve CUDA dahil olmak üzere çeşitli donanım platformlarında kuantizasyon ve çıkarım (inference) işlemlerini destekler.

AutoRound, otomatik karma bit ayarı ve çıkarım, MXFP4 ve NVFP4 veri türleri desteği, model bağımsız kuantizasyon, GPTQ, AWQ, GGUF ve LLM-Compressor gibi formatlara dışa aktarma ve esnek ayar tarifleri gibi çeşitli faydalı özellikler sunar. Kapsamlı bir genel bakış ve en son güncellemeler için AutoRound README'sine göz atın.

AutoRound, derin öğrenme için genel amaçlı bir model sıkıştırma kütüphanesi olarak Intel Neural Compressor'ın bir parçası olarak geliştirilmiştir. Zamanla, büyük dil modelleri (LLM) için düşük hassasiyetli optimizasyona odaklanan bağımsız bir kütüphaneye evrilmiştir. AutoRound, Intel Neural Compressor ile tam olarak entegre kalmaya devam etmektedir ve daha fazla ayrıntı için depoyu inceleyebilirsiniz.

Kurulum

pip install auto-round

Desteklenen Kuantizasyon Yapılandırmaları

AutoRound aşağıdaki kuantizasyon yapılandırmalarını destekler:

  1. INT2–INT8 Sadece Ağırlık
  2. Karışık-Bit Sadece Ağırlık
  3. GGUF Q*_K
  4. MXFP (sınırlı destek)
  5. NVFP4 (sınırlı destek)

Donanım Uyumluluğu

Hem kuantizasyon hem de çıkarım için CPU, XPU ve CUDA.

Kantizasyon ve Seriye Alma (çevrimdışı)

Şu anda, kuantize modelleri üretmek için yalnızca çevrimdışı mod desteklenmektedir.

quantization komutu
auto şema cmd
alg kombinasyonları
quantization auto-round api
quantization auto-round-best
quantization auto-round-light

Komut Satırı Kullanımı

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

AutoRound, sırasıyla en yüksek doğruluk ve iyileştirilmiş hız için tasarlanmış auto-round-best, auto-round-light, auto-round-opt-rtn ve auto-round-rtn olmak üzere dört ek tarif daha sunar. 2 bit için auto-round-best’ın --enable_alg_ext ile kullanılmasını öneririz.

W4G128 ortalama doğruluğu 13 görev (mmlu-pro, if_eval, gsm8k vb.) ve zaman maliyeti sonuçları (Testler, enable_torch_compile ile PyTorch 2.6.0 sürümü kullanılarak Nvidia A100 80G üzerinde gerçekleştirildi):

ModelQwen2.5-0.5B-InstructFalcon3-3BQwen2.5-7B-InstructMeta-Llama-3.1-8B-InstructFalcon3-10BQwen2.5-72B-Instruct
16 bits0.41920.52030.64700.62120.61510.7229
En iyi0.4137(7m)0.5142(23m)0.6426(58m)0.6116(65m)0.6092(81m)0.7242(575m)
Varsayılan0.4129(2m)0.5133(6m)0.6441(13m)0.6106(13m)0.6080(18m)0.7252(118m)
Açık0.4052(2m)0.5108(3m)0.6453(5m)0.6104(6m)0.6063(6m)0.7243(37m)

Çıkarım

AutoRound, kurulu kütüphanelere göre en iyi kullanılabilir arka ucu otomatik olarak seçer ve daha iyi bir arka uç bulunduğunda kullanıcıya ek kütüphanelerin yüklenmesini önerir.

inference cpu
inference xpu
inference cuda
çalıştırma arka ucu
format dönüştür

CPU

2, 4 ve 8 bit'i destekler. Çıkarım için AutoRound Kernel (ARK) arka ucunu kullanmanızı öneririz. ARK ile birlikte PyTorch 2.8.0 veya daha yeni bir sürüm gereklidir.

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]))

Sorunlar

transformers entegrasyonuyla ilgili herhangi bir sorunla karşılaşırsanız, lütfen transformers deposunda bir sorun açın.
auto-round ile ilgili herhangi bir sorunla karşılaşırsanız, lütfen AutoRound deposunda bir sorun açın.

Teşekkür

AutoGPTQ, AutoAWQ, GPTQModel, Triton, Marlin ve ExLLaMAV2 gibi açık kaynak düşük hassasiyetli kütüphanelere, AutoRound'da kullanılan düşük hassasiyetli CUDA çekirdeklerini sağladıkları için özel teşekkürler.

Katkı

AutoRound projesine yapılan katkılar memnuniyetle karşılanır ve büyük takdirle karşılanır! Hata düzeltme, dokümantasyonu iyileştirme, yeni özellikler ekleme veya iyileştirme önerileri sunma gibi konularda desteğiniz her zaman değerlidir.

Update on GitHub