今天小編分享的科技經驗:大語言模型評測是怎麼被玩兒爛的?我們跟知情人聊了一個下午,歡迎閱讀。
上海人工智能研究室(下簡稱上海 AI Lab)在徐匯區雲錦路上有 11 幢樓。這裡有 6000 張 GPU,也是這座城市在人工智能領網域的中心。
這是上海想要抓住的一條新的 " 黃河路 "。今年六月的 2023 世界人工智能大會,這裡是其中一個分會場。那時全球有 30 多款大模型在上海聚攏。現在國内的大模型數量已經超過了 200 個。
" 你看那邊,看到那個麥當勞了嗎,他前面黑色的那些建築群,就是上海 AI Lab 了。" 從前灘太古裡的天橋上可以隐約看到那裡,高梵大致指了指。
圖源:小紅書用戶 @APP
高梵是愛丁堡大學 AI 方向的研究生,今年即将畢業,在 2023 年末回到國内。他是當下比較新的一個大模型評測基準 CoT Hub 的核心構建者之一。CoT Hub 這個項目的發起者是符堯,在這之前,符堯另一項矚目的工作是C-Eval,大模型中文能力上标志性的評測基準。
OpenAI 上九天攬月也下五洋捉鱉,一邊琢磨着下一代 GPT,一邊用 GPT Store 吃用戶,Meta 對 Llama 2 可商用的政策(7 億用戶以下),又再次打擊了國内在 Llama 2 出現之前就訓出來了的大模型們。
高懸的達摩克利斯之劍不止一把,吊足觀眾胃口,也急迫地為國内大模型玩家設定了生命線。
" 外面看氣派吧,其實裡面内飾挺簡陋的。"
高梵說的是上海 AI Lab 那十多幢樓,聽上去也是目前國内大模型群體性的反差感。
這句話的背景是,在一些知名的大模型評測基準的榜單上,GPT-3.5、Claude-2 甚至 GPT-4 能夠落到 10 名開外,一些名不見經傳的名字則在榜單前列輪流坐莊。
" 刷榜是我們的一個陋習。" 去年 11 月,元象 XVERSE 科技創始人姚星直言不諱。
這也是這次我和高梵見面的目的,想向一位靠近 C-Eval 又設計過評測基準的人請教一下這件事。
首先,這玩意兒到底是怎麼測的?
"C-Eval 早被刷爛了 "
" 我的意思是,你們做評測基準,還自己花這個錢來測嗎?"
評測分兩種,自己測或是提交,"C-Eval 嘛,大多數是後者 ",高梵說。
包括愛丁堡大學在内,英國一所高校在 GPU 上的存量大概在 200-400 張的區間,美國多一些,沙特更多,中國則更少。如果只考慮不做工程優化的那種無腦跑,一張卡一個任務集可能要跑一天,這個計算成本和時間成本都是很高的。所有通常,這些卡和資金有限的學術性評測基準團隊,只能是靠着大模型公司拿着論文自己跑測試,然後把評分匯總給評測基準團隊。
自己提交,那跑榜單這件事的變量就多了。
" 符堯很敏銳,這是件用愛發電的事,但結果是 C-Eval 被刷慘了 ",高梵說。
符堯是高梵在愛丁堡大學的學長。C-Eval 開始構建的時候他還不認識付堯,但高梵知道 C-Eval 做的很早,早到甚至像是 Chatgpt 出現之前就開始的項目,所以當今年年初大量意在做中文能力評測的評測基準都仍然在做着英文數據集簡單粗暴的的翻譯工作時,C-Eval 第一個從零開始構建了自己的數據集,用大量時間和人工标注把數據集堆上去,然後一下子成了中文大模型得標志性的評測基準。
C-Eval 對自己的聲明 圖源:C-Eval
C-Eval 很快成為這一波大模型熱潮裡最被廣泛認可的榜單之一。然後很快,它也是最先被刷爛的榜單。
6 月份的 C-Eval 榜單上,ChatGLM 2 超過 GPT-4 排名第一,第三名是商湯的日日新。
7 月,APUS 天燕大模型和容聯雲赤兔大模型緊随排名第二的 GPT-4 衝進前六。一個月後,C-Eval 榜單的榜眼位置換成了一家成立僅兩個月的初創公司共生矩陣。又過了一個月,這份榜單上力壓 GPT-4 的國產大模型突然增加到 8 個。
從 10 月開始,GPT-4 在 C-Eval 上的平均分掉出前十。
幾乎每一個國產大模型的推出,都會從一份亮眼的 C-Eval 分數開始。幾個月前見到智源研究院的林詠華時,她直言幾個權威的榜已經被刷的太嚴重,失去了參考價值,其中提到 C-Eval。
百川智能在 8 月抛棄了 C-Eval,因為那時候如果不作弊,百川模型的分數就只有 50 多分。一個 GPT-4 只能拿到 70 分的評測基準,50 分對于一家創業不到半年的初創公司來說已經可喜,但這樣的 " 低分 " 連前 10 都進不了,在國内模型排名裡會排在很後面。" 但我們又不願意作弊 ",一位百川智能的内部人士說。
這種 " 作弊 " 高分可以用刷題實現,并且大量進入 C-Eval 榜單前列的大模型都是這麼做的。" 這幾乎已經是公開的秘密 ",高梵說。
很早就有人關注到這一點。一篇《Rethinking Benchmark and Contamination for Language Models with Rephrased Samples》的論文裡顯示出來的迹象是,一些輕微的數據洩露——訓練集和測試集之間的數據重疊——就可能導致評估結果的顯著提升。
當數據洩露情況發生,大模型會過度适應這些它 " 背到過 " 的訓練數據。這會讓小參數模型表現超過大參數模型,也會讓差的模型得分比優秀的模型表現更好,這最終會導致對模型性能的不可靠評估。這種重疊不只發生在詞句上,也就是說,把一些題中的原詞作原意替換放進去訓練,這種數據污染的情況仍然存在。
這會造成一定程度的過拟合,也就是讓模型在訓練數據上學習到了過多的細節,以至于它開始記憶特定的數據點,而不是學習到數據背後的一般規律或模式。
智源研究院内部的研究表明,這種刷分所造成的過拟合現象,可能會影響模型本身的 " 智力 "。這種擔心很可能是正确的。
去年 11 月,中國人民大學和美國伊利諾伊大學厄巴納 - 香槟分校的聯合團隊曾經選取了當時市面上流行的幾個大模型,控制變量的來測試它們刷題後的表現變化。結果是經過洩露數據訓練的大語言模型在文本生成和代碼合成任務上的表現都有不同程度的下降。
OpenLLaMA-3B 和 LLaMA-2-7B 在 XSum 任務上的 ROUGE-L 分數分别從 0.19 和 0.25 降低。這種能力衰退哪怕在用 Alpaca 和 CodeAlpaca 數據集再次對模型進行指令微調都調不回來。
刷題這件事像是從 NLP 和 CV 時代就延續下來的肌肉記憶。最近的一個新模型的發布會現場,創始人出來,聊到刷分,說團隊奔着刷分訓了一個 " 應試教育 " 版本,分數超過 GPT-4,技術人員還跟他說——分夠嗎,不夠還能再往上拔點。這位創始人當然是當作玩笑講的這件事。但等到了模型介紹,第一句話仍然是 " 模型在各種榜單上 SOTA",他自己也有些哭笑不得。
圖源:LessWrong
" 那‘做題’這件事,能一條路走到黑嗎?"
" 如果能設計出那種足夠接近 ground truth 的數據集的話 ",高梵說。
但那意味着一個超級大的題庫,比 C-Eval 這樣的要大得多。C-Eval 裡面已經包含了多達超過 100 個任務,BBH 有 200 多個任務。這也是為什麼 C-Eval 多是大模型公司自己測完提交——能否完整跑下來這樣的測試集本來就是一種門檻。
" 更何況測試基準的影響因素遠不止做題這一件事。"
脆弱的評測
" 如果測試不在一種統一标準下進行的話,你會發現這個變量簡直是無限多——溫度,你的解碼策略、Prompt(提示詞)等等等等 ...... 每個榜單都會有标準的建議實現,但它不一定是你這個模型表現最好的形式。"
高梵舉了個例子。
比如做多選題,有的測試方法是把題庫的答案變成一串字母排列(A/B/C/D 或多選),然後拿着生成的字母序列去和正确的序列相比,看這整個一串答案的正确率。也有直接測 "The answer is" 後面那個 Token 的,比如說正确答案是 A,你只要測出來是 a 的概率大于 B 和 C,就算你答對這道題——哪怕它其實并不知道為什麼選 A。
" 光解碼策略就有 n 個方法,而且除了測 ABCD 的概率,還有測帶不帶括号的概率——偏好有很多種,這個其實挺復雜的。"
Anthropic 的一篇技術論文也在說同樣的事。Claude 團隊表示,對簡單的格式變化敏感,例如将選項從 ( A ) 更改為 ( 1 ) ,或者在選項和答案之間添加額外的空格,這些做法都可能導致評估準确率約有 5% 的浮動。
但退一步講,如果所有模型都按一個方法測也可以,這是每個測評基準遇到的一樣的問題。
這也是為什麼 HuggingFace 這麼受到推崇的原因之一,他們有足夠的卡,并且提供了一套全自動的模型能力評測框架。這意味着不管模型經過了什麼 " 讨巧 " 的訓練,至少在評測這個環節上他們能夠被放在同一個水平線上。
" 但 HuggingFace 上的評測也不是沒出過事故吧。"
我記得有這樣一起 " 事故 "。當時的背景是,Falcon 的分數很高,Llama1-65B 在 Open LLM Leaderboard(HuggingFace 的自動化模型榜單)上 MMLU 的分數異常的低。最後研究下來原因僅僅是自動化測評框架有一個 Bug。這個錯誤很快被修復了,但仍然在社區裡引起了一番讨論。
圖源:X
CoT Hub 本身也是這起事件的主角之一,正是他們發起了對 Llama1-65B 在 MMLU 上表現的再次測試。
一個自動化腳本的 Bug,導致這個模型在 MMLU 上的正确率降了 20%,也就是刷抽成績掉了 20 分——要知道 GPT-4 在 MMLU 上減掉 20 分後,連 GPT-3.5Turbo 都不如。
這個測試事故或許能反映出來測評這件事本身是多麼脆弱易碎。
" 但總歸,這是目前最好的辦法,CoT Hub 未來也可能朝全自動化的方式更新一版 ",高梵說。
" 不過,最大的變量其實是 Prompt。" 風大的很,我們躲進了對面的一家書店。
最大的問題是 Prompt
茑屋書店在前灘太古裡的這家店是上海的第二家門店,到現在已經開了兩年多。時下的暢銷書多擺在動線上的黃金位置,現在多了很多 "ChatGPT" 和 "AIGC" 的字眼。
最先活躍起來的布道者們已經把新時代扯到嗓子眼了,但對普通人來說又什麼都還未來臨。
幾個星期前,我見到了其中一本暢銷書的作者,他對于 2024 年生成式 AI 最笃定的預測是—— AI 網紅。聽起來靠譜又無聊。如果寫書、賣課算是某種程度的布道,賺新時代的頭金,模型評測則是另一種,這些榜單像是淘金者從西部回來的第一批承銷商。
" 這意味着什麼,關于剛才說的 Prompt?"
" 提示詞的敏感度是很高的。" 高梵說," 什麼意思呢,比如 Claud 的系列模型,我光是 Prompt 改一改,對評測分數的擾動就會有 10%。"
測試時怎麼用 Prompt 有很多 " 坑 ",裡面很多是工程問題。比如 MMLU ——你可以理解成它是一個做多選題的題庫,然後你要知道被測的模型做出了怎樣的回答。這個答案回收的過程,大部分的評測基準只是做一個字元串的匹配,但這個方式其實很不穩定,考慮到對于測評結果提取位置的精确性上甚至有點 " 災難 "。
提取字元串這件事的邏輯,人類大腦看來很簡單,但這只說明人類大腦的高明罷了。
" 如果模型的回答是‘選 b ’,那‘ b ’這個字元可以輕松被提取出來。但如果模型的回答是‘不應該選 c,應該選 b ’呢,這時候答案是‘ b ’、‘ c ’還是‘ b&c ’?"
這就需要讓模型符合規範的回答,比如在模型的 Few-Shot 例子中都以 "Answer: " 來訓練。這樣一來,似乎在 "Answer: " 字元串後面的就應該是模型想要的回答。但高梵和團隊成員的測試結果是,這個方法對 GPT 家族的模型效果都不錯,因為 GPT 不喜歡亂說話。但是對 Claude 或者 Llama 家族模型,可能會產生 " 這道題選 b 是不對的,應該選 c" 這樣不按常理出牌的回答。
" 哪怕你再囑咐它‘你不要說别的’也沒有用,這個時候提取器就會失效——只有 GPT-4 可以以接近人類的理解能力進行答案提取,但是不會這麼去測試,因為成本不可能劃得來。"
為了解決模型不亂說話的問題,需要一些 Prompt 的技巧,而 CoT Hub 在測試後發現,在 Claude 優化前和優化後能有 10% 的擾動。這幾乎是貫穿大模型評測這件事的一個不可控的風險。
為了公平起見,在大模型評測時,理論上應該遵循相同的答案提取規則。開源社區是這麼做的,為了對所有模型一視同仁,開源社區默認的只有一個提取規則,比如 "Answer: "。
但這又成了一件矛盾的事,一個評測基準到底該為了保證公平而堅持用相同提取器和提示詞的組合來測試所有模型,還是為了度量模型的潛力?
前者由于太多的變量參雜看起來缺乏橫向比較的意義。如果是為了後者,Prompt 如何擠壓出一個大模型的性能上限,需要更多精細的研究。
圖源:arXiv
" 尋找 Prompt 的最優解,可以說我們那時候最多的精力都花在這上面。"
這是一個正在越來越被重視的研究方向。平庸的 Prompt 本身就存在着無法調動出大模型能力上限的可能性,尋找并且驗證 Prompt 的最優解這件事任重道遠。
CoT Hub 嚴格來講現在一共就 4 個人,但是每個階段的參與者不一樣。一開始符堯和他帶的幾個大學生開始動手寫基礎代碼,後來幾位大學生因為别的事離開,高梵加入。
聽高梵的描述,這是個比較松散的項目,每天寫個兩三小時代碼,每周開一次會。按高梵的說法," 反正就零零散散做着 "。這個項目從 2 月發起,到 5 月成型,在 10 月上了 GitHub,到現在也有超過 2000 顆星。
每個研究都有它的時代背景。在 CoT Hub 之前,大部分的大模型評測都是以 Zero-Shot 和單輪對話的方式來做的,也就是在一次對話動作中提出問題并且得到答案。但這樣的簡單方法容易被針對性訓練,并且在大模型更高級的性能考察上缺乏區分度。
CoT Hub 沒有做新的數據集,只是把市面上優質的數據集拿來,打磨合适的 Prompt,把原先 Zero-Shot 的方式轉換成多輪對話,以及對 CoT 能力的考察。
任務復雜後,模型的性能進一步分出層次。CoT Hub 團隊在當時得出的結論是,開源的 Llama-65B 模型性能已經非常接近 code-davinci-002,也就是 GPT-3.5 的基礎模型。但即便如此,開源模型和封閉模型的差距還是很大。而在真正有挑戰性的數據集上(比如 Big-Bench-Hard),小參數模型與大參數模型的差距十分驚人,而不是像一些文章或者灌水論文中所說,前者可以 " 以小搏大 " 的復現大參數模型的性能,甚至直追 ChatGPT。
看起來 " 幻覺 " 這件事,不僅出現在模型上,也出現在榜單上。但後者何嘗不是對人類大腦幻覺的一種映射呢。
最終我們要測的是超越人類的智能,能測麼?
一位活在二維世界裡,謙卑的平面國居民 " 正方形 " 先生某一天遇到了從三維國前來傳福音的 " 球 " 先生," 球 " 先生可以輕松的看到 " 正方形 " 先生的身體内部,甚至穿過它,就像用手指從上方捅破一張紙。但後者卻無法理解這一切。
圖源:知乎 @李想
這是我對大模型評測這件事最大的疑問:
如果對大模型的期望是奔着 AGI 而去,那該怎麼用人類設計的評價标準來衡量或者描述一種比人類更高級的智能?
高梵提供了一種思路:這件事或許可以理解成,如何找到一種方式幫助人類去監督大模型的表現,并且讓這種監督有足夠的擴展性。
" 比如我們要讓一個小學學歷的數據标注員能夠對模型在 MMLU 上的表現作出判斷,如果這件事成立,那或許就可以拓展到人類極限去看超越人類極限的測試結果 ",高梵說。
他給我看了一個很有趣的工作——準确的說是一個的 Demo ——關于如何讓一個非程式員在有了一些特别的的工具後能夠像程式員一樣來标記數據集。
在 OpenAI 在 12 月發出的一篇關于超級對齊(Superalignment)的論文裡,展示了一種用 GPT-2 去監督 GPT-4 的方法,這與前面的例子一樣都是 " 弱 " 監督 " 強 " 的邏輯。
這件事屬于可監督拓展(scalable oversight)的範疇——去年 7 月 OpenAI 首次公布超級對齊計劃時有所提及——關于如何監督一個在特定領網域表現超出人類的系統,并且尋找它能夠大規模 scale 上去的可能性。可監督拓展是對齊領網域的一個分支,有一些研究者在推進這方面的研究,其中有一位是 NYU 的教授," 他同時在 Anthropic 兼任做指導 "。
現在領導着 OpenAI" 超級對齊 " 部門的則是伊爾亞,但在一個月前 OpenAI 内部兵變之後處境尴尬,也很少在 X 上更新動态。
他 " 消失 " 前最後一個工作,就是 OpenAI 那篇關于 " 超級對齊 " 的論文。論文裡提到了另一種大模型超越人類的探索:辯論。
高梵最關注這個。
" 可是——辯論?"
" 人類有兩條線,一條是形式語言上的,也就是邏輯學範疇,這條線延伸到現在就是計算機語言。與之平行的還有另一條非形式語言的線——那些關于語用學、語義學、修辭學的東西——發展到現在就和辯論的藝術有關,比如法學。"
" 辯論能力以及說服能力,這是目前在 AI 智識中還未被定義清楚的能力。但既然推理能力能夠被定義清楚,同層次的辯論理論上也是應該能遷移到語言模型上的,只是現在的研究還太淺。"
我記得 GPT-4 剛出的那兩個月裡曾經冒出來過一篇論文,論文作者讓大語言模型扮演賣氣球這個任務中的買賣雙方,再加一個大模型 " 評論家 " 為買賣雙方提供反饋意見,氣球價格從 20 美元起跳,來看最後會被砍刀什麼價格。
從實驗内容上,這在考研大模型的辯論能力,從評論家角度,這個實驗跟用 GPT-2 監督 GPT-4 有點像,是可監督擴展中很有代表性的路線。這篇論文的作者也是符堯,這位 C-Eval 的 " 始作俑者 ",下一站是谷歌的 Gemini。
這些模型基準遇到的問題和設計者們在嘗試的思路,甚至 " 始作俑者 " 的工作選擇,都在說明一件事:大模型最終不會停留在這些多選題和榜單上。
而真正在做大模型的公司也早已經有了自己的方法。外部公開的評測基準現在更多的角色是一種面向公眾的宣傳手段(甚至連 ToVC 都算不上),而在大模型公司内部,他們往往有一套更有針對性的評測基準。
一位在當下非常受矚目的某大模型公司做產品負責人的朋友說,這套内部的評測基準,需要非常漫長的調試才能成型,它實際上是一家大模型公司最核心的資產,為自己模型的訓練和迭代提供方向。
" 評測基準從一開始的滞後,到後來成為一種被利用的工具而逐漸泡沫化,現在最泡沫的時期也差不多要過去了 ",高梵說。
" 最終,用戶會用腳投票的 "。
注:文中高梵為化名