Chain-of-Verification (VI)

From Systems analysis Wiki
Jump to navigation Jump to search

Chain-of-Verification (CoVe) — đây là phương pháp được đề xuất nhằm giảm số lượng ảo giác (việc tạo ra các câu trả lời sai về mặt thực tế nhưng có vẻ hợp lý) trong các mô hình ngôn ngữ lớn (LLM)[1]. Phương pháp này được phát triển bởi nhóm các nhà nghiên cứu từ Meta AI dưới sự dẫn dắt của Shehzaad Dhuliawala và được trình bày trong công trình «Chain-of-Verification Reduces Hallucination in Large Language Models» (2023), thuộc nhóm các phương pháp tự kiểm tratự sửa lỗi (self-verification) của LLM[2]. Ý tưởng cốt lõi của CoVe là kiểm tra tuần tự câu trả lời đã được tạo ra bởi chính mô hình mà không cần sử dụng các nguồn bên ngoài[2]. Điều này thúc đẩy hệ thống dành nhiều nỗ lực "suy nghĩ" hơn vào việc tự phân tích câu trả lời và sửa chữa lỗi của chính mình trước khi trình bày kết quả cho người dùng[2].

Bối cảnh: ảo giác trong các mô hình ngôn ngữ

Các mô hình ngôn ngữ lớn (LLM) thường gặp phải hiện tượng "ảo giác" – việc tạo ra các câu trả lời trông có vẻ hợp lý nhưng thực tế lại sai[3]. Vấn đề này được thừa nhận rộng rãi là chưa được giải quyết trong lĩnh vực NLP: ngay cả các mô hình hiện đại cũng có thể cung cấp thông tin sai lệch với mức độ tin cậy cao, đánh lừa người dùng[1]. Ví dụ, mô hình có thể "bịa đặt" một cách thuyết phục một sự kiện không tồn tại hoặc nhầm lẫn dữ liệu tiểu sử của một nhân vật nổi tiếng. Vì những lỗi thực tế như vậy khó phát hiện nếu không kiểm tra kỹ lưỡng, các nhà nghiên cứu đang tích cực phát triển các phương pháp để giảm số lượng ảo giác trong các câu trả lời của LLM.

Các bước của phương pháp CoVe

Phương pháp Chain-of-Verification được thực hiện qua bốn bước tuần tự[2][2]:

  1. Tạo câu trả lời cơ sở. Mô hình không có hướng dẫn đặc biệt tạo ra câu trả lời ban đầu cho câu hỏi gốc (giả thuyết câu trả lời cơ sở)[3]. Câu trả lời nháp này đóng vai trò là điểm xuất phát và có thể chứa các ảo giác cần được phát hiện ở các bước tiếp theo.
  2. Lập kế hoạch các câu hỏi kiểm tra. Dựa trên câu hỏi gốc và câu trả lời đã tạo, mô hình xây dựng danh sách các câu hỏi làm rõ nhằm kiểm tra tính chính xác về mặt thực tế của các khẳng định trong câu trả lời cơ sở[3]. Các verification questions này hướng vào các sự kiện chính của câu trả lời và giúp phát hiện các lỗi hoặc sự không chính xác có thể có.
  3. Thực hiện kiểm tra (xác minh). Tiếp theo, mô hình tuần tự và độc lập trả lời từng câu hỏi kiểm tra đã được xây dựng, cố gắng không dựa vào câu trả lời ban đầu để tránh thiên kiến[3]. Các câu trả lời thu được được so sánh với câu trả lời ban đầu để phát hiện mâu thuẫn hoặc lỗi: qua đó xác định các phần của câu trả lời gốc không được hỗ trợ bởi sự kiện.
  4. Tạo câu trả lời cuối cùng. Cuối cùng, dựa trên những sai lệch đã phát hiện, mô hình tạo ra câu trả lời đã được chỉnh sửa và hoàn thiện[3]. Câu trả lời này được điều chỉnh dựa trên kết quả kiểm tra, giúp nâng cao độ chính xác thực tế và giảm khả năng xuất hiện ảo giác.

