Blog FOSS by Lê Trung Nghĩa

https://letrungnghia.mangvn.org

Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Tự nhất quán

Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Tự nhất quán

Self-Consistency

Theo: https://www.promptingguide.ai/techniques/consistency

Có lẽ một trong những kỹ thuật tiên tiến hơn hiện có cho kỹ thuật nhắc là tự nhất quán. Được đề xuất bởi Wang và cộng sự (2022), tự nhất quán nhằm mục đích "thay thế cách giải mã tham lam ngây thơ được sử dụng trong lời nhắc theo chuỗi suy nghĩ". Ý tưởng là lấy mẫu nhiều đường suy luận đa dạng thông qua CoT với vài ví dụ/minh họa, và sử dụng các thế hệ để chọn ra câu trả lời nhất quán nhất. Điều này giúp tăng hiệu suất của lời nhắc CoT trong các nhiệm vụ liên quan đến số học và suy luận thông thường.

Hãy thử ví dụ sau về suy luận số học:

Prompt:

Khi tôi 6 tuổi, chị gái tôi chỉ bằng một nửa tuổi tôi. Bây giờ tôi 70 tuổi, chị gái tôi bao nhiêu tuổi?

Output:

35

Đầu ra sai! Làm thế nào chúng ta có thể cải thiện điều này bằng tính nhất quán? Hãy thử xem. Chúng ta sẽ sử dụng các ví dụ với vài ví dụ/minh họa từ Wang và cộng sự, 2022 (Bảng 17):

Prompt:

Hỏi: Có 15 cây trong khu rừng. Hôm nay, các công nhân khu rừng sẽ trồng cây trong khu rừng. Sau khi hoàn thành, sẽ có 21 cây. Vậy hôm nay các công nhân khu rừng đã trồng bao nhiêu cây?
Đáp: Ban đầu chúng ta có 15 cây. Sau đó chúng ta có 21 cây. Khác biệt phải là số cây họ đã trồng. Vậy, họ phải trồng 21 - 15 = 6y. Đáp án là 6.

Hỏi: Nếu có 3 ô tô trong bãi đậu xe và có thêm 2 ô tô nữa đến, vậy có bao nhiêu ô tô trong bãi đậu xe?
Đáp: Đã có 3 ô tô trong bãi đậu xe. Thêm 2 ô tô nữa đến. Bây giờ có 3 + 2 = 5 ô tô. Đáp án là 5.

Hỏi: Leah có 32 viên sô cô la và em gái cô ấy có 42 viên. Nếu họ ăn 35 viên, tổng cộng họ còn lại bao nhiêu viên?
Đáp: Leah có 32 viên kẹo sô cô la và em gái Leah có 42 viên. Điều đó có nghĩa là ban đầu có 32 + 42 = 74 viên kẹo sô cô la. Đã ăn hết 35 viên. Vậy tổng cộng họ vẫn còn 74 - 35 = 39 viên kẹo sô cô la. Câu trả lời là 39.

Hỏi: Jason có 20 viên kẹo. Cậu ấy đã cho Denny một ít kẹo. Bây giờ Jason có 12 viên kẹo. Jason đã cho Denny bao nhiêu viên kẹo?
Đáp: Jason có 20 viên kẹo. Vì bây giờ cậu ấy chỉ còn 12 viên, nên cậu ấy hẳn đã cho Denny số kẹo còn lại. Số kẹo cậu ấy đã cho Denny phải là 20 - 12 = 8 viên kẹo. Câu trả lời là 8.

Hỏi: Shawn có 5 món đồ chơi. Vào dịp Giáng sinh, cậu ấy nhận được 2 món đồ chơi từ bố và mẹ. Vậy bây giờ cậu ấy có bao nhiêu món đồ chơi?
Đáp: Cậu ấy có 5 món đồ chơi. Cậu bé được mẹ cho 2 món đồ chơi, vậy là cậu bé có 5 + 2 = 7 đồ chơi. Sau đó, cậu được bố cho thêm 2 món nữa, vậy tổng cộng cậu bé có 7 + 2 = 9 món đồ chơi. Đáp án là 9.

Hỏi: Có 9 máy tính trong phòng máy chủ. Mỗi ngày, từ thứ Hai đến thứ Năm, lại lắp thêm 5 máy tính nữa. Vậy hiện tại có bao nhiêu máy tính trong phòng máy chủ?
Đáp: Có 4 ngày, từ thứ Hai đến thứ Năm. Mỗi ngày lại có thêm 5 máy tính. Điều đó có nghĩa là tổng cộng có 4 * 5 = 20 máy tính được lắp thêm. Ban đầu có 9 máy tính, vậy bây giờ có 9 + 20 = 29 máy tính.
Đáp án là 29.

Hỏi: Michael có 58 quả bóng gôn. Vào thứ Ba, cậu bé làm mất 23 quả bóng gôn. Vào thứ Tư, cậu bé làm mất thêm 2 quả bóng gôn. Vậy cuối ngày thứ Tư, cậu bé có bao nhiêu quả bóng gôn?
Đáp: Ban đầu, Michael có 58 quả bóng gôn. Hôm thứ Ba, anh ấym mất 23 quả bóng, vậy sau đó anh ấy còn 58 - 23 = 35 quả bóng. Hôm thứ Tư, anh ấym mất thêm 2 quả nữa, vậyy giờ anh ấy còn 35 - 2 = 33 quả bóng. Câu trả lời là 33. 

