從理論到落地,大模型評測體系綜合指南

?1956年夏,“人工智能” 這一概念被提出。距今已有近70年的發展歷史。中國科學院將其劃分為六個階段:起步發展期(1956年—1960s),反思發展期(1960s-1970s),應用發展期(1970s-1980s),低迷發展期(1980s-1990s),穩步發展期(1990s-2010),以及蓬勃發展期(2011-)。真正的大模型歷史還要從2006年Deep Learning首次在Science上發表開始,然而在2012年之前,大模型的探索與學習的關注度并不是很高。直到2022年11月,OpenAI推出了搭載GPT3.5的ChatGPT,人類因其的誕生而宣布進入強人工智能時代,其劃時代意義也得到廣泛認可。他所引發的人工智能“地震”,便是“群模起舞”。根據賽迪顧問發布的《2023大模型現狀調查報告》顯示,截至2023年7月底,國外累計發布大模型138個,中國則累計有130個大模型問世。相關科技企業更是將大模型運用于各個領域,如辦公,金融,醫療,文娛,教育,交通,能源等等。在技術進步和創新噴涌的熱潮中,人們關注的焦點集中于,我們究竟需要什么樣的大模型?何種大模型是通向人工智能的最終答案?這也就是今天的主題:大模型評測的力量。

圖片

大模型評測的必要性與挑戰


評測的意義

????對于大模型研發人員來說,大模型效果的對比,反映出了背后不同技術路線和技術方法的實效性。這提供了非常重要的參考意義。一方面,大家既能把握當下的發展水平、與國外頂尖技術的差距,更加清晰地看明白未來的努力方向,而不被資本熱潮、輿論熱潮所裹挾。另一方面,模型開發方面的相互參考與借鑒,幫助大家選擇最佳的技術手段,避免重復實驗帶來的資源浪費,有助于整個大模型生態圈的良性高效發展。?

????對于產業界來說,研究測評可以更好的為人類與大模型的交互進行指導和幫助。尤其是對于不具備大模型研發能力的公司,熟悉大模型的技術邊界、高效而有針對性地做大模型技術選型尤為重要。大模型評測領域的第一篇綜述文章《A Survey on Evaluation of Large Language Models》更是指出,在安全性和可靠性方面,評測可以更好地統籌和規劃大模型未來的發展的演變、防范未知和可能的風險。?

????但是國內大模型百花齊放,能力參差不齊。研究者和大模型愛好者們對誰是國產大模型界的扛把子爭論不休。于是就像手機測評、汽車測評一樣,各路測評機構、評測基準應運而生。各大模型也爭相在排行榜上一顯身手,于是開始夸大其詞,避重就輕,捎帶上GPT 3.5/4.0 進行對比,來凸顯自己的能力。所以業界急需一個公開、公正、公平的大模型評測系統,讓大家摒棄浮躁,靜下心來打磨前沿技術,真真正正用技術實力說話。

圖片

評測的挑戰性

????首先我們必須要承認,到底怎么測評大模型的能力,沒有人能給出準確的答案。想要全面、客觀、準確的測出一個大模型的能力,且讓所有人認可、達成共識,這件事本身具有非常大的難度。這里我們列舉出一些公認的難點:

1.能力考核點的覆蓋性與正交性

????一方面,對于覆蓋性來說,大模型的能力不再限制于傳統NLU(Nature Language Understanding)的下游任務,那么一個完整的測試項清單應該包括哪些能力?另一方面,對于我們能想到的一些常提及的大模型能力。比如理解能力,代碼能力,推理能力,寫作能力,多輪對話能力,說起來字面意思很好理解,可是如果想整理出一個技能樹,每個任務對應的技能能力基本是一對多的關系。比如文本分類可能涉及到在文本中找到對應信息,再進行一些邏輯運算得出結論。那么它對應的是理解能力還是推理能力。?

2.測試集中case的多樣性和復雜性?

