Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Lời nhắc với vài ví dụ/minh họa (Few-Shot Prompting)

Thứ sáu - 31/10/2025 06:01
Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Lời nhắc với vài ví dụ/minh họa (Few-Shot Prompting)

Few-Shot Prompting

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

Video: Few-Shot Prompting Explained

Mặc dù các mô hình ngôn ngữ lớn thể hiện khả năng zero-shot đáng chú ý, chúng vẫn còn hạn chế trong các tác vụ phức tạp hơn khi sử dụng thiết lập zero-shot. Kỹ thuật nhắc với vài ví dụ/minh họa (Few-Shot Prompting) có thể được sử dụng như một kỹ thuật cho phép học trong ngữ cảnh, trong đó chúng tôi cung cấp các minh họa trong lời nhắc để điều khiển mô hình đạt hiệu suất tốt hơn. Các minh họa này đóng vai trò là điều kiện cho các ví dụ tiếp theo, trong đó chúng tôi muốn mô hình tạo ra phản hồi.

Theo Touvron và cộng sự, 2023, các thuộc tính few-shot lần đầu tiên xuất hiện khi các mô hình được thu nhỏ đến kích thước đủ lớn (Kaplan và cộng sự, 2020). Hãy cùng minh họa kỹ thuật nhắc few-shot thông qua một ví dụ được trình bày trong Brown và cộng sự, 2020. Trong ví dụ này, nhiệm vụ là sử dụng đúng một từ mới trong câu.

Prompt:

"Whatpu" là một loài động vật nhỏ, có lông, bản địa của Tanzania. Ví dụ về một câu sử dụng từ "whatpu" là:
Chúng tôi đang đi du lịch ở Châu Phi và thấy những chú "whatpu" rất dễ thương này.
 
"Farduddle" có nghĩa là nhảy lên nhảy xuống thật nhanh. Ví dụ về một câu sử dụng từ "farduddle" là:

Output:

Khi chúng tôi thắng trận, tất cả chúng tôi đều bắt đầu "farduddle" để ăn mừng.

Chúng ta có thể quan sát thấy mô hình đã học được cách thực hiện nhiệm vụ bằng cách chỉ cung cấp cho nó một ví dụ (nghĩa là: có 1 ví dụ). Đối với các nhiệm vụ khó hơn, chúng ta có thể thử nghiệm bằng cách tăng số lần trình diễn (nghĩa là: 3 ví dụ, 5 ví dụ, 10 ví dụ, v.v.).

Theo những phát hiện của Min và cộng sự (2022), sau đây là một vài mẹo nữa về trình diễn/ví dụ khi thực hiện vài ví dụ:

  • "không gian nhãn và phân phối của văn bản đầu vào được chỉ định bởi các lần trình diễn đều quan trọng (bất kể các nhãn có chính xác cho từng đầu vào hay không)"

  • định dạng bạn sử dụng cũng đóng một vai trò quan trọng trong hiệu suất, ngay cả khi bạn chỉ sử dụng nhãn ngẫu nhiên, điều này vẫn tốt hơn nhiều so với việc không sử dụng nhãn nào cả.

  • các kết quả bổ sung cho thấy việc chọn nhãn ngẫu nhiên từ một phân phối nhãn thực sự (thay vì phân phối đều) cũng hữu ích.

Hãy cùng thử một vài ví dụ. Trước tiên, chúng ta hãy thử một ví dụ với các nhãn ngẫu nhiên (có nghĩa là các nhãn Âm và Dương được gán ngẫu nhiên cho các đầu vào):

Prompt:

Tuyệt vời! //Tiêu cực
Tệ quá! // Tích cực
Ôi, phim này hay quá! // Tích cực
Thật là một chương trình tệ hại! //

Output:

Tiêu cực

Chúng tôi vẫn nhận được câu trả lời đúng, mặc dù các nhãn đã được sắp xếp ngẫu nhiên. Lưu ý rằng chúng tôi cũng giữ nguyên định dạng, điều này cũng hữu ích. Trên thực tế, với những thử nghiệm tiếp theo, có vẻ như các mô hình GPT mới hơn mà chúng tôi đang thử nghiệm đang trở nên mạnh mẽ hơn ngay cả với các định dạng ngẫu nhiên. Ví dụ:

Prompt:

