本篇文章想和大家分享一篇「LLM Agent」相關的論文 —— ChatEval: Towards Better LLM-Based Evaluators Through Multi-Agent Debate。這是一篇 ICLR 2024 Poster 的論文,算是一篇蠻簡單、好理解的 Multi-Agent 框架的論文(甚至有點簡單到教授覺得這篇論文是怎麼被 ICLR 接受的 …),如果想開始了解 Multi-Agent 相關的研究,我覺得這篇論文是蠻好的起手式。
在開始介紹這篇論文之前,想先和大家分享我對於「Agent」這個名詞的理解。這邊分享我讀了 The Landscape of Emerging AI Agent Architectures for Reasoning,Planning, and ToolCalling: A Survey 這篇 Survey 論文的內容,所謂的 Agent 應該至少具備以下三種能力:
在我的想象中,假設目前有一個 Large Language Model:
我給它一個 Prompt:「請試著幫我解答這題微積分題目」
如果它回答我:「很抱歉,我不會這道數學題」或是「2」(直接給我一個錯誤的答案)。雖然它沒有告訴我怎麼做或是它答錯了,但是它理解這是一道「數學問題」,那我會覺得它具備了「理解」輸入資料(我提供的文字)的能力。
如果我再透過一些 Prompting 的技巧(例如:Chain of Thought),促使它試著將中間的推理(運算)過程說出來,進而得到最終正確的答案,那我會認為它具備了「推理」的能力。
如果我在一開始就提供給它一些工具,像是 Web Browser 或 Code Interpreter 等等,並告訴它這些工具應該如何使用。它在推理的過程中發現自己對於微積分的概念不是很理解而透過 Web Browser 上網查詢,或是將中間的計算過程轉為程式碼並且透過 Code Interpreter 執行來得到運算結果,那我認為它已經具備了採取「行動」的能力。在這個階段我們也能夠稱其為「Agent」了。
如上圖所示,LLM Agent 的方法中,我們可以很簡單地將其區分為「Single Agent Architecture」或「Multi-Agent Architecture」。相信看名詞應該就知道,不需要多加解釋 ~ 而 Multi-Agent Architecture 中又可以是 Vertical 或 Horizontal 的合作關係。在 Single Agent Architecture 中,經典的論文有 ReAct (ICLR 2023) 和 Reflexion (NeurIPS 2023),而在 Multi-Agent Architecture 中,經典的論文有 ChatEval (ICLR 2024) 與 MetaGPT (ICLR 2024)。
而在 Agent 相關的做法中,「Persona」是一個特別重要的關鍵:Agent + Persona = Role。如上圖所示,如果我們給予一個 Agent 透過 System Prompt 來定義其 Persona,那麼它接下來的輸出「內容」、「風格」或「推理方式」就會因此而改變。尤其是在 Multi-Agent 框架的方法中,替每一個 Agent 定義不同的 Persona 相當重要,這大大地影響了這群 Agent 有沒有能力做好當前的任務。
The Landscape of Emerging AI Agent Architectures for Reasoning,Planning, and ToolCalling: A Survey 論文在最後也列出了一些 Agent 相關的特性:
對於 LLM Agent 有基本的概念後,我們接著開始理解 ChatEval 這篇論文究竟想要解決什麼問題!
過去當我們開發了一個新的 Language Model 時,假設我們想要比較其與其他 Language Model 進行 Summarization 的能力,我們可能需要拿很多篇文章給這兩個 Language Model 進行 Summarization,然後聘請一些人類來給兩個 Language Model 的輸出打分數。你可以發現,這個 Evaluation 的方式是低效率(人類看很慢 …)且高成本的(人類要算時薪的!)。
然而,如果我們透過一些 Rule-Based Metric(例如:ROUGE、BLEU 等等),這些基於 N-Gram Based 的想法所設計的 Metric 有時算出來的分數與人類的偏好並沒有那麼一致。
因此,我們有沒有更有效率、更低成本,也更符合人類偏好的方式,來對這些 Language Model 進行 Evaluation 呢?
有的!這就是 ChatEval 想要解決的問題之一!
自從 Large Language Model (LLM) 盛行以來,就有許多研究希望透過 LLM 來替其他 LLM 進行 Evaluation,這個系列的 Work 通常稱為 LLM-as-a-Judge。使用 LLM 來替其他 LLM Evaluation 除了有速度更快、成本更低等優點以外,別忘了 LLM 還能透過 SFT 或 RLHF / DPO 的訓練,使其輸出更符合 Human Preference。
ChatEval 說穿了就是一個透過 LLM 來替其他 LLM 做 Evaluation 的方法,然而比較有趣的是,它不是只用一個 LLM (Agent),而是透過多個 LLM (Agent) 來互相 Debate 得到共識的方法(就是一個評審團的概念)。
ChatEval 論文以及方法設計上都相當簡單,主要就是理解兩個部分:「每一個 Agent 的 Role 怎麼定義」以及「Agent 之間怎麼互相溝通」。
如上圖所示,在 ChatEval 中定義了 5 種 Persona:General Public、Critic、News Author、Psychologist 與 Scientist。而每次輸入給一個 Agent 的 Prompt 就會如下圖所示:
我們可以清楚看到這個 Prompt 主要就是分為兩個部分:Question Prompt 與 System Prompt。在 Question Prompt 中,提供一個問題以及兩個 Language Model 的回答,而在 System Prompt 中,則是告訴目前的 Agent 應該如何替這兩個 Language Model 的回答打分數。
如上圖所示,在 ChatEval 中定義了 3 種 Agent 之間的 Communication 方式。假設目前有 3 個 Agent,Alice、Bob 與 Carol,給定一個問題,以及 2 個 Language Model 的回答,這 3 個 Agent 會透過以下 3 種 Communication/Debate 方式,來得到最後的結論(哪一個 Language Model 的回答比較好):
以上就是這 3 種 Communication/Debate 方法的概念,在論文中都有提供其演算法,如果你不喜歡上述擬人化的介紹方式,可以再到原始論文中看看!在進入到最後的實驗介紹之前,不妨停下來猜猜看哪一種 Communication 方法會有最好的表現呢?
ChatEval 論文當中使用了 2 種任務來衡量 ChatEval 方法的有效性,分別是:
如下圖所示,Open-ended Question Answer 任務中會有很多 Question,每一個 Question 都有 2 個 LLM 的 Response,已經事先標記好哪一個 Response 比較好了,我們希望 ChatEval 方法也可以知道哪一個 Response 比較好:
下圖為 ChatEval 在這個任務上的實驗結果,可以發現不管是 ChatGPT 還是 GPT-4 都分別使用了三種方法(MEC+BPC、Single-Agent 與 Multi-Agent),其中 Multi-Agent 就是指 ChatEval 方法。實驗結果當然一定會呈現自己所提出的方法(ChatEval)是很棒的。
而在 Dialogue Response Generation 任務中,則是會有很多 Dialogue,每一個 Dialogue 又會有很多 Response。每一則 Response 都可以從不同的面相(例如:Naturalness、Coherence …)來替每一則 Response 做排名。我們希望透過 ChatEval 方法,也可以看到 Agent 們在每一個面向替這些 Response 的排名結果與人類(Groundtruth)一致。
下圖為 ChatEval 在這個任務上的實驗結果,可以發現多數情況下 Multi-Agent (ChatEval) 都可以比 Single-Agent 帶來更好的表現。
此外,作者也在 Ablation Study 中呈現在 3 種 Communication/Debate 方法中,One-by-One 有最好的表現:
而在 Multi-Agent 的框架中,Diverse Role 是作者特別強調的技巧,也就是必須透過 Persona 的設定,讓每一個 LLM 分別是不同的 Role,這樣他們在 Debate 過程中才比較有可能提出不同的觀點,提升最後的表現:
最後,作者也呈現了多少 Agent 以及多少輪討論會有最好的結果。出乎我的意料,我以為會很多 Agent 一起討論很多次,結果其實 3 個 Agent 討論個 2 輪就會有共識了:
相信看完了這篇文章,你一定也覺得 ChatEval: Towards Better LLM-Based Evaluators Through Multi-Agent Debate 這篇論文其實不管在動機、方法以及實驗上都非常簡單(但還是上 ICLR 2024 …),因此算是進入 Multi-Agent 領域中的起手式論文。此外,作者也有開源 ChatEval GitHub,因此未來如果有機會設計 Multi-Agent Debate 的方法時,我覺得 ChatEval 當成 Baseline 也挺好的!