# 邁向ACL LREC-COLING系列:Improving Factuality and Reasoning in Language Models through Multiagent Debate 論文整理 ### 概要 由MIT學生與Google Brain團隊合作構思出的Prompting Engineering論文,主要是將多個LLMs當作agent分開對同一個task/query,以zero-shot的Chain-of-Thought(CoT)來prompt,請其分別做回答,再給每一個LLMs看其他agent的CoT與答案來調校自己的答案,最終多個agent達成共識產出一個共同的結論/答案。 #### Mutli-agent debate example  ### Mutli-agent debate 作者舉例有一個$3$,$4$,$5$邊長的三角形,當人在思考的時候可能會先很直覺的想到345的邊長組合是直角三角形,因此可以快速得到${\frac{1}{2}}\times 3 \times 4 = 64$(作者故意算錯),因為要確定答案,又會試著用餘弦定理,先得到角度 $θ$,後用${\frac{1}{2}} × 3 × 4 × sin(θ)$得到不一樣的答案 $6$,從而得以檢視並修正原本的答案。 Mutli-agent debate 就是運用同樣的原理,試著藉由prompt多個LLMs(agent)讓不同的agent從不同的角度切入問題,分別得到各自初始的答案,再讓LLMs比照各個agent的答案來校對、修正自己初始的答案,並在最後達成共識得出一個最coherent的答案。 不同debate長度(rounds)會需要不同的prompt格式,如下圖。  參考左下圖,以兩輪debate為分界可以發現以上針對不同長度的debate設計的prompt確實會在各自設計的長度下有更好的表現。  理論上並不能保證Mutli-agent debate能使所有agent的答案收斂達成共識,但作者表示在實驗後發現,經驗上來說LLMs在經過多輪的debate後最終都回達成共識。 同時作者表示Multi-agent可以與其他prompting方法結合,如與他們在本研究中用CoT結合Multi-agent,比對沒有使用CoT的Single-agent/multi-agent和結合CoT的Single-agent可以發現Multi-agent不管有沒有結合CoT都能使原本的prompting方法在**GSM8K**數學應用題上有更好的表現,而結合CoT的multi-agent更有加乘的效果。 ### Improving Reasoning with Multiagent Debate 作者使用了3種不同的tsak來驗證multi-agent debate對reasoning的improvement,分別是: - **一般數學計算**,其為包含6個雙位數字的數學表達式(操作包含加減乘)  - 學校數學應用題的**GSM8K**  - **西洋棋預測**,使用PGN notation表示的西洋棋的前14步,請LLMs**預測最佳的下一步**。 **一般數學計算**和**GSM8K**使用比對正確答案來評分Accuracy,**西洋棋預測**則使用西洋棋平台Stockfish對預測的最佳下一步給pawn score(獲得優勢)來當作evaluation。 **Baseline** 作者則使用Single agent的Standard IO/Self-reflection和Multi-agent的majority當作baseline,Std IO就是最初始的題目給單獨的LLMs然後產出答案,self-reflection則是在單獨的LLMs產出答案後,拿答案請LLMs自己驗證並調整答案,而Multi-agent的majority就像是之前CoT的Self-consistency,用出現頻率最高的結果當作最終答案。可以將Multi-agent debate視為Multi-agent majority和self-reflection的結合。  從上圖可知結果是Multi-agent debate在三種task上都表現得最好。 ### Extracting Factual Information from Multiagent Debate 作者接著測試Multiagent Debate在歸納擷取正確資訊的能力。以三種task分別是: - 從524位著名的電腦科學家自傳中**整理出各自bullet point**,再比對由作者群自己整理出的bullet point做給分。  - **回答MMLU資料集的題目**,其題目涵蓋57個科目,包含STEM、人文、社會科學,本是設計來測試Model在pretraining獲得的knowledge。截至目前(2023)的最高得分是GPT-4的few-shot,Accuracy達到$86.4\%$。 下為省略Reasoning的Multiagent Debate對MMLU題目的解題過程示例。  - 使用BIG-Bench Chess-State Tracking Benchmark來衡量在給定Current State和規則後,**給定一系列下一步的選擇,Multiagent Debate 能否判斷出哪些選擇是合理的,並做出下一步**。 結果如下,  因為以上資料集的題目不能由Multi-agent的majority得到最大相同的答案(因為事實的判斷內容不會完全一致),所以在baseline中移除了Multi-agent(majority),可以知道Multiagent Debate在三種task中都有最好的表現。 ### 分析影響Multiagent Debate的因素   - **Agent數量** - 在同樣是兩輪的debate中,有越多agents參與,其答案準確度就越高。 - **Debate長度(總共幾輪)** - 在同樣是3個agents的情況下,debate越多輪準確度越高。(Notice:在實驗中超過4輪後的debate會使精確度收斂,不會再有明顯的成長) - **針對長短debate的prompt** - 如前面所提到的,以兩輪debate為分界可以發現以上針對不同長度的debate設計的prompt確實會在各自設計的長度下有更好的表現,短debate的prompt可以更快收斂,但最終精確度較低,而長debate的prompt雖然收斂較慢,但最終能達到更高的精確度。 - **不同的initial prompt** - 原本給所有agent的prompt都一樣,作者有考慮到也許不同的initial prompt會使結果不一樣,因此有給所謂**role play**,請agents以不同的職業角度處理task,結果在**MMLU**的分數從$71.1$提升到$74.2$,證明了可以就設計不同initial prompt下手improve multiagent的結果。 - **使用Summarization** - 因為成本考量,當agent數量太多時,每次將所有agents的response單純concatenate成prompt加入每個agent的input成本會太高,因此作者先將所有agents的response用LLMs summarize成一個response再加入每一個agent的prompt中input,透過對比確保其效果會跟concatenate一樣,卻發現這樣做反而還能提高multiagent的表現。 - **使用不同LLMs agent的結合**,作者本文至此都是使用ChatGPT當作試驗,而為了測試不同LLMs agents結合會不會提升表現,因此特別加入Bard和ChatGPT混合的Multiagent debate,發現在單純Bard的Multiagent debate可以在20題**GSM8K**中答對11題,而純ChatGPT的Multiagent debate則答對其中的14題,混合Bard和ChatGPT的Multiagent debate則答對了20題中的17題,儘管樣本較小,仍可以發現混合不同LLMs的Multiagent確實有機會提升Multiagent debate的準確度。下圖是其中一題混合的Multiagent的範例。  Reference: [Improving Factuality and Reasoning in Language Models through Multiagent Debate](https://arxiv.org/pdf/2305.14325.pdf), [MMLU(Massive Multitask Language Understanding)](https://paperswithcode.com/dataset/mmlu)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up