Bir yapay zekâ modeli için fine tuning nedir diye soruyorsanız, Türkçe karşılığı ince ayardır. Önceden eğitilmiş bir model, seçilmiş ek verilerle belirli bir işe uyarlanır. Örneğin farklı ifadelerle gelen mesajları aynı sınıflara ayırması veya istenen cevap biçimini daha düzenli izlemesi hedeflenebilir.
Sohbete "Bundan sonra kısa yaz" demekle model üzerinde ek eğitim yapmak ayrı işlemlerdir. İlkinde o isteğin girdisini değiştirirsiniz. İnce ayarda ise bir eğitim süreci yürütülür. Kullanıcı olarak bir cevabın tonuna bakıp arka planda hangisinin kullanıldığını kesin olarak anlayamazsınız.
İnce ayarda modelin nesi değişir?
Microsoft'un ince ayar açıklaması, başlangıç noktasının daha önce eğitilmiş bir model olduğunu vurguluyor. Geliştirici, göreve uygun örnekleri hazırlar ve modeli bunlarla uyarlar. Her projede sıfırdan genel bir dil modeli kurmak gerekmez.
Modelin eğitimle öğrenilmiş sayısal değerlerine ağırlık denir. Ultralytics'in Türkçe teknik açıklamasında ince ayar sırasında bu değerlerin yeni göreve göre ayarlanması anlatılır. Kullanılan yönteme göre modelin tamamı yerine yalnızca belirli bölümler güncellenebilir. Buradaki "ayar", sohbet ekranındaki yazı boyutu veya dil seçeneği değildir.
Bu nedenle bir hizmetin "özel model" demesi tek başına yeterli açıklama sayılmaz. Hangi iş için, hangi örneklerle uyarlandığına ve sonucunun nasıl ölçüldüğüne bakın. Daha özel olması, her soruda daha doğru cevap vereceği anlamına gelmez.
Mesaj örneğinde neyi öğretmek isterdik?
Hayalî bir tamir grubunun gelen mesajları ayıran bir sistem hazırladığını düşünelim. Bu bir uygulama deneyi veya elde edilmiş başarı sonucu değil; eğitim verisini somutlaştırmak için kurulmuş bir örnek. Görevimiz mesajı "eşya getirme", "gönüllü olma" ya da "belirsiz" diye işaretlemek olsun. Ardından yalnızca gerekli takip sorusunu yazmasını isteyelim.
"Bozuk masa lambam var, getirebilir miyim?" girdisi için istediğimiz çıktı "eşya getirme" ve "Hangi buluşmaya gelmek istiyorsunuz?" olabilir. "Elektrik işlerinden anlarım, yardım edebilirim" mesajını ise "gönüllü olma" olarak etiketleriz. Bu örnekte kişinin tamir edeceği eşya uydurulmaz; kendisi bir beceri ve yardım isteği bildirmiştir.
"Cumartesi oradayım" mesajı geldiğinde durum belirsizdir. Kişinin eşya getireceğini varsaymak yerine "Eşya mı getireceksiniz, gönüllü olarak mı katılacaksınız?" sorusunu bekleriz. Eğitim örneklerinde belirsizliğin nasıl karşılanacağını da göstermiş oluruz.
Örnekleri hazırlayan ekip önce kendi içinde anlaşmalıdır. Aynı mesaj bir dosyada gönüllü, diğerinde eşya getirme diye işaretlenirse neyin doğru olduğunu ölçmek zorlaşır. İki amaç birden içeren mesajlar için de bir karar gerekir. "Hem radyomu getireceğim hem yardım edeceğim" cümlesini tek sınıfa zorlamak görev tanımımızdaki bir eksikliği gösterebilir. Önce hangi çıktının kabul edileceğini yazıp örnekleri buna göre düzenleriz.
Talimat ve kaynak getirme nerede ayrılır?
Aynı hayalî işi ek eğitim yapmadan denemek için görev tanımını ve birkaç doğru örneği talimatın içine koyabiliriz. Beklediğimiz biçim açık değilse, önce prompt hazırlama rehberindeki gibi isteği netleştirmek daha anlamlıdır. Bir mesajın iki amacı olduğunda ne yapılacağını yazmadan eğitim dosyası büyütmek bu kararı bizim yerimize vermez.
Buluşmanın güncel adresi başka bir sorundur. Adres bu hafta değiştiyse, sistemin güncel duyuruya ulaşması gerekir. RAG yazısında anlatılan kaynak getirme yaklaşımı, ilgili belge bölümünü yanıt hazırlanırken girdiye ekler. İnce ayar ise ek eğitimle ilgilidir; bu iki yöntem aynı sistemde kullanılabilir.
Örneğimizde mesaj sınıflandırıcısının güzel bir takip sorusu yazması, cumartesi buluşmasının adresini bildiğini göstermez. Adresi yanıtına eklemişse duyurudan doğrularız. Belgeyi hiç görmeden doğru yeri bildiğini varsaymayız. Yapay Zeka'da yanıtın altındaki kaynakları açarak bu tür bilgi iddialarını kontrol edebilirsiniz; bu özellikten uygulamanın hangi eğitim yöntemini kullandığı sonucu çıkmaz.
Sonucu daha önce görmediği mesajlarla sınayın
Hayalî grubumuzun kontrol listesinde doğru sınıf ve uygun takip sorusu ayrı satırlarda dursun. "Kırık saatimi bırakmak istiyorum" mesajında sınıf doğru olduğu hâlde sistem gönüllülük saatlerini sorarsa çıktının yalnızca yarısı işe yarar. Cümlenin düzgün olması bu hatayı örtmemeli.
Eğitime koymadığımız mesajları önceden ayırıp başlangıçtaki modelle uyarlanmış sürüme aynı şekilde veririz. Sonra hangi örnekte neyin değiştiğini kaydederiz. Bir sürüm açık mesajlarda düzelip belirsiz mesajlarda daha çok varsayım yapabilir. Yalnızca iyi görünen cevapları seçmek bunu saklar.
"Her cumartesi yardım edebilirim" gibi yeni bir ifade ve iki amaçlı mesaj da kontrol grubunda yer alsın. Hata varsa önce beklenen cevabı, sonra örneğin eğitimde nasıl temsil edildiğini inceleriz. Düzeltmeden sonra aynı kontrol kümesini yeniden çalıştırır, ayrıca sonradan karşılaşılan mesajları ayrı saklarız. Böylece eski sorunun düzelip düzelmediğini, yeni örneklerdeki davranışla karıştırmadan görebiliriz.
