搜尋
首頁科技週邊人工智慧13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集

ChatGPT 的出現,使中文社群意識到與國際領先水準的差距。近期,中文大模型研發如火如荼,但中文評估基準卻很少。

在OpenAI GPT 系列/ Google PaLM 系列/ DeepMind Chinchilla 系列/ Anthropic Claude 系列的研發過程中,MMLU / MATH / BBH 這三個資料集發揮了至關重要的作用,因為它們比較全面地涵蓋了模型各個維度的能力。最值得注意的是 MMLU 這個資料集,它考慮了 57 個學科,從人文到社科到理工多個大類的綜合知識能力。 DeepMind 的 Gopher 和 Chinchilla 這兩個模型甚至只看 MMLU 的分數,因此我們想要構造一個中文的,有足夠區分度的,多學科的基準榜單,來輔助開發者們研發中文大模型。

我們花了大概三個月的時間,建構了一個涵蓋人文,社科,理工,其他專業四個大方向,52 個學科(微積分,線代… ),從中學到大學研究生以及職業考試,一共13948 題目的中文知識和推理型測試集,我們管它叫C-Eval,來幫助中文社區研發大模型。

這篇文章是把我們建構 C-Eval 的過程記下來,與開發者分享我們的思考和我們視角下的研發重點。我們最重要的目標是輔助模型開發,而不是打榜。一味地追求榜單排名高會帶來許多不利後果,但如果能夠科學地使用 C-Eval 幫助模型迭代的話,則可以最大化地利用 C-Eval。因此我們推薦從模型研發的角度來對待 C-Eval 資料集和榜單。

  • #網址: #https://cevalbenchmark.com/
  • Github: #https://github.com/SJTU-LIT/ceval
  • #論文: https://arxiv.org/abs/2305.08322

目錄

13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集

1 - 模型強弱的核心指標

首先,把一個模型調成一個對話機器人這件事情並不難,開源界已經有了類似於Alpaca, Vicuna, RWKV 這樣的對話機器人,跟它們隨便聊聊感覺都還不錯;但要真正希望這些模型成為生產力,隨便聊聊是不夠的。所以構造評估基準的第一個問題是要找出區分度,弄清楚什麼樣的能力才是區分模型強弱的核心指標。我們考慮知識推理這兩個核心。

1.1 - 知識

#為什麼說知識性的能力是核心能力?有以下幾點論點:

  • 我們希望模型可以通用,可以在不同領域都貢獻生產力,這自然需要模型知道各個領域的知識。
  • 我們同時希望模型不要胡說八道,不知為不知,這也需要擴大模型的知識,讓它可以在更少的時候說它不知道。
  • 史丹佛的HELM 英文評量榜單中,一個重要的結論是,模型大小與知識密集任務的效果有顯著正相關,這是因為模型的參數量可以用來儲存知識。
  • 上文已經提到,現有的重要模型,例如 DeepMind 的 Gopher / Chinchilla,在評價的時候幾乎只看 MMLU,MMLU 的核心就是測模型的知識覆蓋面。
  • GPT-4 的發布部落格中,首先就是列出模型在各學科考試上的效果,作為模型能力的衡量標準。

因此,知識型能力可以很好地衡量底座模型的潛力。

1.2 - 推理

推理能力是在知识的基础上进一步上升的能力,它代表着模型是否能做很困难,很复杂的事情。一个模型要强,首先需要广泛的知识,然后在知识的基础上做推理。

推理很重要的论点是:

  • GPT-4 的发布博客中,OpenAI 明确写道 “The difference comes out when the complexity of the task reaches a sufficient threshold” (GPT-3.5 和 GPT-4 的区别只在任务复杂到一定程度之后才会显现)。这说明推理是很显著的强的模型有,弱一点的模型不大有的能力。
  • 在 PaLM-2 的 Tech Report 中,BBH 和 MATH 这两个推理数据集被专门列出来讨论划重点。
  • 如果希望模型成为新一代的计算平台,并在上面孕育出全新的应用生态的话,就需要让模型能够做足够强的完成复杂任务的能力。