Tích cực: Tuyệt vời!
Tệ quá! Tiêu cực
Ôi, phim này hay quá!
Tích cực
Thật là một chương trình tệ hại! --

Output:

Tiêu cực

Mặc dù định dạng trên không nhất quán nhưng mô hình vẫn dự đoán đúng nhãn. Chúng ta cần tiến hành phân tích kỹ lưỡng hơn để xác nhận liệu điều này có đúng với các tác vụ khác nhau và phức tạp hơn hay không, bao gồm các biến thể khác nhau của lời nhắc.

Hạn chế của Lời nhắc với vài ví dụ/minh họa

Lời nhắc với vài ví dụ/minh họa (Few-shot Promping) tiêu chuẩn làm việc tốt với nhiều tác vụ nhưng vẫn chưa phải là một kỹ thuật hoàn hảo, đặc biệt là khi xử lý các tác vụ suy luận phức tạp hơn. Hãy cùng chứng minh lý do tại sao lại như vậy. Bạn còn nhớ ví dụ trước, trong đó chúng ta đã đưa ra tác vụ sau:

Các số lẻ trong nhóm này cộng lại thành một số chẵn: 15, 32, 5, 13, 82, 7, 1.
A: 

Nếu chúng ta thử lại, mô hình sẽ cho kết quả như sau:

Đúng vậy, tổng các số lẻ trong nhóm này bằng 107, tức là một số chẵn.

Đây không phải là câu trả lời đúng, điều này không chỉ làm nổi bật những hạn chế của các hệ thống này mà còn cho thấy cần phải có kỹ thuật nhắc tiên tiến hơn.

Chúng ta hãy thử thêm một số ví dụ để xem liệu việc nhắc với vài ví dụ/minh họa (Few-shot Prompting) có cải thiện kết quả hay không.

Prompt:

Tổng các số lẻ trong nhóm này bằng một số chẵn: 4, 8, 9, 15, 12, 2, 1. 
Đáp án: Sai.

Tổng các số lẻ trong nhóm này bằng một số chẵn: 17, 10, 19, 4, 8, 12, 24. 
Đáp án: Đúng.

Tổng các số lẻ trong nhóm này bằng một số chẵn: 16, 11, 14, 4, 8, 13, 24. 
Đáp án: Đúng.

Tổng các số lẻ trong nhóm này bằng một số chẵn: 17, 9, 10, 12, 13, 4, 2. 
Đáp án: Sai.

Các số lẻ trong nhóm này cộng lại thành một số chẵn: 15, 32, 5, 13, 82, 7, 1.
Đáp án:

Output:

Câu trả lời là Đúng.

Điều đó không hiệu quả. Có vẻ như lời nhắc dạng few-shot là không đủ để có được phản hồi đáng tin cậy cho loại vấn đề suy luận này. Ví dụ trên cung cấp thông tin cơ bản về nhiệm vụ. Nếu bạn xem xét kỹ hơn, loại nhiệm vụ mà chúng tôi đã giới thiệu bao gồm một vài bước suy luận. Nói cách khác, sẽ hữu ích nếu chúng ta chia nhỏ vấn đề thành các bước và chứng minh điều đó cho mô hình. Gần đây, lời nhắc theo dòng suy nghĩ – CoT (Chain of Thought prompting) đã được phổ biến để giải quyết các nhiệm vụ số học, suy luận thông thường và suy luận biểu tượng phức tạp hơn.

Nhìn chung, việc cung cấp các ví dụ có vẻ hữu ích để giải quyết một số nhiệm vụ. Khi lời nhắc không có ví dụ/minh họa và lời nhắc với vài ví dụ/minh họa là không đủ, điều đó có nghĩa là những gì mô hình học được là không đủ để thực hiện tốt nhiệm vụ. Từ đây, bạn nên bắt đầu suy nghĩ về việc tinh chỉnh mô hình của mình hoặc thử nghiệm các kỹ thuật nhắc nâng cao hơn. Tiếp theo, chúng ta sẽ nói về một trong những kỹ thuật nhắc phổ biến được gọi là lời nhắc theo dòng suy nghĩ (Chain-of-Thought Prompting), kỹ thuật này đã trở nên rất phổ biến.

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

 