????模型的差異在復雜程度低的時候往往差距不大,比如,幾乎所有模型都可以正確回答出"1+1等于幾",但是如果問題的難度超過一定閾值,就有機會看出明顯的差距,比如,問題是"5648261563 / 7711是多少 ",高下立見。當指令從單種語言“中國的首都是哪里?”變成中英文夾雜 "中國的capital是哪里?",就可以更好測評模型的雙語能力。所以測試case的復雜性和多樣性能幫助提高結論的可靠性。

3.公平性與透明性的權衡?

????就算是解決了以上兩個問題,仍然有一個棘手的問題,就是開源和閉源之間的選擇,也就是公平性和透明性之間的權衡問題。如果閉源,就會引起公眾對公平性和權威性的質疑,可是如果開源,就有可能造成數據泄露,導致受試模型提前訓練以提高分數。比如一篇極具諷刺意味的論文《Pretraining on the Test Set Is All You Need》中的嘗試,用huggingface上的眾多評估基準數據創建了一個高質量數據集,并借助這一數據集完成了一個基于 Transformer 的語言模型的預訓練,這個模型被命名為 phi-CTNL。phi-CTNL 在各類學術基準測試中表現得相當完美,勝過了所有已知的模型。?

4.結果的量化

????所有的評測最后都需要需要一個量化的結論,這也是現在比較多的做法是讓模型做選擇題的原因。但是正常使用情況下,模型和人的交互形式往往不是選擇題。所以測評測評也還需要主觀開放題。對于主觀開放題的打分,理論來說,人工評估是最保險的,但是這樣一方面引入了潛在的人類偏見。另一方面,效率低下且成本過高。目前業界做法通常是chatgpt或者gpt4去打分,這樣難度就轉換了打分prompt的寫法,它需要考慮的點有兩個,一個是怎么寫使得gpt4能夠更好的理解當前的,另外一個是怎么約束好輸出。

圖片

測評體系的多維度


????評估大模型的通用能力不僅是對其在特定任務上的準確性能進行度量,還應當探究大模型在廣泛、多樣化的任 務和場景中的適應性、安全性和魯棒性。

