Bài báo · arXiv 2210.03629
ReAct: Kết hợp suy luận và hành động trong các mô hình ngôn ngữ
ReAct: Synergizing Reasoning and Acting in Language Models
Xuất bản cs.CLcs.AIcs.LG arXivPDF
Tóm tắt trong ba dòng
- 🎯 Các LLM chỉ thực hiện chuỗi suy luận đơn thuần sẽ suy luận một cách cô lập và dễ bị ảo tưởng, trong khi các agent chỉ hành động lại thiếu bộ nhớ làm việc và khả năng lập kế hoạch chiến lược.
- 🔧 Mở rộng không gian hành động của agent bằng các suy nghĩ dạng ngôn ngữ tự do xen kẽ với các hành động tương tác vật lý/API để lập kế hoạch, theo dõi và hành động một cách linh hoạt.
- 📈 ReAct đạt tỷ lệ thành công 71% trên ALFWorld và 40,0% trên WebShop, vượt qua các baseline học bắt chước/RL đồng thời giảm mạnh hiện tượng ảo tưởng trong tác vụ QA.
Tóm tắt
Mặc dù các mô hình ngôn ngữ lớn (LLM) đã chứng minh khả năng ấn tượng trong nhiều tác vụ hiểu ngôn ngữ và ra quyết định tương tác, năng lực suy luận (ví dụ: chain-of-thought prompting) và hành động (ví dụ: tạo kế hoạch hành động) của chúng chủ yếu vẫn được nghiên cứu dưới dạng các chủ đề riêng biệt. Trong bài báo này, chúng tôi khám phá việc sử dụng LLM để tạo ra đồng thời các chuỗi suy luận và hành động đặc thù cho tác vụ theo cách xen kẽ, mang lại sự kết hợp tương hỗ mạnh mẽ hơn giữa cả hai: chuỗi suy luận giúp mô hình quy nạp, theo dõi và cập nhật kế hoạch hành động cũng như xử lý ngoại lệ, trong khi các hành động cho phép mô hình giao tiếp với các nguồn bên ngoài, chẳng hạn như cơ sở tri thức hoặc môi trường, nhằm thu thập thêm thông tin. Chúng tôi áp dụng phương pháp của mình, có tên là ReAct, vào một tập hợp đa dạng các tác vụ ngôn ngữ và ra quyết định, chứng minh tính hiệu quả vượt trội so với các baseline tiên tiến nhất hiện nay, cũng như cải thiện khả năng diễn giải cho con người và độ tin cậy so với các phương pháp thiếu thành phần suy luận hoặc hành động. Cụ thể, trên các tác vụ trả lời câu hỏi (HotpotQA) và xác thực sự thật (Fever), ReAct khắc phục được tình trạng ảo tưởng (hallucination) và lan truyền lỗi phổ biến trong suy luận chain-of-thought bằng cách tương tác với một Wikipedia API đơn giản, đồng thời tạo ra các quỹ đạo giải quyết tác vụ tương tự con người, có tính diễn giải cao hơn các baseline không có chuỗi suy luận. Trên hai benchmark ra quyết định tương tác (ALFWorld và WebShop), ReAct vượt trội hơn các phương pháp học bắt chước (imitation learning) và học tăng cường (reinforcement learning) với tỷ lệ thành công tuyệt đối cao hơn lần lượt là 34% và 10%, trong khi chỉ cần cung cấp từ một đến hai ví dụ mẫu ngữ cảnh (in-context examples). Trang web của dự án kèm mã nguồn: https://react-lm.github.io
Tóm tắt gốc (tiếng Anh)
While large language models (LLMs) have demonstrated impressive capabilities across tasks in language understanding and interactive decision making, their abilities for reasoning (e.g. chain-of-thought prompting) and acting (e.g. action plan generation) have primarily been studied as separate topics. In this paper, we explore the use of LLMs to generate both reasoning traces and task-specific actions in an interleaved manner, allowing for greater synergy between the two: reasoning traces help the model induce, track, and update action plans as well as handle exceptions, while actions allow it to interface with external sources, such as knowledge bases or environments, to gather additional information. We apply our approach, named ReAct, to a diverse set of language and decision making tasks and demonstrate its effectiveness over state-of-the-art baselines, as well as improved human interpretability and trustworthiness over methods without reasoning or acting components. Concretely, on question answering (HotpotQA) and fact verification (Fever), ReAct overcomes issues of hallucination and error propagation prevalent in chain-of-thought reasoning by interacting with a simple Wikipedia API, and generates human-like task-solving trajectories that are more interpretable than baselines without reasoning traces. On two interactive decision making benchmarks (ALFWorld and WebShop), ReAct outperforms imitation and reinforcement learning methods by an absolute success rate of 34% and 10% respectively, while being prompted with only one or two in-context examples. Project site with code: https://react-lm.github.io
Hướng dẫn đọc
Vấn đề và động lực
Các mô hình ngôn ngữ lớn (LLM) vượt trội trong việc suy luận thông qua Chain-of-Thought (CoT) và trong việc ra quyết định bằng cách đưa ra các lệnh hành động khả thi. Tuy nhiên, hai năng lực này thường được nghiên cứu một cách tách biệt:
- Suy luận CoT không được gắn liền với thực tế (ungrounded): mô hình hoàn toàn dựa vào các biểu diễn nội bộ cố định, khiến nó dễ mắc lỗi ảo tưởng dữ kiện, thiếu kiến thức cập nhật mới nhất và khuếch đại sự lan truyền lỗi.
- Hệ thống chỉ hành động (Action-only) ánh xạ trực tiếp ngữ cảnh thành các hành động trong môi trường: chúng thiếu bộ nhớ làm việc tường minh để xây dựng mục tiêu trừu tượng, duy trì các mục tiêu phụ trung gian hoặc xử lý các thay đổi trạng thái bất ngờ.
Lấy cảm hứng từ giọng nói nội tâm (inner speech) của con người, nghiên cứu này tìm hiểu xem liệu việc xen kẽ các bước suy luận với tương tác môi trường có tạo ra một vòng lặp củng cố lẫn nhau hay không: suy luận định hướng hành động, trong khi phản hồi từ hành động giúp neo giữ cơ sở thực tế cho suy luận.
Các ý tưởng cốt lõi
- Mở rộng không gian hành động (Action Space Augmentation): Không gian hành động của agent được mở rộng để bao gồm các suy nghĩ bằng ngôn ngữ; các suy nghĩ này không tạo ra quan sát bên ngoài nhưng giúp cập nhật ngữ cảnh nội bộ.
- Cơ chế suy nghĩ Dày đặc (Dense) so với Thưa thớt (Sparse): Tùy thuộc vào tác vụ, các suy nghĩ có thể được ghép nối chặt chẽ (luân phiên từng bước cho multi-hop QA) hoặc bất đồng bộ và thưa thớt (chỉ sử dụng khi lập kế hoạch hoặc xử lý các tình huống bất ngờ trong các trò chơi có lộ trình dài hạn).
- Suy luận lai (Hybrid Reasoning): Kết hợp tri thức tham số nội bộ (thông qua CoT self-consistency) với phản hồi trích xuất từ bên ngoài (thông qua ReAct) giúp cân bằng giữa độ chính xác của sự kiện và tính linh hoạt trong suy luận.
Phương pháp (kèm các phương trình chính)
Xét một môi trường tương tác, tại thời điểm , agent nhận được quan sát , duy trì ngữ cảnh quỹ đạo và hành động theo chính sách .
ReAct mở rộng không gian hành động thành: trọng đó là không gian của các biểu đạt ngôn ngữ tự do.
- Nếu agent tạo ra một hành động môi trường , môi trường sẽ trả về một quan sát , tạo thành ngữ cảnh tiếp theo .
- Nếu agent tạo ra một suy nghĩ , không có quan sát bên ngoài nào được sinh ra; suy nghĩ được nối trực tiếp vào ngữ cảnh của agent: .
Đối với các tác vụ tri thức (HotpotQA, FEVER), tập hợp hành động API là . Đối với các thiết lập lai:
- : Nếu ReAct không hoàn thành trong một số bước cố định (ví dụ: 7 bước đối với HotpotQA, 5 bước đối với FEVER), chuyển sang dùng cơ chế bỏ phiếu theo đa số từ CoT self-consistency.
- : Nếu sự đồng thuận của đa số giữa mẫu giảm xuống dưới , chuyển sang dùng ReAct.
Kết quả (với các số liệu quan trọng nhất)
- Suy luận tri thức (PaLM-540B):
- Trên HotpotQA, kết hợp cả hai cơ chế () đạt 35,1% Exact Match (EM) so với Standard (28,7%), CoT (29,4%) và Act (25,7%).
- Trên FEVER, đạt Độ chính xác 64,6% so với Standard (57,1%) và CoT (56,3%).
- Phân tích lỗi cho thấy ReAct gặp lỗi ảo tưởng trong 0% các trường hợp thất bại trên HotpotQA, trong khi ảo tưởng chiếm tới 56% các trường hợp thất bại của CoT.
- Ra quyết định (ALFWorld & WebShop):
- Trên ALFWorld, ReAct với cơ chế best-of-6 đạt tỷ lệ thành công trung bình là 71% (và mức trung bình qua các prompt là 57%), vượt trội hơn hẳn Act-only (tốt nhất 45%), Inner Monologue-style prompting (tốt nhất 53%) và agent học bắt chước BUTLER (tốt nhất 37%) được huấn luyện trên quỹ đạo.
- Trên WebShop, 1-shot ReAct đạt tỷ lệ thành công 40,0% và điểm trung bình 66,6, vượt qua các baseline học bắt chước + học tăng cường (thành công 28,7%, điểm 62,4) vốn được huấn luyện trên hơn 10.000 chỉ dẫn.
- Finetuning: Việc khởi động (bootstrapping) PaLM-8B và PaLM-62B với 3.000 quỹ đạo đúng tự sinh đã giúp ReAct dẫn đầu về hiệu năng, trong đó ReAct khi finetune trên PaLM-8B vượt trội hơn tất cả các phương pháp dùng prompt trên 62B.
Hạn chế và các câu hỏi mở
- Giới hạn của In-Context Prompting: Do giới hạn về cửa sổ ngữ cảnh, LLM chỉ có thể quan sát một vài ví dụ minh họa (1–6 mẫu), khiến việc làm chủ các không gian hành động lớn hoàn toàn chỉ từ prompt trở nên đầy thách thức.
- Trật hướng tìm kiếm và vòng lặp: Dưới chiến lược giải mã greedy decoding, kết quả tìm kiếm không chứa thông tin hữu ích khiến ReAct thất bại trong 23% các trường hợp lỗi, đôi khi khiến mô hình bị mắc kẹt trong các vòng lặp lặp đi lặp lại.
- An toàn và thực thi công cụ: Việc trao cho LLM quyền thực hiện các hành động bên ngoài trong môi trường mở tiềm ẩn rủi ro thực thi các hành động không mong muốn (ví dụ: thực hiện các giao dịch web ngoài ý muốn hoặc truy xuất dữ liệu nhạy cảm).
Thuật ngữ chính
- ReAct
- Một mô hình dựa trên prompt, điều hướng các mô hình ngôn ngữ lớn tạo ra các chuỗi suy luận xen kẽ với các hành động đặc thù của miền để giải quyết các tác vụ tổng quát.
- Chain-of-Thought (CoT)
- Một phương pháp prompt trong đó mô hình đưa ra các bước suy luận nội bộ trước khi tạo ra câu trả lời cuối cùng mà không cần thực hiện hành động nào trong môi trường bên ngoài.
- Action Space Augmentation
- Việc mở rộng hình thức tập hợp hành động rời rạc của agent để bao gồm các phát ngôn ngôn ngữ tự nhiên tùy ý, được coi là các suy nghĩ không làm thay đổi môi trường bên ngoài.
- Inner Monologue (IM)
- Một phương pháp baseline trước đây, trong đó suy nghĩ của mô hình ngôn ngữ bị giới hạn chủ yếu ở phản hồi từ môi trường bên ngoài thay vì lập kế hoạch chiến lược nội bộ linh hoạt.
- CoT-SC
- Phương pháp chain-of-thought prompting kết hợp với self-consistency (tính tự nhất quán), trong đó các câu trả lời được lấy mẫu nhiều lần với nhiệt độ (temperature) khác 0 và được lựa chọn bằng cơ chế bỏ phiếu đa số.
- ALFWorld
- Một môi trường tương tác dựa trên văn bản dựa trên benchmark ALFRED nhằm kiểm tra khả năng phân rã mục tiêu gia đình nhiều bước, điều hướng và thao tác vật thể.
- WebShop
- Một benchmark điều hướng web thực tế bao gồm 1,18 triệu sản phẩm thực tế thu thập từ Amazon, được đánh giá dựa trên khả năng duyệt và mua các mặt hàng đáp ứng các chỉ dẫn bằng văn bản của agent.
- Self-Reflection / Thought Editing
- Sự can thiệp có con người tham gia (human-in-the-loop), trong đó người điều hành sửa lỗi hoặc hướng dẫn quỹ đạo của mô hình bằng cách điều chỉnh thủ công một suy nghĩ ngôn ngữ được sinh ra thay vì sửa trọng số hoặc lịch sử hành động.
Câu hỏi thường gặp
Tại sao ReAct ít bị ảo tưởng hơn so với Chain-of-Thought tiêu chuẩn?
CoT hoàn toàn dựa vào bộ nhớ tham số nội bộ, vốn thường xuyên tự tạo ra các sự thật không có thật. ReAct kiểm tra các nguồn bên ngoài (như Wikipedia API) thông qua các hành động cụ thể, giúp các suy nghĩ tiếp theo được xây dựng trực tiếp trên các quan sát thu thập được.
ReAct khác biệt như thế nào so với WebGPT hoặc SayCan?
WebGPT và SayCan tập trung vào việc dự đoán hành động hoặc kế hoạch bằng cách sử dụng phản hồi của con người hoặc mô hình affordance, mà không yêu cầu mô hình duy trì, phân rã và điều chỉnh các chuỗi suy luận bằng lời của chính nó trong một vòng lặp xen kẽ một cách tường minh.
Điều gì xảy ra khi tìm kiếm không mang lại kết quả hữu ích trong ReAct?
Thất bại trong tìm kiếm chiếm khoảng 23% các trường hợp thất bại của ReAct trên HotpotQA; mô hình đôi khi gặp khó khăn trong việc đặt lại truy vấn và bị mắc kẹt trong các vòng lặp hành động lặp đi lặp lại khi dùng greedy decoding.
Cơ chế chỉnh sửa suy nghĩ với con người tham gia (human-in-the-loop) hoạt động như thế nào trong ReAct?
Vì các chuỗi suy luận là ngôn ngữ tiếng Anh tự nhiên thuần túy, con người có thể theo dõi một quỹ đạo bị lỗi và trực tiếp chỉnh sửa một hoặc hai suy nghĩ trung gian ngay lập tức, nhanh chóng đưa agent thoát khỏi vòng lặp hoặc các niềm tin sai lệch mà không cần tinh chỉnh tham số.
Phần giải thích trên trang này do AI viết dựa trên bài báo và có thể có sai sót. Hãy đọc bài báo gốc để biết chi tiết.