Trước đây, để các mô hình ngôn ngữ lớn (LLMs) thực hiện một nhiệm vụ cụ thể, bạn cần huấn luyện chúng với nhiều ví dụ. Quá trình này có thể tốn nhiều thời gian và tài nguyên. Tuy nhiên, hiện nay đã có một số kỹ thuật cho phép các LLMs xử lý được nhiều loại nhiệm vụ mà không cần huấn luyện riêng cho từng nhiệm vụ
Zero-shot prompting là gì?
Zero-shot prompting (tạm dịch: Yêu cầu không có ví dụ) là một kỹ thuật trong AI, đặc biệt là trong các mô hình ngôn ngữ, nơi người dùng đưa ra một yêu cầu mà không cần cung cấp ví dụ cụ thể, và AI sẽ thực hiện tác vụ dựa trên khả năng hiểu ngữ nghĩa và ngữ cảnh
Kỹ thuật này khai thác việc LLM đã được huấn luyện trước trên các bộ dữ liệu rất lớn và đa dạng, từ đó cho phép mô hình áp dụng kiến thức rộng của mình vào những nhiệm vụ mới chỉ dựa trên hướng dẫn rõ ràng và ngắn gọn.
Dù hiệu quả, mức độ thành công của phương pháp này phụ thuộc vào độ phức tạp của nhiệm vụ và chất lượng prompt.
Cách tiếp cận này khác với one-shot hay few-shot prompting, nơi bạn đưa ra một hoặc vài ví dụ để định hướng đầu ra của mô hình.
Ví dụ:
Prompt: Phân loại thực vật dựa trên các đặc điểm của nó. Thực vật: Đây là loại hoa mọc ở đầm lầy, ao hồ, có cuống dài, thẳng, lá to, tròn, xòe rộng trên mặt nước.Chúng có nhiều màu sắc khác nhau như trắng, hồng, vàng, tím, nhưng màu trắng và hồng là phổ biến nhất.
Output: Hoa sen
Trong ví dụ này, prompt không đưa ra ví dụ nào về cách phân loại thực vật hoặc cách loại phân loại cần dùng. Nó chỉ nêu rõ nhiệm vụ (phân loại) và mô tả đặc điểm. Mô hình sử dụng kiến thức đã học về các loại hoa để xác định đúng đó là “hoa sen”.
Zero-shot prompting giúp loại bỏ nhu cầu huấn luyện lại theo từng nhiệm vụ, mở rộng đáng kể phạm vi sử dụng của mô hình, và làm cho AI mạnh mẽ hơn dễ tiếp cận với cả người không chuyên kỹ thuật.
Zero-shot hoạt động như thế nào?
Cách hoạt động của Zero-shot prompting có hai cấu phần quan trọng, bao gồm:quá trình tiền huấn luyện của các mô hình ngôn ngữ lớn (LLMs) và cách thức viết prompt
Tiền huấn luyện mô hình ngôn ngữ
Các mô hình LLM trải qua quá trình tiền huấn luyện trên tập dữ liệu khổng lồ, điều này tạo nên nền tảng cho khả năng hoạt động theo kiểu zero-shot. Quá trình tiền huấn luyện bao gồm các bước sau:

