2. Few-Shot Prompting

Học viện AI LOSA - Học AI từ cơ bản đến nâng cao


Few-Shot Prompting

Các LLM có thể đưa ra các phản hồi ấn tượng khi sử dụng kỹ thuật zero-shot prompting, tuy nhiên, chúng vẫn có thể gặp khó khăn với các nhiệm vụ phức tạp hơn. Lúc này, kỹ thuật "Few-Shot Prompting" có thể là một lựa chọn thích hợp. Few-Shot Prompting được sử dụng để học trong ngữ cảnh, trong đó chúng ta cung cấp các ví dụ trong câu lệnh để hướng dẫn mô hình đạt hiệu quả tốt hơn. Các ví dụ này đóng vai trò như một điều kiện cho các ví dụ tiếp theo mà chúng ta muốn mô hình tạo ra phản hồi.

Hãy xem cách "few-shot prompting" thông qua một ví dụ dưới đây, nhiệm vụ là sử dụng một từ mới trong câu một cách chính xác.

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.

Chúng ta có thể thấy rằng mô hình như đã học cách thực hiện nhiệm vụ này chỉ bằng cách cung cấp một ví dụ (tức là 1-shot). Đối với các nhiệm vụ khó hơn, chúng ta có thể thử nghiệm với việc tăng số lượng ví dụ (ví dụ như 3-shot, 5-shot, 10-shot, v.v.).

Dưới đây là một vài mẹo về việc sử dụng các ví dụ khi thực hiện few-shot:

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

  • định dạng mà bạn sử dụng cũng đóng 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 là không có nhãn nào.

  • những 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 tế (thay vì một phân phối đồng đều) cũng có lợi.

Hãy thử một vài ví dụ. Trước hết, 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 Negative và Positive được gán ngẫu nhiên cho các đầu vào):

Prompt:

This is awesome! // NegativeThis is bad! // PositiveWow that movie was rad! // PositiveWhat a horrible show! //

Output:

Negative

Chúng ta vẫn nhận được câu trả lời đúng, ngay cả khi các nhãn đã được ngẫu nhiên hóa. Lưu ý rằng chúng ta cũng giữ định dạng, điều này cũng hữu ích. 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 sẽ cho những kết quả tốt hơn, kể cả với các định dạng ngẫu nhiên. Ví dụ:

Prompt:

Positive This is awesome! This is bad! NegativeWow that movie was rad!PositiveWhat a horrible show! --

Output:

Negative

Không có tính nhất quán trong định dạng ở trên nhưng mô hình vẫn dự đoán đúng nhãn. Chúng tôi cần thực hiện một phân tích kỹ lưỡng hơn để xác nhận liệu điều này có giữ vững cho các nhiệm vụ khác nhau và phức tạp hơn, bao gồm các biến thể khác nhau của câu lệnh.

Hạn chế của Few-shot Prompting

Few-shot prompting hoạt động tốt cho nhiều nhiệm vụ nhưng vẫn không phải là kỹ thuật hoàn hảo, đặc biệt khi đối mặt với các nhiệm vụ lý luận phức tạp hơn. Hãy minh họa lý do tại sao điều này xảy ra. Bạn có nhớ ví dụ trước đó khi chúng ta đã cung cấp nhiệm vụ sau đây không:

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

Nếu chúng ta thử lại, mô hình xuất ra kết quả sau:

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

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

Hãy thử thêm một vài ví dụ để xem liệu few-shot prompting có cải thiện kết quả không.

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.

Điều đó không hiệu quả. Có vẻ như few-shot prompting không đủ để có được các phản hồi đáng tin cậy cho loại vấn đề lý 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ỹ lưỡng, loại nhiệm vụ mà chúng ta đã giới thiệu liên quan đến vài bước lý luận hơn một chút. Nói cách khác, có thể hữu ích nếu chúng ta chia nhỏ vấn đề thành các bước và trình diễn điều đó cho mô hình. Gần đây, phương pháp nhắc theo chuỗi suy nghĩ (Chain-of-thought prompting) đã trở nên phổ biến để giải quyết các nhiệm vụ số học, lý luận thông thường và lý luận hình thức phức tạp hơn.

Tóm lại, có vẻ như việc cung cấp ví dụ là hữu ích cho việc giải quyết một số nhiệm vụ. Khi zero-shot prompting và few-shot prompting không đủ, điều này có thể có nghĩa là những gì đã được mô hình học không đủ để thực hiện tốt nhiệm vụ đó. Từ đây, chúng tôi khuyến nghị bắt đầu suy nghĩ về việc tinh chỉnh các mô hình của bạn hoặc thử nghiệm với các kỹ thuật thiết lập câu lệnh 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 gọi là nhắc theo chuỗi suy nghĩ, đã thu hút được nhiều sự chú ý.