Few-Shot Prompting Nedir?
Few-shot prompting, bir dil modeline belirli bir göreve vereceği yanıtı yönlendirmek için az sayıda örnek sunmayı içeren bir tekniktir. Bu yöntem, hiç örnek verilmeyen zero-shot öğrenme ile (eksiksiz) denetimli ince ayar (büyük miktarda etiketli veri gerektirir) arasında yer alır. Few-shot öğrenme hakkındaki blog yazısı bu makine öğrenimi tekniğini ayrıntılı olarak açıklar.
Başka bir deyişle, few-shot prompting, dil modeline bizzat prompt içinde bir avuç gösterim veya örnek vermek sürecidir. Bu örnekler bir rehber işlevi görerek modele belirli bir görev veya soruya nasıl yaklaşacağını ve nasıl yanıt vereceğini gösterir. Bu örnekleri sunduğunuzda aslında modele şunu demiş olursunuz: "Benzer durumlarda böyle yanıt vermelisin."
Bir örneğe bakalım.
Diyelim ki modelden film yorumlarının duygu sınıflandırmasını yapmasını istiyoruz. Bir few-shot prompt şu şekilde görünebilir:
Prompt:
Classify the sentiment of the third movie review. Use the information from the first two examples:Review: "This movie was a waste of time."Sentiment: NegativeReview: "I couldn't stop laughing throughout the film!"Sentiment: PositiveReview: "The special effects were amazing, but the plot was confusing."Sentiment:```markdownIf we input this prompt to the LLM, and if it understands the task correctly, it will output:```markdownSentiment: MixedBu örnekte, LLM prompt içindeki örneklerden yararlanarak üçüncü yorumu nasıl sınıflandıracağını anlar ve buna göre çıktı üretir.
Few-shot prompting önemlidir çünkü LLM'leri daha kullanışlı ve erişilebilir kılar. İlk olarak, modeli baştan eğitmenize ya da çok büyük veri toplamınıza gerek kalmadığı için zaman ve emek tasarrufu sağlar.
İkincisi, oldukça esnektir—verdiğiniz örnekleri değiştirerek modeli farklı görevlere hızla uyarlayabilirsiniz. Üçüncüsü, genellikle herhangi bir kılavuz olmadan bir şey yapmasını istemeye kıyasla, LLM'nin belirli veya karmaşık görevlerde daha iyi performans göstermesine yardımcı olur. Bu yöntem, güçlü yapay zekâ araçlarını yalnızca çok kaynağı olan teknoloji uzmanlarına değil, daha geniş bir kitleye açar.
Few-Shot Prompting Nasıl Çalışır
Few-shot prompting'in özü, LLM'ye prompt içinde küçük bir dizi ilgili örnek veya gösterim sağlamaktır. Bu örnekler, belirli bir görev veya soruya nasıl yaklaşacağını ve nasıl yanıt vereceğini modele gösterir. Gösterimler tipik olarak şu şekilde yapılandırılır:
- Girdi-çıktı çiftleri: Her bir gösterim genellikle bir girdiden (ör. bir soru veya metin parçası) ve buna karşılık gelen çıktıdan (istenen yanıt veya çözüm) oluşur.
- Biçim tutarlılığı: Gösterimler tutarlı bir formatta sunulur; bu da modelin izlemesi gereken deseni tanımasına yardımcı olur.
- Görevle ilişkililik: Sağlanan örnekler, eldeki görevle doğrudan ilgilidir ve gereken özel beceri veya bilgiyi sergiler.
Örneğin, modelden kafiyeli beyitler üretmesini isteseydik, few-shot bir prompt şöyle görünebilirdi:
Generate a rhyming couplet about a tree:Input: "cat"Output: The curious cat, so sleek and fat, Curled up cozy on the welcome mat.Input: "sky"Output: Look up high into the endless sky, Where birds and clouds go drifting by.Input: "tree"Output:Bu gösterimlerle karşılaşan dil modeli, sıklıkla "bağlam içi öğrenme" veya "örnekle öğrenme" diye adlandırılan bir süreci işletir. Şöyle çalışır:
- Desen tanıma: Model, girdilerin çıktılara nasıl dönüştürüldüğüne dair kalıpları belirlemek için sağlanan örnekleri analiz eder.
- Görev çıkarımı: Bu kalıplardan hareketle, model kendisinden istenen görevin doğasını çıkarır.
- Genelleme: Ardından model, verilen örneklerden yeni, görülmemiş girdilere genelleme yapmaya çalışır.
- Uygulama: Son olarak, prompt'un sonunda sunulan yeni girdiye bu öğrenilmiş deseni uygular.
![]()
Bu süreç, modelin temel parametrelerinde herhangi bir değişiklik gerektirmeden bilgilerini ve yeteneklerini belirli bir göreve uyarlamasına olanak tanır.
Few-shot prompting'in etkinliği; görevin karmaşıklığı, sağlanan örneklerin kalitesi ve ilgililiği ve temel dil modelinin yetenekleri gibi etkenlere bağlı olarak değişebilir. Ancak etkili şekilde kullanıldığında, few-shot prompting dil modellerinin çok çeşitli görevleri etkileyici bir doğruluk ve esneklikle yerine getirmesini sağlayabilir.
Few-Shot Prompting'in Avantajları
Few-shot prompting'in birkaç faydası vardır. Bu yöntemin neden bu kadar yararlı olduğuna bakalım.
Gelişmiş performans
Few-shot prompting'in en dikkat çekici avantajlarından biri, zero-shot yaklaşımlara kıyasla performansta önemli artıştır.
- Artırılmış doğruluk: İlgili örnekler sağlayarak few-shot prompting, modelin belirli görevi daha iyi anlamasına ve daha doğru çıktılar üretmesine yardımcı olur.
- Artan ilgililik: Örnekler, modelin istenen çıktıyla daha yakından uyumlu yanıtlar üretmesini sağlar.
- Göreve özgü uyarlama: Few-shot prompting, LLM'nin bildiklerini kullanarak yeni ve özgül görevleri anlamasına ve gerçekleştirmesine yardımcı olur.
Örneğin, modelden belirli bir ton ve formatta ürün açıklamaları üretmesini istediğimiz bir senaryo düşünün.
Generate product descriptions:Product: Wireless EarbudsDescription: Immerse yourself in crystal-clear audio with our sleek wireless earbuds. Featuring noise-cancellation technology and a comfortable fit, these earbuds are perfect for music lovers on the go.Product: Smart WatchDescription: Stay connected and track your fitness with our advanced smart watch. With heart rate monitoring, GPS, and a vibrant touch screen, it's your perfect companion for an active lifestyle.Product: Ergonomic Office ChairDescription:Bu örneklerle, modelin ofis sandalyesi için sıfır örnekli yaklaşıma kıyasla daha ilgili ve uygun tarzda bir açıklama üretme olasılığı artar; sıfır örnekli yaklaşımda daha genel veya odaklanmamış bir açıklama çıkabilir.
Olası bir çıktı şöyle olabilir:```markdown
Description: Çalışma alanınızı son teknoloji ergonomik ofis sandalyemizle dönüştürün. Üstün konfor ve destek için tasarlanan bu sandalye; ayarlanabilir bel desteği, nefes alabilir file sırtlık ve kişiselleştirilebilir kolçaklar sunar. İster evden ister kurumsal bir ofisten çalışıyor olun, bu sandalye modern profesyoneller için stil ve işlevselliğin mükemmel birleşimidir.
Faster adaptationFew-shot prompting helps the LLM to quickly learn new tasks or topics, making it fast and easy to switch between different jobs.Quick task learning: Models can quickly grasp new tasks with just a handful of examples, allowing for rapid prototyping and testing of new applications.Domain adaptation: It's easy to shift the model's focus to different domains or styles by simply changing the examples in the prompt.Iterative refinement: Users can quickly iterate and refine their prompts based on initial results, leading to a more agile development process.For example, if we wanted to adapt the model to generate different types of poetry, we could quickly switch between haikus, limericks, or sonnets just by changing the examples in our prompt:```markdownGenerate poetry based on the given theme and format.Theme: SpringHaiku: Cherry blossoms bloom Soft petals dance in the breeze Nature awakensTheme: SummerHaiku:Theme: A funny catLimerick: There once was a cat named Lou Who always knew just what to do He'd climb up a tree Then meow with glee And slide down as if on a chuteTheme: A clumsy dogLimerick:Olası bir çıktı şöyle olurdu:
Haiku:Scorching sun aboveCicadas sing endlesslyBeach waves cool bare feetLimerick:There once was a dog quite unsteadyHis paws were not quite readyHe'd trip on his tailKnock over the mailBut his smile kept his owner steadyAzalan veri gereksinimleri
Few-shot prompting, geleneksel ince ayar yaklaşımlarına göre büyük miktarda etiketli veri ihtiyacını önemli ölçüde azaltır.
- Gerekli örnek sayısının azlığı: Çoğu görev için modeli etkili biçimde yönlendirmek adına çoğu zaman yalnızca 2-5 örnek yeterlidir.
- İnce ayar gerektirmez: Geleneksel makine öğrenimi yaklaşımlarının aksine, few-shot prompting modelin parametrelerinin güncellenmesini gerektirmez; bu da hesaplama kaynakları ve zaman tasarrufu sağlar.
- Erişilebilirlik: Bu yaklaşım, büyük veri kümelerine veya kapsamlı model eğitimi için kaynaklara sahip olmayan kullanıcılar için gelişmiş NLP yeteneklerini daha erişilebilir kılar.
Few-Shot Prompting Uygulamaları
Few-shot prompting birçok alana uygulanabilir. Esnekliği ve verimliliği, özellikle uzmanlık bilgisi veya yaratıcı çıktı gerektiren görevler için faydalıdır. Başlıca kullanım alanlarına bakalım:
Karmaşık akıl yürütme görevleri
Few-shot prompting, çok adımlı akıl yürütme, mantıksal çıkarım veya alana özgü bilgi içeren görevleri ele alma becerisini önemli ölçüde artırabilir.
Few-shot prompting'i tıbbi tanı görevi için nasıl kullanabileceğimize bakalım:
Provide a possible diagnosis and explain your reasoning:Symptoms: Fever, cough, fatigueDiagnosis: Common coldExplanation: The combination of fever, cough, and fatigue is typical of a common cold. No severe symptoms are present, suggesting a mild viral infection.Symptoms: Chest pain, shortness of breath, dizzinessDiagnosis: Possible heart attackExplanation: The combination of chest pain, shortness of breath, and dizziness are warning signs of a possible heart attack. Immediate medical attention is required.Symptoms: Headache, sensitivity to light, nauseaDiagnosis:Explanation: Bu prompt, modelin yalnızca bir tanı vermesini değil, aynı zamanda bunun ardındaki gerekçeyi de açıklamasını sağlayarak karmaşık tıbbi akıl yürütmeyi sergiler.
LLM şu çıktıyı üretirdi:```markdown
Diagnosis: Migraine
Explanation: Bu semptomlar birlikte değerlendirildiğinde migrene tipiktir. Baş ağrısına ışığa duyarlılık (fotofobi) eşlik etmesi güçlü bir migren göstergesidir ve bu duruma genellikle bulantı da eşlik eder. Başka nedenler mümkün olsa da bu kombinasyon migren baş ağrısını güçlü biçimde düşündürür.
Creative writingFew-shot prompting is particularly effective in guiding LLMs to generate text in specific styles, formats, or genres.Let’s see how to generate movie synopsis in different genres using few-shot prompting:```markdownGenerate movie synopsis:Genre: Sci-FiSynopsis: In a world where dreams can be shared, a skilled "dream thief" is tasked with the impossible: planting an idea in someone's mind. As he delves deeper into the target's subconscious, the lines between reality and dreams blur, threatening to trap him forever.Genre: RomanceSynopsis: A chance encounter on a rainy day in Paris leads two strangers on a whirlwind 24-hour adventure. As they explore the city and each other's hearts, they must decide if their connection is strong enough to overcome the ocean that will separate them come morning.Genre: HorrorSynopsis: Bu prompt, modelin belirtilen türün temel unsurlarını ve tonunu yakalayan bir özet üretmesini sağlar.
Çıktı:
Synopsis: A remote mountain town is plagued by a series of mysterious disappearances. As a skeptical detective investigates, she uncovers an ancient cult that awakens every hundred years to feed on the town's inhabitants. With time running out and the cult's power growing, she must confront her own dark past to save the remaining townspeople and herself from a terrifying fate.Kod üretimi
Few-shot prompting, LLM'lerin belirli kurallara uyan, en iyi uygulamaları takip eden veya belirli gereksinimleri karşılayan kod üretmesine yardımcı olmada son derece yararlı olabilir. Örnekler, belirli bir programlama dilinin doğru sözdizimi ve yapısını gösterebilir.
Docstring ve tür ipuçları içeren Python fonksiyonları üretmek için few-shot prompting'i nasıl kullanacağımıza bakalım:
def calculate_area(length: float, width: float) -> float: """ Calculate the area of a rectangle. Args: length (float): The length of the rectangle. width (float): The width of the rectangle. Returns: float: The area of the rectangle. """ return length * widthdef celsius_to_fahrenheit(celsius: float) -> float: """ Convert temperature from Celsius to Fahrenheit. Args: celsius (float): Temperature in Celsius. Returns: float: Temperature in Fahrenheit. """ return (celsius * 9/5) + 32def calculate_bmi(weight: float, height: float) -> float: """ [Generate a docstring for this function] """ # [Generate the function body]Bu prompt, belirlenmiş deseni takip ederek uygun tür ipuçları ve ayrıntılı bir docstring'e sahip bir fonksiyon üretmesi için modeli yönlendirir.
Çıktı şöyle olurdu:
def calculate_bmi(weight: float, height: float) -> float: """ Calculate the Body Mass Index (BMI) of a person. Args: weight (float): The weight of the person in kilograms. height (float): The height of the person in meters. Returns: float: The calculated BMI value. Note: BMI is calculated as weight (kg) divided by height squared (m^2). This function assumes weight is in kilograms and height is in meters. """ return weight / (height ** 2)Few-Shot Prompting: Zorluklar ve En İyi Uygulamalar
Few-shot prompting birçok durumda iyi çalışsa da kendi zorluklarıyla gelir. Bu zorlukları anlamak ve en iyi uygulamaları takip etmek, prompt'larımızın etkinliğini en üst düzeye çıkarmamıza ve daha iyi sonuçlar elde etmemize yardımcı olur.
Etkili örnekler seçmek
Seçtiğiniz örneklerin kalitesi ve ilgililiği, başarılı bir few-shot prompting için kritik önemdedir. İşte bazı ipuçları:
- Örneklerin modelin yapmasını istediğiniz görevle doğrudan ilişkili olduğundan emin olun. İlgisiz örnekler modeli şaşırtabilir ve zayıf performansa yol açabilir.
- Görevin farklı yönlerini kapsayan çeşitli örnekler kullanın. Bu, modelin yeni girdilere daha iyi genelleme yapmasına yardımcı olur.
- Örnekler net ve açık olmalıdır. Modeli şaşırtabilecek karmaşık veya dolambaçlı örneklerden kaçının.
Prompt tasarımı
Etkili prompt'lar oluşturmak, örneklerin nasıl sunulduğunu ve görevin nasıl çerçevelendiğini dikkatle ele almayı gerektiren bir sanattır. Aşağıdaki stratejileri izleyebilirsiniz:
- Tüm örnekler için tutarlı bir format koruyun. Bu, modelin takip etmesi gereken deseni tanımasına yardımcı olur.
- Görevi netleştirmek için prompt içinde yeterli bağlam sağlayın. Bazen kısa bir yönerge veya açıklama, örnekler için zemin hazırlamaya yardımcı olabilir.
- Prompt'u gerekli bilgileri sağlayacak şekilde olabildiğince basit tutun. Aşırı karmaşık prompt'lar kafa karışıklığına neden olabilir.
Aşırı uyumdan kaçınma
Few-shot prompting'in risklerinden biri, modelin sağlanan örneklere aşırı uyum göstermesi ve çıktıların örneklerle fazla benzer veya yeni girdilere yeterince genellenemiyor olmasıdır. Bunu önlemek için:
- Farklı senaryoları ve köşe durumlarını kapsayan çeşitli örnekler kullanın. Bu, modelin örnekleri yalnızca taklit etmek yerine genelleme yapmasına yardımcı olur.
- Çok fazla örnek kullanmaktan kaçının; bu, aşırı uyuma yol açabilir. Birkaç iyi seçilmiş örnek, çok sayıda benzer örnekten genellikle daha etkilidir.
- Modelin performansını iyi genelleme yaptığından emin olmak için çeşitli yeni girdiler üzerinde test edin. Bu testlere göre örnekleri ve prompt'u gerektiği gibi ayarlayın.
Bu en iyi uygulamaları takip etmek, modelin istenen görevi doğru ve verimli şekilde gerçekleştirmesini sağlayan daha etkili few-shot prompt'lar oluşturmanıza yardımcı olacaktır.

