Checkpoint ile LoRA: fark nedir?
Model checkpointi, model durumunu belirli bir anda kaydeder; görüntü oluşturma topluluklarında “checkpoint” çoğu zaman yüklenebilir bir eksiksiz model ağırlığı kümesi anlamına gelir. LoRA, uyumlu taban modele uygulanan çok daha küçük, öğrenilmiş bir güncelleme saklar. Checkpoint hedef işlem hattında tek başına çalışabilir; LoRA söz konusu tabanı içermez.

“Checkpoint” birbiriyle ilişkili iki anlama gelir
Eğitim sırasında checkpoint, çalışmanın değerlendirilebildiği veya devam ettirilebildiği kayıtlı durumdur. Model ağırlıklarını, optimize edici durumunu, zamanlayıcı durumunu, rastgele sayı durumunu ve eğitim meta verilerini içerebilir. Çıkarım checkpointi çoğu zaman bir modeli kullanmak üzere yüklemek için gereken ağırlıkları ve yapılandırmayı içeren daha ince bir dışa aktarımdır.
Stable Diffusion topluluklarında “checkpoint” ayrıca kullanıcı arayüzünde seçilen ana model dosyasının kısaltmasıdır. Bu, her bağımlılığın gömülü olduğunu garanti etmez. İşlem hattı yine de uygulama veya tamamlayıcı paket tarafından sağlanan VAE, metin kodlayıcı, tokenizer veya yapılandırma gerektirebilir. “Eksiksiz” ifadesini her zaman kurtarmayı amaçladığınız yükleyiciye göre tanımlayın.
LoRA ikinci bir eksiksiz model değil, öğrenilmiş bir güncellemedir
Low-Rank Adaptation, önceden eğitilmiş ağırlıkları donmuş tutar ve seçilen katmanlar için düşük rütbeli bir güncelleme öğrenir. Çıkarım sırasında bir framework bu güncellemeyi tabana dinamik olarak uygulayabilir veya türetilmiş bir kopyada birleştirebilir. Adaptör, her taban ağırlığını gizlice sıkıştırdığı için değil, güncellemeyi sakladığı için küçüktür.
Bu bağımlılık, checkpoint ile LoRA arasındaki temel ayrımdır. Bir Stable Diffusion ailesi için eğitilmiş portre stili LoRA'nın başka bir mimariyle çalışacağı varsayılamaz. Dil modeli adaptörü de benzer şekilde yapılandırmasında açıklanan taban modele ve hedef modüllere bağımlıdır.
Pratik karşılaştırma
| Soru | Model checkpointi | LoRA |
|---|---|---|
| Sakladıkları | Geniş model durumu; bazen ek eğitim durumu | Düşük rütbeli adaptör ağırlıkları ve yapılandırması |
| Tek başına çalışabilir mi? | Amaçlanan işlem hattında genellikle ana model olarak yüklenebilir | Hayır; uyumlu tabana ve yükleyiciye ihtiyaç duyar |
| Tipik kullanım | Taban model, eksiksiz ince ayar, kilometre taşı veya devam noktası | Verimli uzmanlaşma, stil, özne veya görev uyarlaması |
| Depolama | Çok daha fazla durumu temsil ettiği için genellikle çok daha büyük | Yalnızca seçilen güncellemeler öğrenildiği için genellikle çok daha küçük |
| Kurtarma sorusu | İhtiyacım olan eksiksiz pakete veya eğitim durumuna sahip miyim? | Tam olarak uyumlu tabana, adaptör yapılandırmasına ve ağırlıklara sahip miyim? |
Bir LoRA'yı birleştirmek onu checkpoint yapar mı?
Adaptörü tabanla birleştirmek türetilmiş ağırlıklar üretir. Bir araç bu ağırlıkları yaygın biçimde checkpoint adı verilen bir dosyaya kaydedebilir; ancak bu çıktı özgün taban değildir ve taban ile adaptörün temiz, tersine çevrilebilir ayrımını mutlaka korumaz. Kayan nokta işlemleri, dtype dönüştürme ve dışa aktarma seçimleri sonucun tümünü etkileyebilir.
Gücü değiştirmek, adaptörleri birleştirmek veya birleşimi yeniden üretmek istediğinizde birleştirilmemiş adaptörü ve birebir tabanı saklayın. Tam olarak bu dağıtım dosyası işletim bakımından önemliyse birleştirilmiş artefaktı da saklayın. Birleştirilmiş tek dosya bir kez başarıyla yüklendi diye kaynakları silmeyin.
İnce ayar sırasında neler saklanmalı
Etkin bir çalışmada ara checkpointler değerlendirme ve kesinti sonrası kurtarma için yararlıdır. Çalışma tamamlandığında gerçek bir soruyu yanıtlayan kilometre taşlarını saklayın: seçilen son adaptör, savunulabilir bir veya daha fazla karşılaştırma checkpointi, yapılandırma, eğitim kodu veya komutu, veri kümesi referansı ve değerlendirme kaydı. LoRA eğitim checkpointleri rehberi bunu genel bir “her şeyi sakla” kuralı yerine yeniden üretilebilirlik kararı olarak ele alır.
Son adaptör, devam ettirilebilir bir eğitim durumu değildir. Dışa aktarılmış LoRA ağırlıkları çıkarım için yeterli olabilirken eğitime eksiksiz devam etmek için gereken optimize edici ve zamanlayıcı durumunu içermeyebilir.
Dosya adlarını tek başına değil, aileleri arşivleyin
Yararlı bir LoRA ailesi, uyumlu tabanı tanımlayıp edinmek için yeterli bağlam içerir. Taban nadir, özel veya yerel olarak değiştirilmişse adaptörle birlikte saklayın. Checkpoint ailesi, çalışma zamanının ilk yüklemede sessizce sağladığı tamamlayıcı bileşenleri içerebilir.
Tensor Archive, seçilen yerel tensörleri ilişkili aile olarak saklamaya ve doğrulamaya yardımcı olur. Dosya adından uyumluluğu tahmin etmez, eksik eğitim durumunu yeniden oluşturmaz veya LoRA'yı bağımsız taban modele dönüştürmez.
Sahip olduğunuz artefaktla devam edin
Kafa karıştıran kısım adaptör uzantısıysa bir LoRA dosyasının ne içerdiğini okuyun. Eğitim yöntemi seçiyorsanız LoRA ile QLoRA karşılaştırmasını kullanın. Soruyu depolama baskısı yönlendiriyorsa LoRA ağırlıklarını değiştirmeden disk alanı boşaltma yöntemine bakın.
Kaynaklar
- LoRA: Low-Rank Adaptation of Large Language Models — özgün yöntem ve donmuş taban/düşük rütbeli güncelleme tasarımı.
- Hugging Face PEFT: LoRA — güncel adaptör yapılandırması ve hedef modül uygulaması.
- Hugging Face PEFT checkpoint biçimi — adaptör ağırlıkları, yapılandırma ve taban model bağımlılığı.
- Diffusers: adaptörleri yükleme — difüzyon işlem hatlarıyla LoRA adaptörlerini yükleme, kaldırma ve birleştirme.