自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié) 原創(chuàng)

發(fā)布于 2025-3-18 11:02
瀏覽
0收藏

本文詳細(xì)介紹 DeepSeek 模型中的一些創(chuàng)新技術(shù),包括對(duì) Transformer 架構(gòu)的改進(jìn)(如 MLA、MOE)、Multi-Token Prediction 提高訓(xùn)練效率、算法、框架和硬件的協(xié)同設(shè)計(jì)、Group Relative Policy Optimization (GRPO) 強(qiáng)化學(xué)習(xí)算法,以及結(jié)合監(jiān)督微調(diào)和強(qiáng)化學(xué)習(xí)的迭代訓(xùn)練方法。這些技術(shù)不僅提高了模型的性能,還顯著降低了訓(xùn)練成本。記錄供參考。

1. MLA多頭潛在注意力

Transformer架構(gòu)的注意力機(jī)制是實(shí)現(xiàn)高效自然語(yǔ)言處理的關(guān)鍵組件。Multi-Head Latent Attention(MLA)是DeepSeek模型中用于改進(jìn)標(biāo)準(zhǔn)多頭注意力(Multi-Head Attention, MHA)的一種創(chuàng)新技術(shù)。

1.1 標(biāo)準(zhǔn)多頭注意力

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

每個(gè)頭的計(jì)算過(guò)程如下:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

1.2 低秩鍵值聯(lián)合壓縮

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

1.3 解耦旋轉(zhuǎn)位置嵌入

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

MLA通過(guò)引入低秩矩陣和解耦RoPE,減少了KV緩存的大小,同時(shí)保持了甚至優(yōu)于標(biāo)準(zhǔn)MHA的性能。這種改進(jìn)使得MLA在處理長(zhǎng)上下文時(shí)更具效率。

2 MOE(混合專(zhuān)家系統(tǒng))

?MoE是一種用于提高模型參數(shù)規(guī)模和計(jì)算效率的架構(gòu)設(shè)計(jì)。在深度學(xué)習(xí)中,特別是在大語(yǔ)言模型中,MoE 通過(guò)將模型的前饋網(wǎng)絡(luò) FFN層替換為專(zhuān)家網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)這一目標(biāo)。

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

在 MoE 架構(gòu)中,模型的 FFN 層被替換為多個(gè)專(zhuān)家網(wǎng)絡(luò)(experts),這些專(zhuān)家網(wǎng)絡(luò)在結(jié)構(gòu)上與標(biāo)準(zhǔn)的 FFN 相同。輸入的每個(gè) token 被路由到一個(gè)或多個(gè)專(zhuān)家進(jìn)行處理。這種路由機(jī)制通常通過(guò)一個(gè)門(mén)控函數(shù)來(lái)實(shí)現(xiàn),該函數(shù)決定每個(gè) token 應(yīng)該分配給哪些專(zhuān)家。

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

transformer vs MOE

2.1 細(xì)粒度專(zhuān)家分割

在傳統(tǒng)的 MoE 架構(gòu)中,整個(gè) FFN 層被看作是一個(gè)整體,并被分割為若干個(gè)專(zhuān)家。細(xì)粒度專(zhuān)家分割在此基礎(chǔ)上進(jìn)一步細(xì)化,將 FFN 層分割為更小的子模塊,每個(gè)子模塊對(duì)應(yīng)一個(gè)專(zhuān)家。這種分割方式可以表示為:

  • 如果傳統(tǒng) MoE 中每個(gè) FFN 層有N個(gè)專(zhuān)家,每個(gè) token 激活K個(gè)專(zhuān)家。
  • 在細(xì)粒度 MoE 中,每個(gè) FFN 層被分割為m個(gè)更小的專(zhuān)家,這樣每個(gè) token 將激活mK個(gè)專(zhuān)家。

這種細(xì)粒度分割策略提高了激活專(zhuān)家的組合靈活性,使得模型能夠更好地適應(yīng)不同的輸入特征。

2.2 共享專(zhuān)家隔離