Sonuç
Few-shot prompting, LLM'lerin bilgilerini belirli görevlere uygulamasına yardımcı olan bir tekniktir.
Kapsamlı yeniden eğitime gerek kalmadan yeni görevlere hızlı uyum sağlar. İlgili örnekler sunarak karmaşık görevlerde doğruluğu artırır. Akıl yürütmeden yaratıcı yazıma ve kodlamaya kadar çeşitli alanlarda faydalıdır ve gelişmiş dil modellerini daha erişilebilir ve uyarlanabilir kılar.
Bununla birlikte, etkinliği dikkatli örnek seçimine ve prompt tasarımına bağlıdır. En iyi performans için örneklerin kalitesi ve ilgililiği kritik önemdedir.
İleriye dönük olarak, bunun nereye evrilebileceği beni heyecanlandırıyor. Mükemmel örnekleri otomatik seçebilen veya performansına göre anında uyum sağlayabilen sistemleri hayal edin.
İşte bu kadar! Kısaca few-shot prompting. Denemeye, öğrenmeye devam edin; bir sonraki yazıda görüşmek üzere!
FAQs
Few-shot prompting kullanırken, zero-shot yaklaşımlara kıyasla görev performansındaki iyileşmeyi ölçmenin ya da nicelleştirmenin bir yolu var mı?
Evet, göreve bağlı olarak standart makine öğrenimi metrikleriyle iyileştirmeler ölçülebilir. Sınıflandırma görevleri için doğruluk, kesinlik (precision), geri çağırma (recall) ve F1 skoru kullanılabilir. Üretim görevleri için BLEU, ROUGE gibi metrikler veya insan değerlendirmesi kullanılabilir.
Few-shot prompting'in özellikle başarılı uygulamalara sahip olduğu belirli sektörler var mı?
Few-shot prompting; müşteri hizmetleri (yanıt üretimi), içerik oluşturma (yazma asistanlığı) ve yazılım geliştirme (kod üretimi) gibi çeşitli sektörlerde başarılı olmuştur. Ayrıca sağlıkta tıbbi kayıt özetleme gibi görevlerde ve finansta piyasa analizi ile rapor üretiminde değerli olduğunu kanıtlamaktadır.
Few-shot prompting, veri bilimcileri ve makine öğrenimi mühendisleri için gelecekteki iş piyasasını nasıl etkileyebilir?
Few-shot prompting, uzman olmayanların da kolayca özel yapay zekâ çözümleri oluşturmasını sağlayarak yapay zekâ uygulama geliştirmeyi demokratikleştirebilir. Bu durum veri bilimciler ve ML mühendislerinin odağını daha karmaşık görevlere, prompt mühendisliğine ve daha gelişmiş yapay zekâ sistemleri geliştirmeye kaydırabilir. Ayrıca, çeşitli uygulamalar için etkili prompt ve örnekler oluşturmaya odaklanan yeni roller de yaratabilir.
Few-shot prompting'in son derece uzmanlık gerektiren veya teknik alanlardaki sınırlamaları nelerdir?
Yüksek derecede uzmanlaşmış alanlarda, modelin o alanda temel bilgiden yoksun olması durumunda few-shot prompting zorlanabilir. Sadece birkaç örnekle karmaşık alan-özel kuralları veya prosedürleri yakalamak da güç olabilir. Bu gibi durumlarda daha kapsamlı ince ayar veya alana özgü eğitim gerekebilir.
Kullanıcıların farkında olması gereken etik kaygılar veya olası kötüye kullanım durumları var mı?
Evet, etik kaygılar vardır. Örnekler dikkatle seçilmezse few-shot prompting, yapay zekâ modellerini önyargılı veya zararlı içerik üretmeye yönlendirmek için kullanılabilir. Ayrıca, prompt'lara hassas bilgilerin dahil edilmesi durumunda istemeden veri sızıntısı riski de vardır.
Ana Rojo Echeburúa, Uygulamalı Matematik alanında doktora derecesine sahip bir yapay zeka ve veri uzmanıdır. Verileri eyleme dönüştürülebilir içgörülere çevirmeyi sever ve teknik ekipleri yönetme konusunda geniş deneyime sahiptir. Ana, müşterilerle yakın çalışarak onların iş sorunlarını çözmekten ve yenilikçi yapay zeka çözümleri geliştirmekten keyif alır. Sorun çözme becerileri ve açık iletişimiyle tanınan Ana, özellikle üretken yapay zeka olmak üzere yapay zekaya tutkuyla bağlıdır. Sürekli öğrenmeye ve etik yapay zeka geliştirmeye, ayrıca karmaşık sorunları basitleştirmeye ve teknolojiyi anlaşılır biçimde açıklamaya kendini adamıştır.


Büyük dil modelleri, oldukça insanî görünen metinleri anlayabilir ve yazabilir. Ancak bu modellerin tam da istediğimiz şekilde davranmasını sağlamak, o kadar kolay değildir. Tatmin edici bir yanıt almak için uygun tekniklerin seçilmesi gerekir.
Bu tekniklerden biri de few-shot prompting. Bu, modelin hâlihazırda bildiklerini belirli bir iş için yapmasını istediğimiz şeyle buluşturan akıllı bir yöntemdir—modele ne istediğinizi göstermek için birkaç hızlı örnek verirsiniz; böylece modeli görevi doğru anlaması ve yerine getirmesi kolaylaşır.
Bu eğitimde şunları öğreneceksiniz:
Bu eğitim, “Prompt Mühendisliği: Sıfırdan Uzmanlığa” blog yazı serimin bir parçasıdır: