Self-consistency prompting, bir soruya birden fazla yanıt üretip en sık gelen yanıtı seçme tekniğidir. Bu yöntem, büyük dil modellerinin (LLM) çıktılarındaki rastgeleliği azaltır ve özellikle mantıksal akıl yürütme gerektiren görevlerde doğruluğu artırır. Chain-of-Thought (CoT) ile benzerdir ancak tek bir mantık yolu yerine birden çok yol üretir ve en tutarlı sonucu seçer.
Self-Consistency Prompting Nasıl Çalışır?
Bu teknik, modelin aynı soruya farklı rastgelelik seviyelerinde (örneğin, farklı sıcaklık ayarlarıyla) yanıt vermesini sağlar. Ardından tüm yanıtlar karşılaştırılır ve en sık tekrarlanan yanıt nihai çıktı olarak alınır. Bu, modelin tek bir çıktıya güvenmek yerine istatistiksel bir yaklaşım sunar. Aşağıda adım adım uygulama rehberi yer almaktadır.
- Adım 1: Soruyu ve İlk Prompt'u Hazırlayın
Öncelikle yanıtlamak istediğiniz soruyu açık ve net bir şekilde tanımlayın. Soruyu Chain-of-Thought tarzında bir prompt ile birleştirin. Örneğin, "Bir çiftlikte 3 tavuk ve 2 inek var. Toplam kaç bacak vardır? Lütfen adım adım düşün." gibi. Bu aşamada Chain-of-Thought Prompting yöntemini kullanabilirsiniz. - Adım 2: Modeli Birden Çok Kez Çalıştırın
Aynı prompt'u modeli kullanarak N kez (genellikle 5-10 kez) çalıştırın. Her seferinde modelin sıcaklık (temperature) parametresini 0.5 ile 0.8 arasında ayarlayarak farklı çıktılar elde edin. Sıcaklık düşükse çıktılar benzer olur, yüksekse daha çeşitli. Optimum aralığı deneyerek bulabilirsiniz. - Adım 3: Tüm Yanıtları Toplayın ve Gruplandırın
Her çalıştırmada elde ettiğiniz yanıtları bir listede toplayın. Yanıtları içeriklerine göre gruplandırın. Örneğin, aynı sayısal cevabı verenler aynı gruba girer. Bu aşamada hatalı veya eksik yanıtları da not alın. - Adım 4: En Tutarlı Yanıtı Seçin
Gruplar arasında en sık tekrarlanan yanıtı belirleyin. Eğer aynı sayıda yanıt varsa, daha ayrıntılı veya tutarlı mantık yürütme sunanı tercih edin. Örneğin, yukarıdaki bacak sorusu için 5 yanıttan 4'ü "10 bacak" dediyse, nihai yanıtınız 10 olur. - Adım 5: Doğrulama ve Hata Analizi Yapın
Seçtiğiniz yanıtı ve diğer yanıtları inceleyin. Modelin neden farklı sonuçlar ürettiğini anlamak için hatalı yanıtları değerlendirin. Bu, prompt'unuzu iyileştirmenize yardımcı olur. Ayrıca Structured Prompt yöntemini kullanarak yanıt formatını daha iyi kontrol edebilirsiniz.
Self-Consistency Prompting'in Avantajları
- Doğruluk Artışı: Birden çok örnekten gelen tutarlı yanıt, rastgele hataları filtreler. Araştırmalar, bu yöntemin matematiksel ve mantıksal akıl yürütme testlerinde doğruluğu %10-20 oranında artırdığını göstermektedir.
- Güvenilirlik: Modelin tek bir çıktısına güvenmek yerine istatistiksel bir temel oluşturur.
- Kolay Uygulama: Ek bir eğitim veya ince ayar gerektirmez; sadece birden çok istek göndermek yeterlidir.
Sık Yapılan Hatalar ve Dikkat Edilmesi Gerekenler
Self-consistency prompting uygularken aşağıdaki noktalara dikkat edin:
- Yetersiz Örnek Sayısı: Çok az sayıda deneme (örneğin 2-3 kez) anlamlı bir istatistik sağlamaz. En az 5 kez çalıştırmanız önerilir.
- Çok Yüksek Sıcaklık: Sıcaklık 1.0'ın üzerinde olduğunda çıktılar anlamsız hale gelebilir. 0.5-0.8 ideal aralıktır.
- Yanıtları Yanlış Gruplamak: Aynı anlama gelen farklı ifadeleri ayrı gruplar olarak değerlendirmeyin. Örneğin "10" ve "on" aynı kabul edilmelidir. Bunun için otomatik bir metin normalizasyonu kullanabilirsiniz.
- Prompt'un Net Olmaması: Belirsiz bir prompt, modelin farklı yorumlamalar yapmasına neden olur. Role Prompting ile daha spesifik bir uzman kimliği atayabilirsiniz.
Hangi Durumlarda Kullanılmalı?
Self-consistency prompting özellikle aşağıdaki senaryolarda etkilidir:
- Matematiksel problem çözme
- Mantıksal akıl yürütme gerektiren sorular
- Birden çok cevabın mümkün olduğu durumlarda en doğrusunu bulma
- Modelin yanıtına olan güveni artırma
Ancak yaratıcı yazma veya tek bir doğru cevabı olmayan görevlerde (örneğin hikaye oluşturma) bu yöntem uygun olmayabilir, çünkü yaratıcılığı kısıtlayabilir.
Örnek Uygulama: Matematik Problemi
Bir örnek üzerinden gidelim. Soru: "Bir otobüste 7 kişi var. İlk durakta 3 kişi bindi, 2 kişi indi. İkinci durakta 4 kişi bindi, 1 kişi indi. Otobüste kaç kişi var?"
Prompt: "Bir otobüste 7 kişi var. İlk durakta 3 kişi bindi, 2 kişi indi. İkinci durakta 4 kişi bindi, 1 kişi indi. Otobüste kaç kişi var? Lütfen adım adım düşün."
Modeli 5 kez çalıştırdığımızda şu yanıtları alıyoruz:
- Yanıt 1: 7 + 3 - 2 + 4 - 1 = 11 kişi
- Yanıt 2: 7 + 3 = 10, 10 - 2 = 8, 8 + 4 = 12, 12 - 1 = 11 kişi
- Yanıt 3: 7 + 3 = 10, 10 - 2 = 8, 8 + 4 = 12, 12 - 1 = 11 kişi
- Yanıt 4: 7 - 2 + 3 - 1 + 4 = 11 kişi
- Yanıt 5: 7 + 3 = 10, 10 + 4 = 14, 14 - 2 = 12, 12 - 1 = 11 kişi (hata var ama sonuç doğru)
Görüldüğü gibi tüm yanıtlar 11 kişi sonucunu veriyor. Bu durumda nihai yanıt 11 oluyor. Eğer farklı sonuçlar çıksaydı, en sık görüleni seçerdik.
Self-consistency prompting, özellikle karmaşık problemlerde Chain-of-Thought ile birleştirildiğinde etkileyici sonuçlar verir. Daha ileri düzey bir teknik olarak Tree-of-Thoughts Prompting'i de inceleyebilirsiniz.
Sık Sorulan Sorular
Self-consistency prompting ile Chain-of-Thought arasındaki fark nedir?
Chain-of-Thought (CoT) tek bir mantık yolu oluştururken, self-consistency birden çok CoT yolu üretir ve en sık tekrarlanan yanıtı seçer. Bu sayede rastgele hatalar azalır ve doğruluk artar.
Self-consistency için kaç tane yanıt üretmek gerekir?
Genellikle 5-10 kez çalıştırmak yeterlidir. Daha fazla sayıda çalıştırma doğruluğu artırabilir ancak maliyeti de yükseltir. 5 kezden az anlamlı istatistik sağlamaz.
Self-consistency prompting her modelde çalışır mı?
Evet, çoğu büyük dil modelinde (GPT-4, Claude, Gemini vb.) çalışır. Ancak model ne kadar büyük ve yetenekliyse, farklı yanıtlar arasındaki tutarlılık o kadar yüksek olur.
Sıcaklık (temperature) parametresi nasıl ayarlanmalı?
Optimal sıcaklık genellikle 0.5-0.8 arasındadır. Düşük sıcaklık (0.1) yanıtları benzer yaparken, yüksek sıcaklık (1.0) anlamsız çıktılara yol açabilir. Deneme yanılma ile en iyi değeri bulabilirsiniz.






