如何使用多個LLM共同協作來大幅提升模型推理結果? — MoA論文簡介與實務

Vincent Ko
Jun 26, 2024

--

Mixture-of-Agents(MOA) Enhances Large Language Model Capabilities — 中文介紹

introduction

MOA希望利用多個LLM的能力來進行綜合增強。透過混合不同的agents,有效增加模型表現,但缺點就是要準備不同的LLM,如果也LMstudio或ollama平台的話會比較好處理。

目前大型的語言模型參數落在70B(或更高但罕見),如果想要增加單一的LLM的性能的話,可能就需要增加更多的tokens,但是如果我們針對單一個模型再繼續訓練下去會遇到邊際效益遞減的情況,如果繼續增加token,不一定會有比較好的結果,舉例來說,之前也有些論文認為提升LLM表現的關鍵因素並不出在參數的多寡,例如減少50%的參數數量,對模型幾乎沒有影響等。

同時,不同的LLM各有長處,擅長不同的任務,有些很會logical reasoning, 有些比較會寫code,所以或許我們應該要結合不同的LLM來進行回答。與此同時,MOA這篇論文的作者發現LLM的協作性,也就是說:「將A模型的輸出作為B模型的參考時,通常會得到更好的response。」歸功於LLM的再推理性能,我們可以考慮將query進入不同的LLM裡面形成一個chain,這樣下來結果會更好。

Important Findings

Together AI的最新研究“Together MoA”(Mixture of Agents,代理混合)是一種創新的方法,藉由通過結合多個開源大型語言模型(LLMs)的集體智慧來增強單個模型的性能。該研究采用了分層架構,每一層包含多個LLM代理,這些代理各自具有不同的專長和優勢。一個問題會經過多個LLM處理來獲得最終回復。最初,第一層中的LLMs,記為agent A1,1 …A1,n,獨立地對給定的提示生成響應(注意,A11,A12,A13都是不同的LLM)。然後,這些響應整合之後,又傳輸給下一層的代理A2,1 …A2,n(這些代理可能重用了第一層的模型)進行進一步的改進。這種迭代會迭代N次,直到獲得一個更加穩健和全面的response。

具體來說,MoA使用六個開源模型作為提議者,並以Qwen1.5–110B-Chat作為最終的聚合器。通過這種方式,MoA能夠顯著提升模型在各種任務上的表現,例如在AlpacaEval 2.0上的得分從GPT-4o的57.5%提高到了65.1%。

提議者:這些模型生成初始參考響應。雖然提議者可能會自己產生高質量的回應,但其主要價值在於提供細致入微和多樣化的觀點,作為聚合者的參考。(負責生成回答的LLM,不進行整合)
聚合器:這些模型將提案者的不同響應綜合成一個單一的、高質量的響應。這個會變成最終的輸出(也就是整合所有的回答,並將這個回答傳輸給下一層的LLM)

最初,幾個提議者獨立地生成對給定prompt的響應。然後,這些響應將呈現給下一層的聚合器,聚合器將它們合成更高質量的響應。這個迭代過程會持續到幾個層次,直到實現更強大、更全面的響應。

這種方法的核心思想是利用多個專家的集體智慧來解決更困難的問題,類似於多個專家在團隊中合作的情況。總結來說,MoA通過結合多個開源大模型的集體優勢,利用分層架構和代理混合的策略,顯著提升了模型在各種任務上的性能。

實測結果

根據外國KOL的實測應用,他在推理面相表現得最好,coding的部分最爛(大家現在都在看LLM能不能寫貪吃蛇來當作baseline),另外,對於censored questions跟其他有問題的prompt也會被擋住。

Conclusion

MoA可以讓開源模型聚合後比閉源模型表現更好,該團隊想要繼續優化MoA的系統,並且改善prompt等等,並且進行推裡面的優化。對我們一般使用者來說,這種方式雖然可以得到好的結果,但是推理的過程理所當然地較慢,而且也需要大量的算力,需要很多模型等等,所以比較適合需要精確輸出,不在意響應時間的使用者進行運用。

References:

https://blog.csdn.net/bylander/article/details/139710886

--

--

Vincent Ko
Vincent Ko

Written by Vincent Ko

又名為黑翅鳶羽札,2024年即將邁向大四,正在國泰銀行資訊部門實習,可能會帶來第一手GenAI相關知識。LLM、人工智慧、資料分析與處理;財金、管理、財金數據分析。

No responses yet