共享專(zhuān)家隔離是一種優(yōu)化策略,旨在減少不同專(zhuān)家之間的參數(shù)冗余。在 MoE 中,一些專(zhuān)家被指定為共享專(zhuān)家,這些專(zhuān)家負(fù)責(zé)捕捉跨不同上下文的通用知識(shí)。

  • 設(shè)定Ks個(gè)專(zhuān)家作為共享專(zhuān)家。
  • 每個(gè) token 在被路由到其特定的專(zhuān)家之外,還會(huì)被分配到這些共享專(zhuān)家。

為了保持計(jì)算成本的恒定,總路由專(zhuān)家數(shù)Nr減少為mN-Ks ,每個(gè) token 激活的路由專(zhuān)家數(shù)減少為mK-Ks 。

2.3 負(fù)載均衡

在 MoE 中,自動(dòng)學(xué)習(xí)的路由策略可能會(huì)導(dǎo)致負(fù)載不均衡的問(wèn)題,即某些專(zhuān)家總是被選擇而其他專(zhuān)家則未被充分利用。為了解決這個(gè)問(wèn)題,引入了負(fù)載均衡的輔助損失函數(shù):

  • 專(zhuān)家級(jí)別的負(fù)載均衡損失函數(shù)通過(guò)監(jiān)控每個(gè)專(zhuān)家的激活次數(shù)和親和度來(lái)調(diào)整路由策略,以確保專(zhuān)家的均勻使用。
  • 設(shè)備級(jí)別和通信負(fù)載均衡用于確保在不同設(shè)備上的計(jì)算和通信負(fù)載均衡。

負(fù)載均衡的目標(biāo)是使每個(gè)專(zhuān)家的激活次數(shù)盡可能均勻,以避免某些專(zhuān)家過(guò)載而其他專(zhuān)家閑置。

2.4 輔助損失函數(shù)

負(fù)載均衡的輔助損失函數(shù)通常包括專(zhuān)家級(jí)別的平衡損失,其形式化定義如下:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

通過(guò)最小化這個(gè)損失函數(shù),可以促使專(zhuān)家的激活次數(shù)和親和度更加均勻分布。

小結(jié)

MOE 通過(guò)將模型的 FFN 層替換為多個(gè)專(zhuān)家網(wǎng)絡(luò),并通過(guò)細(xì)粒度分割和共享專(zhuān)家隔離來(lái)提高模型的參數(shù)規(guī)模和計(jì)算效率。負(fù)載均衡策略則確保了專(zhuān)家的均勻使用,避免了資源浪費(fèi)。

3 MTP

在 MTP 中,模型不僅預(yù)測(cè)下一個(gè)詞,而是預(yù)測(cè)一系列連續(xù)的詞。對(duì)于輸入序列中的每個(gè)詞,模型會(huì)預(yù)測(cè)一個(gè)因果鏈上的多個(gè)后續(xù)詞。這種方法通過(guò)在訓(xùn)練過(guò)程中增加更多的預(yù)測(cè)目標(biāo)來(lái)提高模型的樣本利用率。

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

3.1 實(shí)現(xiàn)細(xì)節(jié)

MTP 的實(shí)現(xiàn)通常涉及以下幾個(gè)步驟:

  1. 多階段預(yù)測(cè):在每個(gè)訓(xùn)練步驟中,模型會(huì)生成一個(gè)因果鏈,預(yù)測(cè)多個(gè)后續(xù)詞。這個(gè)過(guò)程可以通過(guò)在模型中添加多個(gè)預(yù)測(cè)頭來(lái)實(shí)現(xiàn),每個(gè)預(yù)測(cè)頭負(fù)責(zé)預(yù)測(cè)不同深度的后續(xù)詞。
  2. 共享嵌入層和輸出頭:在每個(gè)深度的預(yù)測(cè)中,使用共享的嵌入層和輸出頭來(lái)處理輸入和生成輸出。這樣可以減少模型的參數(shù)量并提高計(jì)算效率。
  3. 獨(dú)立變換器塊和線性投影層:每個(gè)深度的預(yù)測(cè)還包括一個(gè)獨(dú)立的變換器塊和一個(gè)線性投影層。輸入到線性投影層的信號(hào)是當(dāng)前深度的嵌入和前一深度的輸出嵌入的拼接。
  4. 損失函數(shù):MTP 的訓(xùn)練目標(biāo)是最大化多階段的交叉熵?fù)p失。具體來(lái)說(shuō),損失函數(shù)是每個(gè)深度的交叉熵?fù)p失的平均值:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

