Least-to-most Prompting (VI)

From Systems analysis Wiki
Jump to navigation Jump to search

Least-to-Most Prompting (LtM) — phương pháp phát triển prompt cho các mô hình ngôn ngữ lớn (LLM), cho phép giải quyết các bài toán phức tạp bằng cách phân rã chúng thành các bước đơn giản hơn và sau đó giải quyết tuần tự các bài toán con đó[1]. Phương pháp này được đề xuất vào năm 2022 bởi một nhóm nhà nghiên cứu tại Google Brain dưới sự dẫn dắt của Denny Zhou và được trình bày tại hội nghị ICLR 2023[2]. Mục tiêu chính của phương pháp là vượt qua hạn chế của các prompt theo phong cách Chain-of-Thought, vốn không xử lý tốt các bài toán phức tạp hơn so với các ví dụ đã được trình bày cho mô hình trong quá trình học từ prompt[2]. Least-to-Most Prompting cho phép mô hình khái quát hóa sang các bài toán có độ phức tạp cao hơn, đồng thời vẫn có tính khả diễn giải và không yêu cầu huấn luyện bổ sung cho mạng nơ-ron[2]. Tên gọi của phương pháp được mượn từ tâm lý học giáo dục, nơi «least to most prompting» chỉ việc đưa ra cho học sinh một chuỗi gợi ý với mức độ hỗ trợ tăng dần để nắm vững một kỹ năng mới[3].

Mô tả phương pháp

Phương pháp Least-to-Most Prompting được thực hiện qua hai giai đoạn[2], mỗi giai đoạn được thiết lập cho chính mô hình ngôn ngữ thông qua các prompt được thiết kế cẩn thận (không cần tinh chỉnh thêm mô hình):

  1. Phân rã bài toán. Ở giai đoạn đầu, mô hình nhận được hướng dẫn và các ví dụ minh họa cách chia một bài toán phức tạp thành một chuỗi các bài toán con đơn giản hơn. Sau đó, mô hình được trình bày một câu hỏi phức tạp cụ thể và phải tạo ra danh sách các câu hỏi trung gian được đơn giản hóa[2]. Ví dụ, với một bài toán phức tạp, mô hình có thể tự mình đặt ra một câu hỏi phụ làm rõ, giải quyết một phần của vấn đề ban đầu.
  2. Giải quyết tuần tự các bài toán con. Ở giai đoạn thứ hai, mô hình giải quyết các bài toán con thu được lần lượt — từ đơn giản nhất đến phức tạp nhất. Để thực hiện điều này, mỗi bài toán con được đặt trước ngữ cảnh: các ví dụ giải quyết những bài toán con tương tự, cũng như (nếu có) các bài toán con trước đó đã được giải cùng với đáp án của chúng[4]. Sau khi giải xong bài toán con đầu tiên, mô hình thêm đáp án của nó vào văn bản prompt và nhận bài toán con tiếp theo, sử dụng các giải pháp trước đó làm ngữ cảnh[4]. Quá trình này tiếp tục cho đến khi bài toán con cuối cùng và phức tạp nhất được giải, trực tiếp trả lời câu hỏi ban đầu.

Ví dụ: bài toán văn bản ban đầu được chia thành hai giai đoạn bằng phương pháp Least-to-Most. Đầu tiên, mô hình đặt ra và giải quyết câu hỏi trung gian («How long does each trip take?» — «Mỗi chuyến đi mất bao lâu?»), nhận được đáp án "each trip takes 5 minutes" («mỗi chuyến đi mất 5 phút»). Đáp án này được đưa vào prompt mới cùng với bài toán con tiếp theo — câu hỏi ban đầu ("How many times can she slide before it closes?" – «Cô ấy có thể trượt bao nhiêu lần trước khi trò chơi đóng cửa?»). Sử dụng kết quả trước đó, mô hình tính toán đáp án cuối cùng (trong ví dụ này: 3 lần).

Về nguyên tắc, Least-to-Most Prompting khác với phương pháp chain-of-thought tiêu chuẩn ở chỗ nó chia quá trình suy luận thành các truy vấn riêng biệt với sự tích lũy kiến thức, thay vì tạo ra một «chuỗi suy nghĩ» liên tục duy nhất trong một câu trả lời[3]. Cách tiếp cận từng bước, đệ quy này cho phép mô hình dần dần tiến đến các khía cạnh phức tạp hơn của bài toán, giải quyết hiệu quả vấn đề khái quát hóa từ dễ đến khó (khi mô hình gặp bài toán phức tạp hơn những gì có trong các ví dụ huấn luyện)[2][3]. Cần lưu ý rằng cả hai giai đoạn của phương pháp LtM đều được thực hiện thông qua few-shot prompting (trình bày một số ví dụ) và không yêu cầu huấn luyện thêm hoặc tinh chỉnh mô hình trên dữ liệu mới[2]. Ngoài ra, phương pháp này tương thích với các kỹ thuật cải thiện suy luận LLM khác, ví dụ, có thể kết hợp với chain-of-thought và self-consistency (lấy mẫu tuần tự nhiều giải pháp) khi tạo ra câu trả lời, mặc dù điều này không bắt buộc[1].