这里我们还需要厘清推理和知识的关系:

  • 知识型的能力是模型能力的基础,推理能力是进一步的升华 — 模型要推理也是基于现有的知识图里。
  • 知识性任务的榜单上,模型大小和模型分数一般是连续变化的,不大会因为模型小就出现断崖式下跌 — 从这个角度来说知识型的任务更有区分度一点。
  • 推理型任务的榜单上,模型大小和模型分数可能存在相变,只有当模型大到一定程度之后(大概是 50B 往上,也就是 LLaMA 65B 这个量级),模型推理能力才会上来。
  • 对于知识性的任务,Chain-of-thought (CoT) prompting 和 Answer-only (AO) prompting 的效果是差不多的;对于推理型任务,CoT 显著好于 AO.
  • 所以这边需要记住一下,CoT 只加推理效果不加知识效果。在 C-Eval 数据集中,我们也观察到了这个现象。

2 - C-Eval 的目标

有了上述对于知识和推理的阐述,我们决定从知识型的任务出发,构造数据集测试模型的知识能力,相当于对标一下 MMLU 这个数据集;同时,我们也希望带一点推理相关的内容,进一步衡量模型的高阶能力,所以我们把 C-Eval 中需要强推理的学科(微积分,线性代数,概率 …)专门抽出来,命名为 C-Eval Hard 子集,用来衡量模型的推理能力,相当于对标一下 MATH 这个数据集。

在 C-Eval Hard 上面,模型首先需要有数学相关知识,然后需要有逐步解题的思路,然后需要在解题过程中调用 Wolfram Alpha/ Mathematica/ Matlab 进行数值和符号 / 微分和积分计算的能力,并把计算过程和结果以 Latex 的格式表示出来,这部分的题目非常难。

C-Eval 希望可以在整体上对标 MMLU (这个数据集被用于 GPT-3.5, GPT-4, PaLM, PaLM-2, Gopher, Chinchilla 的研发),希望在 Hard 的部分对标 MATH (这个数据集被用于 GPT-4, PaLM-2, Minerva, Galactica 的研发)。

这里需要注意的是,我们的最重要目标是辅助模型开发,而不是打榜。一味地追求榜单排名高会带来诸多不利后果,这个我们马上会阐述;但如果能够科学地使用 C-Eval 帮助模型迭代的话,则会得到巨大收益。我们推荐从模型研发地视角来对待 C-Eval 数据集和榜单。

2.1 - 目标是辅助模型开发

在实际研发的过程中,很多时候我们需要知道某种方案的好坏或者某种模型的好坏,这个时候我们需要一个数据集帮助我们测试。以下是两个经典场景:

  • 場景1 ,輔助超參數搜尋#:我們有多種預訓練資料混合方案,不確定哪一個比較好,於是我們在C-Eval 上互相比較一下,來確定最優預訓練資料混合方案。
  • 場景2 ,比較模型的訓練階段#:我有一個預訓練的checkpoint ,也有一個instruction-tuned checkpoint,然後我想要衡量我的instruction-tuning 的效果如何,這樣可以把兩個checkpoint 在C-Eval 上互相比較,來衡量預訓練和instruction-tuning 的相對品質。

2.2 - 打榜不是目標

我們需要強調為什麼不應該以榜單排名作為目標:

  • 如果把打榜作為目標,則容易為了高分而過擬合榜單,反而丟失通用性— 這是GPT-3.5 之前NLP 學術界在finetune Bert 上學到的一個重要教訓。
  • 榜單本身只測模型潛力,不測真實使用者感受— 要模型真的被使用者喜好,還是需要大量的人工評價的
  • 如果目標是排名,則容易為了高分想走捷徑,失去了踏實科研的品質與精神。

因此,如果C-Eval 作為輔助開發的工具,那麼可以最大程度上的發揮它的積極作用;但是如果把它作為一個榜單排名,則有極大的誤用C-Eval 的風險,最終也大機率不會有很好的結果。

所以再一次,我們推薦從模型研發地視角來對待 C-Eval 資料集和榜單。

2.3 - 從開發者回饋持續迭代

因為我們希望模型可以最大程度的支援開發者,所以我們選擇直接跟開發者交流,從開發者的回饋中持續學習迭代— 這也讓我們學到了很多東西;就像大模型是Reinforcement Learning from Human Feedback 一樣,C-Eval 的開發團隊是Continue Learning from Developers' Feedback.

