
大模型上下文協(xié)議與Spring開發(fā)集成篇——mcp-spring-webmvc原理
? 接下來的難點(diǎn)就是如何構(gòu)造官方的 chain-of-thought prompt ,這個(gè)地方的重點(diǎn)在于,我們需要保證我們的 CoT 是對的。我們一開始的做法是對于每個(gè) in-context example ,我們讓 GPT-4 生成一個(gè) Chain-of-thought,但后來發(fā)現(xiàn)這個(gè)不大行,一來是生成的太長了 (超過 2048 個(gè) token),有些模型的輸入長度不一定支持;另一個(gè)是錯(cuò)誤率太高了,一個(gè)個(gè)檢查不如自己做一遍;
??所以我們的同學(xué)們就把微積分,線代,概率,離散這些 prompt 的題目,真的自己做了一遍,以下是一個(gè)例子:
左邊是同學(xué)自己做的,然后寫成了 Markdown – Latex 格式;右邊是渲染出來的效果
大家也能感受到為什么題目很難,chain-of-thought prompt 很長,為什么模型需要有能力做微積分的符號和數(shù)值計(jì)算
為了評測的科學(xué)性,我們考慮了一系列機(jī)制來防止我們的題目被混入訓(xùn)練集
? 首先,我們的測試集只公開題目不公開答案,大家可以拿自己的模型在本地把答案跑出來然后在網(wǎng)站提交,然后后臺會給出分?jǐn)?shù);
? 然后,在構(gòu)造題目的時(shí)候,我們盡可能選擇非公開來源的,網(wǎng)上不大可能被爬蟲爬到的題目;
? 有些科目的題目我們不打找得到非公開來源,這樣只能用網(wǎng)上的,這種情況下我們盡量用掃描版 pdf ,這是因?yàn)轭A(yù)訓(xùn)練數(shù)據(jù)的清洗中,pdf 的處理是最麻煩的,現(xiàn)在的選手們光是清洗網(wǎng)頁就已經(jīng)忙不過來了,清洗 pdf 的優(yōu)先級不是很高 — 所以這些即使網(wǎng)上找得到,也比較難進(jìn)到訓(xùn)練集中。
當(dāng)然,盡管我們做出了這些努力,但可能也會不可避免的發(fā)生某個(gè)網(wǎng)頁里能搜到題庫里的題目,但我們相信這種情況應(yīng)該比較少。且從我們已有的結(jié)果看,C-Eval 的題目還是有足夠區(qū)分度的,特別是 Hard 的部分。
接下來我們分析有哪些方法可以提升模型的排名。我們先把捷徑給大家列出來,包括使用不能商用的 LLaMA 和使用 GPT 產(chǎn)生的數(shù)據(jù),以及這些方法的壞處;然后我們討論什么是困難但正確的路。
以下是可以走的捷徑:
? 使用 LLaMA 作為基座模型:在我們另一個(gè)相關(guān)的英文模型評測項(xiàng)目 Chain-of-thought Hub 中,我們指出了 65B 的 LLaMA 模型是一個(gè)稍弱于 GPT-3.5 的基礎(chǔ)模型,它有著很大的潛力,如果把它用中文的數(shù)據(jù)訓(xùn)練,其強(qiáng)大的英文能力可以自動遷移到中文;
? 但這樣做的壞處,一來是研發(fā)能力的上限被 LLaMA 65B 鎖死,不可能超過 GPT-3.5,更何況 GPT-4 了,另一方面是 LLaMA 不可商用,使用它商業(yè)化會直接違反條例;
? 使用 GPT-4 生成的數(shù)據(jù):特別是 C-Eval Hard 的部分,直接讓 GPT-4 做一遍,然后 GPT-4 的答案喂給自己的模型就可以了;
? 但這樣做的壞處,一來是如果商業(yè)化,就直接違反了 OpenAI 的使用條例;二來是從 GPT-4 做蒸餾會加劇模型胡說八道的現(xiàn)象,這是因?yàn)?RLHF 在微調(diào)模型拒絕能力的時(shí)候,是鼓勵模型知之為知之,不知為不知;但是直接抄 GPT-4 的話,GPT-4 知道的東西,其他的模型不一定知道,這樣反而鼓勵模型胡說八道。這個(gè)現(xiàn)象在 John Schulman 近期在伯克利的一個(gè)演講中被重點(diǎn)討論了。
很多時(shí)候,看似是捷徑的道路,其實(shí)在暗中標(biāo)好了無盡的代價(jià)。
最好的方法是自立自強(qiáng),從頭研發(fā)。這件事情很難,需要時(shí)間,需要耐心,但這是正確的路。
具體來說,需要重點(diǎn)關(guān)注以下機(jī)構(gòu)的論文
? OpenAI – 這個(gè)毋庸置疑,所有文章都要全文背誦;
? Anthropic – OpenAI 不告訴你的東西,Anthropic 會告訴你;
? Google DeepMind – Google 比較冤大頭,什么技術(shù)都老實(shí)告訴你,不像 OpenAI 藏著掖著。
如果讀者在里經(jīng)驗(yàn)不足,那么可以先不要看其他的地方的文章。先培養(yǎng)判斷力,再去讀其他地方的文章,這樣才能分清好壞。在學(xué)術(shù)上,要分清好壞,而不是不加判斷一味接受。
在研發(fā)的過程中,建議關(guān)注以下內(nèi)容:
? 如何組 pretraining 的數(shù)據(jù),比如 DoReMi 這個(gè)方法;
? 如何增加 pretraining 的穩(wěn)定性,比如 BLOOM 的方法;
? 如何組 instruction tuning 的數(shù)據(jù),比如 The Flan Collection;
? 如何做 instruction tuning ,比如 Self-instruct;
? 如何做 RL,比如 Constitutional AI;
? 如何增加 reasoning 的能力,比如我們先前的博客;
? 如何增加 coding 能力,比如 StarCoder。
大模型就是一件花時(shí)間的事情,它是對人工智能工業(yè)能力的全方位大考:
? OpenAI 的 GPT 系列從 GPT-3 走到 GPT-4,從 2019 到 2023,一共花了四年的時(shí)間;
? Anthropic 原班人馬從 OpenAI 剝離之后,即使有 GPT-3 的經(jīng)驗(yàn),重新做一遍 Claude 也花了一年的時(shí)間;
? LLaMA 的團(tuán)隊(duì),即使有 OPT 和 BLOOM 的教訓(xùn),也花了六個(gè)月的時(shí)間;
? GLM-130B 從立項(xiàng)到發(fā)布,花了兩年的時(shí)間;
? MOSS 的 alignment 的部分,在 RL 之前的內(nèi)容,也花了將近半年的時(shí)間,這還是沒算 RL 的。
因此,不用著急打榜,不用明天就看結(jié)果,不用后天上線 — 慢慢來,一步一步來。很多時(shí)候,困難但正確的路,反而是最快的路。
在這篇文章中,我們介紹了 C-Eval 的開發(fā)目標(biāo),過程,和重點(diǎn)考量的因素。我們的目標(biāo)是幫助開發(fā)者更好地開發(fā)中文大模型,促進(jìn)學(xué)術(shù)界和產(chǎn)業(yè)界科學(xué)地使用 C-Eval 幫助模型迭代。我們不著急看結(jié)果,因?yàn)榇竽P捅旧砭褪且患浅@щy的事情。我們知道有哪些捷徑可以走,但也知道困難但正確的路反而是最快的路。我們希望這份工作可以促進(jìn)中文大模型的研發(fā)生態(tài),讓人們早一點(diǎn)體驗(yàn)到這項(xiàng)技術(shù)帶來的便利。
文章轉(zhuǎn)自微信公眾號@海外獨(dú)角獸