In-Context Learning (VI)
Học trong ngữ cảnh (tiếng Anh: In-Context Learning, ICL) — là khả năng nền tảng của các mô hình ngôn ngữ lớn (LLM) cho phép học các tác vụ mới "ngay lập tức", chỉ sử dụng các ví dụ (minh họa) được cung cấp trong ngữ cảnh (prompt) của yêu cầu. Đặc điểm then chốt là quá trình thích nghi này diễn ra mà không cần cập nhật trọng số (tham số) của mô hình, tức là không cần fine-tuning theo nghĩa truyền thống[1][2].
Cơ chế này cho phép các mô hình thể hiện sự linh hoạt đáng kinh ngạc, giải quyết các tác vụ mà chúng không được huấn luyện chuyên biệt. ICL đã trở thành một trong những đột phá quan trọng khiến các mô hình ngôn ngữ lớn trở nên mạnh mẽ và đa năng đến vậy[3].
Cơ chế hoạt động
Sự hiểu biết chính xác về cách ICL hoạt động vẫn là một lĩnh vực nghiên cứu tích cực, tuy nhiên đã có một số lý thuyết hàng đầu giải thích hiện tượng này.
Transformer với tư cách là meta-optimizer
Một trong những lý thuyết phổ biến cho rằng kiến trúc Transformer trong quá trình tiền huấn luyện học cách thực thi các thuật toán học tập trong các forward pass của nó. Khi mô hình nhận được prompt kèm theo các ví dụ, nó ngầm thực hiện một dạng tối ưu hóa để giải quyết tác vụ được trình bày, điều chỉnh các trạng thái nội tại (activation) của mình thay vì điều chỉnh trọng số[4].
Suy luận Bayes
Một lý thuyết khác xem ICL như một dạng suy luận Bayes. Mô hình được tiền huấn luyện trên khối lượng dữ liệu khổng lồ có biểu diễn tiên nghiệm về nhiều khái niệm. Các ví dụ trong ngữ cảnh đóng vai trò là bằng chứng, giúp mô hình tinh chỉnh phân phối xác suất hậu nghiệm của mình đối với các khái niệm ẩn. Nói cách khác, các ví dụ giúp mô hình "hiểu" chính xác cần giải quyết tác vụ nào trong số hàng nghìn tác vụ mà nó đã biết[5].
Các loại In-Context Learning
Tùy thuộc vào số lượng ví dụ được cung cấp, ICL được chia thành ba loại chính.
- Few-shot Learning (học từ một vài ví dụ): Đây là phương pháp phổ biến và cân bằng nhất. Mô hình được cung cấp một vài (thường từ 2 đến 10) ví dụ minh họa.
Ví dụ (phân loại cảm xúc):
Текст: "Какой прекрасный день!" Тональность: Позитивная Текст: "Я ненавижу стоять в пробках." Тональность: Негативная Текст: "Этот фильм был довольно средним." Тональность:
Câu trả lời kỳ vọng:
Нейтральная
- One-shot Learning (học từ một ví dụ): Mô hình chỉ được cho một ví dụ duy nhất. Điều này thường đủ để xác định định dạng câu trả lời và cải thiện đáng kể hiệu suất so với phương pháp zero-shot.
- Zero-shot Learning (học không có ví dụ): Mô hình không được cung cấp ví dụ, chỉ có hướng dẫn hoặc mô tả tác vụ. Trong trường hợp này, mô hình hoàn toàn dựa vào kiến thức thu được trong quá trình tiền huấn luyện.
Ứng dụng thực tiễn
Áp dụng ICL đúng cách cho phép giải quyết nhiều loại tác vụ khác nhau mà không cần phát triển tốn kém hay fine-tuning.
- Đối với các tác vụ sáng tạo và phong cách (tạo mã theo phong cách nhất định, viết văn theo phong cách của một tác giả cụ thể):
- Khuyến nghị sử dụng Few-shot Learning.
- Các ví dụ giúp mô hình nắm bắt được phong cách, định dạng và cấu trúc đầu ra cần thiết.
- Đối với các tác vụ đơn giản với hướng dẫn rõ ràng (dịch thuật, tóm tắt, trả lời câu hỏi đơn giản):
- Thường Zero-shot Learning là đủ.
- Các mô hình hiện đại xử lý tốt những tác vụ như vậy nếu chúng là một phần của quá trình tiền huấn luyện.
- Đối với các tác vụ mà định dạng đầu ra quan trọng (tạo JSON, trích xuất thực thể):
- Khuyến nghị sử dụng One-shot hoặc Few-shot Learning.
- Thậm chí một ví dụ cũng có thể xác định rõ ràng cấu trúc câu trả lời cần thiết, ngăn ngừa các lỗi định dạng.
Ưu điểm và nhược điểm
| Ưu điểm | Nhược điểm |
|---|---|
|
|
So sánh với các mô hình khác
ICL và Fine-tuning
Fine-tuning (tinh chỉnh) thay đổi trọng số của mô hình, "khắc sâu" kiến thức mới vào trong nó. Điều này biến mô hình thành chuyên gia trong một lĩnh vực hẹp, nhưng làm giảm tính linh hoạt tổng thể của nó. ICL, ngược lại, không thay đổi trọng số và linh hoạt hơn, nhưng có thể thua kém về hiệu suất trên các tác vụ chuyên biệt hẹp đòi hỏi hiểu biết sâu về lĩnh vực.
ICL và RAG (Retrieval-Augmented Generation)
Cả hai phương pháp đều mở rộng ngữ cảnh của mô hình, nhưng cho các mục đích khác nhau:
- ICL sử dụng các ví dụ để dạy mô hình cách thực hiện tác vụ (minh họa kỹ năng).
- RAG sử dụng thông tin được truy xuất để cung cấp cho mô hình các sự kiện cần thiết để trả lời (cung cấp kiến thức).
Trong thực tế, ICL và RAG thường được kết hợp để đạt kết quả tốt nhất.
Tài liệu tham khảo
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
- Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
- Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
- Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
- Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
- Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
- Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
- Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
- Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
- Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
- Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.
Ghi chú
- ↑ What is In-Context Learning (ICL)? // Lakera.ai
- ↑ In-Context Learning (ICL) // Hopsworks.ai
- ↑ In-Context Learning, In Context // The Gradient
- ↑ Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers // arXiv, 2022.
- ↑ Understanding In-Context Learning // Stanford Human-Centered AI, 2023.