可復現、自動化、低成本、高評估水平,首個自動化評估大模型的大模型PandaLM來了
大模型的發展可謂一日千里,指令微調方法猶如雨后春筍般涌現,大量所謂的 ChatGPT “平替” 大模型相繼發布。在大模型的訓練與應用開發中,開源、閉源以及自研等各類大模型真實能力的評測已經成為提高研發效率與質量的重要環節。
具體來說,在大模型的訓練和應用中,大家可能遇到過以下問題:
1、在大模型微調或者增強預訓練中使用了不同的基座和參數,根據觀察到的樣例效果,模型的表現在不同場景下各有優劣,如何確定在實際應用中使用哪個模型?
2、使用 ChatGPT 對模型輸出進行評估,但是 ChatGPT 對相同輸入在不同時間得到的評估結果不同,到底采用哪個評估結果?
3、采用人工標注對模型生成結果進行評測耗時費力,在經費預算有限和時間緊迫的情況下,如何加速評估過程并降低成本?
4、在處理機密數據時,不管用 ChatGPT/GPT4 還是標注公司進行模型評測都面臨數據泄露問題,如何保證數據安全?
基于這些問題,來自北京大學、西湖大學等機構的研究者聯合提出了一種全新的大模型評估范式——PandaLM。PandaLM 通過訓練一個專門用于評估的大模型,對大模型能力進行自動化且可復現的測試驗證。PandaLM 于 4 月 30 日在 GitHub 上發布,是全球首個評估大模型的大模型。相關論文會在近期公布。
GitHub地址:https://github.com/WeOpenML/PandaLM
PandaLM 旨在通過訓練使得大模型學習到人類對不同大模型生成文本的總體偏好,并作出基于偏好的相對評價,以替代人工或基于 API 的評價方式,降本增效。PandaLM 的權重完全公開,可以在消費級硬件上運行,硬件門檻低。PandaLM 的評估結果可靠,完全可復現,并且能夠保護數據安全,評估過程均可本地完成,非常適合學術界和需要保密數據的單位使用。使用 PandaLM 非常簡單,只需三行代碼即可調用。為驗證 PandaLM 的評估能力,PandaLM 團隊邀請了三位專業標注員對不同大模型的輸出進行獨立的優劣判斷,并構建了包含 50 個領域、1000 個樣本的多樣化測試集。在此測試集上,PandaLM 的準確率達到了 ChatGPT 94% 的水平,且 PandaLM 產生了和人工標注相同的模型優劣結論。
PandaLM介紹
目前,主要有兩種方式來評估大型模型:
(1)通過調用第三方公司的 API 接口;
(2)雇用專家進行人工標注。
然而,將數據傳送給第三方公司可能導致類似三星員工泄露代碼的數據泄露問題 [1];而雇傭專家標注大量數據既耗時又昂貴。一個亟待解決的問題是:如何實現保護隱私、可靠、可復現及廉價的大模型評估?
為了克服這兩個評估方法的局限,該研究開發了 PandaLM,一個專門用于評估大型模型性能的裁判模型,并提供簡便的接口,用戶只需三行代碼便可調用 PandaLM 實現隱私保護、可靠、可重復且經濟的大型模型評估。關于 PandaLM 的訓練細節,請參見開源項目。
為了驗證 PandaLM 在評估大型模型方面的能力,研究團隊構建了一個包含約 1,000 個樣本的多樣化人工標注測試集,其上下文和標簽均由人類生成。在測試數據集上,PandaLM-7B 在準確度達到了 ChatGPT(gpt-3.5-turbo)的 94% 的水平。
如何使用 PandaLM?
當兩個不同的大型模型針對相同的指令和上下文產生不同的回應時,PandaLM 的目標是比較這兩個模型回應的質量,并輸出比較結果、比較依據以及可供參考的回應。比較結果有三種:回應 1 更優;回應 2 更優;回應 1 和回應 2 質量相當。在比較多個大型模型的性能時,只需使用 PandaLM 進行兩兩比較,然后匯總這些比較結果來對模型的性能進行排名或繪制模型的偏序關系圖。這樣可以直觀地分析不同模型之間的性能差異。由于 PandaLM 僅需在本地部署,且不需要人工參與,因此可以以保護隱私和低成本的方式進行評估。為了提供更好的可解釋性,PandaLM 亦可用自然語言對其選擇進行解釋,并額外生成一組參考回應。
PandaLM 不僅支持使用 Web UI 以便于進行案例分析,還支持三行代碼調用 PandaLM 對任意模型和數據生成的文本評估。考慮到許多現有模型和框架可能不是開源的或難以在本地進行推理,PandaLM 允許通過指定模型權重生成待評估文本,或直接傳入包含待評估文本的 .json 文件。用戶只需提供一個包含模型名稱、HuggingFace 模型 ID 或 .json 文件路徑的列表,即可利用 PandaLM 對用戶定義的模型和輸入數據進行評估。以下是一個極簡的使用示例:
此外,為了讓大家能夠靈活地運用 PandaLM 進行自由評估,研究團隊已在 HuggingFace 網站上公開了 PandaLM 的模型權重。通過以下命令,您可以輕松地加載 PandaLM-7B 模型:
PandaLM 的特點
PandaLM 的特點包括可復現性、自動化、隱私保護、低成本及高評估水平等。
1. 可復現性:由于 PandaLM 的權重是公開的,即使語言模型輸出存在隨機性,但在固定隨機種子后,PandaLM 的評估結果仍會保持一致。而依賴在線 API 的評估手段由于更新不透明,其評估結果在不同時間可能不一致,且隨著模型迭代,API 中的舊版模型可能無法再訪問,因此基于在線 API 的評測往往不具有可復現性。
2. 自動化、隱私保護與低成本:用戶只需在本地部署 PandaLM 模型,調用現成命令即可評估各類大模型,無需像雇傭專家那樣需保持實時溝通且擔心數據泄露問題。同時,PandaLM 整個評估過程中不涉及任何 API 費用以及勞務費用,非常廉價。
3. 評估水平:為驗證 PandaLM 的可靠性,該研究雇傭了三名專家獨立完成重復標注,創建了一個人工標注測試集。該測試集包含 50 個不同場景,每個場景下還包含多個任務。這個測試集是多樣化、可靠且與人類對文本的偏好相一致的。測試集中的每個樣本由指令與上下文,以及兩個由不同大模型生成的回應組成,并由人類來比較這兩個回應的質量。
該研究剔除了標注員間差異較大的樣本,確保每個標注者在最終測試集上的 IAA(Inter Annotator Agreement)接近 0.85。需要注意的是,PandaLM 訓練集與該研究創建的人工標注測試集完全無重疊。
這些被過濾的樣本需要額外的知識或難以獲取的信息來輔助判斷,這使得人類也難以對它們進行準確標注。經過篩選的測試集包含 1000 個樣本,而原始未經過濾的測試集包含 2500 個樣本。測試集的分布為 {0:105,1:422,2:472},其中,0 表示兩個回應質量相似;1 表示回應 1 更好;2 表示回應 2 更好。
以人類測試集為基準,PandaLM 與 gpt-3.5-turbo 的性能對比如下:
可以看到,PandaLM-7B 在準確度上已經達到了 gpt-3.5-turbo 94% 的水平,而在精確率,召回率,F1 分數上,PandaLM-7B 已于 gpt-3.5-turbo 相差無幾。可以說,PandaLM-7B 已經具備了與 gpt-3.5-turbo 相當的大模型評估能力。
除了在測試集上的準確度,精確率,召回率,F1 分數之外,該研究還提供了 5 個大小相近且開源的大模型之間比較的結果。該研究首先使用了相同的訓練數據對這個 5 個模型進行指令微調,接著用人類,gpt-3.5-turbo,PandaLM 對這 5 個模型分別進行兩兩比較。下表中第一行第一個元組(72,28,11)表示有 72 個 LLaMA-7B 的回應比 Bloom-7B 的好,有 28 個 LLaMA-7B 的回應比 Bloom-7B 的差,兩個模型有 11 個回應質量相似。因此在這個例子中,人類認為 LLaMA-7B 優于 Bloom-7B。下面三張表的結果說明人類,gpt-3.5-turbo 與 PandaLM-7B 對于各個模型之間優劣關系的判斷完全一致。
基于以上三張表,該研究生成了模型優劣的偏序圖,這個偏序圖構成了全序關系,可以表示為:LLaMA-7B > Bloom-7B > Pythia-6.9B > OPT-7B > Cerebras-GPT-6.7B。
總結
綜上所述,PandaLM 為大模型評估提供了一種除人類評估與 第三方 API 之外的第三種選擇。PandaLM 不僅具有高評估水平,而且結果具備可復現性,評估流程高度自動化,同時保護隱私且成本較低。研究團隊相信 PandaLM 將推動學術界和工業界對大模型的研究,使更多人從大模型的發展中受益。歡迎大家關注 PandaLM 項目,更多的訓練、測試細節、相關文章及后續工作都會公布在項目網址:https://github.com/WeOpenML/PandaLM
作者團隊簡介
作者團隊中,王一棟* 來自北京大學軟件工程國家工程中心(博士)和西湖大學(科研助理),于倬浩*、曾政然、蔣超亞、謝睿、葉蔚? 和張世琨? 來自北京大學軟件工程國家工程中心,楊林易、王存翔和張岳? 來自西湖大學,衡強來自北卡萊羅納州立大學,陳皓來自卡耐基梅隆大學,王晉東和謝幸來自微軟亞洲研究院。* 表示共同第一作者,? 表示共同通訊作者。