Kết quả thực nghiệm và ứng dụng

Trong công trình đề xuất Least-to-Most Prompting, đã được chứng minh rằng phương pháp này vượt trội so với các phương pháp prompt tiêu chuẩn (bao gồm chain-of-thought) trên một số bài toán đòi hỏi suy luận đa bước phức tạp[1]. Phương pháp đã thể hiện thành công ưu thế của mình trong ba danh mục bài toán chính:

  • Bài toán ký hiệu và thuật toán. Ví dụ, trong bài toán nối các chữ cái cuối của các từ (lần lượt lấy chữ cái cuối của mỗi từ trong danh sách và ghép chúng thành một từ mới), phương pháp LtM đã nâng cao đáng kể khả năng của mô hình để khái quát hóa sang các chuỗi từ dài hơn. Không cần huấn luyện đặc biệt, mô hình GPT-3 (code-davinci-002) với prompt chain-of-thought chỉ giải đúng khoảng 32% trường hợp khi danh sách từ có độ dài 12, trong khi với Least-to-Most Prompting độ chính xác đạt ~74%[1]. Với các danh sách ngắn (độ dài xuất hiện trong các ví dụ), cả hai chiến lược đều hoạt động tốt, nhưng khi độ dài chuỗi tăng lên, chất lượng của chain-of-thought giảm mạnh, trong khi Least-to-Most đảm bảo sự suy giảm mượt mà hơn và duy trì độ chính xác cao[1]. Điều này chứng minh khả năng của phương pháp LtM trong việc khái quát hóa logic giải quyết sang dữ liệu đầu vào phức tạp hơn (dài hơn).
  • Khái quát hóa thành phần (compositional generalization). Danh mục bài toán này bao gồm, ví dụ, việc dịch các hướng dẫn văn bản sang chuỗi hành động (như trong benchmark SCAN, yêu cầu thực hiện các lệnh kiểu "jump twice and run" và khái quát hóa sang các tổ hợp dài hơn)[4]. Phương pháp LtM cho phép LLM giải quyết thành công ngay cả những biến thể phức tạp nhất của các bài toán đó. Cụ thể, mô hình GPT-3 với prompt LtM đạt 99% độ chính xác trên tất cả các biến thể phân chia dữ liệu trong bộ SCAN (bao gồm cả length split phức tạp nhất, nơi các chuỗi kiểm tra dài hơn chuỗi huấn luyện), chỉ sử dụng 14 ví dụ trong prompt[2]. Để so sánh, phương pháp chain-of-thought tiêu chuẩn chỉ đạt khoảng 16% độ chính xác trong điều kiện tương tự[2]. Hơn nữa, điều này đạt được mà không cần huấn luyện mô hình trên dữ liệu huấn luyện, trong khi các giải pháp tốt nhất trước đây cho SCAN dựa trên các kiến trúc nơ-ký hiệu đặc biệt hoặc các phương pháp tăng cường dữ liệu đòi hỏi sử dụng toàn bộ bộ huấn luyện gồm hơn 15.000 ví dụ[2][2]. Như vậy, Least-to-Most Prompting đã chứng minh khả năng khái quát hóa thành phần chưa từng thấy đối với các mô hình không được tinh chỉnh.
  • Bài toán văn bản toán học. Phương pháp được kiểm tra trên các bài toán số học trong văn bản, ví dụ, từ dataset GSM8K (các bài toán văn bản phức tạp về cộng/trừ và logic)[2], cũng như trên một số câu hỏi từ bộ DROP (kiểm tra khả năng trích xuất và tính toán thông tin số trong văn bản)[2]. Ở đây, Least-to-Most Prompting cũng thể hiện sự cải thiện độ chính xác so với chain-of-thought. Cụ thể, đối với GSM8K khi sử dụng mô hình code-davinci-002, độ chính xác của câu trả lời tăng từ ~60,9% lên ~62,4%[2]. Trên các bài toán con DROP, mức tăng còn rõ rệt hơn: ví dụ, trên một phần câu hỏi về sự kiện «bóng đá», độ chính xác tăng từ ~59,6% (chain-of-thought) lên ~73,4% khi áp dụng LtM[2]. Mặc dù mức tăng chất lượng trên các bài toán toán học ít ấn tượng hơn so với SCAN, các tác giả lưu ý một điểm quan trọng: hầu hết bất kỳ bài toán GSM8K nào đều có thể được giải đúng nếu mô hình nhận được phân rã vấn đề chính xác[2]. Điều này cho thấy chìa khóa để giải quyết thành công là các câu hỏi trung gian được đặt ra tốt; phương pháp LtM chính là hướng đến việc tự động tạo ra những câu hỏi như vậy và giải quyết chúng tuần tự.

