Apa itu Quantization pada model AI, apa arti Q 0 K M

⚙️ Perbedaan INT4 vs Q4: Sama Tapi Tak Serupa
Saat mulai mengunduh model AI lokal (terutama dalam format GGUF untuk dijalankan di Ollama atau llama.cpp), Anda pasti sering melihat label Q4 dan bertanya-tanya, "Loh, bedanya apa dengan INT4?"
Secara mendasar, keduanya berhubungan dengan kompresi 4-bit, tetapi konteks penggunaannya berbeda:
-
INT4 (4-bit Integer): Ini adalah istilah dasar ilmu komputer untuk tipe data angka bulat yang berukuran 4 bit. Ini merujuk pada "wadah" datanya itu sendiri.
-
Q4 (Quantized 4-bit): Ini adalah metode atau skema yang digunakan (terutama di ekosistem
llama.cpp/ GGUF) untuk memasukkan bobot model ke dalam wadah INT4 tersebut. Skema Q4 tidak murni mengubah semua bobot menjadi 4-bit mentah, melainkan membagi bobot menjadi blok-blok kecil (misalnya per 32 angka) dan menyimpan satu angka "pengali" (scale factor) dalam format presisi lebih tinggi (seperti FP16) agar akurasinya tidak hancur lebur.
Singkatnya: INT4 adalah ukuran kotaknya, sedangkan Q4 adalah teknik seni melipat bajunya agar muat ke dalam kotak tersebut tanpa membuatnya terlalu kusut.
⯑️ Mengenal Q4_0 hingga Q4_K_M: Varian Kompresi 4-bit dalam Ekosistem LLM
Jika Anda mengunduh model dari HuggingFace (misalnya model dari TheBloke atau Bartowski), Anda akan disuguhkan banyak sekali varian file dengan akhiran seperti q4_0, q4_K_S, hingga q4_K_M. Apa arti sandi-sandi ini?
Huruf "K" merujuk pada metode K-Quants, sebuah teknik kuantisasi tingkat lanjut yang cerdas. K-Quants tidak memukul rata semua bagian AI (layer) menjadi 4-bit. Bagian "otak" AI yang paling krusial mungkin disisakan di 5-bit atau 6-bit, sementara bagian yang kurang penting ditekan hingga 3-bit atau 4-bit.
Berikut adalah kasta varian Q4 dari yang paling lawas hingga yang paling direkomendasikan:
-
Q4_0: Metode kuantisasi 4-bit generasi pertama. Paling dasar, paling cepat proses kompresinya, tapi tingkat akurasinya paling banyak "bocor" (penurunan kualitas respon cukup terasa).
-
Q4_1: Versi upgrade dari Q4_0. Menyimpan titik nol (zero point) tambahan, sehingga akurasinya sedikit lebih baik dari Q4_0, namun ukuran file-nya sedikit lebih besar.
-
Q4_K_S (Small): Menggunakan metode K-Quants yang memprioritaskan ukuran file sekecil mungkin di kelas 4-bit. Cocok jika RAM/VRAM PC Anda benar-benar mepet.
-
Q4_K_M (Medium): ⯑ Rekomendasi Utama (Sweet Spot). Separuh bobot disimpan di 4-bit dan separuhnya lagi menggunakan skema yang lebih presisi. Ukurannya sangat seimbang antara hemat memori dan menjaga kecerdasan AI agar tetap nyambung saat diajak ngobrol (perplexity rendah).
⯑ Pengaruh Quantization 4-bit terhadap Akurasi Model Bahasa Besar (LLM)
Mitos terbesar dalam dunia AI lokal adalah: "Mengubah model dari 32-bit ke 4-bit akan membuat AI menjadi bodoh." Faktanya: Penurunan kualitasnya sangat minimal dan sering kali tidak disadari oleh manusia!
Dalam mengukur tingkat "kebodohan" AI yang dikompres, para ahli menggunakan metrik bernama Perplexity. Semakin tinggi nilai perplexity, semakin bingung AI tersebut dalam memprediksi kata selanjutnya.
Apa yang terjadi jika kita menggunakan Q4_K_M?
-
Akurasi Logika Terjaga: Model akan tetap mampu coding, merangkum teks, dan bernalar dengan baik. Anda mungkin hanya akan melihat perbedaan gaya bahasa yang sedikit lebih kaku dibanding versi aslinya (FP16/FP32).
-
VRAM Super Hemat: Sebuah model dengan 7 Miliar Parameter (7B) versi FP16 membutuhkan memori VRAM sekitar 14 GB. Tapi dengan kuantisasi Q4_K_M, model yang sama hanya membutuhkan sekitar 4.5 GB VRAM.
-
Kemandirian Hardware: Berkat kompresi Q4_K_M, pengguna PC atau laptop rumahan dengan kartu grafis kelas menengah (atau sekadar menggunakan RAM CPU lewat
llama.cpp) kini bisa menjalankan AI sekelas asisten virtual canggih secara lokal, gratis, dan tanpa internet!
✅ INT4 ≈ Q4
✅ INT8 ≈ Q8
Tapi ada sedikit nuansa teknis. Mari kita jelaskan:
? Perbandingan Q4 / Q8 vs INT4 / INT8
|
Istilah |
Makna Umum |
Catatan Teknis |
|
INT4 |
Integer 4-bit (misalnya 0–15 atau -8 hingga 7) |
Biasanya merujuk ke format data mentah |
|
Q4 |
Quantized 4-bit |
Biasanya termasuk skala + nol-titik (scale + zero-point) |
|
INT8 |
Integer 8-bit (-128 s.d. 127) |
Representasi integer murni |
|
Q8 |
Quantized 8-bit |
Bisa berarti INT8 yang sudah dikalibrasi |
? Bedanya Secara Praktis
- ✅ INT4 / INT8: Hanya tipe data — belum tentu efisien atau akurat.
- ✅ Q4 / Q8: Biasanya sudah mengalami proses quantization (misalnya dengan teknik GPTQ, AWQ, QLoRA), sehingga:
- Sudah disesuaikan (kalibrasi skala/nol).
- Dapat digunakan langsung untuk inference.
- Sudah disesuaikan (kalibrasi skala/nol).
? Contoh dari Dunia Nyata
|
Format GGUF / llama.cpp |
Artinya |
|
Q4_0, Q4_K, Q4_K_M |
Berbagai varian quantized 4-bit (INT4) |
|
Q5_1, Q5_K |
Versi 5-bit quantized |
|
Q8_0 |
Versi quantized 8-bit |
⚠️ Q4 ≠ satu jenis saja — banyak varian seperti Q4_0, Q4_K, dsb. Beberapa lebih akurat, beberapa lebih ringan.
? Kesimpulan
- ✅ INT4 = Q4 secara umum → digunakan bergantian dalam konteks AI inference.
- ⚠️ Tapi Q4 lebih spesifik → sudah melewati kalibrasi & scaling.
- ✅ Kalau kamu melihat model "Q4" di Hugging Face atau llama.cpp, itu artinya model sudah siap inferensi dalam format 4-bit.

