Transformers documentation

Pilih metode

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

Pilih metode

Jika checkpoint Anda sudah dikuantisasi, checkpoint tersebut yang menentukan metodenya. Muat sesuai yang ditunjukkan di Memuat checkpoint yang sudah dikuantisasi. Jika tidak, pilih metode berdasarkan perangkat keras Anda dan apa yang ingin Anda lakukan dengan model setelah dimuat.

Mulai dari tujuan Anda

Setiap baris merekomendasikan metode pertama yang perlu dicoba. Periksa tabel perbandingan lengkap sebelum Anda memutuskan untuk menggunakan salah satunya.

TujuanMulai denganMengapa
Latih model dengan memori lebih sedikit dan setup paling minimalbitsandbytesMengkuantisasi ke 4 atau 8 bit saat dimuat tanpa kalibrasi, berjalan di CUDA, XPU, HPU, dan CPU, serta mendukung penyimpanan dan fine-tuning.
Lakukan fine-tune dengan QLoRAbitsandbytesMendukung 4-bit NF4 dengan PEFT. HQQ, EETQ, GPTQ, SINQ, dan Quanto juga mendukung fine-tuning.
Percepat inferensi dengan torch.compiletorchaogenerate mengompilasi model torchao secara otomatis dengan cache statis, dan torchao memiliki skema int4, int8, dan FP8 untuk CUDA, XPU, dan CPU.
Dapatkan akurasi 4-bit terbaikGPTQMelakukan kalibrasi pada dataset saat memuat. Untuk menggunakan AWQ atau AutoRound sebagai gantinya, lakukan kuantisasi dengan pustaka mereka dan muat checkpoint-nya.
Jalankan FP8 di Ada, Hopper, atau Intel XPUFP8 berbutir halusMembutuhkan kemampuan komputasi CUDA 8.9 atau lebih tinggi, atau XPU. FBGEMM FP8 membutuhkan kemampuan komputasi 9.0 atau lebih tinggi, atau XPU.
Jalankan FP4 di BlackwellNVFP4Mengkuantisasi ke format float 4-bit NVIDIA saat memuat. MXFP4 berjalan pada compute capability 7.5 atau lebih tinggi, XPU, dan CPU.
Jalankan di Apple siliconMetalMengkuantisasi menjadi 2, 4, atau 8 bit pada MPS saat memuat. File GGUF juga dapat dimuat pada MPS.
Muat checkpoint yang dibuat dengan llm-compressorcompressed-tensorsMemuat checkpoint FP8, int4, dan int8 dalam format compressed-tensors.
Kompres di bawah 4 bitHQQ atau SINQKuantisasi ke 2 atau 3 bit saat memuat tanpa kalibrasi. Checkpoint AQLM, VPTQ, dan SpQR bisa lebih rendah, tetapi harus dikuantisasi dengan pustaka mereka sendiri.
Show the full comparison table
Metodequant_methodAlur KerjaBitPerangkat KerasSimpanFine-tuneAuto-compile
AQLMaqlmHanya pra-kuantisasi1–2CUDA, CPUβœ…βœ… dengan aqlm>=1.0.2❌
AutoRoundauto-roundHanya pra-kuantisasi2–8CUDA, XPU, CPUβœ…βŒβŒ
AWQawqHanya pra-kuantisasi4CUDA, ROCm, XPU, CPUβœ… kecuali backend ExLlamaβœ… dengan gptqmodel>=5.0.0❌
BitNetbitnetHanya pra-kuantisasi1.58CUDAβœ…Hanya autobitlinear dalam mode online❌
bitsandbytesbitsandbytesSaat memuat4, 8CUDA, XPU, HPU, CPUβœ…βœ…βŒ
compressed-tensorscompressed-tensorsHanya pra-kuantisasiDitetapkan oleh checkpointCUDA, XPU, MPS, CPUβœ…βœ… kecuali dengan kernel FP8βœ…
EETQeetqSaat memuat8CUDAβœ…βœ…βŒ
FBGEMM FP8fbgemm_fp8Saat memuat8CUDA (kemampuan komputasi 9.0+), XPUβœ…βŒβŒ
FP8 berbutir halusfp8, mxfp8Saat memuat8CUDA (kemampuan komputasi 8.9+), XPUβœ…βŒβœ…
Empat dari EnamfouroversixSaat memuat4CUDA (paling cepat di Blackwell), CPUβœ…Hanya dengan keep_master_weights=True❌
FP-Quantfp_quantSaat memuat4CUDA, XPUβœ…Hanya dengan store_master_weights=True❌
GGUFggufHanya pra-kuantisasi1–8CUDA, MPS, XPU, CPUβŒβŒβœ…
GPTQgptqSaat memuat, dengan kalibrasi2, 3, 4, 8CUDA, ROCm, XPU, CPUβœ…βœ…βŒ
HIGGShiggsSaat memuat2, 3, 4CUDAβœ…βŒβŒ
HQQhqqSaat memuat1, 2, 3, 4, 8CUDA, XPUβœ…βœ…βŒ
MetalmetalSaat memuat2, 4, 8MPSβœ…βŒβŒ
MXFP4mxfp4Saat memuat4CUDA (kemampuan komputasi 7.5+), XPU, CPUβœ…βŒβŒ
NVFP4nvfp4Saat memuat4Satu GPU BlackwellβŒβŒβœ…
QuantoquantoSaat memuat2, 4, 8CUDA, MPS, XPU, CPUβŒβœ…βŒ
QuarkquarkHanya pra-kuantisasiDitetapkan oleh checkpointCUDA, ROCm, CPU❌❌❌
SINQsinqSaat memuat2, 3, 4, 6, 8Satu GPU CUDA, CPUβœ…βœ…βŒ
SpQRspqrHanya pra-kuantisasi3CUDAβœ…βŒβŒ
torchaotorchaoSaat memuat4, 8CUDA, XPU, CPUβœ…Hanya skema 8-bitβœ…
VPTQvptqHanya pra-kuantisasi1–8CUDAβœ…βŒβŒ

