Ana içeriğe geç

Yan yana

Prompt MühendisliğivsFine-tuning

Prompt mühendisliği ile fine-tuning arasındaki fark nedir?

Güncellendi 2 dk okuma8 fark

Kısaca

Prompt mühendisliği her istekle gönderilen talimatları değiştirir ve modele dokunmaz; fine-tuning ise modeli daha da eğiterek ağırlıklarını değiştirir.

Prompt Mühendisliği

Prompt mühendisliği, yapay zekâ modelinin doğru, tutarlı ve kullanışlı çıktı üretmesi için verilen yönergeleri tasarlama, test etme ve iyileştirme pratiğidir.

Prompt Mühendisliği sayfasını oku

Fine-tuning

İnce Ayar

Fine-tuning, önceden eğitilmiş bir makine öğrenmesi modelini tek bir göreve uyarlamak için daha küçük ve özel bir veri kümesiyle ek olarak eğitme sürecidir.

Fine-tuning sayfasını oku

Prompt Mühendisliği ve Fine-tuning karşılaştırması

ÖzellikPrompt MühendisliğiFine-tuning
Ne değişirGirdi: talimatlar, bağlam ve örneklerModelin ağırlıkları, ek eğitim yoluyla
Yineleme hızıDakikalar: düzenle, test et, yayına alHer eğitim ve değerlendirme döngüsü için saatler ya da günler
Gereken veriBir avuç örnek ve bir eval setYüzlerce ile binlerce yüksek kaliteli örnek
Başlangıç maliyetiMühendislik zamanından biraz fazlasıVeri hazırlığı ve eğitim için hesaplama gücü
İstek başına maliyetDaha uzun prompt'lar daha çok token harcarDaha kısa prompt'lar; daha küçük bir model yetebilir
Çalıştığı modellerAPI'si üzerinden her modelFine-tuning'e izin veren modeller ve platformlar
En iyi olduğu işGörevleri, biçimleri ve akıl yürütmeyi hızla yönlendirmekTutarlı bir üslup, biçim ya da dar ve tekrarlanan bir görev
Geri almaPrompt'u eski hâline döndürünModelin önceki sürümüne geri dönün

Fark, açıklamalı

Prompt mühendisliği, bir modele gönderdiğiniz şeyi tasarlama, test etme ve iyileştirme pratiğidir: talimatlar, bağlam, örnekler ve beklenen çıktı biçimi. Fine-tuning ise önceden eğitilmiş bir modeli kendi örneklerinizle, çoğu zaman yüzlerce ile binlerce girdi-çıktı çiftiyle eğitmeye devam eder; böylece modelin ağırlıkları değişir ve yeni davranış modelin içine yerleşir.

Takas, hız ile kalıcılık arasındadır. Bir prompt değişikliği bir sonraki istekte etkisini gösterir, denemesi neredeyse hiçbir şeye mal olmaz ve kolayca geri alınır; bu yüzden ekipler bir eval set'e karşı günde defalarca yineleme yapabilir. Fine-tuning ise her değişiklik için veri hazırlığı, bir eğitim çalıştırması ve yeni bir değerlendirme gerektirir; ama bir modelin bir biçimi, tonu ya da dar bir görevi çok daha tutarlı biçimde ve çok daha kısa bir prompt'la izlemesini sağlayabilir.

Pratikte ikisi bir seçimden çok bir sıra oluşturur. Ekiplerin çoğu prompt mühendisliğiyle başlar, model kendi ya da güncel verilerine ihtiyaç duyduğunda getirme (RAG) ekler ve fine-tuning'e ancak prompt'larla davranış güvenilir hâle gelmediğinde ya da daha küçük ve ucuz bir modelin tek bir görevde büyük bir modele yetişmesini istediğinde başvurur. Fine-tune edilmiş bir model de yine iyi prompt'lara ihtiyaç duyar.

Sık yapılan bir yanlış, fine-tuning'in modele yeni olgular öğretmenin yolu olduğunu düşünmektir. Fine-tuning modelin nasıl yanıt vereceğini şekillendirir ama olguları güvenilmez biçimde ezberler ve her güncelleme yeni bir eğitim çalıştırması demektir; değişen olgular prompt'a aittir, çoğu zaman da RAG yoluyla. Bir diğeri, yeni modellerin prompt mühendisliğini gereksiz kıldığı düşüncesidir: daha az hileye ihtiyaç duyarlar, ama eksik bağlamı, kuralları ya da biçimleri yine de tahmin edemezler.

Hangisini kullanmalısınız?

Prompt Mühendisliği şu durumlarda doğru seçim:

  • Yeni başlıyorsunuz ve bugün sonuç istiyorsunuz.
  • Gereksinimler sık değişiyor ya da modeller arasında geçiş yapıyorsunuz.
  • Talimatlar ve birkaç örnek zaten güvenilir çıktı üretiyor.
  • Özel bir model eğitip barındıramıyorsunuz ya da bunu istemiyorsunuz.

Fine-tuning şu durumlarda doğru seçim:

  • Yalnızca prompt'larla biçimi ya da tonu yeterince tutarlı hâle getiremiyorsunuz.
  • Dar ve yüksek hacimli bir görev, daha küçük ve ucuz bir modelde iyi çalışabilir.
  • Örneklerle dolu uzun prompt'lar istekleri yavaşlatıyor ya da pahalılaştırıyor.
  • İdeal çıktıları gösteren temiz bir örnek setiniz var.

Bir modeli prompt'la yönlendirmek ile örneklerle eğitmek

Prompt Mühendisliğipython
# Prompt engineering: the model stays the same; the request carries the rules
prompt = """Classify the support ticket as bug, billing or feature.
Reply with one word.

Ticket: The app crashes when I log in. -> bug
Ticket: I was charged twice this month. -> billing

Ticket: {ticket} ->"""

label = llm.generate(prompt.format(ticket=new_ticket))
Fine-tuningpython
# Fine-tuning: train once on examples; later prompts can be short
examples = [
    {"input": "The app crashes when I log in.", "output": "bug"},
    {"input": "I was charged twice this month.", "output": "billing"},
    # ...hundreds more labeled tickets
]
tuned = fine_tune(base_model, examples)

label = tuned.generate(new_ticket)

Sık sorulan sorular

Önce prompt mühendisliğini mi denemeliyim, fine-tuning'i mi?

Prompt mühendisliğini. Daha hızlı ve ucuzdur; iyi bir eval set'le desteklenen güçlü bir prompt, fine-tuning'e gerçekten ihtiyaç olup olmadığını gösterir ve onu ölçeceğiniz testi de size verir.

Fine-tuning prompt'un yerini alır mı?

Tamamen değil. Davranış modelin içine yerleştiği için fine-tune edilmiş bir model daha kısa prompt'lara ihtiyaç duyar, ama girdiye ve isteğe özgü bağlama yine de ihtiyacı vardır.

RAG, prompt mühendisliği mi yoksa fine-tuning mi?

Tam olarak ikisi de değil, ama prompt'a daha yakındır: RAG ilgili belgeleri getirir ve modelin ağırlıklarını değiştirmeden, istek anında prompt'a ekler.

Daha fazla

Ayarlar