30 puan yazan GN⁺ 2024-11-26 | Henüz yorum yok. | WhatsApp'ta paylaş

Bu belge kimler için?

  • Post-Trained LLM'lerin prompt yazma becerisini geliştirmek isteyenler için bir belge
  • Teknik geçmişi sınırlı olsa da temel LLM kullanım deneyimi olan kişileri hedefler
  • İlk bölüm: sonradan eğitim ve promptlara dair sezgisel bir anlayış sunar
  • İkinci bölüm: somut prompt yazma adımları ve ipuçları sunar

Neden bir tuning kılavuzuna ihtiyaç var?

  • LLM prompt yazımı deneyime dayalıdır ve sürekli öğrenme ile düzeltme gerektiren bir iştir
  • Bu belge, etkili prompt yazma stratejilerini sistemli biçimde paylaşmayı amaçlar
  • Gemini gibi post-training görmüş modeller odağında yazılmış olsa da diğer modellere de uygulanabilir

Pre-Training vs. Post-Training

Ön eğitim (Pre-training)

  • Ön eğitimin kavramı
    • Ön eğitim, derin öğrenmede uzun süredir kullanılan bir kavramdır; küçük bir veri kümesine (A) benzeyen ama çok daha büyük bir veri kümesini (B) kullanarak önce genel özellikleri öğrenip ardından A veri kümesinde ince ayar yapma yöntemidir.
    • Örnek olarak az miktarda mamografi veri kümesi (A) ile internetten toplanmış büyük ölçekli doğal görüntü veri kümesi (B) düşünülebilir.
  • Ön eğitimin süreci
    1. Model, büyük veri kümesi (B) üzerinde eğitilerek genel olarak faydalı özellikleri öğrenir.
    2. Ardından model, A veri kümesine uygun olacak şekilde fine-tune edilir ve A üzerinde daha iyi performans elde eder.
    3. Daha somut olarak, B veri kümesinde nesne segmentasyonu veya görüntü içindeki konumdan bağımsız olarak kavramları tanıma gibi temel becerileri öğrendikten sonra, bunun üzerine A veri kümesinin belirli becerileri ek olarak öğretilir.
  • Ön eğitimin gerekliliği
    • B veri kümesi üzerinden öğrenme olmadan, yalnızca A veri kümesi genel becerileri öğrenmek için yetersiz kalabilir ve performans düşebilir.
    • B veri kümesinde genel becerileri öğrenmiş bir modelin, A veri kümesinde yalnızca sınırlı verilerle uzmanlaşmış becerileri ek olarak öğrenmesi yeterlidir.
  • LLM (büyük dil modeli) örneği
    • LLM'lerin ön eğitimi, internet metinlerinde "bir sonraki kelimeyi tahmin etme görevi" yapılarak gerçekleştirilir.
    • Bu süreçte model, web'de yansıyan dünyanın yapısını örtük olarak öğrenir.
  • İnternet ve dünyanın yansıması
    • İnternetin nasıl bir dünyayı yansıttığı sorusu önemlidir; bunu anlamak için "sinematik evren" benzetmesi kullanılabilir.

Ön eğitimin 'sinematik evren' sezgisi

  • Metin ve dünyanın tasviri
    • Büyük dil modelleri (LLM), dünyayı metin üzerinden öğrenir.
    • Metnin yalnızca "gerçeği" yansıtmak zorunda olması gibi bir kısıtı yoktur.
    • Dezenformasyon veya yanlış ifadelerin ötesinde de, metnin tek bir nesnel gerçekliği yansıtmamasının çeşitli nedenleri vardır.
  • Örnek: Aragorn ve Gondor
    • "Aragorn sonunda Gondor'un kralı olur" cümlesinin doğru olup olmadığı, bağlama ve önkabullere göre değişir.
      • "Yüzüklerin Efendisi" sinematik evreni: Doğru kabul edilebilir.
      • "Marvel Sinematik Evreni" veya gerçek dünya: Aragorn ve Gondor kurmaca varlıklar olduğu için doğru değildir.
  • Doğruluk ölçütü
    • Bir ifadenin doğru olup olmaması, "hangi dünya"nın varsayıldığına göre değişir.
    • Bu, felsefe ve dilbilimde uzun süredir tartışılan bir konudur; doğruluk hakkında ayrıntılı genel bakış için bu bağlantıya bakılabilir.
    • Pratikte bu, "bir ifadenin doğru olup olmaması, arka plan olarak aldığı sinematik evrene bağlıdır" şeklinde sadeleştirilebilir.
  • Ön eğitim verisi ve sinematik evren
    • Ön eğitim korpusu, insan kültürünün ürettiği çeşitli sinematik evrenlerin birleşimine yakındır.
    • Daha doğrusu, ön eğitim veri kaynaklarına (ör. web) büyük katkıda bulunan kültürlerin toplamıdır.

