Düşünce zinciri ve öz-tutarlılık istemleri

OpenAI API ile Prompt Engineering

Fouad Trad

Machine Learning Engineer

Düşünce zinciri istemi

  • YBY'lerin yanıt vermeden önce akıl yürütme adımlarını (düşüncelerini) sunmasını gerektirir
  • Karmaşık akıl yürütme görevleri için kullanılır
  • Model hatalarını azaltmaya yardımcı olur

Düşünce zinciri isteminin, modelden bir problemi adım adım çözmesini istediğini ve çıktının her adımın gerekçesini içerdiğini gösteren görsel.

OpenAI API ile Prompt Engineering

Düşünce zinciri istemi

Bir akıl yürütme görevini standart istemle çözme
prompt = """Q: You start with 15 books in your collection. At the bookstore, you 
purchase 8 new books. Then, you lend 3 to your friend and 2 to your cousin. Later, 
you visit another bookstore and buy 5 more books. How many books do you have now? 
A: The answer is"""

print(get_response(prompt))
25 books
OpenAI API ile Prompt Engineering

Düşünce zinciri istemi

Bir akıl yürütme görevini düşünce zinciriyle çözme
prompt = """Q: You start with 15 books in your collection. At the bookstore, you 
purchase 8 new books. Then, you lend 3 to your friend and 2 to your cousin. Later, 
you visit another bookstore and buy 5 more books. How many books do you have now? 
A: Let's think step by step""" 
print(get_response(prompt))
Step 1: Start with the number of books in your collection: 15 books
Step 2: Purchase 8 new books at the bookstore: 15 + 8 = 23 books
Step 3: Lend 3 books to your friend: 23 - 3 = 20 books
Step 4: Lend 2 books to your cousin: 20 - 2 = 18 books
Step 5: Visit another bookstore and buy 5 more books: 18 + 5 = 23 books
Therefore, you have 23 books now.
OpenAI API ile Prompt Engineering

Az örnekli düşünce zinciri istemi

example = """
Q: The odd numbers in this group add up to an even number:  9, 10, 13, 4, 2.
A: Adding all the odd numbers (9, 13) gives 22. The answer is True.
"""

question = """ Q: The odd numbers in this group add up to an even number: 15, 13, 82, 7. A: """
prompt = example + question print(get_response(prompt))
Adding all the odd numbers (15, 13, 7) gives 35. The answer is False.
OpenAI API ile Prompt Engineering

Düşünce zinciri ve çok adımlı istemler

Çok adımlı istemler

  • İstem içine adımlar ekleyin

Bir çok adımlı istemin, modele ardışık adımlar verdiğini gösteren diyagram.

OpenAI API ile Prompt Engineering

Düşünce zinciri ve çok adımlı istemler

Çok adımlı istemler

  • Adımları istemin içine koyun

Bir çok adımlı istemin, modele ardışık adımlar verdiğini gösteren diyagram.

Düşünce zinciri istemleri

  • Modelden ara adımları üretmesini isteyin

Düşünce zinciri istemlerinde, adımların çıktı üretilirken model tarafından üretildiğini gösteren görsel.

OpenAI API ile Prompt Engineering

Düşünce zincirinin sınırı

  • Başarısız bir düşünce --> başarısız sonuç
  • Öz-tutarlılık istemleri tanıtıldı

Hatalı akıl yürütmeye sahip tek bir düşüncenin başarısız sonuca yol açtığını vurgulayan düşünce zinciri diyagramı.

OpenAI API ile Prompt Engineering

Öz-tutarlılık istemi

  • Modeli birkaç kez çalıştırarak birden çok düşünce zinciri üretir
  • Nihai çıktı çoğunluk oylamasıyla alınır

Öz-tutarlılık isteminin, her biri bir çıktı üreten birden çok düşünce zincirinden oluştuğunu ve sonucun çoğunluk oylamasıyla elde edildiğini gösteren görsel.

OpenAI API ile Prompt Engineering

Öz-tutarlılık istemi

Birden çok istem tanımlayarak veya çoklu yanıt üreten bir istemle yapılabilir.

self_consistency_instruction = "Imagine three completely independent experts who 
reason differently are answering this question. The final answer is obtained by 
majority vote. The question is: "

problem_to_solve = "If there are 10 cars in the parking lot and 3 more cars arrive. Half the original number of cars leave. Then, half of the current number of cars arrive. How many cars are there in the parking?"
prompt = self_consistency_instruction + problem_to_solve print(get_response(prompt))
OpenAI API ile Prompt Engineering

Öz-tutarlılık istemi

Expert 1: Let's go step by step [...] Therefore, the total number of cars in the 
parking lot is 8 + 4 = 12.

Expert 2: First, let's calculate [...] Therefore, the total number of cars in the 
parking lot is now 5 + 2 = 7 cars.

Expert 3: Initially, there are 10 cars [...] Thus, the final answer is 8 + 4 = 12 
cars in the parking lot.

Based on the majority vote, the final answer is that there are 12 cars in the 
parking lot.
OpenAI API ile Prompt Engineering

Hadi pratik yapalım!

OpenAI API ile Prompt Engineering

Preparing Video For Download...