PEFT (Parameter-Efficient Fine-Tuning), büyük bir ön eğitimli modelin bütün ağırlıklarını değiştirmek yerine küçük bir parametre alt kümesini veya modele eklenen hafif bileşenleri eğiterek modeli yeni görevlere uyarlayan yöntem ailesidir. Türkçede “parametre verimli ince ayar” olarak karşılanabilir. Amaç yalnızca GPU belleğinden tasarruf etmek değil; aynı temel model üzerinde küçük, taşınabilir ve göreve özel adaptörler geliştirmektir.
PEFT günlük kullanımda iki farklı şeyi ifade eder. Birincisi LoRA, IA3 ve prompt tuning gibi yöntemlerin genel sınıfıdır. İkincisi ise bu yöntemleri Transformers, Diffusers ve Accelerate ile uygulayan açık kaynak Hugging Face PEFT kütüphanesidir. Bu yazı önce mühendislik yaklaşımını açıklıyor, ardından kütüphanedeki temel kavramları ve production kararlarını ele alıyor.
PEFT, temel model ağırlıklarını büyük ölçüde dondurup yalnızca küçük adaptörleri, ölçekleme vektörlerini veya öğrenilebilir soft promptları eğitir. Böylece optimizer daha az parametre için gradyan ve state tutar; eğitim ve checkpoint maliyeti düşer. PEFT bir veri kalitesi çözümü değildir ve her görevde full fine-tuning ile aynı sonucu garanti etmez.
1 PEFT neden ortaya çıktı?
Full fine-tuning sırasında modelin bütün eğitilebilir ağırlıkları için gradyan ve optimizer state tutulur. AdamW kullanılan mixed-precision bir koşuda bu state'ler model ağırlıklarının birkaç katı bellek tüketebilir. Her görev için tam model checkpoint'i saklamak da model boyutu büyüdükçe operasyonel olarak pahalı hale gelir.
PEFT, ön eğitimli modeldeki genel temsilleri koruyup göreve özgü değişimi küçük bir parametre bütçesine taşır. Hugging Face dokümantasyonu bu yaklaşımın eğitilebilir parametre, hesaplama ve depolama maliyetini önemli ölçüde düşürürken birçok görevde full fine-tuning'e yakın sonuç verebildiğini belirtir (PEFT dokümantasyonu). “Yakın” ifadesi önemlidir: sonuç model, görev, veri, yöntem ve parametre bütçesine bağlıdır.
2 PEFT ile full fine-tuning arasındaki temel fark
| Özellik | Full fine-tuning | PEFT |
|---|---|---|
| Eğitilen parametreler | Modelin tamamı veya büyük bölümü | Küçük ek/ seçili parametre grubu |
| Optimizer belleği | Çok yüksek | Eğitilebilir parametrelerle sınırlı |
| Checkpoint | Tam model ağırlıkları | Genellikle küçük adapter dosyası |
| Görev başına dağıtım | Ayrı tam model gerekebilir | Aynı base üzerinde adapter değiştirilebilir |
| Uyarlama kapasitesi | En yüksek | Yöntem ve bütçeyle sınırlı |
| Base model bağımlılığı | Çıktı bağımsız tam checkpoint olabilir | Doğru base model ve sürümü gerekir |
PEFT, “model artık hiç hesaplama yapmıyor” anlamına gelmez. Frozen katmanlarda optimizer state tutulmaz; ancak forward geçişi ve adaptörlere gradyan ulaştırmak için backward grafiğinin önemli bölümü hâlâ çalışır. Uzun sequence activations, attention ve geçici kernel belleği devam eder. Bu nedenle PEFT 7B modeli küçük GPU'ya sığdırabilirken max sequence length'i sınırsız hale getirmez.
3 PEFT yöntemleri nasıl sınıflandırılır?
Yöntemlerin tamamı “LoRA çeşidi” değildir. Modele müdahale ettikleri yere göre üç pratik grupta düşünülebilir:
- Ağırlık/adaptör tabanlı: LoRA, AdaLoRA ve DoRA gibi yöntemler ağırlık güncellemesini düşük maliyetli bir yapı ile temsil eder.
- Activation ölçekleme: IA3 gibi yöntemler attention ve feed-forward activations üzerinde öğrenilebilir vektörler kullanır.
- Soft prompting: Prompt tuning ve prefix tuning, donmuş modele öğrenilebilir sürekli vektörler ekler.
- Seçici tuning: Bias, LayerNorm veya belirli token/katman alt kümelerini eğiten yöntemler yalnızca seçili mevcut parametreleri açar.
En az parametreyi eğiten yöntem her zaman en iyi yöntem değildir. Görev modelin mevcut yeteneklerini yalnızca yönlendirmeyi gerektiriyorsa soft prompt yeterli olabilir. Yeni çıktı yapısı veya güçlü davranış değişikliği için lineer katmanlara uygulanan LoRA daha esnek olabilir. Çok dar bellek bütçesinde IA3 değerlendirilebilir.
4 LoRA: en yaygın PEFT yöntemi
LoRA, donmuş bir ağırlık matrisi W için güncellemeyi iki küçük matrisin çarpımıyla temsil eder: W' = W + sBA. Burada rank r, bu dar ara boyutu belirler. Bird_out × d_in lineer katmanda full güncelleme d_out × d_in parametre isterken LoRA yaklaşıkr × (d_in + d_out) parametre ekler.
4096 × 4096 lineer katman:
Full ağırlık: 16.777.216 parametre
LoRA r=16: 16 × (4096 + 4096) = 131.072 parametre
Bu katman için yaklaşık 128 kat daha az eğitilebilir parametre.Toplam tasarruf, LoRA'nın kaç katmana ve hangi modüllere uygulandığına bağlıdır. Orijinal LoRA çalışması, düşük-rank güncellemelerle eğitilebilir parametreyi ve bellek ihtiyacını ciddi biçimde azaltırken çeşitli görevlerde güçlü sonuçlar bildirdi (Hu ve ark., 2021).
LoRA'nın temel kararları r, lora_alpha, target_modules, dropout ve ayrıca saklanacak modüllerdir. Rank kapasiteyi, alpha güncelleme ölçeğini belirler. Bunların ayrıntılı seçimini LLM fine-tuning teknik rehberimizde formüller ve VRAM stratejileriyle açıkladık.
5 QLoRA PEFT midir, quantization mıdır?
QLoRA iki fikri birleştirir: Donmuş temel model ağırlıkları 4-bit olarak yüklenir, hesaplamada uygun hassasiyete açılır ve eğitilebilir LoRA adaptörleri daha yüksek hassasiyette tutulur. Dolayısıyla quantization temel modelin bellek temsilini, LoRA ise hangi parametrelerin eğitileceğini çözer. Yalnızca modeli 4-bit yüklemek fine-tuning değildir; yalnızca LoRA kullanmak da QLoRA değildir.
QLoRA; NF4, double quantization ve paged optimizer gibi tekniklerle büyük modellerin daha sınırlı GPU'larda uyarlanmasını hedefler (Dettmers ve ark., 2023). 4-bit base üzerinde training yapılması, adapter checkpoint'inin 4-bit olduğu anlamına gelmez. Ayrıca quantization kaynaklı kalite farkı görev ve model bazında mutlaka ölçülmelidir.
6 rsLoRA, AdaLoRA ve DoRA neyi değiştirir?
rsLoRA
Klasik LoRA adaptör katkısını alpha/r ile ölçekler. Rank-stabilized LoRA, daha yüksek ranklarda öğrenme sinyalinin gereğinden fazla küçülmesini önlemek için alpha/sqrt(r) kullanır. PEFT'teuse_rslora=True ile açılabilir. Özellikle farklı rankları karşılaştırırken klasik ölçeğin rank etkisini sonuçlara karıştırmasını azaltmayı hedefler (Kalajdzievski, 2023).
AdaLoRA
Standart LoRA çoğu hedef matrise aynı rank bütçesini verir. AdaLoRA, katmanların önemini eğitim sırasında değerlendirip sınırlı parametre bütçesini adaptif biçimde dağıtır; önemsiz güncellemelerdeki singular value'ları budar. Özellikle çok düşük bütçede eşit rank dağılımından daha verimli olmayı amaçlar (Zhang ve ark., 2023).
DoRA
DoRA, ağırlığı büyüklük ve yön bileşenlerine ayırır; yön güncellemesinde LoRA kullanırken magnitude bileşenini ayrıca öğrenir. Amaç LoRA ile full fine-tuning arasındaki öğrenme dinamiği farkını azaltmaktır. Çalışma; dil, görüntü ve çok modlu görevlerde LoRA'ya kıyasla kazanımlar raporlar (Liu ve ark., 2024). Bunun karşılığında eğitim hesaplaması ve geçici bellek Vanilla LoRA'dan daha yüksek olabilir.
7 IA3: matris yerine activation ölçekleme
IA3, attention key/value ve feed-forward ara activations için öğrenilebilir ölçekleme vektörleri ekler. Düşük-rank matris güncellemesi yerine vektör kullandığı için eğitilebilir parametre sayısı LoRA'dan da küçük olabilir. T-Few çalışması, az örnekli görevlerde PEFT'in in-context learning'e göre doğruluk ve hesaplama açısından avantajlı olabildiğini gösterirken IA3 yöntemini tanıttı (Liu ve ark., 2022).
IA3 çok küçük adapter ve hızlı görev değiştirme için caziptir; ancak karmaşık davranış dönüşümlerinde LoRA'nın matris kapasitesi daha esnek olabilir. Seçim yalnızca checkpoint boyutuna göre değil, hedef eval sonucu ve serving mimarisine göre yapılmalıdır.
8 Prompt tuning ve prefix tuning
Soft prompt yöntemleri insanın okuyabildiği kelimeler üretmez. Modelin embedding uzayında geri yayılımla öğrenilen sürekli vektörler oluşturur. Prompt tuning bu sanal tokenları girişe ekler. Çalışma, model ölçeği büyüdükçe prompt tuning'in full model tuning ile arasındaki farkı bazı T5 görevlerinde kapatabildiğini bildirdi (Lester ve ark., 2021).
Prefix tuning, her Transformer katmanındaki attention mekanizmasına öğrenilebilir prefix key/value gösterimleri sağlar. Orijinal çalışma, parametrelerin yaklaşık yüzde 0,1'ini öğrenerek table-to-text ve özetleme görevlerinde full fine-tuning'e yakın sonuçlar raporladı (Li ve Liang, 2021).
Bu yöntemlerin adapter dosyaları çok küçüktür; ancak sanal token/prefix kullanımı kullanılabilir context alanını ve KV cache'i etkileyebilir. Ayrıca soft prompt başka tokenizer veya base model sürümüne taşınabilen doğal dil promptu değildir.
9 Hangi PEFT yöntemi ne zaman seçilmeli?
| İhtiyaç | İlk aday | Kontrol edilmesi gereken |
|---|---|---|
| Genel instruction/format uyarlama | LoRA | Target module, rank, alpha |
| Tek GPU'da büyük model | QLoRA | 4-bit kalite farkı ve compute dtype |
| Yüksek rankta kararlılık | rsLoRA | Alpha ve LR birlikte |
| Çok sıkı parametre bütçesi | AdaLoRA veya IA3 | Gerçek görev kapasitesi |
| LoRA-full FT kalite farkını azaltma | DoRA | Ek compute ve VRAM |
| Çok küçük görev başına state | Prompt/prefix tuning | Model ölçeği ve context maliyeti |
| Yeni bilgi ekleme | Önce RAG | Bilginin güncelliği ve kaynak gereksinimi |
PEFT davranış veya görev uyarlaması için güçlüdür; sık değişen kurumsal bilgiyi ağırlıklara yazmak için varsayılan çözüm değildir. Bilginin kaynağının gösterilmesi ve güncellenmesi gerekiyorsa RAG daha uygun olabilir. PEFT ve RAG birlikte de kullanılabilir: adapter cevap biçimini öğretirken retrieval güncel kanıtı sağlar.
10 Hugging Face PEFT ile temel LoRA akışı
from peft import LoraConfig, get_peft_model
config = LoraConfig(
task_type="CAUSAL_LM",
r=16,
lora_alpha=32,
lora_dropout=0.05,
target_modules=[
"q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj",
],
bias="none",
use_rslora=True,
)
model = get_peft_model(base_model, config)
model.print_trainable_parameters()target_modules isimleri mimariye göre değişir; başka modelden kopyalanmamalıdır. Eğitim başlamadan önce trainable parametre listesi, toplam oran ve birkaç adaptör tensörünün dtype/device bilgisi yazdırılmalıdır. PEFT dokümantasyonu; adapter ekleme, etkinleştirme ve silme işlemlerini Transformers entegrasyonu üzerinden de destekler (Transformers PEFT entegrasyonu).
print_trainable_parameters() beklenenden yüksek oran gösteriyorsa embedding, LM head veya bias yanlışlıkla açılmış olabilir. Beklenenden çok düşükse target module isimleri modelle eşleşmiyor olabilir. Eğitim kaybının düşmesi tek başına adaptörün doğru yerlere takıldığını kanıtlamaz.
11 Adapter kaydetme, yükleme ve base model bağımlılığı
Bir PEFT checkpoint'i genellikle base modelin tamamını içermez. Adapter config; base model kimliğini, yöntem ayarlarını ve hedef modülleri tarif eder; adapter ağırlıkları yalnızca öğrenilen küçük farkı taşır. Production'da şu bilgilerin sürümlenmesi gerekir:
- base model repository ve kesin revision/commit,
- tokenizer dosyaları, chat template ve ek özel tokenlar,
- PEFT/Transformers sürümleri ve adapter config,
- quantization config ve compute dtype,
- eğitim veri sürümü, eval raporu ve lisans ilişkisi.
“Aynı isimli” fakat farklı revision bir base modele adapter takmak shape hatası vermese bile davranışı bozabilir. Tokenizer'a token eklendiyse embedding veya LM head değişikliklerinin ayrıca saklanması gerekebilir. Adapter dosyasını tek başına yedeklemek bu durumda yeterli değildir.
12 Merge, hotswap ve çoklu adapter
LoRA adaptörü runtime'da base ağırlığa eklenerek kullanılabilir veya merge_and_unload() ile base ağırlığa birleştirilebilir. Merge, ayrı adapter hesaplamasını kaldırıp standalone model üretir; ancak adapterı anlık değiştirme ve base'i ortak paylaşma avantajını azaltır. Merge işlemi quantized modelde dtype ve bellek açısından ayrıca test edilmelidir.
Bir base model üzerinde müşteri, dil veya görev başına adapter yüklemek depolamayı azaltabilir. Buna karşılık adapter cache, tenant yetkilendirmesi, eşzamanlı yükleme, GPU belleği ve yanlış adapter seçimi yeni operasyonel risklerdir. Adapter adını istemciden doğrulamadan kabul etmek, başka müşterinin davranış adaptörünün çalıştırılmasına neden olabilir.
Farklı adapterları ağırlıklı birleştirmek mümkündür; fakat iki yeteneğin otomatik ve kayıpsız birleşeceği garanti değildir. Parametre yönleri çatışabilir. PEFT model merging rehberi linear, SVD ve TIES gibi yöntemler sunar; birleşmiş modelin her kaynak görevde yeniden değerlendirilmesi gerekir (PEFT model merging rehberi).
13 PEFT'in çözmediği sorunlar
- Kötü veri: Az parametre eğitmek yanlış, tekrarlı veya sızıntılı veriyi düzeltmez.
- Halüsinasyon: Adapter olgusal doğruluğu garanti etmez; kaynaklı bilgi için retrieval gerekebilir.
- Uzun bağlam: PEFT context window'ı ve attention maliyetini kendiliğinden büyütmez.
- Yeni tokenizer: Dil uyumsuz tokenizer problemi yalnızca LoRA ekleyerek tamamen çözülmez.
- Güvenlik: Zararlı veya yetkisiz eğitim verisi backdoor ve davranış bozulması üretebilir.
- Serving maliyeti: Base model inference maliyeti büyük ölçüde yerinde kalır.
PEFT daha az trainable parametre sayesinde catastrophic forgetting riskini azaltabilir; fakat ortadan kaldırmaz. Adapter çıktısı base modelin davranışını güçlü biçimde yönlendirebilir. Hedef görev kazanımı, genel yetenek, güvenlik, farklı diller ve uzun bağlam senaryoları adapter açık/kapalı karşılaştırılmalıdır.
14 Sık yapılan PEFT hataları
- Model mimarisini kontrol etmeden başka eğitimden
target_moduleskopyalamak. - Trainable parametreleri yazdırmadan eğitimi başlatmak.
- Rank ve alpha'yı aynı kavram sanmak veya LR ile birlikte kontrolsüz büyütmek.
- QLoRA'da compute dtype, quantization ve adapter dtype farklarını doğrulamamak.
- Prompt/user tokenlarında yanlışlıkla loss hesaplamak.
- Base revision, tokenizer ve chat template'i adapter ile sürümlememek.
- En düşük training loss checkpoint'ini doğrudan production'a almak.
- Merge sonrası modeli tekrar eval etmemek.
15 Sağlam PEFT deney planı
- Base modelin sıfır-shot/few-shot başarısını ölçerek baseline oluşturun.
- Veriyi train/validation/kapalı test olarak ayırın; chat template ve loss maskeyi test edin.
- LoRA ile küçük bir başlangıç koşusu yapın; trainable parametre ve VRAM'i kaydedin.
- LR, rank ve target module değişkenlerini aynı anda değil kontrollü sırayla tarayın.
- LoRA sınırına gelindiğinde rsLoRA, DoRA veya AdaLoRA'yı aynı bütçede karşılaştırın.
- Adapter açık/kapalı görev başarısı, genel eval, güvenlik ve latency ölçün.
- Merge ve unmerged serving seçeneklerini gerçek trafik profiliyle benchmark edin.
- Base revision, tokenizer, config, veri sürümü ve eval raporunu tek release manifestinde kilitleyin.
✦ Sonuç
PEFT, büyük modeli küçük bir GPU'da “bedavaya eğitme” hilesi değil; uyarlama kapasitesi, bellek, depolama ve deployment esnekliği arasında bilinçli bir mühendislik tercihidir. LoRA güçlü bir varsayılan başlangıçtır; ancak QLoRA, rsLoRA, AdaLoRA, DoRA, IA3 ve soft prompt yöntemleri farklı darboğazları hedefler. Doğru yöntem yalnızca trainable parametre yüzdesiyle değil, görev başarısı ve production mimarisiyle seçilir.
Model geliştirme sürecinin bütünü için yapay zeka modeli eğitim rehberini, LR, batch, VRAM ve truncation ayrıntıları için LLM fine-tuning rehberini okuyabilirsiniz.
Sık sorulan sorular
PEFT açılımı nedir?
PEFT, Parameter-Efficient Fine-Tuning ifadesinin kısaltmasıdır. Modelin tamamı yerine küçük bir parametre grubunu eğiterek uyarlama yapar.
PEFT ile LoRA aynı şey mi?
Hayır. PEFT genel yöntem ailesidir; LoRA bu aile içindeki en yaygın yöntemlerden biridir. IA3, prefix tuning, prompt tuning, AdaLoRA ve DoRA başka örneklerdir.
QLoRA ile LoRA arasındaki fark nedir?
LoRA frozen base modele düşük-rank adapter ekler. QLoRA ayrıca base model ağırlıklarını 4-bit quantize ederek VRAM kullanımını daha fazla azaltır.
PEFT adapter merge edilmeli mi?
Tek adapter sabit kullanılacaksa merge serving'i sadeleştirebilir. Bir base üzerinde çoklu adapter/hotswap gerekiyorsa ayrı tutmak daha esnektir. Her iki seçenek de kalite ve latency açısından ölçülmelidir.
PEFT ne kadar VRAM kazandırır?
Sabit oran yoktur. Optimizer state ve gradyan belleği ciddi azalır; fakat base ağırlıklar, activations ve attention belleği kalır. Kazanç model, yöntem, rank, sequence length ve quantization'a bağlıdır.
Kaynakça
- Hu, E. J. ve ark. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. ve ark. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Zhang, Q. ve ark. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
- Liu, S.-Y. ve ark. (2024). DoRA: Weight-Decomposed Low-Rank Adaptation. arXiv:2402.09353.
- Kalajdzievski, D. (2023). A Rank Stabilization Scaling Factor for Fine-Tuning with LoRA. arXiv:2312.03732.
- Liu, H. ve ark. (2022). Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning. arXiv:2205.05638.
- Li, X. L. ve Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Lester, B. ve ark. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
- Hugging Face. PEFT Documentation.
Bu yazı 16 Temmuz 2026 tarihinde hazırlanmıştır. Yöntem sonuçları kullanılan model ve görevle sınırlıdır; production kararı bağımsız eval ve gerçek serving benchmarkı ile verilmelidir.