Fine-tuning
İnce ayar, önceden eğitilmiş bir modeli göreve özgü verilerle eğitmeye devam ederek çok daha az veri ve hesaplama gücüyle uyum sağlamasını sağlar. Nasıl çalıştığı, PEFT ve kod ele alınır.
İnce ayar, büyük bir veri kümesi üzerinde önceden eğitilmiş bir modeli eğitmeye devam etme ve ağırlıklarının bir kısmını ya da tamamını daha küçük, göreve özgü bir veri kümesi üzerinde güncelleme işlemidir. Önceden eğitilmiş modelin ağırlıkları; görsel modellerde kenarlar, dokular ve şekiller, büyük dil modellerinde (LLMs) ise dil bilgisi ve gerçekler gibi genel bilgileri zaten kodlar. Bu nedenle ince ayar, rastgele ağırlıklarla eğitime kıyasla çok daha az etiketli veri ve hesaplama gücüyle yüksek doğruluğa ulaşır. Aktarım öğrenimini uygulamanın en yaygın yolu olan ince ayar, özel nesne algılama modellerinin ve sohbet asistanlarının çoğunu önceden eğitilmiş temel modellerden oluşturmak için kullanılır.
İnce Ayar Nasıl Çalışır#
Bir ince ayar çalıştırması, önceden eğitilmiş ağırlıkları yükler; sınıflandırıcı veya algılama başlığı gibi özgün göreve bağlı katmanları değiştirir ya da yeniden boyutlandırır ve yeni veriler üzerinde standart kayıp ve optimize ediciyle eğitim yapar. Özgün modelin ne kadarının korunacağını üç seçim belirler:
- Öğrenme oranı: İnce ayarda, ön eğitimdekinden daha düşük bir öğrenme oranı kullanılır; genellikle kısa bir ısınma aşamasının ardından bu oran uygulanır. Böylece güncellemeler önceden öğrenilmiş özelliklerin üzerine yazmak yerine onları iyileştirir. ULMFiT, en üsttekinden bir alt katmana geçerken oranı 2,6'ya bölerek ayrıştırıcı öğrenme oranları yaklaşımını daha da ileri taşıdı.
- Hangi katmanların eğitileceği: Omurganın erken katmanlarını dondurmak genel özellikleri sabit tutar, bellek kullanımını azaltır ve küçük veri kümelerinde aşırı öğrenme riskini düşürür. Kademeli dondurma açma yaklaşımında önce yeni başlık eğitilir, ardından daha derin katmanların eğitimi açılır.
- Eğitim süresi: Bir model yalnızca yeni veriler üzerinde ne kadar uzun süre eğitilirse, yıkıcı unutma nedeniyle özgün becerilerinin o kadar çoğunu kaybeder.
Doğru kurulum; kullanılabilir belleğe, etiketli veri miktarına ve özgün becerilerin hâlâ önemli olup olmadığına bağlıdır:
Tam ve Parametre Verimli İnce Ayar#
Tam ince ayar her ağırlığı günceller. Bu işlem, 7 milyar parametreli bir LLM için 7 milyar değerin gradyanlarını ve optimize edici durumunu bellekte tutmak ve her görev için modelin eksiksiz bir kopyasını kaydetmek anlamına gelir. Parametre verimli ince ayar (PEFT), önceden eğitilmiş ağırlıkları dondurur ve bunun yerine eklenen ya da seçilen az sayıda parametreyi eğitir. Hugging Face'in PEFT kütüphanesi, yaygın yöntemleri uygular. LoRA, dondurulmuş ağırlık matrislerinin yanına eğitilebilir düşük dereceli matrisler ekler; GPT-3 175B'yi Adam ile tamamen ince ayarlamaya kıyasla eğitilebilir parametre sayısını 10.000 kat, GPU belleğini ise 3 kat azaltmıştır. QLoRA, LoRA adaptörlerini 4 bit nicemlenmiş bir temel modelin üzerine eğitir; bu sayede 65 milyar parametreli bir modeli 48 GB belleğe sahip tek bir GPU'da ince ayarlamak mümkün oldu.
LLM'ler, ön eğitimden sonra birkaç ince ayar aşamasından geçer. Talimat ayarlama, istem ve yanıt çiftleri üzerinde eğitim yapar; ardından insan geri bildirimine dayalı pekiştirmeli öğrenme (RLHF) ve doğrudan tercih optimizasyonu (DPO) gibi tercihe dayalı yöntemler, yanıtları insan tercihlerine göre hizalar.
İnce Ayar ve İlgili Terimler#
- Aktarım öğrenimi: Bir görev için eğitilmiş modeli başka bir görevde yeniden kullanma fikrinin genel adıdır. İnce ayar, önceden eğitilmiş ağırlıkları günceller; özellik çıkarımı ise bu ağırlıkları dondurur ve yalnızca yeni bir başlığı eğitir.
- Sıfırdan eğitim: Rastgele ağırlıklarla başlar ve çok daha fazla etiketli veriyle hesaplama gücü gerektirir. Yeni mimariler ve mevcut ön eğitim verileriyle pek ortak noktası olmayan alanlar için uygundur.
- Doğrusal sondalama: Genellikle önceden eğitilmiş bir temsilin ne kadar bilgi yakaladığını ölçmek için dondurulmuş özellikler üzerinde yalnızca doğrusal bir sınıflandırıcı eğitir.
- İstem mühendisliği ve bilgi erişimiyle zenginleştirilmiş üretim (RAG): LLM'nin davranışını, ağırlıklara dokunmadan girdisi üzerinden değiştirir.
Bir Nesne Algılayıcıya İnce Ayar Yapma#
Yeni bir veri kümesiyle önceden eğitilmiş YOLO26 kontrol noktası üzerinde train() çağrısı ince ayar yapar: uyumlu bütün ağırlıklar aktarılır ve varsayılan cls_remap=True, sınıf adları eşleşen sınıflandırıcı satırlarını kopyalar. Bu nedenle Afrika Yaban Hayatı veri kümesinde fil ve zebra çıktıları COCO üzerinde önceden eğitilmiş satırlardan başlarken, COCO'da bulunmayan bufalo ve gergedan sınıfları sıfırdan başlar.
from ultralytics import YOLO
# COCO üzerinde önceden eğitilmiş YOLO26n ağırlıklarını yükle; YOLO("yolo26n.yaml") ise sıfırdan eğitim yapar
model = YOLO("yolo26n.pt")
# 1.052 bufalo, fil, gergedan ve zebra eğitim görseliyle ince ayar yap
results = model.train(data="african-wildlife.yaml", epochs=30, imgsz=640)Bu 30 dönemlik çalıştırmada varsayılan optimizer="auto", AdamW ile lr0=0.00125 seçeneğini kullanır. Çalıştırma 10.000 iterasyonun altında kaldığından oranı veri kümesindeki 4 sınıfa göre hesaplar.










