Transformers documentation
GGUF
GGUF
GGUF adalah format file tunggal yang digunakan untuk menyimpan model guna inferensi dengan GGML, yang berisi metadata model dan tensor. Format ini mendukung banyak tipe data kuantisasi (lihat tabel tipe kuantisasi), sehingga menghemat memori secara signifikan.

Muat model GGUF
Instal kernels, jika tidak jalur yang dikemas akan kembali ke dequantization penuh saat dimuat.
pip install kernels
Bobot tetap dalam keadaan ter-paket saat kernel Hub ggml-org/ggml-quantization tersedia. Loader secara default menggunakan MPS jika kernel tersebut hadir dan menjalankan matmul langsung pada blok yang ter-paket. Jika kernel tidak tersedia, model akan didekuantisasi saat dimuat.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "unsloth/Qwen3.5-4B-GGUF"
filename = "Qwen3.5-4B-Q4_K_M.gguf"
model = AutoModelForCausalLM.from_pretrained(model_id, gguf_file=filename)
tokenizer = AutoTokenizer.from_pretrained(model_id, gguf_file=filename)Load yang sama juga berfungsi untuk Qwen3.5 MoE.
moe_model_id = "unsloth/Qwen3.5-35B-A3B-GGUF"
moe_filename = "Qwen3.5-35B-A3B-Q4_K_M.gguf"
moe_model = AutoModelForCausalLM.from_pretrained(moe_model_id, gguf_file=moe_filename)
moe_tokenizer = AutoTokenizer.from_pretrained(moe_model_id, gguf_file=moe_filename)Jalur *packed* saat ini mendukung Qwen3.5 dan Qwen3.5 MoE. Muatan *packed* secara otomatis menggunakan float32 karena lebih cepat di MPS. Jika Anda mengatur dtype lain, pemuat akan mengembalikan peringatan. Arsitektur lain diproses melalui pemuat *legacy*.
Perhatian
Pada MPS, dengan kernel yang terpasang, ggml-attn adalah perhatian default saat memuat file GGUF: kernel flash-attention yang sama yang digunakan llama.cpp untuk decode dan prefill. Jika kernel tidak dapat diambil, model tetap mempertahankan implementasi perhatiannya. Menetapkan attn_implementation (misalnya "sdpa") selalu memiliki prioritas.
Anda juga dapat meneruskannya secara eksplisit:
model = AutoModelForCausalLM.from_pretrained(
model_id, gguf_file=filename, attn_implementation="ggml-org/ggml-attn"
)Dequantisasi
Dequantizing mengurai setiap bobot saat pemuatan dan mengembalikan model padat biasa. Ini adalah cadangan kapan pun jalur terkompresi yang cepat tidak berlaku. Anda juga dapat memintanya secara eksplisit dengan GgufConfig.
import torch
from transformers import AutoModelForCausalLM, GgufConfig
quantization_config = GgufConfig(dequantize=True)
model = AutoModelForCausalLM.from_pretrained(
model_id, gguf_file=filename, quantization_config=quantization_config, dtype=torch.bfloat16
)Anda akan mendapatkan model dense reguler dalam dtype yang Anda berikan.
Arsitektur selain Qwen3.5 dan Qwen3.5 MoE melewati legacy loader, yang selalu melakukan dekuantisasi.
Loader lama mendukung Llama, Mistral, Qwen2, Qwen2Moe, Phi3, Bloom, Falcon, StableLM, GPT2, Starcoder2, dan lainnya.
Serve
transformers serve mencantumkan setiap file .gguf dalam sebuah repositori sebagai model tersendiri. Model GGUF diberi nama <repo>:<file>.gguf, karena sebuah repositori menyimpan beberapa kuantisasi dan id harus menunjukkan kuantisasi mana yang akan dimuat. Permintaan juga menyebutkannya dengan cara yang sama.
transformers serve unsloth/Qwen3.5-4B-GGUF:Qwen3.5-4B-Q4_K_M.gguf