Önemli
Ön eğitim korpusu, insan kültürünün oluşturduğu sinematik evrenlerin birleşimi olarak görülebilir ve özellikle web gibi veri kaynaklarına büyük katkı yapan kültürleri yansıtır.

  • Modelin bağlam anlayışı
    • LLM, verilen bağlama (yani prefix'e) dayanarak hangi "evren"de bulunduğunu çıkarır.
    • Ardından o evrenin kuralları, gelenekleri ve olgularına göre davranır.
    • Güçlü bağlam sinyalleri taşıyan promptlar, modelin "senaryoyu" anlamasını kolaylaştırır.
      • Örneğin: New York hakkında bir blog yazısının başlangıcı ("Hayallerin gerçekleştiği beton orman yalnızca bir şarkı sözü değil, New York'un elektrik yüklü gerçeğidir...")
    • Buna karşılık, "Hi, how are you?" gibi bağlamı zayıf promptlarda modelin hangi evrende olduğunu belirlemesi zordur.
      • Bu tür genel ifadeler farklı korpuslarda geçtiği için birden çok olasılığı açık bırakır.
  • Sonradan eğitimin (Post-training) rolü
    • Bağlamın yetersiz olduğu durumlarda, modelin daha spesifik ve tutarlı çıktılar üretmesini sağlamak açısından sonradan eğitim önemli rol oynar.

Sonradan eğitim (Post-training)

  • Sonradan eğitimin rolü
    • Sonradan eğitim, LLM'in varsayılan olarak çalıştığı "default evren" için yönergeler sağlar.
    • Yalnızca prompttan evren çıkarsamak yerine, sonradan eğitim yoluyla belirli varsayımlar sabitlenir veya belirsizlikler tutarlı biçimde çözülecek şekilde kısıtlar konur.
    • Bu, modelin kullanışlılığını artırmak için gereklidir; örneğin LLM'e varsayılan olarak "kullanıcı talimatlarını takip etmeyi" öğretmekte faydalıdır.
  • Sonradan eğitimin önemi
    • Sonradan eğitim olmazsa, "George Washington hakkında bir rapor yaz" talimatı yalnızca bu talimatı devam ettiren bir metin üretmek gibi hatalı bir davranışa yol açabilir.
    • Sonradan eğitim, modelin varsayılan davranışını toplumsal normlarla uyumlu hale getirmeye yardımcı olabilir.
    • Böylece modelin daha güvenli ve üretken bir araç olması desteklenir.

Önemli
Sonradan eğitim, modelin farklı dağıtım ortamlarında tutarlı ve temel rollerini yerine getirmesini öğretir.

  • Sonradan eğitimde öğrenilebilecek şeyler
    • Sonradan eğitim sırasında modelin öğrenebilecekleri, pratik ve somut konulardan öznel ve kişisel alanlara kadar çeşitlilik gösterir.
  • Sonradan eğitimde öğretilebilecek başlıca şeyler
    • Belirli bir formatı takip etme yöntemi
      • Örnek: Gemma's Formatter, modelin her zaman kullanıcıyla konuştuğu bir sinematik evrende çalıştığını varsayar.
      • Bu senaryoda model, sistem talimatlarına göre hareket eder ve konuşma her zaman insan kullanıcının sırasıyla başlar.
    • Kullanıcı talimatlarını izleme yöntemi
      • Örnek: "Köpekler hakkında bir deneme yaz" isteğine gerçekten bir deneme yazarak yanıt vermelidir.
      • Kullanıcının isteğini yok sayıp başka biçimde yanıt vermemesi, sonradan eğitim yoluyla öğretilebilir.
    • “Gerçek dünya” ile uyum
      • Modelin varsayılan sinematik evrenini, kullanıcıların çoğunlukla ilgileneceği "gerçek dünya" ile hizalamakta kullanılır.
      • Örnek: "Ünlü $CELEBRITY nerede doğdu?" sorusunda varsayılan olarak fan fiction dünyası değil gerçek dünya bilgisi kabul edilir.
    • Güvenliğin güçlendirilmesi
      • İnternet çeşitli normatif ölçütler içerir ve bazı içerikler ticari dağıtım ortamları için uygun olmayabilir.
      • Sonradan eğitim, modelin belirli güvenlik politikalarına göre ayarlanmasına yardımcı olur ve üretilecek içerik için normatif ölçütler belirler.
      • Bu, modelin karmaşık metinler üretirken gerekli normatif varsayımları içermesini sağlar.
  • Sonuç
    • Sonradan eğitim, modelin farklı kullanım ortamlarında beklentilere uygun davranışları tutarlı biçimde sergilemesini destekler.
    • Modelin kullanışlılığını ve güvenliğini en üst düzeye çıkarmak için vazgeçilmez bir süreçtir.

Sonradan eğitim verisi toplama

  • Temel özet
    • Sonradan eğitim sırasında LLM, insan değerlendiricilerin oluşturduğu verilere dayanarak eğitilir ve değerlendirilir.
    • Sonradan eğitim sırasında model, veriyi üreten insan değerlendiricileri birer rol modeli olarak alan bir "dijital rol oyuncusu" gibi davranır.
  • Sonradan eğitim verisi toplama süreci
    • Çeşitli girdi örneği veri kümeleri oluşturma
      • LLM'in yapabileceği görevleri tanımlayan bir istem koleksiyonu oluşturulur (ör. veriyi JSON olarak yeniden yapılandırma, düğün planlamasına yardımcı olma vb.).
      • Bu veriler, geliştiricinin sezgisine veya insan değerlendiricilerin önerdiği fikirlere dayanarak üretilebilir.
    • İnsan değerlendirici toplama
      • Değerlendiricinin rolü: girdi örnekleri için "doğru yanıt" yazmak veya model yanıtlarını sıralı biçimde değerlendirmek.
      • Model eğitiminin aşamasına göre değerlendiriciler farklı türde veriler üretir.
    • Değerlendirme yönergeleri yazma
      • Değerlendiricilerin görevi iyi anlayabilmesi için örnekler ve ayrıntılı talimatlar sağlanır.
    • Veri toplama ve sonradan eğitimi yürütme
      • Toplanan veriler ön eğitimli modele uygulanarak sonradan eğitim gerçekleştirilir.
    • Model dağıtımı
      • Sonradan eğitim tamamlandıktan sonra model gerçek ortama dağıtılır.
  • Sonradan eğitimin etkisi
    • LLM'in insan gibi davranabilmesinin nedenlerinden biri, özenle toplanmış insan davranışı veri kümeleri üzerinde eğitilmiş olmasıdır.
    • Ön eğitim modelin çekirdek yeteneklerini inşa ederken, sonradan eğitim modelin davranış yönünü insan gösterimleri aracılığıyla ayarlar.

Önemli
LLM'in insan gibi davranabilmesinin nedeni, özenle toplanmış insan davranışı verilerini öğrenmiş olmasıdır.

  • Sonradan eğitim verisi toplamanın zorlukları
    • Tekrarlayan işlerin tekdüzeliği
      • Değerlendirme işleri sıkıcı olabilir. Örneğin, çok iyi bir Python programcısı için kendi projelerinde çalışmak daha ilgi çekici olabilir.
      • Bir şair, yapay zekanın ürettiği şiirleri değerlendirmektense kendi şiirini yazmayı tercih edebilir.
      • Değerlendiriciler, işin tekrar eden doğası, veri sahipliği üzerindeki yetersiz kontrol ve işin toplumsal anlamdan yoksun olması gibi nedenlerle motivasyon kaybı yaşayabilir.
    • "İyi" yanıtı tanımlamanın zorluğu
      • Bir görev için "iyi" yanıtı tanımlamak karmaşıktır.
      • İyi yazım, olgusallık ve toplumsal gerçekliğin karmaşıklığını yansıtan görevler için ölçütleri netleştirmek zordur.
      • Hukuk sisteminde içtihatlarla uç vakaların çözülmesine benzer şekilde, bu sorunlar büyük ölçüde öznelliğe ve bağlama bağlıdır.
    • Değerlendiricinin görevi yeterince anlamaması
      • Değerlendiricinin görevi doğru şekilde kavrayamama ihtimali vardır.
      • Bu, yanlış teknik seviyede değerlendirici işe alındığında veya değerlendirici kendi sınırlarının farkında olmadığında ortaya çıkabilir.
      • Örnek: biyoloji sorularına, üniversiteden kalma eski bilgilerle yanlış yanıtlar yazmak.
    • İnsan hataları
      • İnsanlar hata yapar. Bir profesör yanlış cevap içeren sınav soruları hazırlayabilir ve bir doktor yorgunken yanlış teşhis koyma olasılığı daha yüksektir.
      • İnsan değerlendirme verisinin kalitesi kusursuz olmadığından, yapay zeka sistemleri de zaman zaman hatalı veriler öğrenebilir.
  • Sonuç
    • Sonradan eğitim verisi toplama, model kalitesinde önemli bir rol oynar; ancak veri kalitesini güvence altına almak için büyük çaba gerekir.
    • Doğru ve güvenilir veri elde etmek için değerlendirici ile görev arasındaki uyumun sağlanması önemlidir.

İstem yazımı

  • Temel özet
    • Sistem talimatları ve istemler yazılırken, bunlar sonradan eğitim ekibindeki değerlendirici grubunun "kolektif zihni" göz önünde bulundurularak yazılmalıdır.
    • Değerlendiricilerin anlayıp sadakatle uygulayabileceği talimatlar yazılırsa, modelin de bunlara daha iyi uyma olasılığı yükselir.

Önemli
Sistem talimatları ve istemler, sonradan eğitim ekibindeki değerlendirici grubunun kolektif zihnini yansıtacak şekilde yazılmalıdır.

İstem yazarken temel dikkat noktaları

  • Talimatların açık, kısa ve net olduğundan emin olun

    • Örnek: Python kodu üretme talimatıysa, rastgele seçilmiş yetkin bir Python programcısı talimatı okur okumaz anlayabilmelidir.
      • Kötü: "Write a Python function that computes prime numbers."
      • İyi: "Write a Python function that computes prime numbers from 1 to 100. Include pytype annotations for the function and use 2-space indentation."
  • Talimatların çelişkili veya uygulanması zor olup olmadığını kontrol edin

    • İnsan yorgun ya da aç olduğunda bile talimatları sadakatle izleyebilsin diye, talimatlar kısa ve sezgisel yazılmalıdır.
      • Kötü: "Don’t write a story about a mean dog, unless it's friendly, and also sad..."
      • İyi: "Write a short story (200-300 words) about a loyal golden retriever named Buddy..."
  • Çok fazla talimat mı var?

    • Model, uzun ve karmaşık talimatların tamamını takip etmekte zorlanabilir. Mümkün olduğunda görevi alt görevlere bölmek daha iyidir.
      • Kötü: "Read each article and, for each key idea, rate it on a scale of 1-10..."
      • İyi: Alt görevlere bölün: 1) ana fikirlerin listesini oluştur, 2) her fikri değerlendir, 3) öne çıkan fikirleri çevir, 4) sosyal medya için gönderi oluştur.
  • Olumlu talimatlar kullanın

    • "Ne yapılmamalı" demek yerine "ne yapılmalı"yı açıkça belirtmek daha etkilidir.
      • Kötü: "Don’t ever end your response with a full stop."
      • İyi: "Your response should always end with an exclamation mark or a question mark."
  • Model için bir "hatırlatıcı" işlevi gören talimatlar

    • Çeşitli girdi örnekleri dikkate alınarak, net olmayan durumlar için ek yönergeler sağlanır.
    • Örnek: "Ek dikkat noktaları" veya "Ek varsayımlar" bölümünde uç vakalar net biçimde açıklanır.
  • İstemler yeni bir hiperparametredir

    • İstemin kalitesi sistem performansı üzerinde büyük etkiye sahiptir. "En iyi" istemi bulmak imkansız olsa da, giderek daha iyi istemler bulmak için deney yapmak önemlidir.
  • "Bilmiyorum" yanıtı talimatı

    • "Bilinmiyor" veya "belirsiz durumlar" için açık yönergeler verilerek modelin yanlış yanıt vermek yerine belirsizliği açıkça işaretlemesi teşvik edilir.
  • İstem ile checkpoint arasındaki sıkı bağ

    • İstem, belirli bir model checkpoint'i ile derinden bağlantılıdır. Yeni model sürümlerinde aynı istem farklı şekilde çalışabilir.

