Aylin
New member
Veri hazırlarken şu konulara dikkat etmek gerekir:
- Örneklerin hedef görevi temsil etmesi.
- Yanıtların tutarlı ve doğru olması.
- Farklı soru biçimlerinin ve istisnaların kapsanması.
- Kişisel ve hassas bilgilerin korunması.
- Hatalı veya çelişkili örneklerin ayıklanması.
- Eğitim, doğrulama ve test verilerinin birbirinden ayrılması.
Özellikle son madde önemlidir. Modeli değerlendirmek için kullanılan test örnekleri eğitim sırasında da gösterilirse performans olduğundan daha iyi görünebilir. Buna veri sızıntısı denir.
Kısacası, modele yüzlerce kötü örnek sunmak yerine daha az sayıda, iyi hazırlanmış ve hedefe uygun örnek sunmak çoğu zaman daha değerlidir.
3. Adım: Uygun Modeli ve Eğitim Yöntemini Seçin
Her model her iş için uygun değildir. Seçim yaparken görev türü, modelin lisansı, maliyet, donanım ihtiyacı, veri gizliliği ve beklenen performans dikkate alınmalıdır.
Ayrıca fine tuning tek bir teknikten ibaret değildir.
Tam ince ayar (full fine tuning): Modelin eğitilebilir parametrelerinin büyük bölümü veya tamamı güncellenir. Daha fazla hesaplama kaynağı gerektirebilir ve büyük modellerde maliyetli olabilir.
PEFT (Parametre Verimli İnce Ayar): Modelin tüm parametrelerini güncellemek yerine küçük bir bölümünü eğitmeyi veya eğitilebilir ek katmanlar kullanmayı hedefleyen yöntemlerdir.
LoRA (Low-Rank Adaptation): PEFT ailesinin yaygın yöntemlerinden biridir. Modelin tüm ağırlıklarını değiştirmek yerine belirli ağırlık güncellemelerini düşük boyutlu yapılarla temsil ederek eğitim maliyetini azaltmayı amaçlar.
QLoRA: Nicemleme ile LoRA yaklaşımını birleştirerek, büyük modellerin daha sınırlı donanımlarda ince ayarlanmasını kolaylaştırabilen bir yöntemdir.
Örneğin küçük bir girişim, büyük bir modeli baştan sona eğitmek için gereken bütçeye sahip olmayabilir. Bu durumda LoRA benzeri bir yaklaşım daha ulaşılabilir bir seçenek olabilir. Ancak yöntem seçimi, yalnızca donanımın gücüne göre değil, görevde elde edilen sonuçlara göre de yapılmalıdır.
4. Adım: Modeli Eğitin
Veriler hazırlandıktan ve uygun yöntem seçildikten sonra eğitim aşamasına geçilir.
Genel süreçte eğitim örnekleri modele sunulur. Modelin ürettiği sonuçlarla hedef çıktılar arasındaki fark, belirlenen bir kayıp fonksiyonu aracılığıyla hesaplanır. Optimizasyon algoritması da modelin eğitilebilir parametrelerini bu hatayı azaltacak yönde günceller.
Bu işlem, veriler üzerinde belirli sayıda adım veya eğitim turu boyunca tekrarlanabilir.
Eğitim sırasında öğrenme oranı, toplu iş boyutu (batch size), epoch sayısı ve düzenlileştirme gibi ayarlar önemlidir. Bunların yanlış seçilmesi modelin yeterince öğrenememesine veya eğitim verisine gereğinden fazla uyum sağlamasına neden olabilir.
Burada sık görülen bir hata vardır: Eğitim kaybı sürekli düşüyor diye modelin gerçek hayatta da başarılı olduğu düşünülür. Oysa model, eğitim örneklerini iyi öğrenmiş olsa bile daha önce görmediği sorularda başarısız olabilir.
İşte bu nedenle eğitim sürecini takip etmek kadar, modelin görmediği veriler üzerindeki performansını izlemek de gerekir.
5. Adım: Modeli Test Edin ve Sonuçları Karşılaştırın
Fine tuning tamamlandıktan sonra modelin başarılı olup olmadığını ölçmek gerekir. Üstelik değerlendirme yalnızca “Cevapları kulağa güzel geliyor mu?” sorusuyla sınırlı kalmamalıdır.
Göreve göre doğruluk, kesinlik (precision), duyarlılık (recall), F1 skoru, yanıt biçimine uyum, hata oranı ve insan değerlendirmesi gibi ölçütler kullanılabilir.
Örneğin bir modelin müşteri mesajlarını sınıflandırdığını düşünelim. Yanlış sınıflandırmaların işletme açısından maliyeti yüksekse yalnızca genel doğruluk oranına bakmak yeterli olmayabilir. Kritik bir şikâyeti sıradan bir soruyla karıştırmak, günlük kullanımda ciddi sonuçlar doğurabilir.
Bu yüzden ince ayar yapılmış modelin performansı, aynı test verileri üzerinde temel modelin performansıyla karşılaştırılmalıdır.
Ayrıca modelin beklenmedik girdilerde nasıl davrandığı, yanlış bilgi üretip üretmediği, hassas verileri açığa çıkarıp çıkarmadığı ve güvenlik kurallarına uyup uymadığı da incelenmelidir.
Gerçek başarı, modelin yalnızca eğitim setinde değil, günlük kullanımda da işe yaramasıdır.
Fine Tuning ile RAG Arasındaki Fark Nedir? İkisi Aynı Takımda Oynayabilir mi?
Forumlarda sıkça karşılaşılan sorulardan biri de budur. Fine tuning ile RAG, yani Retrieval-Augmented Generation, bazen birbirinin alternatifi gibi değerlendirilir. Oysa farklı ihtiyaçlara cevap verirler.
Fine tuning, modelin belirli görevlerde nasıl davranacağını veya örneklerden hangi kalıpları öğreneceğini değiştirmeye yardımcı olur. RAG ise yanıt oluşturulurken harici bir bilgi kaynağından ilgili belgelerin bulunmasını ve modele sunulmasını sağlar.
Diyelim ki bir şirketin ürün fiyatları her hafta değişiyor.
Modeli her fiyat değişikliğinde yeniden eğitmek mantıklı olmayabilir. Bunun yerine güncel fiyatların tutulduğu bir veri kaynağından bilgi getirmek daha uygun olabilir. Bu, RAG veya başka bir veri erişim yöntemiyle gerçekleştirilebilir.
Ancak şirket aynı zamanda modelin tüm müşteri yanıtlarını belirli bir formatta vermesini istiyorsa fine tuning de faydalı olabilir.
Birini bilgiye erişim sağlayan kütüphaneci, diğerini ise işi belirli standartlarla yapmayı öğrenen uzman çalışan gibi düşünebilirsiniz. Kütüphaneci güncel dosyayı bulur; uzman çalışan ise o bilgiyi istenen biçimde işler.
Bu iki yaklaşım birlikte kullanılabilir. Hangisinin gerekli olduğuna karar verirken sorunun kaynağını belirlemek önemlidir: Model bilgiyi mi bilmiyor, güncel bilgiye mi erişemiyor, yoksa bilgiyi doğru biçimde kullanmakta mı zorlanıyor?
Fine Tuning Yaparken En Sık Yapılan Hatalar
İnsanların teknolojiyle ilişkisi ilginçtir. Bir araç işe yaramadığında bazen aracı değil, kendimizi haklı çıkarmaya çalışırız. Yapay zekâ projelerinde de benzer durumlar görülür.
Birinci hata: Gereksiz yere ince ayar yapmak. İyi bir istemle çözülebilecek bir soruna pahalı bir eğitim süreci eklemek zaman ve kaynak kaybına yol açabilir.
İkinci hata: Kötü veriyle eğitim yapmak. Tutarsız örnekler, hatalı yanıtlar ve eksik senaryolar modelin kalitesini düşürebilir.
Üçüncü hata: Eğitim verisini ezberlemeyi başarı sanmak. Modelin bilinen örneklerde iyi sonuç vermesi, yeni durumlara da iyi yanıt vereceği anlamına gelmez.
Dördüncü hata: Her sorunu daha fazla veriyle çözmeye çalışmak. Sorun veri miktarından değil, verinin kalitesinden, model seçiminden veya yanlış eğitim hedefinden kaynaklanabilir.
Beşinci hata: Maliyetleri hesaba katmamak. Eğitim giderlerinin yanında veri hazırlama, test, dağıtım, izleme ve modelin yeniden değerlendirilmesi gibi maliyetler de vardır.
- Örneklerin hedef görevi temsil etmesi.
- Yanıtların tutarlı ve doğru olması.
- Farklı soru biçimlerinin ve istisnaların kapsanması.
- Kişisel ve hassas bilgilerin korunması.
- Hatalı veya çelişkili örneklerin ayıklanması.
- Eğitim, doğrulama ve test verilerinin birbirinden ayrılması.
Özellikle son madde önemlidir. Modeli değerlendirmek için kullanılan test örnekleri eğitim sırasında da gösterilirse performans olduğundan daha iyi görünebilir. Buna veri sızıntısı denir.
Kısacası, modele yüzlerce kötü örnek sunmak yerine daha az sayıda, iyi hazırlanmış ve hedefe uygun örnek sunmak çoğu zaman daha değerlidir.
3. Adım: Uygun Modeli ve Eğitim Yöntemini Seçin
Her model her iş için uygun değildir. Seçim yaparken görev türü, modelin lisansı, maliyet, donanım ihtiyacı, veri gizliliği ve beklenen performans dikkate alınmalıdır.
Ayrıca fine tuning tek bir teknikten ibaret değildir.
Tam ince ayar (full fine tuning): Modelin eğitilebilir parametrelerinin büyük bölümü veya tamamı güncellenir. Daha fazla hesaplama kaynağı gerektirebilir ve büyük modellerde maliyetli olabilir.
PEFT (Parametre Verimli İnce Ayar): Modelin tüm parametrelerini güncellemek yerine küçük bir bölümünü eğitmeyi veya eğitilebilir ek katmanlar kullanmayı hedefleyen yöntemlerdir.
LoRA (Low-Rank Adaptation): PEFT ailesinin yaygın yöntemlerinden biridir. Modelin tüm ağırlıklarını değiştirmek yerine belirli ağırlık güncellemelerini düşük boyutlu yapılarla temsil ederek eğitim maliyetini azaltmayı amaçlar.
QLoRA: Nicemleme ile LoRA yaklaşımını birleştirerek, büyük modellerin daha sınırlı donanımlarda ince ayarlanmasını kolaylaştırabilen bir yöntemdir.
Örneğin küçük bir girişim, büyük bir modeli baştan sona eğitmek için gereken bütçeye sahip olmayabilir. Bu durumda LoRA benzeri bir yaklaşım daha ulaşılabilir bir seçenek olabilir. Ancak yöntem seçimi, yalnızca donanımın gücüne göre değil, görevde elde edilen sonuçlara göre de yapılmalıdır.
4. Adım: Modeli Eğitin
Veriler hazırlandıktan ve uygun yöntem seçildikten sonra eğitim aşamasına geçilir.
Genel süreçte eğitim örnekleri modele sunulur. Modelin ürettiği sonuçlarla hedef çıktılar arasındaki fark, belirlenen bir kayıp fonksiyonu aracılığıyla hesaplanır. Optimizasyon algoritması da modelin eğitilebilir parametrelerini bu hatayı azaltacak yönde günceller.
Bu işlem, veriler üzerinde belirli sayıda adım veya eğitim turu boyunca tekrarlanabilir.
Eğitim sırasında öğrenme oranı, toplu iş boyutu (batch size), epoch sayısı ve düzenlileştirme gibi ayarlar önemlidir. Bunların yanlış seçilmesi modelin yeterince öğrenememesine veya eğitim verisine gereğinden fazla uyum sağlamasına neden olabilir.
Burada sık görülen bir hata vardır: Eğitim kaybı sürekli düşüyor diye modelin gerçek hayatta da başarılı olduğu düşünülür. Oysa model, eğitim örneklerini iyi öğrenmiş olsa bile daha önce görmediği sorularda başarısız olabilir.
İşte bu nedenle eğitim sürecini takip etmek kadar, modelin görmediği veriler üzerindeki performansını izlemek de gerekir.
5. Adım: Modeli Test Edin ve Sonuçları Karşılaştırın
Fine tuning tamamlandıktan sonra modelin başarılı olup olmadığını ölçmek gerekir. Üstelik değerlendirme yalnızca “Cevapları kulağa güzel geliyor mu?” sorusuyla sınırlı kalmamalıdır.
Göreve göre doğruluk, kesinlik (precision), duyarlılık (recall), F1 skoru, yanıt biçimine uyum, hata oranı ve insan değerlendirmesi gibi ölçütler kullanılabilir.
Örneğin bir modelin müşteri mesajlarını sınıflandırdığını düşünelim. Yanlış sınıflandırmaların işletme açısından maliyeti yüksekse yalnızca genel doğruluk oranına bakmak yeterli olmayabilir. Kritik bir şikâyeti sıradan bir soruyla karıştırmak, günlük kullanımda ciddi sonuçlar doğurabilir.
Bu yüzden ince ayar yapılmış modelin performansı, aynı test verileri üzerinde temel modelin performansıyla karşılaştırılmalıdır.
Ayrıca modelin beklenmedik girdilerde nasıl davrandığı, yanlış bilgi üretip üretmediği, hassas verileri açığa çıkarıp çıkarmadığı ve güvenlik kurallarına uyup uymadığı da incelenmelidir.
Gerçek başarı, modelin yalnızca eğitim setinde değil, günlük kullanımda da işe yaramasıdır.
Fine Tuning ile RAG Arasındaki Fark Nedir? İkisi Aynı Takımda Oynayabilir mi?
Forumlarda sıkça karşılaşılan sorulardan biri de budur. Fine tuning ile RAG, yani Retrieval-Augmented Generation, bazen birbirinin alternatifi gibi değerlendirilir. Oysa farklı ihtiyaçlara cevap verirler.
Fine tuning, modelin belirli görevlerde nasıl davranacağını veya örneklerden hangi kalıpları öğreneceğini değiştirmeye yardımcı olur. RAG ise yanıt oluşturulurken harici bir bilgi kaynağından ilgili belgelerin bulunmasını ve modele sunulmasını sağlar.
Diyelim ki bir şirketin ürün fiyatları her hafta değişiyor.
Modeli her fiyat değişikliğinde yeniden eğitmek mantıklı olmayabilir. Bunun yerine güncel fiyatların tutulduğu bir veri kaynağından bilgi getirmek daha uygun olabilir. Bu, RAG veya başka bir veri erişim yöntemiyle gerçekleştirilebilir.
Ancak şirket aynı zamanda modelin tüm müşteri yanıtlarını belirli bir formatta vermesini istiyorsa fine tuning de faydalı olabilir.
Birini bilgiye erişim sağlayan kütüphaneci, diğerini ise işi belirli standartlarla yapmayı öğrenen uzman çalışan gibi düşünebilirsiniz. Kütüphaneci güncel dosyayı bulur; uzman çalışan ise o bilgiyi istenen biçimde işler.
Bu iki yaklaşım birlikte kullanılabilir. Hangisinin gerekli olduğuna karar verirken sorunun kaynağını belirlemek önemlidir: Model bilgiyi mi bilmiyor, güncel bilgiye mi erişemiyor, yoksa bilgiyi doğru biçimde kullanmakta mı zorlanıyor?
Fine Tuning Yaparken En Sık Yapılan Hatalar
İnsanların teknolojiyle ilişkisi ilginçtir. Bir araç işe yaramadığında bazen aracı değil, kendimizi haklı çıkarmaya çalışırız. Yapay zekâ projelerinde de benzer durumlar görülür.
Birinci hata: Gereksiz yere ince ayar yapmak. İyi bir istemle çözülebilecek bir soruna pahalı bir eğitim süreci eklemek zaman ve kaynak kaybına yol açabilir.
İkinci hata: Kötü veriyle eğitim yapmak. Tutarsız örnekler, hatalı yanıtlar ve eksik senaryolar modelin kalitesini düşürebilir.
Üçüncü hata: Eğitim verisini ezberlemeyi başarı sanmak. Modelin bilinen örneklerde iyi sonuç vermesi, yeni durumlara da iyi yanıt vereceği anlamına gelmez.
Dördüncü hata: Her sorunu daha fazla veriyle çözmeye çalışmak. Sorun veri miktarından değil, verinin kalitesinden, model seçiminden veya yanlış eğitim hedefinden kaynaklanabilir.
Beşinci hata: Maliyetleri hesaba katmamak. Eğitim giderlerinin yanında veri hazırlama, test, dağıtım, izleme ve modelin yeniden değerlendirilmesi gibi maliyetler de vardır.