最近,DeepSeek-V3在國(guó)外火了。
它為什么火呢?主要有三個(gè)原因:
一,性能非常出色。
在許多測(cè)試中,它都超過(guò)了其他頂尖模型,比如GPT-4o和Claude 3.5 Sonnet。特別在數(shù)學(xué)和代碼生成方面,表現(xiàn)尤為突出。
二,它的訓(xùn)練成本相對(duì)較低。只要600萬(wàn)美元就能完成訓(xùn)練,與其他頂級(jí)模型相比,性價(jià)比極高。
三,它是開(kāi)源的。全球的開(kāi)發(fā)者都可以免費(fèi)使用和測(cè)試它。
因此,它火了。不過(guò),隨著它的火爆,很多人開(kāi)始好奇:這個(gè)模型來(lái)自哪里?它與其他模型有何不同?
帶著同樣的疑問(wèn),我查看了它12月26日在GitHub上發(fā)布的報(bào)告——DeepSeek-V3 Technical Report。總結(jié)出五點(diǎn)內(nèi)容,關(guān)于模型架構(gòu)設(shè)計(jì)、基礎(chǔ)設(shè)施、預(yù)訓(xùn)練、后訓(xùn)練模型,以及評(píng)估結(jié)果?,F(xiàn)在向你匯報(bào)一下。
先來(lái)說(shuō)說(shuō)這家公司:
DeepSeek-V3由中國(guó)幻方量化公司開(kāi)發(fā),它是基于自研MoE模型的新一代大語(yǔ)言模型。
MoE,全稱Mixture of Experts,也叫混合專家技術(shù),是一種機(jī)器學(xué)習(xí)架構(gòu),是通過(guò)組合多個(gè)專家模型,在處理復(fù)雜任務(wù)時(shí),讓效率和準(zhǔn)確度都大大提升。
以前,人們總愛(ài)把“DeepSeek”比作AI界的拼多多。
因?yàn)樗_(kāi)啟了中國(guó)大模型的價(jià)格戰(zhàn)。2024年5月,它們推出了一個(gè)名為DeepSeek V2的開(kāi)源模型。這個(gè)模型的性價(jià)比超級(jí)高,每百萬(wàn)個(gè)token的推理計(jì)算成本只要1塊錢。
這個(gè)價(jià)格,大概是Llama3 70B的1/7,也是GPT-4 Turbo的1/70。
這個(gè)消息一出,字節(jié)、騰訊、百度、阿里,還有kimi這些AI公司都跟著降價(jià)。所以,DeepSeek憑借它的高性價(jià)比,在中國(guó)大模型市場(chǎng)掀起了第一場(chǎng)價(jià)格戰(zhàn)。
但是,V2.5版本的更新速度不快,直到9月份才有動(dòng)靜;現(xiàn)在又過(guò)了3個(gè)月,V3版本終于來(lái)了。這次,大家最想知道的就是,它的架構(gòu)有什么新變化。
這家公司的老板梁文鋒說(shuō)過(guò),以前中國(guó)公司習(xí)慣于做應(yīng)用變現(xiàn),但現(xiàn)在DeepSeek的目標(biāo)是走在技術(shù)前沿。他希望用技術(shù)推動(dòng)整個(gè)生態(tài)的發(fā)展。他認(rèn)為,中國(guó)公司應(yīng)該從“搭便車”的角色,轉(zhuǎn)變?yōu)?ldquo;貢獻(xiàn)者”,主動(dòng)參與到全球創(chuàng)新的大潮中。
那么,DeepSeek-V3到底有哪些技術(shù)架構(gòu)上新亮點(diǎn)呢?
圖釋:DeepSeek-V3MoE架構(gòu)工作流程
報(bào)告中(第4P到第6P部分)說(shuō):DeepSeek-V3的架構(gòu)設(shè)計(jì)非常精巧,主要有四點(diǎn):
專家團(tuán)(MoE架構(gòu));
多頭潛在注意力(MLA);
無(wú)輔助損失的負(fù)載平衡策略;
多令牌預(yù)測(cè)訓(xùn)練目標(biāo)。
分別是什么意思呢?首先,DeepSeek-V3有671億個(gè)參數(shù),像一個(gè)超級(jí)大腦。這個(gè)大腦采用的技術(shù)叫做MoE架構(gòu),就是混合專家技術(shù)。這意味著它里面有很多專家模型,但每次只需要調(diào)用37億個(gè)參數(shù)來(lái)工作就可以了。
為了讓專家模型高效工作,DeepSeek-V3得有個(gè)聰明的調(diào)度員,確保每個(gè)專家都有活干,不會(huì)有的很忙,有的很閑。
因此,DeepSeek-V3裝載了信息過(guò)濾器,叫做“MLA”,它能讓模型只關(guān)注信息中的重要部分,不會(huì)被不重要的細(xì)節(jié)分散注意力。
但是,這樣還不夠,DeepSeek-V3還得確保每個(gè)專家都能得到合理的工作量,并且訓(xùn)練模型去預(yù)測(cè)接下來(lái)的幾個(gè)步驟,不只是下一步;這就是無(wú)輔助損失的負(fù)載平衡策略和多令牌預(yù)測(cè)訓(xùn)練目標(biāo)的用處。
簡(jiǎn)單來(lái)說(shuō),讓每個(gè)專家都有合理的工作量,同時(shí)訓(xùn)練模型去預(yù)測(cè)接下來(lái)的幾個(gè)步驟,這樣模型在實(shí)際工作中就能表現(xiàn)得更好,比如在處理長(zhǎng)篇文章時(shí)能更好地理解上下文。
所以,DeepSeek-V3的架構(gòu)有四個(gè)要點(diǎn):
一,MLA技術(shù),通過(guò)壓縮注意力機(jī)制減少需要處理的信息量,提高效率。二,DeepSeekMoE技術(shù),用更細(xì)粒度的專家和共享專家提高訓(xùn)練效率,并且動(dòng)態(tài)調(diào)整專家間的工作量均衡。
三,無(wú)輔助損失的負(fù)載平衡策略,確保專家間工作量均衡,不依賴額外的損失項(xiàng);四,多令牌預(yù)測(cè)訓(xùn)練目標(biāo),提高模型的預(yù)測(cè)能力和數(shù)據(jù)效率。
總之,DeepSeek-V3的架構(gòu),像一個(gè)高效的團(tuán)隊(duì),每個(gè)成員都有特定的任務(wù),而且團(tuán)隊(duì)能夠預(yù)測(cè)并準(zhǔn)備接下來(lái)的工作,這樣的設(shè)計(jì)才能讓模型在處理信息時(shí)既快速又準(zhǔn)確。
二
報(bào)告第11頁(yè)到第12頁(yè)詳細(xì)講解了DeepSeek-V3的訓(xùn)練技術(shù)。首先,DeepSeek-V3是在擁有2048個(gè)NVIDIA H800 GPU的超級(jí)計(jì)算機(jī)上進(jìn)行訓(xùn)練的。
這些GPU通過(guò)NVLink和NVSwitch在單個(gè)節(jié)點(diǎn)內(nèi)連接,節(jié)點(diǎn)之間則通過(guò)InfiniBand(IB)連接,形成了一個(gè)強(qiáng)大的分布式計(jì)算網(wǎng)絡(luò)。
接下來(lái)說(shuō)說(shuō)訓(xùn)練框架。DeepSeek-V3用了一個(gè)叫做DualPipe的算法,這個(gè)算法能讓模型更智能地分配任務(wù),減少等待時(shí)間,確保每個(gè)部分都能在正確的時(shí)間做正確的事。
這個(gè)算法具體包括兩點(diǎn):
一,DualPipe和計(jì)算通信重疊。就像兩組工人,一組加工零件,一組準(zhǔn)備材料。如果他們不同步,加工好的零件就會(huì)堆積。
DeepSeek-V3的DualPipe算法讓這兩組工人的工作節(jié)奏同步,一邊加工零件,一邊準(zhǔn)備材料,這樣就沒(méi)有等待時(shí)間,生產(chǎn)過(guò)程更流暢。
二,高效實(shí)現(xiàn)跨節(jié)點(diǎn)全對(duì)全通信。你可以想象一個(gè)大工廠的不同車間需要共享信息。DeepSeek-V3通過(guò)高效的通信技術(shù),確保不同“車間”(計(jì)算節(jié)點(diǎn))之間的信息能快速共享,就像建立了一個(gè)快速的信息傳遞網(wǎng)絡(luò)。
兩者組合,就能在有限的硬件資源下訓(xùn)練更大的模型。
有了算法還不夠,還要精練。怎么精練?DeepSeek-V3推出了一種叫FP8的新技術(shù)。簡(jiǎn)單來(lái)說(shuō),通過(guò)五個(gè)步驟用更小的數(shù)字代替原來(lái)的大數(shù)字,讓計(jì)算機(jī)更快地做計(jì)算,同時(shí)節(jié)省電力。
舉個(gè)例子:
在超市買東西,大多數(shù)情況下不用精確到小數(shù)點(diǎn)后,大概齊就行了。但是,用小數(shù)字代替大數(shù)字可能會(huì)影響精細(xì)工作。
怎么辦?DeepSeek-V3在關(guān)鍵的地方會(huì)用更精確的大數(shù)字(FP32)來(lái)確保質(zhì)量,比如:矩陣乘法,這就像在做精細(xì)活兒時(shí),在關(guān)鍵步驟用上好工具,其他時(shí)候用差點(diǎn)的也沒(méi)事。
在訓(xùn)練過(guò)程中,DeepSeek-V3還會(huì)用FP8存儲(chǔ)中間結(jié)果,節(jié)省更多的內(nèi)存空間。這就像整理東西時(shí),不用把所有東西都放在顯眼的地方,而是合理地收納起來(lái),需要時(shí)再拿出來(lái)。
最后,DeepSeek-V3在實(shí)際使用時(shí)也會(huì)根據(jù)情況來(lái)決定用不用FP8,這樣就能在保證效果的同時(shí),讓模型跑得更快,更省資源。
如同我們?cè)谌粘I钪袝?huì)根據(jù)不同的情況來(lái)選擇不同的工具,既高效又節(jié)約,這就是它的底層基礎(chǔ)技術(shù)。
三
DeepSeek-V3是怎么做預(yù)訓(xùn)練的呢?
報(bào)告里說(shuō),DeepSeek-V3的預(yù)訓(xùn)練涉及六個(gè)方面:數(shù)據(jù)建設(shè)、超參數(shù)調(diào)整、長(zhǎng)上下文擴(kuò)展、評(píng)估基準(zhǔn)、消融研究,還有輔助無(wú)損耗平衡策略。
首先是“數(shù)據(jù)建設(shè)”。
DeepSeek-V3用了14.8萬(wàn)億個(gè)高質(zhì)量的數(shù)據(jù)點(diǎn)來(lái)訓(xùn)練,這些數(shù)據(jù)覆蓋了很多不同的領(lǐng)域和語(yǔ)言,這樣模型就能學(xué)到很多不同的知識(shí)。
然后,在訓(xùn)練開(kāi)始之前,得設(shè)置一些重要的參數(shù),比如學(xué)習(xí)率。DeepSeek-V3會(huì)仔細(xì)挑選這些參數(shù),讓模型能以最好的方式學(xué)習(xí),這叫超參數(shù)調(diào)整(Hyper-Parameters)。
緊接著,對(duì)長(zhǎng)上下文擴(kuò)展(Long Context Extension)。
這就像教模型讀長(zhǎng)故事。DeepSeek-V3用了一些特別的技術(shù),比如YaRN,來(lái)增加模型能處理的文本長(zhǎng)度,從4K字節(jié)增加到128K字節(jié)。這樣,模型就能理解更長(zhǎng)的文章和故事了。
在學(xué)習(xí)的過(guò)程中,還得檢查模型學(xué)得怎么樣。這就是“評(píng)估基準(zhǔn)”的作用。DeepSeek-V3會(huì)在各種測(cè)試上進(jìn)行評(píng)估,比如MMLMU-Pro、GPQA-Diamond等,確保模型在不同的任務(wù)上都能表現(xiàn)得很好。
圖釋:DeepSeek-V3訓(xùn)練數(shù)據(jù)的方法
消融研究(ablation experiment)是什么?
DeepSeek-V3會(huì)做很多實(shí)驗(yàn),看看哪些方法最管用。比如研究無(wú)輔助損失的負(fù)載平衡策略,找出哪些技術(shù)最能提高模型的性能等。
最后,模型通過(guò)動(dòng)態(tài)調(diào)整,使得每個(gè)專家的工作量更加均衡,而不是通過(guò)輔助損失來(lái)強(qiáng)制平衡。如此一來(lái),預(yù)訓(xùn)練階段就能吸收和處理很多信息,學(xué)會(huì)理解和生成文本,為后面的訓(xùn)練打下堅(jiān)實(shí)的基礎(chǔ)。
看完這段報(bào)告后我覺(jué)得,訓(xùn)練模型就像給一個(gè)5歲孩子提供學(xué)習(xí)資源和環(huán)境一樣,讓它在成長(zhǎng)過(guò)程中能夠全面發(fā)展。
四
問(wèn)題是:只有預(yù)訓(xùn)練還不夠,后訓(xùn)練才能讓模型更成熟。那么,DeepSeek-V3是怎么做的后訓(xùn)練呢?
首先是監(jiān)督微調(diào)(Supervised Fine-Tuning,SFT)。
DeepSeek團(tuán)隊(duì)為模型準(zhǔn)備了150萬(wàn)個(gè)實(shí)例的特別訓(xùn)練集,就像是一本包含各種生活場(chǎng)景的百科全書(shū)。每個(gè)訓(xùn)練集都是精心設(shè)計(jì),確保模型能學(xué)會(huì)在不同情況下應(yīng)該怎么處理。
對(duì)于那些需要邏輯和計(jì)算的數(shù)據(jù),比如數(shù)學(xué)問(wèn)題或者編程挑戰(zhàn),團(tuán)隊(duì)用了一個(gè)已經(jīng)訓(xùn)練好的模型(DeepSeek-R1)來(lái)生成例子。
雖然這些例子通常很準(zhǔn)確,但有時(shí)可能太復(fù)雜或者格式不規(guī)范。所以,團(tuán)隊(duì)的目標(biāo)是讓數(shù)據(jù)既準(zhǔn)確又容易理解。
為了做到這一點(diǎn),他們結(jié)合了監(jiān)督微調(diào)(SFT)和強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)的方法,訓(xùn)練了一些“專家模型”。這些專家模型就像專業(yè)的老師,負(fù)責(zé)教模型如何在特定領(lǐng)域做得更好。
在訓(xùn)練過(guò)程中,他們會(huì)創(chuàng)造兩種類型的例子:一種是直接的問(wèn)題和答案,另一種加上了“系統(tǒng)提示”的問(wèn)題、答案和R1模型的響應(yīng)。這些系統(tǒng)提示就像教學(xué)大綱,指導(dǎo)模型如何給出有深度和經(jīng)過(guò)驗(yàn)證的答案。
對(duì)了,在“強(qiáng)化學(xué)習(xí)”階段,模型會(huì)嘗試不同的回答,根據(jù)效果得到獎(jiǎng)勵(lì)或懲罰。
通過(guò)這個(gè)過(guò)程,模型就學(xué)會(huì)了給出更好的答案;最后,團(tuán)隊(duì)會(huì)用“拒絕采樣”的方法挑選最好的示例,用于最終模型的訓(xùn)練,這確保了用于模型學(xué)習(xí)的數(shù)據(jù)既準(zhǔn)確又容易理解。
對(duì)于非推理數(shù)據(jù),比如:寫(xiě)故事或者角色扮演,團(tuán)隊(duì)用了另一個(gè)模型(DeepSeek-V2.5)來(lái)生成回答,然后讓人工檢查這些回答是否準(zhǔn)確和合適。這兩個(gè)步驟,報(bào)告中稱之為“評(píng)價(jià)標(biāo)準(zhǔn)”。
最后,DeepSeek團(tuán)隊(duì)對(duì)DeepSeek-V3-Base進(jìn)行了兩個(gè)時(shí)期的微調(diào),采用了從5×10-6到1×10-6的“余弦衰減學(xué)習(xí)率調(diào)度”。
在訓(xùn)練期間,每個(gè)序列都由多個(gè)樣本組成,但他們采用了“樣本屏蔽策略”,確保示例相互獨(dú)立,這是一種“開(kāi)放評(píng)估”的模型。
通過(guò)這些后訓(xùn)練步驟,DeepSeek-V3能夠在實(shí)際應(yīng)用中做到更加精準(zhǔn),就像完成基礎(chǔ)訓(xùn)練后,再給它進(jìn)行一些專業(yè)技能的培訓(xùn)。
他們給它起的名字叫“生成獎(jiǎng)勵(lì)模型”,這讓它不僅是一個(gè)學(xué)習(xí)者,還成為了一個(gè)評(píng)委;如此周而復(fù)始,建立一套正向反饋機(jī)制。
五
那么,通過(guò)這套模型訓(xùn)練出來(lái)的成果如何呢?
DeepSeek-V3做了一系列的全面基準(zhǔn)測(cè)試,這些測(cè)試相當(dāng)于給超級(jí)大腦出了一套標(biāo)準(zhǔn)化的試卷,看看它在各個(gè)科目上能得多少分。這些科目包括教育知識(shí)、語(yǔ)言理解、編程技能、數(shù)學(xué)問(wèn)題解決等。
在數(shù)學(xué)推理上:
在MATH-500測(cè)試中,DeepSeek-V3得了90.2分,這個(gè)分?jǐn)?shù)不僅比所有開(kāi)源競(jìng)爭(zhēng)對(duì)手高,比如Qwen 2.5的80分和Llama 3.1的73.8分,也超過(guò)了閉源模型GPT-4o的74.6分。
在MGSM(小學(xué)數(shù)學(xué))測(cè)試中,DeepSeek-V3得了79.8分,超過(guò)了Llama 3.1的69.9分和Qwen 2.5的76.2分。在CMath(中國(guó)數(shù)學(xué))測(cè)試中,DeepSeek-V3得了90.7分,比Llama 3.1的77.3分和GPT-4o的84.5分都要好。
圖解:DeepSeek-V3基準(zhǔn)測(cè)試數(shù)據(jù)
在編程和編碼能力方面:
在LiveCodeBench測(cè)試中,DeepSeek-V3的通過(guò)率達(dá)到了37.6%,領(lǐng)先于Llama 3.1的30.1%和Claude 3.5 Sonnet的32.8%。
在HumanEval-Mul測(cè)試中,DeepSeek-V3得了82.6%,比Qwen 2.5的77.3%高,并且和GPT-4o的80.5%差不多。在CRUXEval-I測(cè)試中,DeepSeek-V3得了67.3%,明顯優(yōu)于Qwen 2.5的59.1%和Llama 3.1的58.5%。
在多語(yǔ)言和非英語(yǔ)任務(wù)上:
在CMMLU(中文多語(yǔ)言理解)測(cè)試中,DeepSeek-V3得了88.8分,超過(guò)了Qwen 2.5的89.5分,并且領(lǐng)先于Llama 3.1的73.7分。
在C-Eval,中國(guó)評(píng)估基準(zhǔn)測(cè)試中,DeepSeek-V3得了90.1分,遠(yuǎn)遠(yuǎn)領(lǐng)先于Llama 3.1的72.5分。
其他數(shù)據(jù)還有很多,總的來(lái)說(shuō),DeepSeek-V3成績(jī)遙遙領(lǐng)先;對(duì)了,還有一句要提的是:DeepSeek-V3的訓(xùn)練成本只有557.6萬(wàn)美元,這只是訓(xùn)練Meta的Llama 3.1所需估計(jì)的5億美元的一小部分。
所以,DeepSeek-V3新的模型結(jié)構(gòu),無(wú)疑是如今人工智能領(lǐng)域中一次新的變革。高效、省力、省成本;難怪連OpenAI的前首席科學(xué)家Andrej Karpathy也表示,這是一次“令人印象深刻的展示”。
如果DeepSeek-V3在資源有限的情況下,都能表現(xiàn)出如此卓越的工程能力,以后是不是不需要大型GPU集群了?這個(gè)問(wèn)題值得我們思考。
(來(lái)源王智遠(yuǎn))