İstem stil rehberi (temel)

  • Markdown kullanımını düşünün : Her istemi ayrı bir Markdown dosyasında saklayın; başlıkları ve bölümleri iyi düzenleyerek okunabilirliği artırın.
  • Diğer kullanıcıları da düşünün : İstemler yalnızca model için değil, bakım ve sürdürülebilirlikten sorumlu kişiler için de yazılmalıdır.
  • Sadelik korunsun : İstem çok uzun veya karmaşık olursa, model değiştiğinde bakım yükü artabilir. Kısa, net ve anlaşılır yazın.
  • Zero-shot talimatları tercih edin : Zero-shot talimatlar basittir; hata ayıklaması ve anlaşılması kolaydır. Few-shot, son çare olarak kullanılmalıdır.
  • Örnekleri entegre edin : "For example" gibi bir yapıyla örnekleri talimatın içine doğal biçimde yerleştirmek faydalıdır.
    • Örnek: "Always start your response to the user with something passive aggressive. For example, start with something like 'Oh that’s what you want? ...'"

Yeni sistem talimatlarını yinelemeli olarak iyileştirme süreci

  • Prompt geliştirme yinelemeli bir süreçtir
    • Prompt yazımı, doğrulama veri kümesi kullanarak modeli eğitme sürecine benzer.
    • Açık ve kısa cümleler yazmak esastır; üretim ve düzenleme aşamalarını ayırarak yaklaşmak etkilidir.
  • Doğrulama veri kümesi olmadan başlanabilir
    • Başlangıçta basit bir MVP'yi (Minimum Viable Product) hızla oluşturup, daha sonra nicel değerlendirmeyle performansı izlemek gerekir.
    • Ürünün, modelin beklenmedik davranışlarında da istikrarlı çalışmasını sağlayacak şekilde tasarlanması önemlidir.

