DeepSeek 是怎么訓(xùn)練的?

1、Transformer

現(xiàn)今大部分的 AI 突破都跟谷歌在 2017 年發(fā)布的 Transformer 有關(guān)。

Transformer 是一種機(jī)器學(xué)習(xí)算法,它提出了一種叫做自注意力的機(jī)制,可以給句子中的每一個(gè)詞打分,這就可以讓 AI 很輕松的完成詞語接龍,續(xù)寫出句子。

自注意力的機(jī)制并不是谷歌發(fā)明的,早在 2014 年就有人提出在 RNN 網(wǎng)絡(luò)中使用注意力機(jī)制了,但是早期的注意力機(jī)制在模型中是輔助作用,總體性能還是受制于 RNN 笨重的機(jī)制,谷歌的貢獻(xiàn)就是不破不立,把亂七八糟的全去掉了,只留下注意力機(jī)制。

Transformer 是一個(gè)翻譯模型,由兩部分組成,編碼器負(fù)責(zé)理解源語言,解碼器負(fù)責(zé)生成另一種語言。這是 deepseek 的基礎(chǔ),可以看看 萬字詳解 ChatGPT 基本原理 深入了解。

2、訓(xùn)練模型

OpenAI 只用了負(fù)責(zé)生成的解碼器,并且在訓(xùn)練中發(fā)現(xiàn)了大力出奇跡規(guī)律,即參數(shù)量、數(shù)據(jù)量越大,模型就越智能,所以 AI 要獲得智能,不需要蘿卜雕花的精驗(yàn)算法,直接在規(guī)模上梭哈就可以了,必其功于一役。當(dāng)然,除了梭哈規(guī)模,OpenAI 也做了不少創(chuàng)新,最大的創(chuàng)新就是三步走的訓(xùn)練策略。

第一步,無監(jiān)督學(xué)習(xí),給 AI 喂海量的語料,讓 AI 先學(xué)會說話。

AI 的學(xué)習(xí)過程就是看到前面的字,然后去猜下一個(gè)字,猜完了再把正確的字給 AI 看。如果錯(cuò)了,就看為什么錯(cuò)了,讓 AI 自己反思去這個(gè)過程,因?yàn)闆]有人工的標(biāo)注數(shù)據(jù),所以被稱為無監(jiān)督學(xué)習(xí)。訓(xùn)練出來的模型稱為基座模型。

第二步是監(jiān)督學(xué)習(xí)。

基座模型雖然學(xué)會了說話,但是這家伙說起來沒完,該說的不該說的都說。為了學(xué)會怎么正常跟人類聊天,我們需要給它打個(gè)樣,于是給它提供一些人類手工標(biāo)注好的資料,再次訓(xùn)練。這樣才能聊得起來。這個(gè)過程叫做監(jiān)督微調(diào),SFT。

第三步就是強(qiáng)化學(xué)習(xí)了。

先讓 AI 回答一些問題,每個(gè)問題提供好幾種不同的答案,然后找一些人類給答案做一下排序,最好的放在最前面,最差的放在最后面。把這個(gè)排序結(jié)果反饋給 AI,讓 AI 學(xué)習(xí)。這樣 AI 就知道什么答案好,什么答案不好了。然后它就可以利用自己學(xué)到的東西給別的 AI 打分了。

這個(gè) AI 就是獎(jiǎng)勵(lì)模型。

有了這個(gè)獎(jiǎng)勵(lì)模型,我們就可以讓它給向前面進(jìn)過微調(diào)的基座模型提問,然后對回答進(jìn)行打分,就像前面說的,強(qiáng)化學(xué)習(xí)并不是提供標(biāo)準(zhǔn)答案,而是用獎(jiǎng)勵(lì)刺激 AI,它一定能找到好答案,于是經(jīng)過這三步,一個(gè)會聊天的大模型就訓(xùn)練好了。

3、推理能力

雖然在很多日常的聊天和文字搬磚工作中表現(xiàn)的游刃有余,但在很多專業(yè)領(lǐng)域依然不盡如人意,所有的人都認(rèn)為這是因?yàn)槟P筒痪邆渫评砟芰Α?/p>

