所有語言
分享
文章來源:硅星人Pro
上海人工智能研究室(下簡稱上海 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嘛,大多數是後者”,高梵說。
包括愛丁堡大學在內,英國一所高校在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。”風大的很,我們躲進了對面的一家書店。
蔦屋書店在前灘太古里的這家店是上海的第二家門店,到現在已經開了兩年多。時下的暢銷書多擺在動線上的黃金位置,現在多了很多“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都算不上),而在大模型公司內部,他們往往有一套更有針對性的評測基準。
一位在當下非常受矚目的某大模型公司做產品負責人的朋友說,這套內部的評測基準,需要非常漫長的調試才能成型,它實際上是一家大模型公司最核心的資產,為自己模型的訓練和迭代提供方向。
“評測基準從一開始的滯后,到後來成為一種被利用的工具而逐漸泡沫化,現在最泡沫的時期也差不多要過去了”,高梵說。
“最終,用戶會用腳投票的”。