Sistem talimatı yineleme süreci

  1. Çeşitli girdi örnekleri hazırlayın
  • Sorunu iyi temsil eden yaklaşık 10 ila 50 farklı girdi örneği toplayın.
  • İstenen çıktı davranışına dair sezgi geliştirin.
  1. Basit bir talimatla başlayın
  • Mümkün olduğunca basit ve açık bir talimat yazın.
  • Önce bütçesi düşük bir model kullanın (ör. Gemini Flash 8B).
  1. İlk girdi örneğinde çalıştırın
  • Modelin uygun bir yanıt üretip üretmediğini test edin.
  1. İlk örneğe aşırı uyum sağlayın
  • Modelin yanıtında bulunan belirli kusurları gidermek için talimata bir "hatırlatma" ekleyin.
  • Örneğin yalnızca kişi adları çıkarılmalıysa ama bina adları da dahil ediliyorsa, bunu talimatta açıkça belirtin.
  1. Bir sonraki örneğe geçin
  • Talimatın diğer girdi örneklerinde de etkili olup olmadığını test edin.
  • İlk örneğe fazla uyarlanmış talimatlar varsa, bunları daha genellenebilir olacak şekilde ayarlayın.
  1. Talimatı düzenleyin
  • Tüm girdi örneklerinde çalışan bir talimat oluşturduktan sonra cümleleri düzenleyin ve yazım hatalarını düzeltin.
  • Düzenlenmiş talimatın hâlâ tüm örneklerde çalıştığını doğrulayın.
  1. Otomasyon olasılığı
  • Gelecekte meta optimizasyon araçları talimat oluşturmayı otomatikleştirebilir.
  • Ancak nitel analiz ve kalite güvence çalışmaları yine de gerekli olacaktır.
    > Önemli
    > Nitel analiz, model geliştirmede zorunludur ve bundan kaçınılamaz.