3.2 挑戰(zhàn)
  1. 計(jì)算開(kāi)銷(xiāo):由于需要預(yù)測(cè)多個(gè)后續(xù)詞,MTP 引入了額外的計(jì)算開(kāi)銷(xiāo),導(dǎo)致訓(xùn)練時(shí)間增加。
  2. 復(fù)雜性:MTP 的實(shí)現(xiàn)比傳統(tǒng)的單詞預(yù)測(cè)更為復(fù)雜,需要仔細(xì)設(shè)計(jì)模型結(jié)構(gòu)和訓(xùn)練策略。

4 算法、框架和硬件的聯(lián)合設(shè)計(jì)

在深度學(xué)習(xí)模型的開(kāi)發(fā)和訓(xùn)練中,算法、框架和硬件的協(xié)同設(shè)計(jì)對(duì)于提高訓(xùn)練效率和模型性能至關(guān)重要。DeepSeek 模型在這方面進(jìn)行了多項(xiàng)創(chuàng)新,特別是在算法和硬件優(yōu)化方面。

4.1 DualPipe

DualPipe 是一種創(chuàng)新的管道并行算法,旨在減少跨節(jié)點(diǎn)專(zhuān)家并行性引入的通信開(kāi)銷(xiāo)。在大型模型訓(xùn)練中,通常需要在多個(gè) GPU 或節(jié)點(diǎn)之間分配計(jì)算任務(wù),這會(huì)導(dǎo)致大量的通信開(kāi)銷(xiāo)。DualPipe 通過(guò)重疊計(jì)算和通信來(lái)減少這種開(kāi)銷(xiāo)。

實(shí)現(xiàn)細(xì)節(jié)
  1. 管道劃分:DualPipe 將每個(gè)計(jì)算塊劃分為四個(gè)部分,其中反向計(jì)算塊進(jìn)一步劃分為輸入和權(quán)重兩部分。這種劃分有助于減少管道氣泡(pipeline bubbles),即計(jì)算和通信之間的空閑時(shí)間。
  2. 雙向調(diào)度:DualPipe 采用雙向管道調(diào)度,從管道的兩端同時(shí)提供數(shù)據(jù)。這種策略可以進(jìn)一步提高計(jì)算和通信的效率。
  3. 通信隱藏:通過(guò)將一部分 GPU SMs(流處理器)專(zhuān)門(mén)用于通信,DualPipe 可以確保在執(zhí)行期間通信完全隱藏,從而實(shí)現(xiàn)接近零的全對(duì)全通信開(kāi)銷(xiāo)。
  4. 內(nèi)存消耗:DualPipe 需要保留兩個(gè)模型參數(shù)的副本,導(dǎo)致額外的內(nèi)存消耗。盡管如此,研究表明這種開(kāi)銷(xiāo)是可以接受的,因?yàn)橛?jì)算和通信效率的提升彌補(bǔ)了這一點(diǎn)。
改進(jìn)

最近的研究表明,DualPipe 的雙向部分是不必要的,并可以通過(guò)“減半”程序來(lái)移除,從而進(jìn)一步減少內(nèi)存消耗。

4.2 FP8 混合精度訓(xùn)練

混合精度訓(xùn)練是一種在保持模型性能的同時(shí)提高訓(xùn)練效率的技術(shù),可以在不犧牲性能的情況下減少計(jì)算資源的使用。DeepSeek 使用 FP8 精度來(lái)實(shí)現(xiàn)高效的訓(xùn)練。