當(dāng)我們?nèi)祟惷鎸?fù)雜的問題時(shí),最常見的習(xí)慣就是分解問題,一步一步來。在和 AI 交流的過程中,如果讓它把問題拆解一步一步來,它似乎也能找到更好的答案。所以,如果能讓 AI 學(xué)會分解問題,一步一步推理,是不是也就能讓 AI 具備更高級的智能呢?

在 2023 年的論文 Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 思維鏈促進(jìn)大型語言模型中的啟發(fā)式推理,提到

一步一步推理的思維過程來得出答案

但是數(shù)據(jù)已經(jīng)用光了,大力出奇跡的道路已經(jīng)走到頭了,接下來怎么走才能讓 AI 學(xué)會推理呢?

OpenAI 說,我們找到辦法了,在推理層面花更多的成本進(jìn)行訓(xùn)練就可以了。然后他們推出了自己重金打造的模型,也就是 GPT-o1。但因?yàn)?OpenAI 其實(shí)是 close AI,所以沒有人知道他們到底是怎么訓(xùn)練的,只能靠猜。

全球的 AI 開發(fā)者通過研究 OpenAI 之前的相關(guān)論文和技術(shù)報(bào)告,普遍認(rèn)為 OpenAI 采用了非常復(fù)雜的訓(xùn)練方式才達(dá)到了這樣的效果。這里只是有些人的猜測,總之每一個(gè)步驟都超級復(fù)雜。

現(xiàn)在看看 DeepSeek 具體是如何做的。

在 DeepSeek 的論文 DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 中描述了訓(xùn)練 R1 Zero 的過程。

我們使用 DeepSeek-V3 作為基礎(chǔ)模型,并采用 GRPO 作為強(qiáng)化學(xué)習(xí)框架來提高模型在推理方面的性能。在訓(xùn)練過程中,DeepSeek R1 Zero 自然的涌現(xiàn)出許多強(qiáng)大且有趣的推理行為。

這段話簡單來說就是直接找了一個(gè)基礎(chǔ)模型,不做監(jiān)督微調(diào),直接上強(qiáng)化學(xué)習(xí),只需要打分幾千步以后,模型就會自然的學(xué)會推理。

全球的小伙伴都驚呆了,這也行?震驚過后想進(jìn)一步刨根問底的小伙伴一定注意到了一個(gè)縮寫 GRPO。

GRPO 是全稱是群體相對策略優(yōu)化(Group Relative Policy Optimization),這是 DeepSeek 發(fā)明的一種強(qiáng)化學(xué)習(xí)模型。在2024年2月,DeepSeek 就已經(jīng)在針對數(shù)學(xué)領(lǐng)域的大模型 DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models。

在 R1 Zero 的訓(xùn)練中,顯然 GRPO 起到了關(guān)鍵性的作用,要了解 GRPO 到底厲害在哪里,我們需要先知道在此之前大模型是如何進(jìn)行強(qiáng)化學(xué)習(xí)訓(xùn)練的,前面說了大模型訓(xùn)練的第三個(gè)階段就是強(qiáng)化學(xué)習(xí),在這個(gè)階段 OpenAI 采用了一種叫做 PPO 的強(qiáng)化學(xué)習(xí)模型。

它包括兩個(gè)模型,一個(gè)是策略模型,一個(gè)是價(jià)值模型。除此之外前面提到的模型回答的每個(gè)問題,最終還需要有一個(gè)模型給他打分,所以還要有一個(gè)獎(jiǎng)勵(lì)模型。這還沒完,為了整個(gè)訓(xùn)練過程不要被帶歪了,還需要有一個(gè)參考模型。所以整體下來,整個(gè)訓(xùn)練過程會有四個(gè)模型同時(shí)在跑。

經(jīng)過這四個(gè)模型的配合,就可以最終訓(xùn)練出性能很高的 AI 了。但是從另外一方面看,優(yōu)點(diǎn)也會變成缺點(diǎn),四個(gè)模型同時(shí)跑,規(guī)模太大,獎(jiǎng)勵(lì)模型和參考模型還好,因?yàn)樗麄冎皇桥闩?,并不更新參?shù),但價(jià)值模型就不一樣了,他也要學(xué)習(xí),所以要跟著訓(xùn)練更新參數(shù),這是相當(dāng)燒顯卡了。