????- 多任務學習評測能夠檢測模型是否能在多種任務上保持其性能,從而真實地反映其泛化能力:我們用一些知名的數據集做舉例說明:BIG-bench(谷歌公開的由 204 項任務組成的數據集,任務主題涉及語言學、兒童發展、數學、常識推理、生物學、物理學、社會偏見、軟件開發等等領域的問題。包含了 204 項任務CMMLU(上海交通大學,微軟亞洲研究院合作開的中文大模型基準,涵蓋了 67 個主題,涉及自然科學、社會科學、工程、人文、以及常識等),C-Eval(由上海交通大學,清華大學,愛丁堡大學共同完成。覆蓋人文、社科、理工、其他四個大方向,52 個學科),M3KE(Massive Multi-Level Multi-Subject Knowledge Evaluation基準。涵蓋了中國教育體系的所有主要層次,從小學到大學,以及包括人文學科、歷史、政治、法律、教育、心理學、科學、技術、藝術和宗教等各種學科。)AGIEval(由微軟發布,包括20種面向普通人類考生的官方、公開、高標準往常和資格考試,如普通大學入學考試(中國高考和美國 SAT 考試)、法學入學考試、數學競賽、律師資格考試、國家公務員考試等等。)FlagEval(由智源研究院聯合多個高校團隊打造的天秤數據集,包括 5 種任務,30 多種能力),SuperCLUE(綜合性大模型評測基準,聚焦于四個能力象限,細化出基礎能力12項)。

????- 特別適配大語言模型agent能力的基準:比如AgentBench,一個多維演進基準測試,包括8個不同環境,用于評估大型語言模型(LLMs)在多回合開放式生成環境中的推理和決策能力。

????- 零樣本或少樣本學習評估可以揭示模型在面對少量或沒有標注數據的任務時的快速適應性:很多測評平臺都考慮到這一點,除了支持多種數據集之外,都還支持支持零樣本、小樣本及思維鏈評測,結合標準型或對話型提示詞模板。比較有代表性的測評平臺如OpenCompass (提供 70+ 個數據集的模型評測方案),CLEVA(包括31個任務,也就是11個應用評估+20個能力評測任務),HELM(支持119個場景測評) 。

- 對抗性測試可以評估模型對輸入擾動的魯棒性,比如,promptbench,探究了大模型在處理對抗提示的魯棒性。

- 安全性:在中國市場中,大模型必須遵守中國的數據安全法規、考慮中文語言的特殊性、以及本地化應用的需求。例如,safetybench(涵蓋了7個不同的安全風險領域,同時包括了中文和英文數據,便于雙語評估)TRUSTGPT(毒性、偏見和價值對齊三大方面的測評基準),以及TRUSTWORTHY LLMS(提出LLM對齊的分類法和評估LLM對齊能力的評估方法,包括如何構建評估的數據集)。

主流測評體系的現狀與意義


  • 仍然缺少統一標準:上文提及的測評平臺和很多綜合的測評體系如HELM,OpenCompass和FlagEval等等,在某些數據集上有所交集,例如C-Eval、CMMLU和MMLU,但它們也都有各自獨特的測評項。這種多樣性意味著每個榜單都可能對模型的某些方面進行更深入的評估。?

  • ?評測策略的多變性:同一數據集可能因為評測策略的不同而導致模型得分的巨大差異。例如,prompt構建時輕微區別,例如多一個回車后者冒號,都會導致不同的測評結果不同。以及開源模型的最終答案是按照最終輸出的字符還是按照選項的概率確定。這些策略都會導致得分不同。?

  • 數據泄露:這里我直接引用ceval官網上寫的一段話”任何評測都有其局限性,以及任何的榜單都可以被不健康的刷榜“,為了模型排名高,有的人就會選擇走捷徑,比如讓能力強的模型知識蒸餾喂給自己的模型以及將基準直接混進訓練集。這樣得到的測評出的能力并不是模型真正的泛化能力,同時也很大機會加劇模型幻覺。

  • 人工評測的主觀性:盡管Chatbot Arena 這種基于競技場的評測方式試圖實現公正性,但其仍然受到人工評價的影響。人的評價往往帶有主觀性,這可能會對評測結果產生不同程度的偏見。大模型評測的核心目的是確定模型的“聰明”程度,深入探討其性能、特點和局限性,為行業應用提供方向。通過評測,我們可以更好地了解模型的性能、特點、價值、局限性和潛在風險,并為其發展和應用提供支持。

大模型落地,評測體系應如何設計


????“千模大戰”的今天,不僅技術層面的 CIO、CDO和 CTO表現出濃厚的興趣,企業的各個業務單元、包括 CEO在內的高級決策層,幾乎都在第一時間啟動了密切地關注與討論,也都在思考,如何把大模型技術應用到自己企業場景中,為業務經營帶來更多降本增效。所以根據現有的業務場景,用正確的方法比較和選擇大模型是很關鍵的。比如在流程自動化要求高的場景下就應該使用測評agent能力的基準評測模型的agent能力,如果是客服與營銷環節,專業服務要求高,容錯性低,對安全合規的要求,就需要一些評測幻覺的基準,比如TruthfulQA、HADES、HalluQA、ChineseFactEval、UHGEval等等,同時也要對模型的價值觀和倫理道德等安全穩定性進行評測。換句話說,一個完整的測評體系還要有端到端任務評估能力或者根據業務場景抽象出所對應的模型能力項,將業務場景能力轉化為模型基礎能力的集合。

????同時針對通用大模型往往不能滿足企業應用場景下的不同需求,市場上出現了不少行業大模型,以及用企業的私有數據做訓練和微調的做法。所以測評模型微調前后能力對比也是重要的一環。模型經過微調之后在專業上是否能力真的得到了提高便是重點。另外,與生物神經網絡相比較,現有的深度神經網絡存在一個顯著缺陷:人工智能體缺乏像生物一樣不斷適應環境以及增量式(持續)學習的能力,具體體現就是學習了新的知識之后,幾乎徹底遺忘掉之前習得的內容,也被稱為災難性遺忘。所以微調后的模型通用能力是否喪失原有的通用能力也是一項評估重點。

????在最后的落地部署方面也還有兩大要素需要考慮:一個是工程化層面,需要對系統的穩健性和效率進行評測,可能包括的指標:平均報錯率、llm agent與底層 API 交互的次數等。另一個是系統設計方面,需要考慮整個系統的性能評測,這里就涉及到業務場景完成時端到端的運行效率、延時以及成本等。

????綜上所述,人們常說的大模型落地的最后一公里,有半公里在于落地測評體系的搭建。

大模型評測的未來趨勢與挑戰

????1.權威性和認可度:對于大模型的測評,缺少像舊時NLU領域被學者機構廣泛認可的GLUE數據集。(GLUE包含九項NLU任務,語言均為英語。GLUE九項任務涉及到自然語言推斷、文本蘊含、情感分析、語義相似等多個任務。像BERT、XLNet、RoBERTa、ERINE、T5等知名模型都會在此基準上進行測試。)目前,很需要一個中立的角色出現做出一個統一認可的基準。

??? 2.可解釋性:現有的評測方法主要通過問答的方式對大模型進行評測,一方面難以全面評估大模型在特定場景或特定環境下的能力,另一方面,無法深入揭示這些風險產生的內在原因。大模型本身仍是一個黑盒,再加上大多數大模型往往不會詳細透露其訓練數據來源或公開其訓練數據,所以對于模型的輸出可解釋性仍是挑戰。

??? 3.動態評測:現有的評測方法通常是靜態評測。一方面,大模型的訓練數據來源廣泛且規模龐大,靜態測試樣本可能已經包含在其訓練數據中。另一方面,知識每時每刻都在迭代更新,靜態評測的數據中的知識有可能會過時。隨著大模型的能力不斷的增強,原有的靜態評測數據的難度可能無法滿足大模型的能力需求。這些因素都削弱了靜態評測的公平性。因此,動態測評法才更能全面公正的對大模型進行評測,持續更新測試樣本,引入開放式問題,并探索評測新方法,如使用多個大模型通過辯論的方式進行評測。

??? 4.以優化大模型為目標的評測:與前文提到的走捷徑相對的就是困難但正確的路,也就是自己自主開發。這就涉及到超參數搜索,微調結果對比等動作。但現有的評測方法主要使用具體的評分量化大模型在某些特定任務或某些特定維度的能力,雖然這些評分便于模型之間的比較和選擇,但它們包含的信息難以指導模型的進一步優化。因此,需要以優化大模型為目標的評測方法,這種方法不僅給出模型的能力評分,同時也提供對應的能力分析和改進建議。

寫在最后

????目前行業內缺乏統一評測標準,尚未出現一個廣泛認可的大模型評測標準或方法,各評測機構和組織可能會提出不同的評測標準和方法。盡管如此,行業普遍認為評測為用戶提供了選擇大模型的選擇參考,同時為研發者提供了改進的方向。我們殷切期待大模型的評測技術可以早日在技術性能、行業應用、安全性和行業認知等多個維度綜合評估大模型。大模型本身就是耗時耗力的事,GPT 系列從 GPT-3 走到 GPT-4,從 2019 到 2023,一共花了四年的時間。Anthropic 團隊,即使有離開OpenAI之前 GPT-3 的經驗,重新做一遍 Claude 也花了一年的時間。我們也殷切期待,國產大模型有朝一日真正超越ChatGPT。

圖片

?

*本文插圖使用 AI 生成?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712356.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712356.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712356.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot集成Activiti案例

前言 Activiti項目是一項新的基于Apache許可的開源BPM平臺,從基礎開始構建,旨在提供支持新的BPMN 2.0標準,包括支持對象管理組(OMG),面對新技術的機遇,諸如互操作性和云架構,提供技…

3.1log | 62.不同路徑,63. 不同路徑 II,343. 整數拆分,96.不同的二叉搜索樹

62.不同路徑 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector<int>(n,0));for(int i0;i<n;i) dp[0][i]1;for(int i0;i<m;i) dp[i][0]1;for(int i1;i<m;i){for(int j1;j<n;j){dp[i][j]dp[i][j-1]dp[i-…

c++八股文:c++編譯與內存管理

文章目錄 1. c內存管理2. 堆與棧3.變量定義與生命周期4.內存對齊5.內存泄露6.智能指針7.new 和 malloc 有什么區別8.delete和free的區別9.什么野指針&#xff0c;怎么產生的&#xff0c;如何避免野指針10.野指針和指針懸浮的區別11.字符串操作函數參考 1. c內存管理 c在運行程…

LeetCode刷題--- 乘積為正數的最長子數組長度

個人主頁&#xff1a;元清加油_【C】,【C語言】,【數據結構與算法】-CSDN博客 個人專欄 力扣遞歸算法題 http://t.csdnimg.cn/yUl2I 【C】 ??????http://t.csdnimg.cn/6AbpV 數據結構與算法 ???http://t.csdnimg.cn/hKh2l 前言&#xff1a;這個專欄主要講述動…

ScheduledThreadPoolExecutor學習

簡介 ScheduledThreadPoolExecutor 是 Java 中的一個類&#xff0c;它屬于 java.util.concurrent 包。這個類是一個線程池&#xff0c;用于在給定的延遲后運行命令&#xff0c;或者定期地執行命令。它是 ThreadPoolExecutor 的一個子類&#xff0c;專門用于處理需要定時或周期…

解釋索引是什么以及它們是如何提高查詢性能的

索引在數據庫管理系統中是一個重要的數據結構&#xff0c;用于幫助快速檢索數據庫表中的數據。它可以被看作是一個指向表中數據的指針列表&#xff0c;這些指針按照某種特定的順序&#xff08;如字母順序或數字順序&#xff09;排列。索引的工作原理類似于書籍的目錄&#xff1…

Python爬蟲實戰第二例【二】

零.前言&#xff1a; 本文章借鑒&#xff1a;Python爬蟲實戰&#xff08;五&#xff09;&#xff1a;根據關鍵字爬取某度圖片批量下載到本地&#xff08;附上完整源碼&#xff09;_python爬蟲下載圖片-CSDN博客 大佬的文章里面有API的獲取&#xff0c;在這里我就不贅述了。 一…

kitex 入門和基于grpc的使用

&#x1f4d5;作者簡介&#xff1a; 過去日記&#xff0c;致力于Java、GoLang,Rust等多種編程語言&#xff0c;熱愛技術&#xff0c;喜歡游戲的博主。 &#x1f4d7;本文收錄于kitex系列&#xff0c;大家有興趣的可以看一看 &#x1f4d8;相關專欄Rust初階教程、go語言基礎系…

【Web】青少年CTF擂臺挑戰賽 2024 #Round 1 wp

好家伙&#xff0c;比賽結束了還有一道0解web題是吧( 隨緣寫點wp(簡單過頭&#xff0c;看個樂就好) 目錄 EasyMD5 PHP的后門 PHP的XXE Easy_SQLi 雛形系統 EasyMD5 進來是個文件上傳界面 說是只能上傳pdf&#xff0c;那就改Content-Type為application/pdf&#xff0c;改…

11.盛最多水的容器

題目&#xff1a;給定一個長度為 n 的整數數組 height 。有 n 條垂線&#xff0c;第 i 條線的兩個端點是 (i, 0) 和 (i, height[i]) 。 找出其中的兩條線&#xff0c;使得它們與 x 軸共同構成的容器可以容納最多的水。 返回容器可以儲存的最大水量。 解題思路&#xff1a;可以…

判斷閏年(1000-2000)

判斷規則&#xff1a;1.能被4整除&#xff0c;不能被100整除是閏年,2.能被400整除是閏年 #include <stdio.h>int is_leap_year(int n){if((n % 400 0)||((n % 4 0)&&(n % 100 ! 0)))return 1;elsereturn 0; } int main() {int i 0;int count 0;for(i 1000;…

基于PHP的在線英語學習平臺

有需要請加文章底部Q哦 可遠程調試 基于PHP的在線英語學習平臺 一 介紹 此在線英語學習平臺基于原生PHP開發&#xff0c;數據庫mysql。系統角色分為學生&#xff0c;教師和管理員。(附帶參考設計文檔) 技術棧&#xff1a;phpmysqlphpstudyvscode 二 功能 學生 1 注冊/登錄/…

C++/Python簡單練手題

前言 最近需要開始使用python&#xff0c;但是對python了解的并不多&#xff0c;于是先從很早之前剛學C時寫過的一些練手題開始&#xff0c;使用python來實現相同的功能&#xff0c;在溫習python基礎語法的同時&#xff0c;也一起來感受感受python的魅力 99乘法表 c&#xf…

kettle開發-Day43-加密環境下運行作業

前言&#xff1a; 金三銀四&#xff0c;開年第一篇我們來介紹下&#xff0c;怎么在加密情況下運行我們的kettle作業及任務。無疑現在所有企業都認識到加密的重要性&#xff0c;加密后的文件在對外傳輸的時候不能被訪問&#xff0c;訪問時出現一堆亂碼&#xff0c;同時正常的應用…

1分鐘學會Python字符串前后綴與編解碼

1.前綴和后綴 前綴和后綴指的是&#xff1a;字符串是否以指定字符開頭和結尾 2.startswith() 判斷字符串是否以指定字符開頭&#xff0c;若是返回True&#xff0c;若不是返回False str1 "HelloPython"print(str1.startswith("Hello")) # Trueprint…

Navicat Premium 16:打破數據庫界限,實現高效管理mac/win版

Navicat Premium 16是一款功能強大的數據庫管理工具&#xff0c;旨在幫助用戶更輕松地連接、管理和保護各種數據庫。該軟件支持多種數據庫系統&#xff0c;如MySQL、Oracle、SQL Server、PostgreSQL等&#xff0c;并提供了直觀的圖形界面&#xff0c;使用戶能夠輕松地完成各種數…

【力扣白嫖日記】585.2016年的投資

前言 練習sql語句&#xff0c;所有題目來自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免費數據庫練習題。 今日題目&#xff1a; 585.2016年的投資 表&#xff1a;Person 列名類型pidinttiv_2015floattiv_2016floatlatfloatlonfloat pid …

AI也來打摜蛋,難道人工智能也能當領導?

在人工智能&#xff08;AI&#xff09;的研究領域中&#xff0c;游戲被視為現實世界的簡化模型&#xff0c;常常是研究的首選平臺。這些研究主要關注游戲代理的決策過程。例如&#xff0c;中國的傳統卡牌游戲“摜蛋”&#xff08;字面意思是“扔雞蛋”&#xff09;就是一個挑戰…

Unity(第十七部)Unity自帶的角色控制器

組件Character Controller 中文角色控制器 using System.Collections; using System.Collections.Generic; using UnityEngine;public class player : MonoBehaviour {private CharacterController player;void Start(){player GetComponent<CharacterController>();}v…

對于爬蟲的學習

本地爬取 package MyApi.a08regexdemo;import java.util.regex.Matcher; import java.util.regex.Pattern;public class RegexDemo03 {public static void main(String[] args) {//要求&#xff1a;找出里面所有javaxxString str"Java自從95年問世以來&#xff0c;經歷了…