實(shí)現(xiàn)細(xì)節(jié)
  1. 精度選擇:FP8 是一種低精度格式,用于加速計(jì)算。然而,由于某些操作對(duì)低精度計(jì)算敏感,DeepSeek 在嵌入模塊、輸出頭、MoE 門(mén)控模塊、歸一化操作和注意力操作中保持了原始精度。
  2. 量化策略:為了擴(kuò)展 FP8 格式的動(dòng)態(tài)范圍,DeepSeek 采用了一種細(xì)粒度的量化策略。具體來(lái)說(shuō),使用 tile-wise 或 block-wise 分組來(lái)處理數(shù)據(jù),其中Nc是通道大小,在 DeepSeek 中設(shè)置為 128。
  3. 高精度積累:為了確保計(jì)算的準(zhǔn)確性,DeepSeek 在低精度 GEMM 操作中使用高精度積累。具體來(lái)說(shuō),通過(guò)定期將中間結(jié)果復(fù)制到 CUDA 核心的 FP32 寄存器中進(jìn)行全精度 FP32 積累。

5 GRPO

先來(lái)簡(jiǎn)單看下PPO和GRPO的區(qū)別:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

  • PPO:通過(guò)獎(jiǎng)勵(lì)和一個(gè)“評(píng)判者”模型(critic 模型)評(píng)估每個(gè)行為的“好壞”(價(jià)值),然后小步調(diào)整策略,確保改進(jìn)穩(wěn)定。
  • GRPO:通過(guò)讓模型自己生成一組結(jié)果(比如回答或行為),比較它們的相對(duì)質(zhì)量(優(yōu)勢(shì)),然后優(yōu)化策略。它的特點(diǎn)是不需要額外的“評(píng)判者”模型(critic 模型),直接用組內(nèi)比較來(lái)改進(jìn)。
5.1. GRPO目標(biāo)函數(shù)的數(shù)學(xué)原理

GRPO的目標(biāo)函數(shù)如下:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

這個(gè)函數(shù)看起來(lái)復(fù)雜,但我們可以將其拆解為幾個(gè)關(guān)鍵部分,逐一分析其作用和意義。GRPO的目標(biāo)函數(shù)由兩大部分組成:策略梯度更新項(xiàng)和KL散度正則化項(xiàng)。我們分別分析它們的作用。

策略梯度更新項(xiàng)

策略梯度部分是目標(biāo)函數(shù)的主要成分,形式為:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

核心思想

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

概率比

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

剪切操作

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

這限制了策略更新的幅度,防止單次更新偏離舊策略太遠(yuǎn)。

最小值操作

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

這種設(shè)計(jì)類(lèi)似于PPO算法,通過(guò)剪切和最小值操作增強(qiáng)訓(xùn)練穩(wěn)定性。

平均操作

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

這些平均和期望操作使目標(biāo)函數(shù)能夠泛化到不同的狀態(tài)和軌跡。

KL散度正則化項(xiàng)

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

GRPO算法的整體工作流程

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

GRPO是一種基于組獎(jiǎng)勵(lì)的策略優(yōu)化算法,其工作流程可以分為以下幾個(gè)步驟:

DeepSeek-R1關(guān)鍵創(chuàng)新技術(shù)再總結(jié)-AI.x社區(qū)

整個(gè)流程通過(guò)迭代優(yōu)化實(shí)現(xiàn):從輸入問(wèn)題到生成響應(yīng),再到獎(jiǎng)勵(lì)分配和優(yōu)勢(shì)計(jì)算,最后更新策略,形成一個(gè)閉環(huán)。

6 訓(xùn)練后:對(duì)基礎(chǔ)模型進(jìn)行強(qiáng)化學(xué)習(xí)

在深度學(xué)習(xí)模型中,訓(xùn)練后的強(qiáng)化學(xué)習(xí)(RL)階段通常用于進(jìn)一步提升模型的性能,特別是在生成任務(wù)中。DeepSeek 模型在這一階段采用了多種策略來(lái)優(yōu)化其表現(xiàn)。

6.1 純強(qiáng)化學(xué)習(xí)(Pure Reinforcement Learning)

純強(qiáng)化學(xué)習(xí)是指在沒(méi)有監(jiān)督微調(diào)(SFT)數(shù)據(jù)的情況下,直接對(duì)基礎(chǔ)模型進(jìn)行強(qiáng)化學(xué)習(xí)。DeepSeek-R1-Zero 是通過(guò)這種方式訓(xùn)練的模型。