- Thu thập dữ liệu: LLMs được huấn luyện trên các văn bản đa dạng từ nhiều nguồn khác nhau. Lượng dữ liệu này có thể lên đến hàng trăm tỷ từ.
- Mã hóa (tokenization): Văn bản được chia nhỏ thành các đơn vị nhỏ hơn gọi là token, có thể là từ, bán từ (subword) hoặc ký tự.
- Kiến trúc mạng nơ-ron: Mô hình, thường dựa trên kiến trúc transformer, xử lý các token này thông qua nhiều lớp mạng nơ-ron.
- Huấn luyện dự đoán: Mô hình được huấn luyện để dự đoán token tiếp theo trong chuỗi, dựa trên các token trước đó.
- Nhận dạng mẫu ngôn ngữ: Thông qua quá trình này, mô hình học cách nhận diện các mẫu trong ngôn ngữ như ngữ pháp, cú pháp và mối quan hệ ngữ nghĩa.
- Tiếp thu kiến thức: Mô hình xây dựng một nền tảng kiến thức rộng lớn bao trùm nhiều chủ đề và lĩnh vực khác nhau.
- Hiểu ngữ cảnh: Mô hình học cách hiểu ngữ cảnh và tạo ra các phản hồi phù hợp với ngữ cảnh đó.
Cách thức viết prompt
Thiết kế prompt hiệu quả là yếu tố then chốt cho việc nhắc lệnh zero-shot thành công. Nó đóng vai trò cầu nối giữa ý định của người dùng và năng lực của mô hình. Nhưng làm thế nào để đảm bảo prompt của chúng ta thực sự hiệu quả? Hãy cùng xem qua các chiến lược sau:
- Chỉ dẫn rõ ràng: Prompt cần đưa ra hướng dẫn cụ thể, không mơ hồ, để mô hình hiểu đúng nhiệm vụ cần thực hiện.
Ví dụ: “Hãy dịch câu tiếng Anh sau sang tiếng Pháp:” → Prompt này nêu rõ nhiệm vụ là dịch ngôn ngữ, đồng thời chỉ rõ ngôn ngữ nguồn (tiếng Anh) và đích (tiếng Pháp), tránh mọi hiểu nhầm.
- Định khung nhiệm vụ: Trình bày nhiệm vụ theo cách phù hợp với kiến thức và năng lực đã được huấn luyện của mô hình.
Ví dụ: “Phân loại cảm xúc của bài đánh giá phim này thành tích cực, tiêu cực hoặc trung lập:” → Đây là bài toán phân loại quen thuộc với mô hình ngôn ngữ, nên dễ tạo ra phản hồi chính xác.
- Cung cấp bối cảnh: Thêm thông tin liên quan hoặc nền tảng để giúp mô hình hiểu rõ yêu cầu và giới hạn của nhiệm vụ.
Ví dụ: “Trong ngữ cảnh này, ‘Python’ là ngôn ngữ lập trình, hãy giải thích Python là gì:” → Prompt này cung cấp bối cảnh quan trọng, tránh hiểu nhầm Python là loài rắn.
- Quy định định dạng đầu ra: Chỉ rõ định dạng mong muốn của câu trả lời.
Ví dụ: “Liệt kê ba nguyên nhân chính gây biến đổi khí hậu, mỗi nguyên nhân ở một dòng gạch đầu dòng.” → Prompt này nêu rõ số lượng (ba) và định dạng (gạch đầu dòng), giúp mô hình tạo đầu ra có cấu trúc.
- Tránh mơ hồ: Dùng ngôn ngữ chính xác, tránh những chỉ dẫn mơ hồ hoặc quá mở có thể khiến mô hình hiểu sai.
Ví dụ: “Mô tả các bước cụ thể trong chu trình nước, bắt đầu bằng quá trình bốc hơi.” → Prompt này dùng từ ngữ rõ ràng (“các bước cụ thể”, “chu trình nước”) và cung cấp điểm bắt đầu.
- Sử dụng ngôn ngữ tự nhiên: Diễn đạt prompt bằng ngôn ngữ tự nhiên, dễ hiểu và mang tính hội thoại.
Ví dụ: “Hãy tưởng tượng bạn là một chuyên gia hướng nghiệp. Bạn sẽ khuyên gì cho một sinh viên mới tốt nghiệp đang tìm việc đầu tiên?” → Prompt có ngữ điệu gần gũi, giúp mô hình tạo phản hồi sinh động và tự nhiên hơn.
- Tinh chỉnh lặp lại: Nếu kết quả ban đầu chưa tốt, hãy chỉnh sửa prompt bằng cách thêm chi tiết hoặc thay đổi cách diễn đạt. Việc tinh chỉnh giúp prompt từ rộng thành cụ thể, dẫn đến câu trả lời đầy đủ và chính xác hơn.
So sánh giữa zero-shot, one-shot và few-shot
Trái ngược với kỹ thuật zero-shot prompting, để thực hiện kỹ thuật one-shot prompting và few-shot prompting, người dùng cần cung cấp cho mô hình một số ví dụ về đầu vào và đầu ra mong đợi cho nhiệm vụ.
Tiêu chí | Zero-shot Prompting | One-shot Prompting | Few-shot Prompting |
Khái niệm | Yêu cầu mô hình thực hiện nhiệm vụ chỉ dựa trên mô tả nhiệm vụ, không cung cấp ví dụ nào. | Cung cấp một ví dụ mẫu kèm mô tả nhiệm vụ. | Cung cấp vài ví dụ mẫu (thường 2–5) để mô hình học được mẫu phản hồi mong muốn. |
Cách thức áp dụng | Khi mô hình đã được huấn luyện tốt và nhiệm vụ đơn giản, phổ biến. | Khi muốn mô hình hiểu rõ định dạng hoặc logic từ một ví dụ tiêu biểu. | Khi nhiệm vụ phức tạp hơn hoặc yêu cầu sự thống nhất về văn phong/định dạng. |
Ưu điểm | – Nhanh gọn, tiết kiệm token – Dễ triển khai | – Có thể giúp mô hình hiểu rõ hơn yêu cầu nếu ví dụ rõ ràng | – Cải thiện chất lượng đầu ra rõ rệt – Linh hoạt với các dạng bài toán khác nhau |
Nhược điểm | – Dễ gây hiểu sai nếu mô tả chưa rõ – Không hiệu quả với nhiệm vụ lạ hoặc phức tạp | – Có thể gây thiên lệch nếu ví dụ không điển hình – Khó tổng quát | – Tốn token hơn – Cần chọn ví dụ cẩn thận để tránh gây nhiễu |
Ví dụ | ❯ Prompt: “Dịch câu sau sang tiếng Nhật: I love you.” ⮕ Output: “愛しています” | ❯ Prompt: “Dịch câu sau sang tiếng Nhật: Good morning ⮕ おはようございま. Dịch câu sau: I love you.” ⮕ Output: : “愛しています | ❯ Prompt: “Dịch câu sau sang tiếng Nhật: Good morning ⮕ おはようございま Thank you ⮕ ありがとう I love you ⮕ ⮕ Output: “愛しています |
Kết luận
Zero-shot prompting thể hiện khả năng ấn tượng của các LLM trong việc khái quát kiến thức trên nhiều lĩnh vực khác nhau. Chỉ với một hướng dẫn rõ ràng, bạn có thể khai thác kho kiến thức của mô hình để tạo ra nội dung sáng tạo, giàu thông tin hoặc phục vụ nhiệm vụ cụ thể mà không cần huấn luyện thêm.
Tài liệu tham khảo
IBM. (n.d.). What is zero-shot prompting? https://www.ibm.com/think/topics/zero-shot-prompting
Datacamp. (2024, 21 tháng 7) Zero-Shot Prompting: Examples, Theory, Use Cases https://www.datacamp.com/tutorial/zero-shot-prompting