tag QLoRA
QLoRA Nedir? Nicel LoRA ile Verimli Büyük Dil Modeli İnce Ayarı (QLoRA (Nicel Düşük Sıralı Uyarlama))
Bu sayfada QLoRA (QLoRA Nedir? Nicel LoRA ile Verimli Büyük Dil Modeli İnce Ayarı (QLoRA (Nicel Düşük Sıralı Uyarlama))) etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.
QLoRA (Quantized Low-Rank Adaptation), büyük dil modellerini sınırlı GPU belleğiyle ince ayarlamayı mümkün kılan bir parametre-etkin öğrenme tekniğidir. Tim Dettmers ve ekibi tarafından 2023 NeurIPS konferansında sunulan bu yöntem, modeli 4-bit kuantize ederek dondurur; ardından üzerine küçük LoRA adaptörleri eğitir. Temel model ağırlıkları hiçbir zaman güncellenmez — gradyanlar yalnızca adaptörlerden geçer. Tekniğin üç temel yeniliği şöyle açıklanabilir: **4-bit NormalFloat (NF4):** Sinir ağı ağırlıkları çoğunlukla sıfır merkezli normal dağılım gösterir. NF4, bu dağılıma göre tasarlanmış bilgi teorisi açısından optimal bir kuantizasyon veri tipidir. Standart INT4'ün yaklaşık bir puan üzerinde MMLU doğruluğu elde eder. **Çift Kuantizasyon:** İlk kuantizasyon adımında üretilen sabitlerin kendisi de ikinci kez kuantize edilir. Bu ekstra adım parametre başına ortalama 0,37 bit tasarruf yaratır ve 65 milyar parametreli bir modelde yaklaşık 3 GB ek bellek kazandırır. **Sayfalı Optimize Ediciler:** NVIDIA'nın birleşik bellek altyapısını kullanan bu mekanizma, GPU belleği dolduğunda optimizasyon durumlarını CPU RAM'ine aktarır; böylece uzun dizilerde yaşanan bellek taşması hatalarını önler. Bellek tasarrufu dramatiktir: 65 milyar parametreli bir modelin tam ince ayarı için yaklaşık 1 TB GPU belleği gerekirken QLoRA bunu tek bir 48 GB'lık GPU'ya sığdırır. 7B-8B parametreli modeller ise 10 GB'ın altında VRAM ile, yani RTX 3090 veya RTX 4090 gibi tüketici kartlarıyla eğitilebilir hale gelir. Çalışma zamanında 4-bit ağırlıklar geçici olarak BF16 formatına dönüştürülür, hesaplama yapılır ve atar; yani kalıcı olarak yüksek hassasiyetle saklanmaz. Bu tasarım kararı belleği minimize ederken kaliteyi korur. QLoRA, LLaMA, Mistral, Qwen ve Gemma dahil pratik olarak tüm dönüştürücü tabanlı modellerle çalışır. Araştırmacılar ve geliştiriciler bu yöntemi etki alanı uyarlaması, talimat ayarlaması ve RLHF tarzı hizalama görevleri için yoğun biçimde kullanmaktadır.
QLoRA Nedir? Nicel LoRA ile Verimli Büyük Dil Modeli İnce Ayarı (QLoRA (Nicel Düşük Sıralı Uyarlama))
QLoRA (Quantized Low-Rank Adaptation), büyük dil modellerini sınırlı GPU belleğiyle ince ayarlamayı mümkün kılan bir parametre-etkin öğrenme tekniğidir. Tim Dettmers ve ekibi tarafından 2023 NeurIPS konferansında sunulan bu yöntem, modeli 4-bit kuantize ederek dondurur; ardından üzerine küçük LoRA adaptörleri eğitir. Temel model ağırlıkları hiçbir zaman güncellenmez — gradyanlar yalnızca adaptörlerden geçer. Tekniğin üç temel yeniliği şöyle açıklanabilir: **4-bit NormalFloat (NF4):** Sinir ağı ağırlıkları çoğunlukla sıfır merkezli normal dağılım gösterir. NF4, bu dağılıma göre tasarlanmış bilgi teorisi açısından optimal bir kuantizasyon veri tipidir. Standart INT4'ün yaklaşık bir puan üzerinde MMLU doğruluğu elde eder. **Çift Kuantizasyon:** İlk kuantizasyon adımında üretilen sabitlerin kendisi de ikinci kez kuantize edilir. Bu ekstra adım parametre başına ortalama 0,37 bit tasarruf yaratır ve 65 milyar parametreli bir modelde yaklaşık 3 GB ek bellek kazandırır. **Sayfalı Optimize Ediciler:** NVIDIA'nın birleşik bellek altyapısını kullanan bu mekanizma, GPU belleği dolduğunda optimizasyon durumlarını CPU RAM'ine aktarır; böylece uzun dizilerde yaşanan bellek taşması hatalarını önler. Bellek tasarrufu dramatiktir: 65 milyar parametreli bir modelin tam ince ayarı için yaklaşık 1 TB GPU belleği gerekirken QLoRA bunu tek bir 48 GB'lık GPU'ya sığdırır. 7B-8B parametreli modeller ise 10 GB'ın altında VRAM ile, yani RTX 3090 veya RTX 4090 gibi tüketici kartlarıyla eğitilebilir hale gelir. Çalışma zamanında 4-bit ağırlıklar geçici olarak BF16 formatına dönüştürülür, hesaplama yapılır ve atar; yani kalıcı olarak yüksek hassasiyetle saklanmaz. Bu tasarım kararı belleği minimize ederken kaliteyi korur. QLoRA, LLaMA, Mistral, Qwen ve Gemma dahil pratik olarak tüm dönüştürücü tabanlı modellerle çalışır. Araştırmacılar ve geliştiriciler bu yöntemi etki alanı uyarlaması, talimat ayarlaması ve RLHF tarzı hizalama görevleri için yoğun biçimde kullanmaktadır.
Unsloth (Unsloth)
Unsloth, büyük dil modellerinin (LLM) ince ayarını standart yöntemlere kıyasla 2-5× daha hızlı ve yaklaşık %70 daha az GPU belleği (VRAM) kullanarak gerçekleştiren açık kaynaklı bir Python kütüphanesidir. Daniel Han tarafından 2023 yılında geliştirilen Unsloth, HuggingFace'in TRL (Transformer Reinforcement Learning) kütüphanesiyle tam uyumlu çalışır; mevcut eğitim betiklerine minimum kod değişikliğiyle entegre edilebilir. Kütüphanenin temel performans kazanımı, dikkat (attention) hesabı ve geri yayılım (backpropagation) için el ile yazılmış Triton/CUDA kernel'larından kaynaklanır. PyTorch'un genel amaçlı operatörleri yerine bellek bant genişliğini optimize eden bu özel çekirdekler, QLoRA (4-bit Quantized Low-Rank Adaptation) ve tam ince ayar (SFT) senaryolarında belirgin hız ve verimlilik artışı sunar. Flash Attention 2 entegrasyonu, aktivasyon yeniden hesaplama (gradient checkpointing) ve bellek havuzu optimizasyonları da ek tasarruf katkısı sağlar. Bu katmanlı yaklaşımla aynı model, çok daha küçük bir GPU üzerinde veya çok daha büyük bir batch boyutuyla eğitilebilir hale gelir. Desteklenen model aileleri arasında Llama 3.x, Mistral, Gemma, Phi-3/4, Qwen 2/3 ve DeepSeek yer alır. Tüketici sınıfı GPU'lar (RTX 3090, 4090, L4) üzerinde 7-70 milyar parametreli modellerin ince ayarını mümkün kılan Unsloth, ücretsiz Colab ve Kaggle ortamlarıyla da sorunsuz çalışır. DPO (Direct Preference Optimization), ORPO ve SFT gibi hizalama odaklı eğitim yöntemleri de tam desteklenir. Unsloth, kurumsal GPU altyapısına sahip olmayan araştırmacıların ve küçük ekiplerin alan spesifik modeller geliştirmesini demokratikleştirir. Apache 2.0 lisansıyla dağıtılan kütüphane, aktif bir açık kaynak topluluğu tarafından geliştirilmeye devam etmektedir. Eğitim sonrası modeller GGUF formatına (llama.cpp uyumu için) veya vLLM'e uyumlu biçimde dışa aktarılabilir. DeepSpeed, Axolotl ve LLaMA Factory gibi alternatif çerçeveler benzer yetenekler sunarken, Unsloth'un TRL uyumluluğu ve düşük kurulum eşiği hızlı deneme döngüleri için onu öne çıkarır.