While large-language models demonstrate remarkable zero-shot capabilities, they still fall short on more complex tasks when using the zero-shot setting. Few-shot prompting can be used as a technique to enable in-context learning where we provide demonstrations in the prompt to steer the model to better performance. The demonstrations serve as conditioning for subsequent examples where we would like the model to generate a response.

According to Touvron et al. 2023 few shot properties first appeared when models were scaled to a sufficient size (Kaplan et al., 2020). Let's demonstrate few-shot prompting via an example that was presented in Brown et al. 2020. In the example, the task is to correctly use a new word in a sentence.

Prompt:

A "whatpu" is a small, furry animal native to Tanzania. An example of a sentence that uses the word whatpu is:
We were traveling in Africa and we saw these very cute whatpus.
 
To do a "farduddle" means to jump up and down really fast. An example of a sentence that uses the word farduddle is:

Output:

When we won the game, we all started to farduddle in celebration.

We can observe that the model has somehow learned how to perform the task by providing it with just one example (i.e., 1-shot). For more difficult tasks, we can experiment with increasing the demonstrations (e.g., 3-shot, 5-shot, 10-shot, etc.).

Following the findings from Min et al. (2022), here are a few more tips about demonstrations/exemplars when doing few-shot:

  • "the label space and the distribution of the input text specified by the demonstrations are both important (regardless of whether the labels are correct for individual inputs)"

  • the format you use also plays a key role in performance, even if you just use random labels, this is much better than no labels at all.

  • additional results show that selecting random labels from a true distribution of labels (instead of a uniform distribution) also helps.

Let's try out a few examples. Let's first try an example with random labels (meaning the labels Negative and Positive are randomly assigned to the inputs):

Prompt:

This is awesome! // Negative
This is bad! // Positive
Wow that movie was rad! // Positive
What a horrible show! //

Output:

Negative

We still get the correct answer, even though the labels have been randomized. Note that we also kept the format, which helps too. In fact, with further experimentation, it seems the newer GPT models we are experimenting with are becoming more robust to even random formats. Example:

Prompt:

Positive This is awesome! 
This is bad! Negative
Wow that movie was rad!
Positive
What a horrible show! --

Output:

Negative

There is no consistency in the format above but the model still predicted the correct label. We have to conduct a more thorough analysis to confirm if this holds for different and more complex tasks, including different variations of prompts.

Limitations of Few-shot Prompting

Standard few-shot prompting works well for many tasks but is still not a perfect technique, especially when dealing with more complex reasoning tasks. Let's demonstrate why this is the case. Do you recall the previous example where we provided the following task:

The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. 

A: 

If we try this again, the model outputs the following:

Yes, the odd numbers in this group add up to 107, which is an even number.

This is not the correct response, which not only highlights the limitations of these systems but that there is a need for more advanced prompt engineering.

Let's try to add some examples to see if few-shot prompting improves the results.

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: The answer is False.

The odd numbers in this group add up to an even number: 17,  10, 19, 4, 8, 12, 24.
A: The answer is True.

The odd numbers in this group add up to an even number: 16,  11, 14, 4, 8, 13, 24.
A: The answer is True.

The odd numbers in this group add up to an even number: 17,  9, 10, 12, 13, 4, 2.
A: The answer is False.

The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. 
A: 

Output:

The answer is True.

That didn't work. It seems like few-shot prompting is not enough to get reliable responses for this type of reasoning problem. The example above provides basic information on the task. If you take a closer look, the type of task we have introduced involves a few more reasoning steps. In other words, it might help if we break the problem down into steps and demonstrate that to the model. More recently, chain-of-thought (CoT) prompting has been popularized to address more complex arithmetic, commonsense, and symbolic reasoning tasks.

Overall, it seems that providing examples is useful for solving some tasks. When zero-shot prompting and few-shot prompting are not sufficient, it might mean that whatever was learned by the model isn't enough to do well at the task. From here it is recommended to start thinking about fine-tuning your models or experimenting with more advanced prompting techniques. Up next we talk about one of the popular prompting techniques called chain-of-thought prompting which has gained a lot of popularity.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

 

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

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập156
  • Máy chủ tìm kiếm9
  • Khách viếng thăm147
  • Hôm nay20,349
  • Tháng hiện tại1,333,066
  • Tổng lượt truy cập46,581,139
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