Periksa memori dengan pemilih kuantisasi

Pemilih kuantisasi memperkirakan apakah sebuah model muat di perangkat keras Anda pada setiap presisi, termasuk KV cache. Pilih model, perangkat keras Anda, dan apa yang Anda butuhkan dari metode tersebut, lalu tampilan Bandingkan akan menampilkan daftar metode yang cocok.

Benchmarks

Benchmarks di bawah ini membandingkan beberapa metode pada Llama 3.1 8B dan 70B. Mereka melaporkan akurasi, throughput dalam token per detik, memori puncak dalam GB, dan waktu kuantisasi.

Llama 3.1 70B dalam bf16 dijalankan pada 2 GPU NVIDIA A100 80GB. Metode FP8 dijalankan pada 1 GPU NVIDIA H100 80GB, dan semua metode lainnya dijalankan pada 1 GPU NVIDIA A100 80GB. Throughput diukur pada batch size 1, menghasilkan 64 token. Hasil mencakup torch.compile dan kernel Marlin di mana metode tersebut mendukungnya.

Hasilnya dikelompokkan ke dalam tiga rentang bit.

BitMetode yang diujiMemori vs. bf16Akurasi
8bitsandbytes int8, HQQ, Quanto, torchao, FP8Sekitar 2x lebih kecilSangat dekat dengan bf16
4AWQ, GPTQ, HQQ, bitsandbytes NF4, SINQSekitar 4x lebih kecilTinggi. AWQ dan GPTQ sering kali unggul, tetapi memerlukan kalibrasi.
Di bawah 4VPTQ, AQLM, 2-bit GPTQLebih dari 4x lebih kecilPenurunan yang cukup signifikan, terutama pada 2 bit. AQLM dan VPTQ membutuhkan waktu lama untuk melakukan kuantisasi.

Ukur akurasi dan kecepatan pada tugas dan perangkat keras Anda sendiri sebelum memilih metode untuk produksi.

Update on GitHub