Hỏi: Olivia có 23 đô la. Cô ấy mua 5 bánh mì tròn với giá 3 đô la mỗi chiếc. Hỏi cô ấy còn lại bao nhiêu tiền?
Đáp: Cô ấy mua 5 chiếc bánh mì tròn với giá 3 đô la mỗi chiếc. Điều này có nghĩa là cô ấy đã tiêu hết 15 đô la. Vậy cô ấy còn lại 8 đô la.

Hỏi: Khi tôi 6 tuổi, chị gái tôi bằng một nửa tuổi tôi. Bây giờ tôi 70 tuổi, vậy chị gái tôi bao nhiêu tuổi?
A:

Output 1:

Khi tôi 6 tuổi, em gái tôi bằng một nửa tuổi tôi, tức là em ấy 3 tuổi. Bây giờ tôi 70 tuổi, tức là em ấy 70 - 3 = 67. Đáp án là 67.

Output 2:

Khi người kể chuyện 6 tuổi, em gái anh ấy bằng một nửa tuổi anh ấy, tức là 3 tuổi. Bây giờ người kể chuyện 70 tuổi, tức là em gái anh ấy 70 - 3 = 67 tuổi. Đáp án là 67.

Output 3:

Khi tôi 6 tuổi, em gái tôi bằng một nửa tuổi tôi, tức là em ấy 3 tuổi. Bây giờ tôi 70 tuổi, tức là em ấy 70/2 = 35. Đáp án là 35.

Việc tính toán để đưa ra câu trả lời cuối cùng bao gồm một vài bước (xem tài liệu để biết chi tiết) nhưng để đơn giản, chúng ta có thể thấy rằng đã có một câu trả lời đa số xuất hiện nên về cơ bản đó sẽ trở thành câu trả lời cuối cùng.

Về ‘Kỹ thuật viết lời nhắc’ ………. Phần trước ………. Phần tiếp theo

 

Perhaps one of the more advanced techniques out there for prompt engineering is self-consistency. Proposed by Wang et al. (2022), self-consistency aims "to replace the naive greedy decoding used in chain-of-thought prompting". The idea is to sample multiple, diverse reasoning paths through few-shot CoT, and use the generations to select the most consistent answer. This helps to boost the performance of CoT prompting on tasks involving arithmetic and commonsense reasoning.

Let's try the following example for arithmetic reasoning:

Prompt:

When I was 6 my sister was half my age. Now
I’m 70 how old is my sister?

Output:

35

The output is wrong! How may we improve this with self-consistency? Let's try it out. We will use the few-shot exemplars from Wang et al. 2022 (Table 17):

Prompt:

Q: There are 15 trees in the grove. Grove workers will plant trees in the grove today. After they are done,
there will be 21 trees. How many trees did the grove workers plant today?
A: We start with 15 trees. Later we have 21 trees. The difference must be the number of trees they planted.
So, they must have planted 21 - 15 = 6 trees. The answer is 6.

Q: If there are 3 cars in the parking lot and 2 more cars arrive, how many cars are in the parking lot?
A: There are 3 cars in the parking lot already. 2 more arrive. Now there are 3 + 2 = 5 cars. The answer is 5.

Q: Leah had 32 chocolates and her sister had 42. If they ate 35, how many pieces do they have left in total?
A: Leah had 32 chocolates and Leah’s sister had 42. That means there were originally 32 + 42 = 74
chocolates. 35 have been eaten. So in total they still have 74 - 35 = 39 chocolates. The answer is 39.

Q: Jason had 20 lollipops. He gave Denny some lollipops. Now Jason has 12 lollipops. How many lollipops
did Jason give to Denny?
A: Jason had 20 lollipops. Since he only has 12 now, he must have given the rest to Denny. The number of
lollipops he has given to Denny must have been 20 - 12 = 8 lollipops. The answer is 8.

Q: Shawn has five toys. For Christmas, he got two toys each from his mom and dad. How many toys does
he have now?
A: He has 5 toys. He got 2 from mom, so after that he has 5 + 2 = 7 toys. Then he got 2 more from dad, so
in total he has 7 + 2 = 9 toys. The answer is 9.

Q: There were nine computers in the server room. Five more computers were installed each day, from
monday to thursday. How many computers are now in the server room?
A: There are 4 days from monday to thursday. 5 computers were added each day. That means in total 4 * 5 =
20 computers were added. There were 9 computers in the beginning, so now there are 9 + 20 = 29 computers.
The answer is 29.

Q: Michael had 58 golf balls. On tuesday, he lost 23 golf balls. On wednesday, he lost 2 more. How many
golf balls did he have at the end of wednesday?
A: Michael initially had 58 balls. He lost 23 on Tuesday, so after that he has 58 - 23 = 35 balls. On
Wednesday he lost 2 more so now he has 35 - 2 = 33 balls. The answer is 33.

Q: Olivia has $23. She bought five bagels for $3 each. How much money does she have left?
A: She bought 5 bagels for $3 each. This means she spent $15. She has $8 left.

Q: When I was 6 my sister was half my age. Now I’m 70 how old is my sister?
A:

Output 1:

When I was 6 my sister was half my age, so she was 3. Now I am 70, so she is 70 - 3 = 67. The answer is 67.

Output 2:

When the narrator was 6, his sister was half his age, which is 3. Now that the narrator is 70, his sister would be 70 - 3 = 67 years old. The answer is 67.

Output 3:

When I was 6 my sister was half my age, so she was 3. Now I am 70, so she is 70/2 = 35. The answer is 35.

Computing for the final answer involves a few steps (check out the paper for the details) but for the sake of simplicity, we can see that there is already a majority answer emerging so that would essentially become the final answer.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Tác giả: Nghĩa Lê Trung

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây