Chain of Thought (CoT) prompting - Câu lệnh chuỗi suy nghĩ là một kỹ thuật cải thiện khả năng suy luận của các Mô hình Ngôn ngữ Lớn (LLM) bằng cách tạo ra các bước suy luận trung gian. Điều này giúp LLM tạo ra các câu trả lời chính xác hơn. Bạn có thể kết hợp kỹ thuật này với few-shot prompting để đạt được kết quả tốt hơn đối với các tác vụ phức tạp hơn yêu cầu suy luận trước khi phản hồi.
CoT có rất nhiều ưu điểm. Trước hết, nó không cần phải tinh chỉnh hay sửa đổi nhiều nhưng lại rất hiệu quả và hoạt động tốt với các LLM sẵn có. Bạn cũng có thể hiểu được cách các mô hình AI suy nghĩ, vì bạn có thể nhìn thấy AI đã suy nghĩ theo những bước nào, từ đó, bạn sẽ xác định được câu trả lời sai ở đâu nếu phàn hồi chưa chính xác. Chain of thought cũng có thể cải thiện tính ổn định khi chuyển đổi giữa các phiên bản LLM khác nhau. Điều này có nghĩa là hiệu suất của prompt của bạn sẽ ít bị thay đổi giữa các LLM khác nhau hơn so với khi prompt của bạn không sử dụng chuỗi suy luận. Tất nhiên, cũng có những nhược điểm, nhưng chúng khá trực quan.
Phản hồi của LLM bao gồm chuỗi suy luận (chain of thought), điều này có nghĩa là có nhiều token đầu ra hơn, dẫn đến việc các dự đoán tốn kém hơn và mất nhiều thời gian hơn.
Để giải thích ví dụ sau trong Bảng 11, trước tiên chúng ta hãy thử tạo một câu lệnh không sử dụng phương pháp nhắc CoT nhằm cho thấy những hạn chế của mô hình ngôn ngữ lớn.
Prompt: Khi tôi 3 tuổi, người yêu của tôi gấp 3 lần tuổi tôi. Bây giờ tôi 20 tuổi. Người yêu của tôi bao nhiêu tuổi?
Output: 63 tuổi
Bảng 11. Một ví dụ về câu lệnh giải một bài toán
Ối! Rõ ràng đây là một câu trả lời sai. Trên thực tế, các LLM thường gặp khó khăn với các bài toán và có thể đưa ra câu trả lời không chính xác – ngay cả đối với một phép toán đơn giản như nhân hai số. Điều này là do chúng được đào tạo trên lượng lớn văn bản và toán học có thể yêu cầu một cách tiếp cận khác. Vì vậy, chúng ta hãy xem liệu các bước suy luận trung gian có cải thiện đầu ra hay không.
Prompt: Khi tôi 3 tuổi, người yêu của tôi gấp 3 lần tuổi tôi. Bây giờ tôi 20 tuổi. Người yêu của tôi bao nhiêu tuổi? Hãy suy nghĩ từng bước.
Output1. Hãy giả sử tuổi hiện tại của tôi là "x" tuổi.
Khi tôi 3 tuổi, tuổi của tôi là 3 tuổi.
Tuổi của người yêu tôi lúc đó gấp 3 lần tuổi tôi, có nghĩa là tuổi của người yêu tôi là 3 * 3 = 9 tuổi.
Bây giờ tôi 20 tuổi, có nghĩa là tuổi của tôi đã tăng lên 20 - 3 = 17 tuổi kể từ khi tôi 3 tuổi.
Vì tuổi của người yêu tôi là 9 tuổi khi tôi 3 tuổi và tuổi của tôi đã tăng thêm 17 tuổi, nên tuổi của người yêu tôi cũng phải tăng thêm 17 tuổi.
Do đó, tuổi hiện tại của người yêu tôi là 9 + 17 = 26 tuổi.
Vậy, người yêu của tôi 26 tuổi.
Bảng 12. Một ví dụ về Chain of Thought prompting
Tuyệt vời, bây giờ câu trả lời cuối cùng đã chính xác. Điều này là do chúng ta đã chỉ dẫn rõ ràng cho LLM giải thích từng bước thay vì chỉ trả về một câu trả lời. Thật thú vị khi thấy mô hình cộng thêm 17 năm tăng lên. Trong suy nghĩ của tôi, tôi sẽ lấy hiệu số tuổi giữa người yêu và tôi rồi cộng vào. (20 + (9-3)). Hãy giúp mô hình suy nghĩ giống tôi hơn một chút.
Prompt
Q: Khi anh trai tôi 2 tuổi, tôi gấp đôi tuổi anh ấy. Bây giờ tôi 40 tuổi. Anh trai tôi bao nhiêu tuổi? Hãy suy nghĩ từng bước.
A: Khi anh trai tôi 2 tuổi, tôi 2 * 2 = 4 tuổi. Đó là hiệu số tuổi là 2 tuổi và tôi lớn hơn. Bây giờ tôi 40 tuổi, nên anh trai tôi 40 - 2 = 38 tuổi. Câu trả lời là 38.
Q: Khi tôi 3 tuổi, người yêu của tôi gấp 3 lần tuổi tôi. Bây giờ tôi 20 tuổi. Người yêu của tôi bao nhiêu tuổi? Hãy suy nghĩ từng bước.
A:
Output: Khi tôi 3 tuổi, người yêu của tôi 3 * 3 = 9 tuổi. Đó là hiệu số tuổi là 6 tuổi và người yêu tôi lớn hơn. Bây giờ tôi 20 tuổi, nên người yêu tôi 20 + 6 = 26 tuổi. Câu trả lời là 26.
Bảng 13. Một ví dụ về chain of thought prompting với one-shot
Chain of thought có thể hữu ích cho nhiều trường hợp sử dụng khác nhau. Ví dụ như trong trường hợp tạo mã code, để chia nhỏ yêu cầu thành vài bước, và tham chiếu chúng tới các dòng mã cụ thể. Hoặc để tạo dữ liệu tổng hợp khi bạn có một dạng seed như "Sản phẩm có tên là XYZ, hãy viết mô tả hướng dẫn mô hình thông qua các giả định bạn sẽ đưa ra dựa trên tiêu đề sản phẩm đã cho." Nói chung, bất kỳ tác vụ nào có thể giải quyết bằng cách 'trình bày từng bước' đều là ứng cử viên tốt cho chain of thought. Nếu bạn có thể giải thích các bước để giải quyết vấn đề, hãy thử chain of thought.
Vui lòng tham khảo thêm về cách hoạt động và sử dụng CoT Prompting tại Học viện AI của LOSA