Tóm lại, các thí nghiệm xác nhận rằng Least-to-Most Prompting vượt trội đáng kể so với cả few-shot prompting đơn giản không có suy luận lẫn phương pháp chain-of-thought trên nhiều loại bài toán đòi hỏi suy luận đa bước[1]. Phương pháp cho phép LLM giải quyết các vấn đề phức tạp hơn những gì mô hình ban đầu được làm quen qua các ví dụ, mở rộng ranh giới của in-context learning (học ngay trong ngữ cảnh thông qua các prompt).

Hạn chế và hướng phát triển tiếp theo

Bất chấp những thành công, phương pháp Least-to-Most Prompting có một số hạn chế. Trước hết, các loại bài toán khác nhau đòi hỏi các cách tiếp cận phân rã khác nhau. Mẫu prompt phân rã hiệu quả một bài toán toán học có thể hoàn toàn không phù hợp với bài toán logic hay bài toán thường thức[2]. Ví dụ, các prompt đã dạy mô hình chia các bài toán văn bản toán học thành các bước lại tỏ ra vô dụng cho câu hỏi thuộc lĩnh vực thường thức như «Aristotle có dùng máy tính xách tay không?» — loại bài toán như vậy cần một chiến lược phân chia hoàn toàn khác[2]. Do đó, đối với mỗi lĩnh vực mới hoặc loại bài toán mới, cần phải chọn lại các ví dụ phân rã bài toán thành bài toán con và hình thành prompt tương ứng minh họa cấu trúc giải pháp[3]. Nói cách khác, kiến thức về cách phân rã bài toán đúng cách không được LLM tự khái quát hóa một cách phổ quát, mà cần phải được chỉ định thông qua các ví dụ cho từng lớp bài toán cụ thể.

Hơn nữa, hiệu quả của LtM phụ thuộc đáng kể vào mức độ thuận lợi khi bài toán được phân rã thành các mục tiêu con độc lập. Nếu mô hình không thể đặt ra đúng các bước trung gian, hoặc nếu một số bài toán con cần thiết bị bỏ qua, giải pháp cuối cùng cũng sẽ không chính xác. Tuy nhiên, chính các nhà phát triển lưu ý rằng trong nhiều trường hợp thất bại có thể biến thành thành công nếu con người trực tiếp gợi ý phân rã đúng — khi đó mô hình dễ dàng giải từng phần và kết hợp thành công các câu trả lời[2]. Điều này nhấn mạnh tiềm năng phát triển tiếp theo của phương pháp: cải thiện chất lượng tự động tạo ra các bài toán con và có thể cả học tập tương tác của mô hình. Trong phần kết luận, các tác giả LtM cho rằng tương lai của các phương pháp prompt có thể nằm ở hướng đối thoại hai chiều đầy đủ với mô hình, nơi mô hình nhận được phản hồi tức thì và điều chỉnh các bước trung gian của mình[2]. Phương pháp Least-to-Most Prompting có thể được xem là một bước đi theo hướng này, cho thấy rằng tương tác tuần tự với mô hình thông qua việc phân rã và giải quyết từng bước các bài toán cho phép mở rộng đáng kể khả năng tư duy của mô hình mà không cần huấn luyện trên dữ liệu mới[1].

Liên kết

  • Bài báo gốc «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models» trên arXiv
  • Phiên bản HTML của bài báo gốc
  • Least-to-Most Prompting là gì? — bài viết AI Safety Info
  • Tổng quan về phương pháp trên Medium
  • Tổng quan tổng hợp các phương pháp prompt engineering trên arXiv

Tài liệu tham khảo

  • Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
  • Zhou, D. et al. (2023). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. ICLR 2023. OpenReview.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Kojima, T. et al. (2022). Large Language Models Are Zero-Shot Reasoners. arXiv:2205.11916.
  • Nye, M. et al. (2021). Show Your Work: Scratchpads for Intermediate Computation with Language Models. arXiv:2112.00114.
  • Lake, B. M.; Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. arXiv:1711.00350.
  • Cobbe, K. et al. (2021). Training Verifiers to Solve Math Word Problems. arXiv:2110.14168.
  • Dua, D. et al. (2019). DROP: A Reading Comprehension Benchmark Requiring Discrete Reasoning Over Paragraphs. arXiv:1903.00161.
  • Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.

Chú thích

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Zhou, Denny et al. «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models». ar5iv.org. [1]
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 Zhou, Denny et al. «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models». arXiv. [2]
  3. 3.0 3.1 3.2 3.3 «What is least-to-most prompting?». AI Safety Info. [3]
  4. 4.0 4.1 4.2 OXEN AI. «Arxiv Dives Toolformer: Language models can teach themselves to use tools». Medium. [4]