怎么辦呢?DeepSeek 直接把價(jià)值網(wǎng)絡(luò)砍掉了,怎么做到的呢?

要訓(xùn)練策略網(wǎng)絡(luò),就需要讓它知道改進(jìn)方向,而價(jià)值網(wǎng)絡(luò)的評價(jià)就是這個(gè)改進(jìn)的方向。OpenAI 是通過一個(gè)叫優(yōu)勢函數(shù)的計(jì)算完成的。主要是通過【實(shí)際期望】減【預(yù)測期望】來實(shí)現(xiàn)的。也就是說實(shí)際的效果比預(yù)測的還好,這個(gè)策略就值得鼓勵(lì),反之來就打個(gè)低分。

現(xiàn)在把價(jià)值網(wǎng)絡(luò)去掉了,優(yōu)勢函數(shù)怎么計(jì)算呢?

多采樣幾次,然后取個(gè)平均值,拿每個(gè)的期望值和平均值做比較就可以了。在論文中我們可以看到這個(gè)優(yōu)勢函數(shù)的結(jié)構(gòu),減掉平均數(shù)再除以標(biāo)準(zhǔn)差,很顯然求的就是與平均值的差距。

很顯然一個(gè)策略收益比平均值越高,說明這個(gè)策略好,優(yōu)勢大,神經(jīng)網(wǎng)絡(luò)就會加大它的概率,這就可以直接去掉價(jià)值網(wǎng)絡(luò)了。

少這一塊訓(xùn)練成本至少降低了一半,這就是 DeepSeek 最主要的創(chuàng)新了。

就這對就這我們知道看到這里你一定覺得有一些失望,你期待的可能是一種石破天驚的創(chuàng)新。但取平均值,然后找到最好的,小學(xué)三年級的孩子都可能想出來的方法,難道全球的 AI 開發(fā)者想不到?

因?yàn)槁窂揭蕾嚕覀兺床灰姺块g中的大象。在強(qiáng)化學(xué)習(xí)領(lǐng)域, PPO 作為主流已經(jīng)被使用多年,所以作為強(qiáng)化學(xué)習(xí)訓(xùn)練的首選也是水到渠成的事情。

但誰也沒有想到,強(qiáng)化學(xué)習(xí)多年發(fā)展下來,到大模型訓(xùn)練領(lǐng)域,條件和環(huán)境都已經(jīng)發(fā)生了很大的變化。以前的強(qiáng)化學(xué)習(xí)很多時(shí)候是從零學(xué)起。單純的策略網(wǎng)絡(luò)隨機(jī)性太大,很難訓(xùn)練,所以加入價(jià)值網(wǎng)絡(luò)。

現(xiàn)在當(dāng)強(qiáng)化學(xué)習(xí)遇到大語言模型,他面對的是一個(gè)已經(jīng)經(jīng)歷預(yù)訓(xùn)練,通曉這世界上大部分語言和知識的大模型。所以面對提問時(shí),這個(gè)模型一開始給出的回答就不會太差。

所以這也解釋了 DeepSeek 論文中所說的一個(gè)現(xiàn)象,當(dāng)他們把同樣的方法應(yīng)用在參數(shù)更少的小模型上時(shí),就很難訓(xùn)練出更好的推理能力,對于小模型來說,與其強(qiáng)化學(xué)習(xí),不如從大模型直接蒸餾。

因?yàn)檩^小的模型最開始的回答就比較差,沒有一個(gè)是正確的,求平均值的方法就只能在差和更差之間選擇,可能訓(xùn)練出一個(gè)更好的回答嗎?

看到這里你肯定就會覺得就這這看起來也沒啥創(chuàng)新啊,但是,做減法也是一種創(chuàng)新。就如同谷歌說 Attention is all you need 的,就如同 OpenAI 說提升規(guī)模就能獲得智能,DeepSeek 說只需要強(qiáng)化學(xué)習(xí)AI就可以學(xué)會推理。再次,化繁為簡,全世界 AI 開發(fā)者再次跟著轉(zhuǎn)向。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容