Introduction
Transformers Kütüphanesinin, 5.0.0rc0 diye bir önizleme sürümünün çıktığını locallama'dan gördüğümde başta çok umursamamıştım, ama yorumları okudukça dakikalar içinde fırlatıp derhal bir script vibe code ettirip denedim; artık Transformers Kütüphanesinde GGUF ile uğraşılabiliyordu. Bu gönderi, ciddi bir blog gönderisinden çok, bugün 20 dakika içinde yaşadığım hislerin ve denemelerin bir ifadesidir
GGUF formatı ve İnce Ayar
GGUF Formatı üzerinde daha önce türlü gönderiler yapmıştım, ama özetlemek gerekirse GGUF formatı, ekran kartı zengini olmayanlar için vazgeçilmez bir hayat bilgisi olup, büyük dil modellerini kolay bir şekilde istediğimiz türde (rpc ile bilgisayarlar arası, veya RAM&VRAM ile bilgisayar içinde) paylaşım yaparak yerel çalıştırmamızı sağlayan bir formattır.
GGUF formatı, Transformers 5.0.0rc0 sürümünden önce ana kütüphaneden büyük ölçüde ayrı olup, gguf dosyalarını bu kütüphane ile düzenleyemiyorduk. Örneğin bir GGUF ince ayarı, son zamanlarda mümkün olmamış olsada bir zamanlar kendi programı ile yapılıyordu. O yüzden "Artık GGUF formatını ince ayar yapabiliyormuyuz transformers kütüphanesi" ile yorumlarını görünce hayatımın şoklarından birini geçirdim.
Bu yüzden Cursor IDE'yi açıp dökümanları^[1,2] yapıştırıp, bir vibe code yaptırdım. İlginç olarak bu sorunun cevabı; EVET.
Vibe Coding aşaması
Vibe Coding terimini bir çoğumuz günümüzde biliyoruz, Büyük Dil Modellerine kod yazdırma aşamasına verilen isim. Dökümanlara bakaran Gemini 3 Pro'ya basit bir "kurgusal" finetuning kodu yazmasını söyledim, çünkü çalışmasını beklemiyordum. Zaten başta çalışmadı; önce tokenizer sorunu yaşadım;
AutoTokenizer.from_pretrained(..., gguf_file=...) satırı, UnboundLocalError hatası verdi. Bu yüzden bazı dosyaları safetensor sürümünden (tokenizer.model dosyası) yükledim. Gemini 3 Pro'ya göre bu bir 5.0.0rc0 hatası ve sıradışı.
Sonra Chat Template hatası aldım, çünkü GGUF dosyasını unsloth'dan edinmiştim (ollama formatı) ve Go dilindeydi, Jinja2 değildi (HuggingFace bunu gerektiriyor). Bu yüzden yeni bir template.txt dosyasını oluşturdum.
Bu 2 sorunu kolayca çözdükten sonra denemelik yaptığım ince ayar kodu ilginç bir şekilde çalıştı;
"""
Loading GGUF model: ./gemma-3-270m-it-F16.gguf
Chat template missing, loading from template.txt...
Converting and de-quantizing GGUF tensors...: 100%|█| 236/236 [00:00<00:00, 1317
Loading weights: 100%|█| 236/236 [00:00<00:00, 12221.04it/s, Materializing param
Map: 100%|██████████████████████████| 566/566 [00:00<00:00, 12962.98 examples/s]
Starting training (GGUF -> Dequantized -> Finetune)...
0%| | 0/142 [00:00, ?it/s]/opt/miniconda3/envs/hf-v5_rc/lib/python3.11/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.
warnings.warn(warn_msg)
{'loss': '6.409', 'grad_norm': '218', 'learning_rate': '2e-05', 'epoch': '0.007067'}
...
"""
o an büyük bir mutluluk yaşadım, ama ayarları doğru ayarlamadığım için çıktı olan safetensor dosyasını (save_pretrained, bir safetensor kaydediyor) denediğimde güzel öğrenmiş değil, ama bir ölçüde öğrenmiş bir model gördüm.
Sonuç
GGUF modelleri ile artık direk uğraşabilmemiz, beni ilginç ve tarif edilemeyecek bir şekilde mutlu etti. Transformers 5.0.0rc0 gelişmesi, standartlar ve kolaylık konusundan büyük bir gelişmedir kendi fikrimce.
References
- 1. HuggingFace. "Transformers v5." HuggingFace Blog, 2025. https://huggingface.co/blog/transformers-v5
- 2. HuggingFace. "GGUF Documentation." HuggingFace Transformers Documentation, 2025. https://huggingface.co/docs/transformers/en/gguf