LLM'in faydalı olduğu durumlar

  1. Doğrulaması kolay problemler
    • LLM'ler, "cevabı üretmek zor ama doğrulamak kolay" olan problemlere en uygundur.
    • Örnek için, üretken yapay zekanın "sweet spot" alanına dair Chris Gorgolewski'nin gönderisine bakın.
  2. Problemi alt problemlere ayırın
    • Karmaşık bir prompt yerine, problemi iyi tanımlanmış alt problemlere bölerek modelin akıl yürütme zincirini oluşturun.
  3. Geleceği göz önünde bulunduran yaklaşım
    • Donanım ve iş modeli yenilikleri sayesinde çıkarım kapasitesinin artabileceğini hesaba katın.
    • Özellikleri bugünkü maliyete göre değil, değere göre tasarlayın.
  4. Çıkarım maliyetinin düşmesi
    • Çıkarım maliyetlerinin zamanla azalması beklenir; bu nedenle "değer" odaklı karar alma gerekir.
    • Daha değerli özellikleri hayata geçirmek için, bugünkü ekonomik sınırları dikkate alan kademeli bir rollout düşünün.
      > Beklenti
      > LLM çıkarım maliyetlerinde, Moore yasasına benzer bir fiyat düşüşü görülmesi mümkün.

Ek kaynaklar

Henüz yorum yok.

Henüz yorum yok.