Deepseek-R1是怎樣煉成的?一文詳解Deepseek-R1的誕生歷程
Deepseek-R1作為近期備受矚目的AI模型,其卓越的表現(xiàn)引發(fā)了廣泛的關(guān)注和討論。本文將深入剖析Deepseek-R1的誕生歷程,從其技術(shù)架構(gòu)、訓(xùn)練方法到行業(yè)影響,全方位展現(xiàn)這一模型背后的創(chuàng)造之美。
針對Deepseek,近期網(wǎng)上也已經(jīng)有不少的介紹,本人也先后發(fā)表了多篇相關(guān)的短視頻和文章,介紹為什么Deepseek-R1的發(fā)布會引起如此大的關(guān)注。
【入門科普】關(guān)于Deepseek你肯定會關(guān)心的3個基本問題
在內(nèi)容中我有提到,Deepseek的火熱,很重要的原因就在于其模型表現(xiàn)的強大。只是,對于Deepseek-R1究竟是如何達到這樣優(yōu)秀的表現(xiàn),我曾經(jīng)也搜索過相關(guān)的材料,但限于個人在技術(shù)層面的認知水平,畢竟沒有達到理解透徹之地步。
幾天前,剛好閱讀到“騰訊科技”所發(fā)布的公眾號文章《萬字賞析 DeepSeek 創(chuàng)造之美:DeepSeek R1 是怎樣煉成的?丨薦讀》。文章詳細介紹了 DeepSeek-R1 模型的開發(fā)過程、技術(shù)創(chuàng)新和行業(yè)影響。文章本身質(zhì)量很高,也盡可能降低閱讀門檻,可以說很大程度上幫助我理解Deepseek-R1是如何打造出來的。在閱讀過程中,Deepseek團隊(后面會多次出現(xiàn)Deepseek,因此為了方便大家閱讀,后文在提到Deepseek團隊時統(tǒng)一簡稱“DS團隊”)的各種訓(xùn)練方式的技巧讓我多次拍案叫絕,不斷在內(nèi)心嘆服。
只是,文章中仍然有不少專業(yè)詞匯存在,對于普通人去閱讀還是有一些門檻。因此,我想要來扮演一名“中譯中”的翻譯角色,在原文章的基礎(chǔ)上進一步聚焦和簡化。希望能夠讓各位朋友,在了解Deepseek-R1誕生歷程的同時,也可以與我一般,感受到它所帶來的震撼。
朋友們,接下來,讓我們一起感受,Deepseek-R1的“創(chuàng)造之美”。
(提前說明,在簡化描述的同時,也會有嚴(yán)謹性上的妥協(xié)。)
閱讀準(zhǔn)備1:回顧AlphaGo 和 AlphaGo Zero
為了幫助朋友們待會兒更好地理解Deepseek-R1的誕生歷程,我需要給各位回顧一下由谷歌 DeepMind 團隊開發(fā)的圍棋 AI——Alpha Go 和 Alpha Go Zero的誕生(待會兒你們看到一個名為“Deepseek-R1 Zero”的事物出現(xiàn))。
- AlphaGo:AlphaGo首先通過監(jiān)督學(xué)習(xí)從大量人類職業(yè)棋譜中學(xué)習(xí),模仿人類的下棋策略,然后在此基礎(chǔ)上通過自我對弈進一步優(yōu)化策略和價值函數(shù),依賴人類經(jīng)驗來進行初始策略網(wǎng)絡(luò)的訓(xùn)練。
- AlphaGo Zero:與 AlphaGo 不同,AlphaGo Zero 的誕生是完全依賴自我對弈訓(xùn)練,無需人類棋譜。它從零開始,通過自我對弈,僅利用棋盤上的黑白棋子的擺放情況作為原始數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)中,神經(jīng)網(wǎng)絡(luò)權(quán)值完全隨機初始化,然后使用深度強化學(xué)習(xí)進行自我博弈和提升。
簡單來說,AlphaGo 是先學(xué)習(xí)人類的下棋經(jīng)驗,再通過自我對弈提升;而 AlphaGo Zero 則是完全靠自己摸索,從零開始通過自我對弈來學(xué)習(xí)下棋的策略和技巧。
谷歌 DeepMind 團隊用二者進行了百盤對戰(zhàn),而最終的結(jié)果是Alpha Go Zero以100比0的優(yōu)勢碾壓了AlphaGo,可謂實打?qū)嵉摹鞍賾?zhàn)百勝”。
閱讀準(zhǔn)備2:Deepseek-R1 誕生歷程圖
下面這張圖是文章中引用的關(guān)于如何理解推理模型的核心圖表。它完美地呈現(xiàn)了 Deepseek-R1 的訓(xùn)練關(guān)鍵步驟,串聯(lián)起它的整個誕生歷程。在展開介紹前,我十分建議大家可以將這張圖片單獨打開,方便隨時對照閱讀。
核心的第一步:讓模型領(lǐng)悟“思維鏈”
眾所周知,Deepseek-R1表現(xiàn)優(yōu)秀的核心原因,就是DS團隊獨立研發(fā)了“思維鏈”的能力將應(yīng)用到R1當(dāng)中。而“思維鏈”的起點,就是本章節(jié)的主角,Deepseek R1 Zero。
而Deepseek R1 Zero的誕生源頭,就是強大的基礎(chǔ)模型 DeepSeek V3。那么,DS團隊是如何在V3的基礎(chǔ)上,讓 R1 Zero “產(chǎn)生”思維鏈的呢?這個過程極為簡潔且巧妙,我們一起來看看。
DS團隊為R1 Zero準(zhǔn)備了大量具有明確對錯的題目(如數(shù)學(xué)題、物理題、寫代碼),來作為它的訓(xùn)練內(nèi)容。那這些題目如何使用呢?DS團隊編寫了一個固定的Prompt,以V3為基底模型來運作(可以理解為System Prompt)。
這段Prompt極其簡單,DS團隊會將各種訓(xùn)練問題替換到上面標(biāo)紅的 prompt讓模型自己去回答。但要求模型在輸出答案之前,需要先「在腦海中思考推理過程」(The assistant first thinks about the reasoning process in the mind)。輸出的結(jié)果里面,要分別用think標(biāo)記“推理過程”,用answer標(biāo)記“答案”。
DS采用的是純強化學(xué)習(xí)的方式來訓(xùn)練,即人類不對訓(xùn)練過程進行干預(yù),而是模型通過訓(xùn)練過程中的問題與激勵機制來學(xué)習(xí)。經(jīng)過無數(shù)輪的“嘗試-反饋-調(diào)整”循環(huán),模型就探索出最佳的方式。就好比一名學(xué)生在做各種練習(xí)題,通過不斷調(diào)整自己的解題思路和方法,并根據(jù)每次練習(xí)的結(jié)果來進行自我修正和改進,最終掌握解題的思路。
而DS團隊事先設(shè)定的激勵規(guī)則,主要是以下兩條。
- 準(zhǔn)確度激勵:判斷答案是否正確。例如,針對1+1等于幾的問題,如果模型回答2,則加 1 分;如果答案錯誤,則不加分。
- 格式激勵:模型必須按照要求的格式作答,即需要嘗試寫出推理過程。例如,若問題是「1+1 等于幾?」,模型直接回答「2」將得 0 分。但如果它在 think 標(biāo)簽中寫出推理過程,則會獲得加分。
補充介紹下,DS團隊在這個強化學(xué)習(xí)中選擇了GRPO策略。這里我們不展開講述,大家只要知道它可以很大程度上節(jié)省算力資源,從而提升了訓(xùn)練效率就可以了。
簡而言之,DS團隊只為R1 Zero 準(zhǔn)備了三件東西:一個基礎(chǔ)的訓(xùn)練模板,一個簡單的激勵模型,還有一個 GRPO策略。
這三樣事物準(zhǔn)備好了,然后就是——
“做題,做題,還是TMD做題!做有標(biāo)準(zhǔn)答案的題,給老子反復(fù)刷,然后自己去找最佳方式?!?/p>
需要注意的是,DS團隊并沒有對如何構(gòu)建思維鏈作干預(yù)。但是,他們發(fā)現(xiàn)模型學(xué)著學(xué)著,自己把答案越吐越長了。要知道在激勵模型里并沒有針對思考長度這件事情激勵過,只判斷了對錯和有沒有推理過程。但是模型自己發(fā)現(xiàn),一旦思考越長,越能答對。也就是說,模型在沒有任何思維鏈長度激勵的情況下,通過增加思考時間,自主學(xué)會了如何解決需要推理的任務(wù)。這個發(fā)現(xiàn)十分驚人,因為在此之前,業(yè)界的其他團隊都沒有想到通過這么簡單的手段就能解決思維鏈訓(xùn)練的問題。
巧妙的第二步:DS團隊說,模型要可用,于是就有了R1
R1 Zero經(jīng)過上述訓(xùn)練過程,已經(jīng)領(lǐng)悟了“思維鏈”。但如果要對外可用,它還有兩個問題要解決:
1)推理過程的可讀性差,包括出現(xiàn)多種語言混雜、格式混亂等情況;
2)常識性問題欠缺,由于訓(xùn)練“思維鏈”使用的都是數(shù)學(xué)、物理、寫代碼這類內(nèi)容,因此R1 Zero是“偏科”的,理科強文科弱。
如果要對外可用,那就需要解決上述兩個問題,繼續(xù)進化。
DS團隊首先用 R1 Zero 生成右側(cè)的高質(zhì)量 SFT 數(shù)據(jù)(可用于訓(xùn)練模型的標(biāo)注數(shù)據(jù))。然后,他們用它去對V3 模型進行了一次微調(diào),從而提升了V3的能力。這是一個非常精彩的“左右互博”,V3 基礎(chǔ)版促使了 R1 Zero的誕生,而 R1 Zero強大的推理能力又反向去微調(diào)提升 V3。
提升 V3 后,DS團隊開始來著手解決推理過程的可讀性。他們再一次做了一輪類似 R1 Zero 的強化學(xué)習(xí),但這次有一點不同,除了激勵準(zhǔn)確度和格式,他們加入了一個新的激勵項——語言的一致性。也就是說,除了要確保答案的準(zhǔn)確度和格式,還要檢查推理過程是否出現(xiàn)了語言混雜。如果是中英文混雜就打 0 分;如果全程用中文或英文,就加分。
經(jīng)過這一輪訓(xùn)練,DS團隊就得到一個不僅具備了強大的推理能力,而且語言沒有混雜的R1 Zero。他們就讓這個新版本R1 Zero再生成了一輪數(shù)據(jù),配合人工篩選和規(guī)則匹配等方式,剔除了一些冗余、可讀性差部分,就得到了一份經(jīng)過篩選和優(yōu)化的高質(zhì)量“思維鏈”數(shù)據(jù)。
思維鏈的推理可讀性解決后,就剩下最后一個問題——常識性內(nèi)容的欠缺。這個點解決起來很直接,就是用經(jīng)過強化的 V3 模型,輸出一系列的通用知識數(shù)據(jù)。
經(jīng)過上述一系列工作,DS團隊有了一份高質(zhì)量的“思維鏈”數(shù)據(jù),一份由V3輸出的通用知識數(shù)據(jù)。這兩份數(shù)據(jù)合并后,就可以開始最后一次強化學(xué)習(xí)訓(xùn)練。這個過程就與通常訓(xùn)練一個模型的方式無異,過程中也會加入人類對于模型輸出格式、內(nèi)容等的偏好。經(jīng)過這一輪又一輪的“左右互搏”,最后得到的模型,便是我們現(xiàn)在使用的Deepseek-R1。
額外的第三步:微調(diào)其他模型的驗證
到這里為止,Deepseek-R1在DS團隊巧妙的“左右互博”中誕生,基本工作便已完成了,但DS團隊還做了一些額外的工作。他們將上面訓(xùn)練R1的數(shù)據(jù),去微調(diào)其他家的模型。其目的就是想驗證一下,既使其他模型沒有經(jīng)過上述“思維鏈”的訓(xùn)練過程,但它們能否通過 DeepSeek-R1 的高質(zhì)量推理數(shù)據(jù),來提升其推理能力呢?(注:這個過程稱為“蒸餾”,但這里我們先不展開,我會另外安排其他的文章進行介紹。)
DS團隊選擇了同樣開源的Qwen和Llama模型來嘗試驗證,結(jié)果就如大家在下表中所看到的那樣,經(jīng)過微調(diào)的Qwen-32B和Llama-70B模型獲得了明顯的提升,在多項能力上實現(xiàn)了對標(biāo) OpenAI o1-mini 的效果。通過 DeepSeek-R1 的高質(zhì)量推理數(shù)據(jù)來提升其他模型的推理能力這條路,也被驗證是可行的了。
最后的問題:其他模型可以誕生它們自己的R1嗎?
經(jīng)過上面一系列的介紹,我們重溫了DS團隊如何從Deepseek V3開始,到訓(xùn)練出具備思維鏈的R1 Zero,再經(jīng)過一系列的調(diào)整訓(xùn)練得到一份包含高質(zhì)量“思維鏈”和通用知識的數(shù)據(jù),并最終用它來訓(xùn)練出了表現(xiàn)卓越的Deepseek-R1的全過程。
那么,最后的問題是,其他的模型廠商,是否也可以直接用DS團隊的R1 Zero訓(xùn)練方法來訓(xùn)練它們自己的模型呢?DS團隊預(yù)判了業(yè)界的預(yù)判,并且做了實驗驗證。他們選擇了Qwen-32B 作為基礎(chǔ)模型,采用了與 R1 Zero 相同的純強化學(xué)習(xí)訓(xùn)練方法,結(jié)果發(fā)現(xiàn)并沒有明顯提升。
這里的關(guān)鍵點是——V3模型。回顧整體Deepseek-R1的誕生過程,我們會發(fā)現(xiàn),一切起點都是 DeepSeek V3模型,是V3自身足夠強大,才能夠作為R1 Zero的起始模型,讓它更多的機會去嘗試不同的思路,逐步摸索出“思維鏈”出來。
而且,當(dāng)我們望向更遠的歷史,DS團隊在2024年2月發(fā)布了DeepSeekMath,在解決數(shù)學(xué)問題時引入了 GRPO 方法;在 5 月,他們發(fā)布了 DeepSeek V2,引入了 DeepSeekMoE、MLA。終于,以此為基礎(chǔ),引入了 FP8 和 MTP 這樣的訓(xùn)練與推理方法,DS團隊構(gòu)建出了強大的 Deepseek-V3 模型。
羅馬不是一天建成的,Deepseek-R1也不是“靈光一閃”就做出來的成果。正如該文章所言,“DeepSeek 是一個認真在做 AGI 和模型研究的公司,它們很多投入非常長期,很多貢獻也并不局限于 R1。”
也許有人會想,Deepseek是不是終結(jié)了國內(nèi)其他AI產(chǎn)品的發(fā)展之路?我認為并沒有,相反地,我認為Deepseek所做的工作,是給整個業(yè)界開拓了一片新的空間,一片讓更多人可以投身其中探索更多可能性的廣闊空間。這一切正如Deepseek的Slogan所言——“探索未至之境”。
附錄:關(guān)于Deepseek-R1訓(xùn)練成本的辟謠
目前在外網(wǎng),有流傳Deepseek-R1的訓(xùn)練成本大概是557萬美元,我在之前的視頻和文章中也援引這一信息。但后續(xù)經(jīng)過上面所說的騰訊科技文章的介紹,以及其他信息源的求證,這是一個有失偏頗的信息。
557萬美元的來源,是DS團隊給出的Deepseek-V3 的單次訓(xùn)練成本。這個估算,沒有包括之前的研究,消融實驗,架構(gòu)探索,算法探索和數(shù)據(jù)準(zhǔn)備等。當(dāng)然,盡管沒有低到557萬美元的成本,但DS團隊的確探索出了一條對模型訓(xùn)練方式、架構(gòu)等進行了多項優(yōu)化改進的道路,從而大幅提升了訓(xùn)練效率。
作者:產(chǎn)品經(jīng)理崇生,公眾號:崇生的黑板報
本文由 @產(chǎn)品經(jīng)理崇生 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自 unsplash,基于CC0協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!