具體來說,我們在研發的過程中,邀請了字節跳動,商湯,深言等企業將C-Eval 接入到他們自己的工作流程做測試,然後互相溝通測試過程中存在哪些比較有挑戰的點。這個過程讓我們學習到很多開始時沒想到的內容:

  • 很多測試團隊,即使是在同一個公司,也無法知道被測試模型的任何相關信息(黑盒子測試),甚至不知道這個模型有沒有經過instruction-tuning ,所以我們需要同時支援in-context learning 和zero-shot prompting.
  • 因為有些模型是黑盒子測試,沒辦法拿到logits,但小模型沒有logits 就比較難確定答案,所以我們需要確定一套小模型定答案的方案。
  • 模型的測試模型有多種,例如in-context learning 和zero-shot prompting;prompt 的格式有多種,例如answer-only 和chain-of-thought;模型本身有多種類型,例如pretrained checkpoint 和instruction-finetuned checkpoint,因此我們需要明確這些因素各自的影響以及交互作用。
  • 模型的對 prompt 的敏感度很高,是否需要做 prompt engineering,以及 prompt engineering 是否有礙公平。
  • GPT-3.5 / GPT-4 / Claude / PaLM 的 prompt engineering 應該怎麼做,然後如果從中學習到他們的經驗。

以上的這些問題都是我們在跟開發者的互動過程中,從開發者回饋中發現的。在現在 C-Eval 的公開版本的文檔和 github 程式碼中,這些問題都有解決。

上面的這些過程也證明了,從模型研發的角度來對待 C-Eval 資料集和榜單,可以非常好地幫助大家開發中文大模型。

我們歡迎所有的開發者給我們的GitHub 提issue 和pull request,讓我們知道如何更好地幫助你,我們希望可以更好地幫助你:)

3 - 如何保證品質

這個章節我們討論在製作的過程中,我們用了哪些方法來保證資料集的品質。這裡我們最重要的參考是MMLU 和MATH 這兩個數據集,因為OpenAI, Google, DeepMind, Anthropic 這四個最重要的大模型團隊都重點參考了MMLU 和MATH,所以我們希望可以向這兩個數據集看齊。在我們初步的研究和一系列的討論之後,我們做了兩個重要的決策,一個是從頭開始手工製成資料集#,另一個是在過程中重點防止題目被爬蟲爬到訓練集裡

3.1 - 手工製作

#GPT 的開發過程的一個重要啟發是,人工智慧這行,有多少人工就有多少智能,這個在我們建立C-Eval 的過程中也有很好地體現,具體來說,從題目來源看:

  • C-Eval裡面的題目大多是來自pdf 和word 格式的文件,這類題目需要額外的處理和(人工)清洗才能使用。這是因為網路上各種題目太多了,直接是網頁文字形式存在的題目很可能已經被用於模型的預訓練中

##然後是處理題目:

  • 收集到題目之後,先把pdf 檔案做OCR 來電子化,然後把格式統一成Markdown,其中數理的部分統一用Latex 格式來表示
  • 公式的處理是一件麻煩的事情:首先OCR 不一定能辨識對,然後OCR 也不能直接辨識成Latex;這裡我們的做法是能自動轉Latex 就自動轉,不能自動轉就同學自己手動敲
  • 最終的結果是,13000 多題目裡面所有跟符號相關的內容(包括數學公式和化學式,H2O 這種)都是被我們專案組的同學一一驗證過的,我們大概有十來位同學花了將近兩週的時間做這個事情
  • 所以現在我們的題目可以非常漂亮地用markdown的形式呈現,這裡我們給一個微積分的例子,這個例子可以直接在我們的網站中,explore 的部分看到:

13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集

    ##接下來的困難是如何建構官方的chain-of-thought prompt ,這個地方的重點在於,我們需要保證我們的CoT 是對的。我們一開始的做法是對於每個in-context example ,我們讓GPT-4 產生一個Chain-of-thought,但後來發現這個不大行,一來是生成的太長了(超過2048 個token),有些模型的輸入長度不一定支持;另一個是錯誤率太高了,一個個檢查不如自己做一遍
  • #所以我們的同學們就基於GPT-4 生成的CoT ,把微積分,線代,機率,離散這些prompt 的題目(每個科目5 題作為in-context examples),真的自己做了一遍,以下是一個例子:

13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集

#左邊是同學自己做的,然後寫成了Markdown - Latex 格式;右邊是渲染出來的效果

大家也能感受到為什麼題目很難,chain-of-thought prompt 很長,為什麼模型需要有能力做微積分的符號和數值計算

