Transformers documentation
GGUF
GGUF
GGUF, GGML ile çıkarım için modelleri depolamada kullanılan, model meta verilerini ve tensörleri içeren tek dosyalı bir biçimdir. Birçok kuantize veri türünü destekler (kuantizasyon türü tablosuna bakınız) ve bu da önemli ölçüde bellek tasarrufu sağlar.

GGUF modellerini yükle
kernels paketini yükleyin, aksi takdirde paketlenmiş yol, yükleme sırasında tam dequantization işlemine geri düşer.
pip install kernels
Hub çekirdeği ggml-org/ggml-quantization mevcut olduğunda ağırlıklar paketli kalır. Yükleyici, bu çekirdek mevcut olduğunda varsayılan olarak MPS kullanır ve matmulleri doğrudan paketli bloklarda çalıştırır. Çekirdek mevcut değilse, model yüklenme sırasında dekuantize edilir.
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)Aynı yükleme, Qwen3.5 MoE için de geçerlidir.
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)Paketli yol şu anda Qwen3.5 ve Qwen3.5 MoE'yi desteklemektedir. Paketli yüklemeler, MPS üzerinde daha hızlı olduğu için otomatik olarak float32 kullanır. Farklı bir dtype ayarlarsanız, yükleyici bir uyarı döndürür. Diğer mimariler geleneksel yükleyici üzerinden işlenir.
Dikkat
MPS üzerinde, çekirdekler yüklüyse, GGUF dosyası yüklenirken varsayılan dikkat mekanizması ggml-attn'dir: llama.cpp'nin decode ve prefill için kullandığı aynı flash-attention çekirdeği. Çekirdek alınamazsa, model kendi dikkat uygulamasını korur. attn_implementation parametresinin (örneğin "sdpa") geçirilmesi her zaman önceliklidir.
Bunu ayrıca açıkça iletebilirsiniz:
model = AutoModelForCausalLM.from_pretrained(
model_id, gguf_file=filename, attn_implementation="ggml-org/ggml-attn"
)Dequantize
Dequantizing, yükleme sırasında her ağırlığı açar ve düz bir yoğun model döndürür. Hızlı, sıkıştırılmış yol uygulanmadığında her zaman yedek çözüm olarak kullanılır. Ayrıca GgufConfig ile bunu açıkça isteyebilirsiniz.
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
)Geçirdiğiniz dtype ile normal bir yoğun model elde edersiniz.
Qwen3.5 ve Qwen3.5 MoE dışındaki mimariler, her zaman dekuantizasyon yapan geleneksel yükleyiciden geçer.
Eski yükleyici Llama, Mistral, Qwen2, Qwen2Moe, Phi3, Bloom, Falcon, StableLM, GPT2, Starcoder2 ve daha fazlasını destekler.
Sun
transformers serve, bir depodaki her .gguf dosyasını ayrı bir model olarak listeler. Bir GGUF modelinin adı <repo>:<file>.gguf biçimindedir, çünkü bir depo birden fazla kuantizasyonu barındırır ve kimlik, yüklenmesi gerekenin hangisi olduğunu belirtmelidir. İstekler de modelin adını aynı şekilde belirtir.
transformers serve unsloth/Qwen3.5-4B-GGUF:Qwen3.5-4B-Q4_K_M.gguf