Zero-shot prompting, bir modelden bir görevi istediğin cevaba dair hiç örnek göstermeden, tek başına bir talimatla yapmasını istemektir. "Bu paragrafı İspanyolcaya çevir" ve "Bu e-postayı iki cümleyle özetle" zero-shot promptlardır. İnsanların sohbet modellerini kullanmasının varsayılan yolu budur ve yaygın görevler için genellikle ihtiyacın olan tek şeydir.
Zero-shot ne demek
Makine öğrenmesinde "shot" çözülmüş bir örnektir. Terimler sohbet modellerinden eskidir, ama prompt yazımındaki anlamları Brown ve arkadaşlarının 2020 tarihli "Language Models are Few-Shot Learners" makalesiyle yaygınlaştı. Makale GPT-3'ü üç düzende test etti: promptta sıfır, bir ya da birkaç gösterimle birlikte bir görev tanımı, hiçbirinde yeniden eğitim olmadan. O model için birkaç örnek genellikle hiç örnek olmamasından daha iyiydi.
O zamandan beri sohbet modelleri talimat izleme üzerine yoğun şekilde eğitildi; düz bir isteğin artık bu kadar iyi çalışmasının nedeni bu. Zero-shot bir prompt tam da eğitildikleri durumdur: biri bir işi kelimelerle tarif eder ve yapılmasını bekler.
Zero-shot, sıfır bağlam demek değildir. İyi bir zero-shot prompt yine okur kitlesini söyler, girdiyi yapıştırır, biçimi ve sınırları tarif eder. Dışarıda bıraktığı tek şey çıktının bitmiş bir örneğidir.
İyi yazılmış bir zero-shot prompt
Aşağıdaki prompt toplantı notlarından yapılacak işleri çıkarıyor; çıktının örneği yok, sadece net bir tarifi var. Hangi satırların işi gördüğünü görmek için parçaları kapat.
Sprint toplantısı, salı
Priya cumadan önce giriş zaman aşımını düzeltecek.
Yeni bir CI sağlayıcısına geçmeyi konuştuk, karar çıkmadı.
Tom 2.4 için sürüm notlarını yazacak.
Birinin onboarding dokümanını güncellemesi lazım.
Lena: Tom'un notlarını perşembeye kadar inceleyeceğim.Priya: Giriş zaman aşımını düzelt (cumadan önce) Tom: 2.4 sürüm notlarını yaz Atanmadı: Onboarding dokümanını güncelle Lena: Tom'un sürüm notlarını incele (perşembeye kadar)
Biçim satırı bir örneğin yapacağı işi yapıyor: her satırın tam şeklini açıkça yazıyor, yani kopyalanacak bir şey kalmıyor. Onu kapatırsan yanıt kendi şeklini seçer, çoğu zaman kalın isimli madde işaretli bir liste; okunması güzeldir ama bir takip aracına temiz şekilde yapıştırılmaz. Kısıtları kapatırsan CI tartışması bir görev olarak görünebilir, çünkü hiçbir şey modele karara bağlanmamış konuların sayılmadığını söylemedi.
Zero-shot ne zaman yeterli
Zero-shot, model her şeyi senin kelimelerinden çıkarabildiğinde çalışır:
- Görev yaygın. Özetlemek, çevirmek, açıklamak, dilbilgisi düzeltmek ve net bir tanıma göre fonksiyon yazmak, modelin eğitimde sayısız kez gördüğü görevlerdir.
- Çıktıyı tam olarak tarif edebiliyorsun. "Her madde için bir satır, önce sorumlu" bir örnek kadar nettir. Bir programın okuyacağı biçimleri tarif etmek için yapılandırılmış çıktı sayfasına bak.
- Kategoriler söylediklerini kastediyor. Yorumları olumlu ve olumsuz diye ayırmak genellikle örnek gerektirmez, çünkü bu etiketler neredeyse herkes için aynı anlama gelir.
Ne zaman örnek eklemeli
Bazı şeyleri kelimelere dökmek zordur ve zero-shot promptların ıskalamaya başladığı yer orasıdır:
- Kendi sınırların. Destek ekibin "giriş yapamıyorum"u hata değil de hesap sorunu olarak dosyalıyorsa model bunu bilemez. Çoğu insanın yapacağı yorumu seçer.
- Kurum içi üslup. Ekibinin commit mesajlarını ya da bülteninin tonunu göstermek, tarif etmekten kolaydır.
- Tekrarlanan kıl payı ıskalar. Talimatı iki kez yeniden ifade ettin ve çıktı hâlâ aynı şekilde biraz yanlışsa yeniden ifade etmeyi bırak ve iki üç doğru cevap göster.
Buna few-shot prompting denir. Mantıklı bir alışkanlık zero-shot ile başlamak, dönen sonuca bakmak ve sadece yanlış yaptığı belirli şey için örnek eklemektir.
Zero-shot chain of thought
Kojima ve arkadaşlarının 2022 tarihli "Large Language Models are Zero-Shot Reasoners" makalesi, tek bir cümle eklemenin, "Let's think step by step" (Adım adım düşünelim), büyük modelleri hiç örnek olmadan aritmetik, sembolik ve mantık problemlerinde belirgin şekilde daha iyi yaptığını buldu. Bu ifade modelin cevaptan önce ara adımları yazmasını sağlar ve yazdığı her adım bir sonrakinin bağlamı olur. Yöntemleri iki çağrı kullanıyordu: ilki akıl yürütmeyi üretiyor, ikincisi nihai cevabı istiyordu.
Aşağıdaki blokta ilk sekme anında bir cevap dayatıyor, ikincisi modele çalışacak alan veriyor.
12:40
İlk yanıt trenin telafi ettiği 10 dakikayı atladı: bir modelin cevaba ilk birkaç tokeninde karar vermek zorunda kaldığında olan türden bir kayma. Güncel bir model bunu her iki şekilde de doğru bilebilir; fark problemdeki adım sayısı arttıkça büyür. İkinci sürümün bir avantajı daha var: her adım görünür, yani bir cevabın nerede yanlış gittiğini görebilirsin.
Cevap vermeden önce kendi içinde akıl yürüten modeller bu işi istenmeden zaten yapar, bu yüzden "Adım adım düşünelim" onlar için daha uzun bir yanıt dışında pek bir şey katmaz. Chain of thought prompting sayfası tekniği few-shot sürümü dahil derinlemesine anlatır.
Bir bakışta zero-shot ve few-shot
| Zero-shot | Few-shot | |
|---|---|---|
| Promptun içeriği | Talimatlar, bağlam ve girdi | Aynısı, artı birkaç girdi ve cevap çifti |
| En uygun olduğu yer | Çıktısı kolay tarif edilen yaygın görevler | Özel etiketler, alışılmadık biçimler, kurum içi üslup |
| Maliyet | Kısa prompt | Daha uzun prompt, çağrı başına daha fazla token |
| Tipik hata | Seninkini değil, en yaygın yorumu seçer | Örneklerdeki tesadüfi kalıpları kopyalar |
Sıkça Sorulan Sorular
Zero-shot prompting nedir?
Zero-shot prompting, bir dil modeline çıktıya dair çözülmüş örnek vermeden, sadece talimatlarla bir görev vermektir. "Bu e-postayı iki cümleyle özetle" bir zero-shot prompttur. Modern sohbet modelleri talimat izlemek üzere eğitildiği için zero-shot promptlar gündelik görevlerin çoğunu iyi halleder.
Zero-shot ile few-shot prompting arasındaki fark nedir?
Zero-shot bir prompt görevi kelimelerle tarif eder. Few-shot bir prompt ise her biri bir girdi ve istediğin cevaptan oluşan birkaç örnek ekler, böylece model kalıbı kopyalayabilir. Zero-shot ile başla; çıktı, göstermesi anlatmaktan kolay olan bir biçimi ya da ayrımı ıskalamaya devam ederse few-shot yöntemine geç.
Neden zero-shot deniyor?
Makine öğrenmesinde "shot" çözülmüş bir örnektir. Brown ve arkadaşlarının 2020 tarihli GPT-3 makalesi "Language Models are Few-Shot Learners", modeli promptta bir görevin sıfır, bir ya da birkaç gösterimiyle test etti ve bu, adları prompt dünyasında standart hâle getirdi: zero-shot, one-shot ve few-shot.
Zero-shot prompting ne zaman işe yaramaz?
Görev sadece senin bildiğin kurallara dayandığında (ekibinin kategorileri ya da kurum içi üslup gibi), çıktı biçimi alışılmadık olduğunda ve modelin çok hızlı cevap verdiği çok adımlı akıl yürütmede zorlanır. İlk ikisini örnekler çözer; üçüncüsünde modelden adım adım çalışmasını istemek yardımcı olur.
Zero-shot chain of thought nedir?
Modelden cevaplamadan önce akıl yürütmesini isteyen bir zero-shot prompttur; en bilinen biçimi "Let's think step by step" (Adım adım düşünelim) cümlesini eklemektir. Kojima ve arkadaşları 2022'de, hiç örnek olmadan bu tek cümlenin büyük modellerin aritmetik ve mantık problemlerindeki sonuçlarını iyileştirdiğini gösterdi.