十個關(guān)鍵詞,帶你全面看懂DeepSeek!
DeepSeek作為當(dāng)下熱門的人工智能大模型,其強大的推理能力和高效的訓(xùn)練機制引發(fā)了廣泛關(guān)注。然而,許多人對其背后的實現(xiàn)原理和技術(shù)創(chuàng)新知之甚少。這篇文章,我們看看作者的分享。
DeepSeek的火熱仍在持續(xù)。
相信很多讀者在使用DeepSeek的時候,都會默認(rèn)開啟深度思考功能,風(fēng)叔在閱讀DeepSeek思考過程上的時間,甚至比最終回答還要多。
這是風(fēng)叔在使用其他大模型時,從來沒有過的體驗。通過思考過程,你能真實感受到DeepSeek確實是在深度推理和反思,而非從四面八方獲取各種零碎信息之后進(jìn)行總結(jié)輸出。
這樣的推理效果也激發(fā)了風(fēng)叔進(jìn)一步探索DeepSeek的念頭,經(jīng)過這段時間的深度研究,風(fēng)叔總結(jié)出來十個關(guān)鍵詞,帶你全面看懂DeepSeek。
相信大家在讀完這篇文章之后,會對下面幾個問題有比較清晰的答案:
- DeepSeek的實現(xiàn)原理是什么?
- 為什么DeepSeek具備如此強大的推理能力?
- 為什么DeepSeek能大幅降低訓(xùn)練成本?
- DeepSeek會對英偉達(dá)造成怎樣的沖擊?
風(fēng)叔的研究方法主要是閱讀DeepSeek最重要的兩篇論文,《DeepSeek-V3 Technical Report》、《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning》,以及研究DeepSeek在Github上的開源代碼。
關(guān)鍵詞一:多頭潛在注意力MLA
多頭潛在注意力(Multi-head Latent Attention),是DeepSeek在推理成本上大幅降低的關(guān)鍵創(chuàng)新。
在傳統(tǒng)的Transformer架構(gòu)中,通過多頭注意力機制(Multi-head Attention),模型可以同時關(guān)注輸入的不同部分,每個attention head都會獨立學(xué)習(xí)輸入序列中的特征。
但是當(dāng)序列長度顯著增加時,鍵值(KV)緩存也會大幅增加,從而帶來巨大的內(nèi)存負(fù)擔(dān)。
為了解決這個問題,DeepSeek創(chuàng)新性地提出了多頭潛在注意力MLA機制。通過低秩聯(lián)合壓縮技術(shù),將多個輸入向量壓縮為一個隱藏向量(Latent Vector),從而減少了93.3%的鍵值緩存,如下圖右下部分所示。
同時,DeepSeek還通過Multi-token Prediction機制,同時預(yù)測多個token,而非逐個token進(jìn)行預(yù)測,大幅提升了模型預(yù)測的效率。
關(guān)鍵詞二:專家混合模型MOE
專家混合模型,是一種將多個專家模型組合在一起,以提高模型性能的架構(gòu)。
MOE包括多個專家網(wǎng)絡(luò)和一個門控網(wǎng)絡(luò)。每個專家網(wǎng)絡(luò)都是獨立的模型,負(fù)責(zé)處理特定領(lǐng)域的問題。門控網(wǎng)絡(luò)的作用則是根據(jù)輸入來確定每個專家網(wǎng)絡(luò)的權(quán)重,從而路由給合適的模型進(jìn)行處理。
在DeepSeek模型中,有一個專門的MOE層,包括了動態(tài)路由機制和專家共享機制,如下圖右上部分所示。
通過動態(tài)路由機制,每次輸入會選擇性地激活部分專家模型,而非同時激活所有專家模型,從而提升計算的效率。同時,通過專家共享機制,在不同層之間可以共享部分專家模型的參數(shù),從而減少模型冗余。
關(guān)鍵詞三:負(fù)載均衡優(yōu)化
MOE架構(gòu)其實早在2021年就提出來了,但一直沒有特別好的實踐案例。因為如果要用MoE架構(gòu)去訓(xùn)練一個超大的模型,存在計算復(fù)雜度高、訓(xùn)練難度大等問題,其中最大的挑戰(zhàn)是負(fù)載均衡。
為了解決這個問題,DeepSeek提出了一種非常創(chuàng)新的策略,Auxiliaray-Loss-Free Load Balancing。
這個策略的核心是,當(dāng)給一個輸入token計算該路由到哪個專家模型的時候,會加上一個專家Bias。如果發(fā)現(xiàn)某個專家模型處于過載狀態(tài),就會降低它的Bias;如果發(fā)現(xiàn)某個專家模型處于閑置狀態(tài),就會增加它的Bias。
這個思想和服務(wù)器集群的負(fù)載均衡是相似的,通過這種策略讓多個專家模型實現(xiàn)均衡,從而提升整體模型的利用率。
關(guān)鍵詞四:模型蒸餾
模型蒸餾,是將一個復(fù)雜且性能優(yōu)異的“教師模型”的知識,遷移到一個簡單的“學(xué)生模型”,使學(xué)生模型在保持較高性能的同時,還能顯著減少模型的參數(shù)規(guī)模和計算成本。
模型蒸餾的核心思想是利用教師模型輸出的軟標(biāo)簽(即概率分布),而非硬標(biāo)簽,來指導(dǎo)學(xué)生模型的訓(xùn)練。這樣,學(xué)生模型不僅能學(xué)習(xí)到數(shù)據(jù)的類別信息,還能夠捕捉到類別之間的相似性和關(guān)系,從而提升其泛化能力。
模型蒸餾主要包括四步驟:
- 訓(xùn)練教師模型:首先使用Transformer模型,訓(xùn)練一個性能優(yōu)異但通常較為龐大的教師模型。
- 生成軟標(biāo)簽:使用教師模型對訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)測,獲得每個樣本的概率分布。
- 訓(xùn)練學(xué)生模型:設(shè)計一個較小的學(xué)生模型,并使用軟標(biāo)簽以及硬標(biāo)簽共同訓(xùn)練。
- 優(yōu)化與調(diào)整:通過調(diào)整溫度參數(shù)、損失函數(shù)權(quán)重等超參數(shù),優(yōu)化學(xué)生模型的性能,使其盡可能接近教師模型。
DeepSeek是完全原創(chuàng)還是蒸餾了一部分其他模型,目前眾說紛紜,但風(fēng)叔認(rèn)為這個并不重要。
第一個做出蒸汽機的是英國人紐可門,用來進(jìn)行礦井抽水,效率非常低。瓦特在修理紐可門蒸汽機時,進(jìn)行了重大創(chuàng)新和改進(jìn),發(fā)明了瓦特蒸汽機。從某種程度上來說,瓦特也是“蒸餾”了紐可門蒸汽機,但并不能因此否認(rèn)瓦特的貢獻(xiàn),否則科技史上的那些創(chuàng)新都要被打上“蒸餾”的標(biāo)簽了。
關(guān)鍵詞五:純強化學(xué)習(xí)
傳統(tǒng)訓(xùn)練AI推理能力的方法,通常是先通過監(jiān)督微調(diào)SFT,讓初始模型在大量的思維鏈(COT)訓(xùn)練數(shù)據(jù)集上,通過多個SFT周期進(jìn)行訓(xùn)練。再用獎勵模型讓模型更新自己的策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò),以最大化預(yù)期獎勵,如下圖所示。
DeepSeek則完全拋開了利用大量思維鏈COT模板進(jìn)行監(jiān)督微調(diào)的范式,直接進(jìn)行強化學(xué)習(xí),依靠簡單的獎懲信號對模型進(jìn)行優(yōu)化,大幅降低訓(xùn)練消耗。
DeepSeek-R1只用了一套最簡單的獎勵系統(tǒng),來激發(fā)AI的推理能力。
第一,是準(zhǔn)確性獎勵。評估方法非常簡單,正確就加分,錯誤就扣分。比如在具有確定性結(jié)果的數(shù)學(xué)問題中,模型需要以特定格式(<answer></answer>)提供最終答案。
第二,是格式獎勵。該獎勵模型強制要求模型將思考過程輸出在<think></think>之間,符合格式要求就加分,不符合要求就扣分。
然后讓AI在GRPO(Group Relative Policy Optimization)的規(guī)則下自我采樣、比較和優(yōu)化。
關(guān)鍵詞六:GRPO
GRPO,全稱是Group Relative Policy Optimization,是一種針對群體智能進(jìn)行策略優(yōu)化的算法。
顧名思義,該算法只考慮群體之間的相對關(guān)系和影響,使得整個群體在環(huán)境交互過程中,實現(xiàn)某種整體目標(biāo)或優(yōu)勢。
DeepSeek是使用GRPO算法的核心流程如下
- 對于一個問題,模型生成5個不同的解答步驟;
- 檢查每個解答的準(zhǔn)確性,包括輸出結(jié)果和格式,并給出獎勵分?jǐn)?shù),比如正確得1分,錯誤得0分
- 計算相對優(yōu)勢,包括群體的平均獎勵(比如5個回答對了3個,平均獎勵為0.6),計算每個回答的優(yōu)勢(優(yōu)勢 = 回答獎勵 – 0.6)
- 更新策略模型,增加優(yōu)勢為正的回答生成概率,減少優(yōu)勢為負(fù)的回答生成概率
DeepSeek為什么會選擇GRPO算法,而不是大家更熟悉的PPO算法呢?
首先,PPO算法依賴價值模型估計狀態(tài)價值,從而幫助計算優(yōu)勢函數(shù)。但是因為語言的狀態(tài)空間巨大且復(fù)雜,很難為語言構(gòu)建合理的價值模型。而GPRO算法只對輸出的語言內(nèi)容進(jìn)行相對優(yōu)勢計算,不需要設(shè)計價值模型。
其次,PPO算法需要訓(xùn)練獎勵模型進(jìn)行評估,而GRPO算法使用基于規(guī)則的獎勵,通過規(guī)則直接評估回答的準(zhǔn)確性,不需要訓(xùn)練獎勵模型。
這也是DeepSeek能大幅降低訓(xùn)練成本的核心原因之一。
關(guān)鍵詞七:過程獎勵模型PRM
在傳統(tǒng)獎勵模型中,AI主要根據(jù)任務(wù)的最終結(jié)果獲得獎勵,但是AI為了追求最終獎勵,可能采取一些短視或不合理的行為。
而過程獎勵模型(Process Reward Model)會對AI在整個任務(wù)執(zhí)行過程中的步驟進(jìn)行評估,根據(jù)這些中間步驟的質(zhì)量、合理性、與預(yù)期策略的相符程度等因素來給予獎勵。
DeepSeek在訓(xùn)練模型的過程中,采用了過程獎勵模型。這種獎勵策略能夠讓AI更明確每一步的正確行為方向,有助于AI更快、更穩(wěn)定地學(xué)習(xí)到最優(yōu)策略。
關(guān)鍵詞八:長思維鏈冷啟動數(shù)據(jù)
由于DeepSeek-V3完全通過獎懲信號進(jìn)行模型優(yōu)化,沒有任何經(jīng)過人類指示的標(biāo)準(zhǔn)答案作為參考,因此導(dǎo)致了“可讀性差”的問題,即模型的思維過程可能難以被人理解。為了解決這個問題,DeepSeek-R1引入了冷啟動數(shù)據(jù)。
第一階段是冷啟動:通過數(shù)千條高質(zhì)量的長思維鏈(Long-COT)數(shù)據(jù)進(jìn)行模型微調(diào),用于提升模型的初始推理能力和回答格式,為后續(xù)的強化學(xué)習(xí)提供良好的初始狀態(tài)。
第二階段是以推理為導(dǎo)向的強化學(xué)習(xí):通過GRPO算法,以DeepSeek-V3為基礎(chǔ)進(jìn)行強化學(xué)習(xí),增強模型在推理任務(wù)上的準(zhǔn)確性。
第三階段是拒絕抽樣和監(jiān)督微調(diào):將推理任務(wù)數(shù)據(jù)和非推理任務(wù)數(shù)據(jù)混合,構(gòu)建新的訓(xùn)練數(shù)據(jù)集,使用混合數(shù)據(jù)對策略模型進(jìn)行再微調(diào),從而進(jìn)一步提升模型的推理能力,并且擴展模型在非推理任務(wù)上的能力。
第四階段是全面場景的強化學(xué)習(xí):對于推理任務(wù),繼續(xù)使用基于規(guī)則的獎勵系統(tǒng);對于非推理任務(wù),結(jié)合RLHF(人類反饋強化學(xué)習(xí)),對齊人類偏好。
關(guān)鍵詞九:PTX
除了大幅降低GPU資源消耗之外,DeepSeek還嚴(yán)重動搖了英偉達(dá)的生態(tài)基礎(chǔ),CUDA。
CUDA,全稱是Compute Unified Device Architecture,是英偉達(dá)推出的并行計算平臺和編程模型,允許開發(fā)者使用C、C++語言在英偉達(dá)GPU上進(jìn)行通用計算。CUDA提供了非常多的API和工具,讓開發(fā)者可以非常方便地將計算任務(wù)分配到GPU的多個線程并行計算
因此,CUDA成為開發(fā)者繞不開的平臺,是英偉達(dá)的關(guān)鍵護(hù)城河。
而DeepSeek的實踐證明,CUDA構(gòu)建的堡壘也是可以被攻破的。通過PTX(Parallel Thread Execution,可以獨立于具體的GPU硬件架構(gòu),介于高級編程語言和底層GPU機器碼之間)匯編直接操作硬件層,可以獲得更高的計算效率。
對英偉達(dá)致命的是,很多國產(chǎn)芯片都支持PTX,英偉達(dá)的CUDA護(hù)城河受到嚴(yán)重沖擊。
在繞開CUDA的同時,DeepSeek還順手沖擊了英偉達(dá)的另一個關(guān)鍵護(hù)城河,NVLink。NVLINK是英偉達(dá)推出的一種專門為GPU與CPU之間高速數(shù)據(jù)傳輸所設(shè)計的互聯(lián)技術(shù),提供更寬的帶寬和更低的延時,可以極大提升GPU密集型應(yīng)用的性能,比如深度學(xué)習(xí)、圖像計算、大數(shù)據(jù)分析。
而DeepSeek通過實踐證明,NVLink也不是必須的,DPU完全可以替代。
關(guān)鍵詞十:杰文斯悖論
上圖是英偉達(dá)的股價在最近一個多月的表現(xiàn),自從DeepSeek R1發(fā)布之后,英偉達(dá)先是大幅下跌,隨后就開始了反復(fù)的震蕩。
大家可能會疑惑,既然DeepSeek給英偉達(dá)造成了如此巨大的沖擊,為什么英偉達(dá)從整體來看并未下降多少呢?
背后的原因可能是“杰文斯悖論”,由 19 世紀(jì)英國經(jīng)濟學(xué)家威廉?斯坦利?杰文斯在 1865 年的著作《煤炭問題》中首次提出。
19 世紀(jì)工業(yè)革命期間,蒸汽機熱效率大幅提升,每單位煤炭可產(chǎn)生更多動力。市場原本認(rèn)為煤炭消耗會大幅減少,但由于蒸汽機效率提高,其應(yīng)用范圍迅速擴展到鐵路、紡織、礦業(yè)等領(lǐng)域,反而導(dǎo)致煤炭總需求量激增。
同樣的,DeepSeek帶來了推理成本的大幅下降,大家第一反應(yīng)會認(rèn)為這會減少GPU的算力消耗。但由于推理效率提高,AI應(yīng)用場景會迅速擴張,甚至以前沒有能力大量采購GPU的中小企業(yè),也能參與這場AI盛宴,最終導(dǎo)致GPU總需求增加。
這里對于英偉達(dá)的影響在于,DeepSeek向世人證明了,即使不需要非常高端的GPU,也能進(jìn)行高效的模型推理。因此,像華為昇騰、AMD等企業(yè),會分走一部分英偉達(dá)的市場份額。
本文由人人都是產(chǎn)品經(jīng)理作者【風(fēng)叔】,微信公眾號:【風(fēng)叔云】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于 CC0 協(xié)議。
- 目前還沒評論,等你發(fā)揮!