Mỗi bước trong số này được thực hiện thông qua các yêu cầu bổ sung gửi đến cùng một LLM nhưng với các hướng dẫn khác nhau[2]. Nghĩa là, mô hình lần lượt đóng vai trò là người trả lời, sau đó là người kiểm tra (đặt câu hỏi và trả lời chúng), và cuối cùng là người biên tập kết quả cuối cùng.

Các biến thể triển khai kiểm tra

Các tác giả của phương pháp đã thử nghiệm một số chế độ triển khai bước xác minh, khác nhau ở cách đặt câu hỏi và nhận câu trả lời cho các câu hỏi kiểm tra[2]:

  • Phương pháp kết hợp (Joint). Mô hình tạo ra cả câu hỏi kiểm tra lẫn câu trả lời cho chúng trong một yêu cầu duy nhất. Biến thể này ít được ưu tiên hơn vì mô hình, khi trả lời ngay lập tức, có thể tạo ra ảo giác về sự kiện và lặp lại lỗi của câu trả lời gốc do sự lệch lạc[3].
  • Phương pháp hai bước (2-Step). Các câu hỏi kiểm tra trước tiên được tạo ra bằng một yêu cầu riêng, sau đó ở yêu cầu tiếp theo mô hình trả lời danh sách câu hỏi đã được tạo[3]. Việc tách biệt các bước giúp tránh ảnh hưởng của câu trả lời gốc khi tạo câu hỏi.
  • Kiểm tra riêng lẻ (Factored). Mô hình trả lời từng câu hỏi kiểm tra một cách riêng biệt, sử dụng nhiều yêu cầu tuần tự (một yêu cầu cho mỗi câu hỏi)[3]. Cách tiếp cận này ngăn ngừa việc sao chép đơn giản các đoạn từ câu trả lời gốc: các câu trả lời cho câu hỏi kiểm tra được hình thành một cách tự chủ, giúp giảm nguy cơ lặp lại ảo giác ban đầu. Nhược điểm là chi phí tính toán tăng lên vì số lượng yêu cầu tăng tỷ lệ thuận với số lượng câu hỏi.
  • Kiểm tra riêng lẻ với xem xét lại (Factored + Revise). Sau khi nhận được câu trả lời cho tất cả các câu hỏi kiểm tra, mô hình thực hiện một bước so sánh và xem xét lại bổ sung. Thông qua một yêu cầu riêng, nó đối chiếu các sự kiện thu được với câu trả lời gốc và đánh dấu rõ ràng các sự không nhất quán, sau đó tạo ra câu trả lời cuối cùng với các chỉnh sửa[3]. Bước bổ sung này buộc hệ thống phân tích kỹ hơn các sai lệch và tích hợp thông tin đã được sửa chữa vào kết quả cuối cùng.

Kết quả thực nghiệm

Phương pháp Chain-of-Verification đã được thử nghiệm trên một số nhiệm vụ nhạy cảm với độ chính xác thực tế của câu trả lời[1]. Trong số đó có: các câu hỏi liệt kê sự kiện theo cơ sở tri thức (danh sách từ Wikidata và các danh mục Wikipedia), các câu hỏi với nhiều câu trả lời từ các phần khác nhau của văn bản (MultiSpanQA), cũng như các nhiệm vụ tạo văn bản mở rộng (ví dụ, tiểu sử)[1].

Kết quả cho thấy sự giảm đáng kể về ảo giác trên tất cả các loại nhiệm vụ khi sử dụng CoVe so với các mô hình gốc không có tự kiểm tra[1]. Đặc biệt hiệu quả là biến thể factored + revise – kiểm tra riêng lẻ với đối chiếu sự kiện cuối cùng. Phương pháp này cho kết quả độ chính xác tốt nhất: ví dụ, trong nhiệm vụ tạo văn bản tiểu sử, việc áp dụng CoVe cho mô hình LLaMA-65B (LLM 65 tỷ tham số) đã nâng chỉ số thực tế FactScore của nó từ ~63,7 lên ~71,4 điểm[2]. Sự tăng lên của FactScore cho thấy các câu trả lời cuối cùng bắt đầu chứa nhiều sự kiện đã được xác minh hơn và ít thông tin bịa đặt hơn.

