Instruction Tuning
Talimat ince ayarı, istekleri takip etmesini sağlamak için önceden eğitilmiş bir dil modeline talimat-yanıt çiftleriyle ince ayar yapar. FLAN, InstructGPT, veriler ve VLM'ler ele alınır.
Yönerge ince ayarı, önceden eğitilmiş bir büyük dil modelini (LLM), doğal dille yazılmış istekleri izlemesi için yönerge ve istenen yanıt çiftleri üzerinde ince ayarlamaktır. Önceden eğitilmiş bir model yalnızca metni devam ettirir: OpenAI'dan "Ay'a inişi 6 yaşındaki bir çocuğa birkaç cümleyle açıkla" isteği verildiğinde GPT-3, yerçekimi ve görelilik hakkında benzer isteklerle devam ederken yönerge ayarlı InstructGPT açıklamayı yazdı. Google araştırmacıları yöntemi, 2021 tarihli FLAN makalesinde anlattı. Makalede 137 milyar parametreli bir model, yönerge olarak yeniden yazılmış 60'tan fazla doğal dil işleme (NLP) veri kümesiyle ayarlandı; ayarlanan model, daha önce hiç görmediği 25 görevin 20'sinde 175 milyar parametreli GPT-3 modelinin sıfır örnekli performansını geçti. Sohbet modeli iş akışlarında aynı aşamaya genellikle denetimli ince ayar (SFT) denir ve iki terim eş anlamlı olarak kullanılır.
Talimat Ayarlama Nasıl Çalışır?#
Her örnek, güncel modellerin sohbet şablonları veya Stanford'ın Alpaca'sında kullanılan "### Instruction" ve "### Response" başlıkları gibi, yönergenin nerede bitip yanıtın nerede başladığını belirten bir şablonla biçimlendirilir. Eğitimde ön eğitimle aynı sonraki belirteç kayıp işlevi kullanılır; ancak yalnızca yanıttaki belirteçler hesaba katılır. Böylece model yönergeleri tahmin etmek yerine yanıt üretmeyi öğrenir. OpenAI'ın GPT-2'sinden alınmış tek bir eğitim örneği bu düzeni gösterir:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)
# One instruction-response pair in the Alpaca prompt format
prompt_ids = tokenizer("### Instruction:\nName three animals that can fly.\n\n### Response:\n").input_ids
response_ids = tokenizer("Bats, eagles, and bees." + tokenizer.eos_token).input_ids
input_ids = torch.tensor([prompt_ids + response_ids])
# Label -100 drops the instruction from the loss, so the model learns only to respond
labels = torch.tensor([[-100] * len(prompt_ids) + response_ids])
for step in range(3):
loss = model(input_ids=input_ids, labels=labels).loss
loss.backward()
optimizer.step()
optimizer.zero_grad()
print(f"step {step}: loss {loss.item():.2f}")Yalnızca yanıttaki 10 belirteç kayba dâhil edilir ve bu tek örnek üzerindeki üç güncelleme kaybı 4.45'ten 1.49'a düşürür. Yönerge ince ayarı, binlerce ila milyonlarca farklı yönerge-yanıt çifti üzerinde aynı güncellemeyi uygular; böylece model tek bir yanıtı değil, yanıt verme alışkanlığını öğrenir.
Yönerge ince ayarı genellikle eğitim sonrası sürecin ilk aşamasıdır ve veriler birkaç farklı kaynaktan gelebilir:
Yönerge Veri Kümeleri#
Google'ın Flan koleksiyonu 2022'de 1.836 göreve ulaştı ve bu koleksiyonla yapılan yönerge ince ayarı, 540 milyar parametreli PaLM'ın ortalama performansını %9,4 artırdı. OpenAI'ın InstructGPT'si, etiketleyicilerin yazdığı örnekleri insan geri bildiriminden pekiştirmeli öğrenmeyle (RLHF) birleştirdi ve insanlar, 1,3 milyar parametreli modelin çıktılarını 175 milyar parametreli GPT-3'ünkülere tercih etti. Stanford'ın Mart 2023'te yayımladığı Alpaca, Meta'nın LLaMA 7B modelini OpenAI modelinin Self-Instruct yöntemiyle ürettiği 52.000 örnek üzerinde 600 dolardan daha az bir maliyetle ince ayarladı; bu, yönerge verisi kaynağı olarak sentetik verinin ilk örneklerinden biriydi. Meta'nın LIMA'sı küçük bir veri kümesinin ne kadar işe yaradığını gösterdi: 65 milyar parametreli LLaMA'yı yalnızca dikkatle seçilmiş 1.000 örnek üzerinde ayarladı. Makalenin yazarları, modelin bilgisinin neredeyse tamamını ön eğitim sırasında öğrendiği, yönerge ince ayarının ise yanıtların biçimini ve üslubunu öğrettiği sonucuna vardı. Ardından doğrudan tercih optimizasyonu (DPO) gibi yöntemler, ayarlanmış modeli tercih verileriyle iyileştirir.
Görsel Yönerge Ayarı#
Görsel-dil modelleri (VLMs) de görüntüler hakkındaki yönergeleri aynı şekilde izlemeyi öğrenir. Nisan 2023'te yayımlanan LLaVA, yalnızca metinle çalışan GPT-4 modeline COCO görüntülerinin açıklamalarını ve sınırlayıcı kutularını verdi; modelden bu görüntüler hakkında 158.000 sohbet, ayrıntılı açıklama ve karmaşık akıl yürütme örneği yazmasını istedi. Ardından bu verilerle, bir CLIP görüntü kodlayıcısını bir dil modeline bağlayan modeli ayarladı; bu yönteme görsel yönerge ayarı denir. Yönerge ayarlı VLM'ler bir fotoğraf hakkındaki serbest biçimli istekleri yanıtlar. Ultralytics Platform Agents içindeki LLM bloğu da bu beceriden yararlanır: Görüntüyü, üst aşamadaki YOLO26 sonuçlarını ve yazılı bir istemi seçilen görsel-dil modeline gönderir.
Yönerge İncelemesi ve İlgili Terimler#
İstem ayarı birkaç yumuşak istem vektörü öğrenip modeli dondurur, istem mühendisliği ise yalnızca girdi metnini değiştirirken yönerge ince ayarı modelin ağırlıklarını günceller. Alana özgü ince ayar, modele istekleri izlemeyi öğretmesi gerekmeksizin modeli tıp veya hukuk gibi bir alana uyarlar. Yönerge ince ayarı parametre açısından verimli ince ayar (PEFT) ile de yapılabilir: QLoRA, 4 bitlik nicemlenmiş bir modelde LoRA bağdaştırıcılarını eğitir. QLoRA'nın yazarları, 65 milyar parametreli bir modeli tek bir 48 GB GPU'da yönerge ayarıyla eğitti.