3.2 - 防止混入訓練集

為了評測的科學性,我們考慮了一系列機制來防止我們的題目被混入訓練集

  • 首先,我們的測驗集隻公開題目不公開答案,大家可以拿自己的模型在本地把答案跑出來然後在網站提交,然後後台會給出分數
  • 然後,C-Eval 的所有題目都是模擬題,從中學到考研到職業考試我們都沒有用過任何真題,這是因為全國性考試的真題廣泛存在於網上,非常容易被爬取到模型訓練集

當然,儘管我們做出了這些努力,但可能也會不可避免的發生某個網頁裡能搜到題庫裡的題目,但我們相信這種情況應該不多。而從我們已有的結果來看,C-Eval 的題目還是有足夠區分度的,特別是 Hard 的部分。

4 - 提升排名的方法

接下來我們分析有哪些方法可以提升模型的排名。我們先把捷徑給大家列出來,包括使用不能商用的LLaMA 和使用GPT 產生的數據,以及這些方法的壞處;然後我們討論什麼是困難但正確的路# 。

4.1 - 有哪些捷徑可以走?

以下是可以走的捷徑:

  • 使用LLaMA 作為基座模型:在我們另一個相關的英文模型評測專案Chain-of-thought Hub 中,我們指出了65B 的LLaMA 模型是一個稍弱於GPT-3.5 的基礎模型,它有著很大的潛力,如果把它用中文的資料訓練,其強大的英文能力可以自動遷移到中文。
  • 但這樣做的壞處,一來是研發能力的上限被LLaMA 65B 鎖死##,不可能超過GPT-3.5,更何況GPT-4 了,另一方面是LLaMA 不可商用,使用它商業化會直接違反條例
  • 使用GPT-4 生成的資料:特別是C-Eval Hard 的部分,直接讓GPT-4 做一遍,然後GPT-4 的答案餵給自己的模型就可以了
  • #但這樣做的壞處,一來是赤裸裸作弊,得到的結果並不能泛化,不能代表模型真實能力;二來是如果商業化,就直接違反了OpenAI 的使用條例;三來是從GPT-4 做蒸餾會加劇模型胡說八道的現象,這是因為RLHF 在微調模型拒絕能力的時候,是鼓勵模型知之為知之,不知為不知;但是直接抄GPT-4 的話,GPT-4 知道的東西,其他的模型不一定知道,這樣反而鼓勵模型胡說八道。這個現像在 John Schulman 近期在柏克萊的演講中被重點討論了。

很多時候,看起來像是捷徑的道路,其實在暗中標好了價格。

4.2 - 困難但正確的路

#最好的方法是自立自強,從頭研發。這件事情很難,需要時間,需要耐心,但這是正確的道路。

具體來說,需要專注於以下機構的論文

  • # OpenAI - 這個毋庸置疑,所有文章都要全文背誦
  • Anthropic - OpenAI 不告訴你的東西,Anthropic 會告訴你
  • ##Google DeepMind - Google 比較冤大頭,什麼技術都老實告訴你,不像OpenAI 藏著掖著
如果讀者在裡經驗不足,那麼可以先不要看其他的地方的文章。先培養判斷力,再去讀其他地方的文章,這樣才能分清好壞。在學術上,要分清好壞,而不是不加以判斷一味接受。

在研發的過程中,建議注意以下內容:

  • 如何組pretraining 的數據,例如DoReMi 這個方法
  • 如何增加pretraining 的穩定性,例如BLOOM 的方法
  • #如何組instruction tuning 的數據,例如The Flan Collection
  • #如何做instruction tuning ,例如Self-instruct
  • #如何做RL,例如Constitutional AI
  • 如何增加reasoning 的能力,例如我們先前的部落格
  • ##如何增加coding 能力,例如StarCoder
  • 如何增加工具使用的能力(C-Eval Hard 需要模型能呼叫工具做科學計算),例如toolformer

## 4.3 - 不急

大模型就是一件花時間的事情,它是對人工智慧工業能力的全方位大考:

    OpenAI 的GPT 系列從GPT-3 走到GPT-4,從2019 到2023,總共花了四年的時間。
  • Anthropic 原班人馬從 OpenAI 剝離後,即使有 GPT-3 的經驗,重新做一遍 Claude 也花了一年的時間。
  • LLaMA 的團隊,即使有 OPT 和 BLOOM 的教訓,也花了六個月的時間。
  • GLM-130B 從立項到發布,花了兩年的時間。
  • MOSS 的 alignment 的部分,在 RL 之前的內容,也花了將近半年的時間,這還是沒算是 RL 的。
