PEFT adapter checkpoint'i base modelin bütün weights'ini içermez; adapter_config ve adapter weights base model kimliğine bağlıdır.
adapter_model.safetensors, adapter_config.json, Trainer checkpoint, resume, merge_and_unload, quantized merge ve model doğrulama süreçlerini öğrenin.
PEFT adapter checkpoint'i base modelin bütün weights'ini içermez; adapter_config ve adapter weights base model kimliğine bağlıdır.
`merge_and_unload()` in-place değildir; dönen modeli yeniden değişkene atamak gerekir.
Merge sonrası PEFT özellikleri kaybolur ve bazı quantization/PEFT yöntemleri merge'i desteklemeyebilir.
`save_pretrained()` ile kaydedilen PEFT adapter inference için küçük adapter dosyalarıdır. Trainer checkpoint ise optimizer, scheduler, RNG ve training state içerebilir; eğitime devam etmek için kullanılır. Merged model ise base + adapter weight'lerinin tek standalone modelde birleştirilmiş halidir.
Tipik LoRA adapter klasöründe `adapter_model.safetensors` ve `adapter_config.json` bulunur. Tokenizer değiştiyse tokenizer dosyalarını da aynı release altında saklayın. Yeni token/embedding eğittiyseniz PEFT troubleshooting rehberindeki embedding save kurallarını ayrıca uygulayın.
Aynı training state'ten devam etmek istiyorsanız optimizer state, scheduler step, global step ve RNG gibi Trainer checkpoint bileşenleri gerekir. Sadece adapter'ı yükleyip trainer'ı sıfırdan başlatmak ağırlıkları devam ettirir ama optimizer/scheduler geçmişini birebir sürdürmez.
Base model revision, tokenizer, PEFT config, dataset preprocessing ve package versions değiştiyse checkpoint teknik olarak yüklenebilir ama training davranışı değişebilir. Resume metadata dosyasında model ID/revision, git commit, pip freeze ve dataset fingerprint saklayın.
PEFT resmî örneği `model = model.merge_and_unload()` biçimindedir. Dönen model artık normal base-model sınıfına yakın standalone modeldir; adapter disable/switch gibi PEFT operasyonlarını yapamazsınız. Adapter'ı geri ayırmak istiyorsanız `merge_adapter()`/`unmerge_adapter()` yaklaşımı farklıdır.
4-bit training sırasında base weights quantized temsil kullanır. Merge için çoğu workflow base modeli hedef output dtype'ta yeniden yükleyip adapter'ı ona merge eder. Quantized module üzerinde doğrudan merge her yöntem/config için desteklenmez; PEFT checkpoint dokümanı bu sınırlamayı özellikle belirtir.
Yanlış base revision, farklı tokenizer, yanlış dtype, adapter scale, missing resized embeddings veya merge edilmeyen modüller çıktı farkı oluşturabilir. Merge öncesi adapter model ile merge sonrası standalone model aynı prompt setinde deterministic A/B test edilmelidir.
Yeni Python process açın ve modeli diskten sıfırdan load edin. Aynı validation prompt setiyle adapter-load ve merged-load çıktısını karşılaştırın; parametre dtype, vocab size, EOS/PAD ID ve generation config'i yazdırın. 'Aynı process'te çalıştı' yeterli doğrulama değildir.
Her 50 step'i sonsuza kadar saklamak yerine best metric, latest resumable checkpoint ve birkaç milestone tutun. Adapter çok küçük olsa da optimizer state büyük olabilir; depolama planını GPU training kadar ciddiye alın.
| Artefakt | Amaç | Resume için |
|---|---|---|
| adapter_model.safetensors | LoRA weights | Tek başına tam değil |
| adapter_config.json | PEFT config | Gerekli context |
| Trainer checkpoint | Optimizer/scheduler/state | Evet |
| Merged model | Standalone inference | Hayır |
Çalışan eğitim ortamında paketleri rastgele güncellemeyin. GPU modeli, driver, CUDA/PyTorch runtime, transformers, accelerate, peft, trl, bitsandbytes/diffusers sürümleri ile model revision ve dataset fingerprint bilgisini her run için kaydedin. Önce minimal reproducible test oluşturun, sonra production eğitime müdahale edin.
Memory'deki PEFT yapısını merged modele dönüştürür; disk üzerindeki adapter dosyanız siz silmedikçe kalır.
`merge_and_unload()` sonrası normal PEFT unmerge işlevleri yoktur. Reversible ihtiyaçta adapter dosyasını ayrıca saklayın veya `merge_adapter()` yolunu kullanın.
Model boyutu, precision, context, batch, LoRA/QLoRA veya full fine-tuning yöntemi ve multi-GPU ihtiyacınızı birlikte değerlendirin; yalnız GPU model adına bakarak kapasite seçmeyin.