Hơn nữa, LLM được tích hợp chuỗi xác minh đã có thể vượt qua ngay cả một số hệ thống mạnh hơn hoặc được trang bị đặc biệt. Như vậy, LLAMA-65B với CoVe cho thấy FactScore cao hơn ChatGPT (mô hình của OpenAI) và vượt qua Perplexity.ai — mô hình được bổ sung tìm kiếm internet để hỗ trợ thực tế cho các câu trả lời[2]. Điều này đáng chú ý vì Perplexity sử dụng các nguồn bên ngoài để tìm kiếm thông tin, trong khi CoVe đạt được sự cải thiện chất lượng chỉ dựa vào khả năng lập luận và tự kiểm tra nội tại của chính mô hình[2]. Tuy nhiên, trên các sự kiện hiếm gặp nhất (khi cần kiến thức đặc thù), hệ thống retrieval như Perplexity vẫn duy trì lợi thế, nhưng trên hầu hết các câu hỏi, CoVe đã cho câu trả lời chính xác hơn[2].

Hạn chế và triển vọng

Cần lưu ý rằng mặc dù Chain-of-Verification giảm đáng kể tỷ lệ ảo giác, phương pháp này không thể loại bỏ hoàn toàn chúng. Mô hình vẫn có thể mắc lỗi nếu các câu hỏi kiểm tra không bao phủ được một chi tiết sai nào đó hoặc nếu chính LLM không biết sự kiện đúng. Ngoài ra, CoVe làm tăng tải tính toán: đối với một yêu cầu của người dùng, cần thực hiện một số lần truy vấn tuần tự đến mô hình (tạo câu trả lời, tạo câu hỏi, trả lời chúng, tổng hợp cuối cùng), trong khi mô hình thông thường trả lời trong một bước[2]. Tuy nhiên, các tác giả cho thấy rằng về tổng chi phí, CoVe có thể so sánh với các phương pháp phát hiện ảo giác đa bước khác và vẫn là giải pháp thực tế[2].

Trong công trình của mình, các nhà nghiên cứu Meta AI đã chỉ ra các hướng cải tiến phương pháp có thể có. Một trong những hướng rõ ràng là kết hợp CoVe với việc sử dụng các công cụ bên ngoài, ví dụ tích hợp mô-đun tìm kiếm internet hoặc cơ sở tri thức ở bước xác minh[2]. Điều này sẽ cho phép thu thập thông tin đáng tin cậy từ bên ngoài và xác nhận hoặc bác bỏ các sự kiện từ câu trả lời gốc một cách đáng tin cậy hơn. Như vậy, Chain-of-Verification đóng vai trò là bước tiến tới các hệ thống AI có trách nhiệm và chính xác hơn: nó chứng minh rằng bằng cách buộc mô hình xem xét lại câu trả lời của chính mình một cách phê phán, có thể nâng cao đáng kể chất lượng của nó và giảm sự lan truyền của các sự kiện bịa đặt trong văn bản được tạo ra[2].

Liên kết

  • Bài báo gốc «Chain-of-Verification Reduces Hallucination in Large Language Models» trên arXiv
  • Bài báo «Chain-of-Verification Reduces Hallucination in Large Language Models» trong ACL Anthology
  • Chain of Verification (CoVe) — Understanding & Implementation — bài viết trên Medium

Tài liệu tham khảo

  • Dhuliawala, S. et al. (2023). Chain-of-Verification Reduces Hallucination in Large Language Models. arXiv:2309.11495.
  • Manakul, P. et al. (2023). SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models. arXiv:2303.08896.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Lightman, H. et al. (2023). Let's Verify Step by Step. arXiv:2305.20050.
  • Ling, Z. et al. (2023). Deductive Verification of Chain-of-Thought Reasoning. arXiv:2306.03872.
  • Lyu, Q. et al. (2023). Faithful Chain-of-Thought Reasoning. arXiv:2301.13379.
  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • 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.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.

Chú thích

  1. 1.0 1.1 1.2 1.3 1.4 Dhuliawala, Shehzaad et al. «Chain-of-Verification Reduces Hallucination in Large Language Models». arXiv. [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 Dhuliawala, Shehzaad et al. «Chain-of-Verification Reduces Hallucination in Large Language Models». ACL Anthology. [2]
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 chowdhury, sourajit roy. «Chain of Verification (CoVe) — Understanding & Implementation». Medium. [3]