因此,不用急著打榜,不用明天就看結果,不用後天上線 — 慢慢來,一步一步來。很多時候,困難但正確的路,反而是最快的路。

5 - 結論

在這篇文章中,我們介紹了 C-Eval 的開發目標,過程,和重點考慮的因素。我們的目標是幫助開發者更好地發展中文大模型,促進學術界和產業界科學地使用 C-Eval 幫助模型迭代。我們不急著看結果,因為大模型本身就是一件非常困難的事。我們知道有哪些捷徑可以走,但也知道困難但正確的路反而是最快的路。我們希望這份工作可以促進中文大模型的研發現狀,讓人們早一點體驗到這項技術帶來的便利。

附錄1:C-Eval 包含的科目 

13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集

13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集

附錄2:專案成員的貢獻

#######################################:文中所提論文可以在原文頁面找到對應網址。 ##########

以上是13948題目,涵蓋微積分、線代等52個學科,上交清華給中文大模型做了個測試集的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
如何使用Huggingface Smollm建立個人AI助手如何使用Huggingface Smollm建立個人AI助手Apr 18, 2025 am 11:52 AM

利用“設備” AI的力量:建立個人聊天機器人CLI 在最近的過去,個人AI助手的概念似乎是科幻小說。 想像一下科技愛好者亞歷克斯(Alex)夢見一個聰明的本地AI同伴 - 不依賴

通過斯坦福大學激動人心的新計劃,精神健康的AI專心分析通過斯坦福大學激動人心的新計劃,精神健康的AI專心分析Apr 18, 2025 am 11:49 AM

他們的首屆AI4MH發射於2025年4月15日舉行,著名的精神科醫生兼神經科學家湯姆·因斯爾(Tom Insel)博士曾擔任開幕式演講者。 Insel博士因其在心理健康研究和技術方面的傑出工作而聞名

2025年WNBA選秀課程進入聯盟成長並與在線騷擾作鬥爭2025年WNBA選秀課程進入聯盟成長並與在線騷擾作鬥爭Apr 18, 2025 am 11:44 AM

恩格伯特說:“我們要確保WNBA仍然是每個人,球員,粉絲和公司合作夥伴,感到安全,重視和授權的空間。” anno

Python內置數據結構的綜合指南 - 分析VidhyaPython內置數據結構的綜合指南 - 分析VidhyaApr 18, 2025 am 11:43 AM

介紹 Python擅長使用編程語言,尤其是在數據科學和生成AI中。 在處理大型數據集時,有效的數據操作(存儲,管理和訪問)至關重要。 我們以前涵蓋了數字和ST

與替代方案相比,Openai新型號的第一印象與替代方案相比,Openai新型號的第一印象Apr 18, 2025 am 11:41 AM

潛水之前,一個重要的警告:AI性能是非確定性的,並且特定於高度用法。簡而言之,您的里程可能會有所不同。不要將此文章(或任何其他)文章作為最後一句話 - 目的是在您自己的情況下測試這些模型

AI投資組合|如何為AI職業建立投資組合?AI投資組合|如何為AI職業建立投資組合?Apr 18, 2025 am 11:40 AM

建立杰出的AI/ML投資組合:初學者和專業人士指南 創建引人注目的投資組合對於確保在人工智能(AI)和機器學習(ML)中的角色至關重要。 本指南為建立投資組合提供了建議

代理AI對安全操作可能意味著什麼代理AI對安全操作可能意味著什麼Apr 18, 2025 am 11:36 AM

結果?倦怠,效率低下以及檢測和作用之間的差距擴大。這一切都不應該令任何從事網絡安全工作的人感到震驚。 不過,代理AI的承諾已成為一個潛在的轉折點。這個新課

Google與Openai:AI為學生打架Google與Openai:AI為學生打架Apr 18, 2025 am 11:31 AM

直接影響與長期夥伴關係? 兩週前,Openai提出了強大的短期優惠,在2025年5月底之前授予美國和加拿大大學生免費訪問Chatgpt Plus。此工具包括GPT-4O,A A A A A

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能