實(shí)現(xiàn)細(xì)節(jié)
  1. 基礎(chǔ)模型:DeepSeek-R1-Zero 基于 DeepSeek-V3-Base 模型進(jìn)行訓(xùn)練。該模型沒(méi)有使用任何 SFT 數(shù)據(jù),完全通過(guò)強(qiáng)化學(xué)習(xí)進(jìn)行優(yōu)化。
  2. GRPO 算法:DeepSeek-R1-Zero 使用 Group Relative Policy Optimization (GRPO) 算法進(jìn)行訓(xùn)練。GRPO 通過(guò)直接估計(jì)優(yōu)勢(shì)函數(shù)來(lái)簡(jiǎn)化 PPO 的實(shí)現(xiàn),從而提高訓(xùn)練效率。
  3. 獎(jiǎng)勵(lì)函數(shù):模型使用兩種類(lèi)型的獎(jiǎng)勵(lì)函數(shù): ?準(zhǔn)確性獎(jiǎng)勵(lì):評(píng)估模型響應(yīng)的正確性。 ?格式獎(jiǎng)勵(lì):強(qiáng)制模型在其思考過(guò)程中使用特定的標(biāo)簽(如??<think>?? 和??</think>??),以提高可讀性和邏輯性。
  4. 訓(xùn)練模板:設(shè)計(jì)了一個(gè)訓(xùn)練模板來(lái)指導(dǎo)模型遵循特定的格式,先生成推理過(guò)程,然后給出最終答案。

挑戰(zhàn):純強(qiáng)化學(xué)習(xí)雖然能夠提高模型的性能,但也面臨一些挑戰(zhàn),如生成內(nèi)容的可讀性和語(yǔ)言一致性。這些問(wèn)題通常需要通過(guò)進(jìn)一步的訓(xùn)練和優(yōu)化來(lái)解決。

6.2 強(qiáng)化學(xué)習(xí)與冷啟動(dòng)

DeepSeek-R1 采用了一種迭代訓(xùn)練方法,結(jié)合了監(jiān)督微調(diào)和強(qiáng)化學(xué)習(xí)來(lái)優(yōu)化模型性能。

實(shí)現(xiàn)細(xì)節(jié)
  1. 冷啟動(dòng)階段:為了緩解 RL 訓(xùn)練初期的不穩(wěn)定性,DeepSeek-R1 收集了數(shù)千個(gè)長(zhǎng)鏈推理(Chain-of-Thought, CoT)示例來(lái)微調(diào) DeepSeek-V3-Base 模型。這為后續(xù)的強(qiáng)化學(xué)習(xí)提供了堅(jiān)實(shí)的基礎(chǔ)。
  2. 推理導(dǎo)向的 RL:在冷啟動(dòng)數(shù)據(jù)上微調(diào)后,模型進(jìn)行與 DeepSeek-R1-Zero 相同的 RL 訓(xùn)練過(guò)程。為了提高語(yǔ)言一致性,引入了一個(gè)額外的獎(jiǎng)勵(lì)來(lái)衡量 CoT 中目標(biāo)詞的比例。
  3. 拒絕采樣和 SFT:在這一階段,模型的目標(biāo)是提高其在寫(xiě)作、角色扮演等通用任務(wù)上的表現(xiàn)。通過(guò)拒絕采樣從檢查點(diǎn)收集約 600k 的推理相關(guān)訓(xùn)練樣本,并保留正確的響應(yīng)。此外,還收集了約 200k 的非推理訓(xùn)練樣本。
  4. RL 對(duì)齊:這一階段的目的是更好地對(duì)齊模型與人類(lèi)偏好,提高其有用性和無(wú)害性,同時(shí)改進(jìn)推理能力。有用性基于響應(yīng)的效用和相關(guān)性進(jìn)行評(píng)估,而無(wú)害性則通過(guò)評(píng)估整個(gè)響應(yīng)來(lái)減少潛在風(fēng)險(xiǎn)、偏見(jiàn)或有害內(nèi)容。

通過(guò)這種迭代訓(xùn)練方法,DeepSeek-R1 能夠在保持高準(zhǔn)確性的同時(shí),提高生成內(nèi)容的質(zhì)量和多樣性。


公眾號(hào)大模型自然語(yǔ)言處理  作者:余俊暉

原文鏈接:??https://mp.weixin.qq.com/s/QnFpaG4253PrWwejFCbp_g??


?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