今天小編分享的科技經驗:小白讀懂DeepSeek:從MoE到MLA,國產AI改變世界,歡迎閲讀。
此前,不少讀者都在後台讨論,DeepSeek 雖然牛逼,但是在其之上還有 ChatGPT 等更強的 AI 模型,難道僅憑開源就能夠引起如此廣泛的關注?再説回來,DeepSeek 能夠被 AI 從業者反復琢磨和研究,到底是有哪些過人之處?
圖源:DeepSeek
對于這個問題,其實有不少專業文章都做過解釋,不過大家未必會想去看萬字長文,也對枯燥的學術概念沒啥興趣。所以小雷這次打算用通俗易懂的方式,向大家解釋一下 DeepSeek 在 AI 模型的訓練和設計中,到底有哪些讓人眼前一亮的創新。
自打 DeepSeek-V2 發布以來,這個 AI 模型就以高效而聞名,大家對此估計也都有所耳聞,甚至一度被網友稱為 " 三低一高 ":低推理成本、低參數量、低硬體要求、高推理性能。
不少網友都認為 DeepSeek 之所以比 ChatGPT 等 AI 模型更高效,是因為使用了稀疏結構。這個結論并沒有錯,只是稀疏架構并非 DeepSeek 獨創,是泛指在運行過程中會選擇性激活一部分網絡單元,而非激活全網絡單元的 AI 模型,其最早在深度學習的神經網絡應用中被提出,并成為 AI 領網域的主流結構之一。
稀疏結構的優勢是可以用更少的算力資源來運行和訓練更大參數量的模型,并且在實際的推理過程中擁有更高的效率,不過也因此會導致其出現其他缺陷,這個我們在接下來再詳細説明。
而 ChatGPT 等 AI 模型則是采用的稠密結構,也就是為每一個數據塊都進行單獨标記,并且每一個數據塊都與前一層所有數據塊相連,形成密集的數據矩陣。當你在進行推理 / 訓練時,本質上會讀取整個模型的所有參數,借助龐大的參數量可以進行更復雜的計算和更準确的回答,缺點則是當參數量過大時,效率會愈發低下。
從 AI 大模型的角度來説,其實并不存在最好的選擇,稀疏和稠密都有各自的優缺點,目前主流的 AI 企業基本對兩種結構都有所研究,只是根據各自模型的特性和應用範圍,會選擇不同的結構。
以 ChatGPT 這種全通用型的 AI 模型為例,為了覆蓋盡可能多的領網域,其用的就是稠密架構,但是也讓 ChatGPT-5 一直難產,即使以 OpenAI 的龐大算力矩陣也難以解決龐大參數量所導致的超高算力消耗和效率下降問題。
而 DeepSeek-R1 也有着 671B 參數量,但是因為采用稀疏架構,實際上每次只激活其中 32B 的參數,加上 DeepSeek 的思維鏈優化等技術,就可以實現近似于 ChatGPT-4o 和 o1 的推理能力。
DeepSeek 如何做到這點的?接下來讓我們隆重介紹一下 DeepSeek-R1 的核心——MoE+MLA+MTP。
首先,DeepSeek 創新性地應用 MoE 架構提高訓練效率。
首先需要明确的是,MoE 并非 DeepSeek 首創,其最早在 20 世紀 90 年代就已經被提出,随後在機器學習領網域的專家 Jordan 和 Jacobs 的完善下,在 1994 年進一步發展成 " 分層混合專家 " 模型的概念。
圖源:Hugging Face
随後,2017 年時由谷歌的研究團隊首先将其用在了深度學習領網域,提出一個具有 1370 億參數的稀疏 MoE 模型,并且展示了在 MoE 架構下進行高效推理的可能。MoE 架構到底是什麼?簡單來説,就是将一個巨大的 AI 模型切割成多個子模型,相當于将一個全科天才拆抽成語文、數學、化學、生物等不同學科的專家(實際劃分并非如此,而是更復雜)。
在 MoE 架構下,當你提出一個問題時,AI 會首先判斷這個問題涉及哪些專家,然後跳過那些不相關的專家,把對應領網域的專家喊過來讨論你的問題,然後得出結果。而傳統的 Dense 架構則是全科天才需要處理所有問題,雖然能力強大,但是當問題變多時就會顯得效率十分低下,而且其消耗的資源也遠超 " 普通專家 "。
聽起來,MoE 架構似乎更合理,那麼為何國外主流 AI 模型沒有使用呢?實際上并非如此,ChatGPT-4 等模型都有使用 MoE 架構的部分特性強化效率,只不過最終還是選擇以 Dense(密集)架構為主。而沒有将 MoE 作為主架構的原因主要是這個架構存在訓練不穩定、通信成本高、模型復雜度高、微調困難等問題,説白了就是你得對模型進行精雕細琢,無法通過單純的堆高算力和加大參數量來得到顯著提升。
只能説 " 窮人家 " 的孩子早當家,DeepSeek 在沒有龐大算力支持的情況下,只能轉而對模型進行深度優化,放棄了 DeepSeek-V1 的 Dense 路線,轉向在同等算力下有着更高效率的 MoE,并且針對 MoE 的各種問題開發了一系列的解決措施。比如設計了一種創新的無輔助損失負載均衡策略,通過預先設定的負載均衡邏輯來動态調整負載,抛棄傳統的額外的損失函數方案。
簡單來説,傳統方法是經理總攬全局,如果看到哪個產線過度繁忙,就會通知那個產線的工人你們要被罰款了,不想扣錢就把工作讓給隔壁沒活幹的產線。因為需要經理不停發出指令調整分配,所以實質上增加了管理復雜度,并且難以應付大量的數據請求。
而 DeepSeek 則是選擇給每個產線都增加一個智能控制器,當控制器檢測到產線負載逐漸增加時就會自動調低自己的優先級,讓系統将任務分配給優先級更高的其餘空餘產線。從而實現在無人管理的情況下,多數產線都可以得到均衡的負載,确保訓練和推理的效率一直保持在高位。
其次,DeepSeek 用 MLA 創造性地提高推理效率。
解決了訓練效率等問題,DeepSeek 很快将注意力放到了進一步解決推理效率的問題上,然後在某位研究員的 " 靈光一閃 " 下開發出了 MLA ——多頭潛在注意力機制。從技術角度來説,就是通過将注意力頭的鍵和值進行線性變換,将他們壓縮到一個共享的低維潛在向量空間,接下來推理時只需要拿着壓縮後的縮略圖倒騰即可,在得到結論後再把對應的壓縮包解壓,計算其中的鍵和值并輸出最終答案。
讓我們用一個更簡單的比喻,你可以把傳統多頭注意力機制看作一個老圖書館,每本書都擁有對應的詳細索引卡,此時進來一個人要借書,然後 AI 開始翻動索引卡,嘗試從浩如煙海的圖書中找到對方要的書,雖然 AI 的查找速度奇快,但是這樣做的效率肯定不會高。
而 DeepSeek 的 MLA 就是在編好索引卡後對書籍又按照類别進行歸檔,為每個類型的書籍建立一個上級索引,然後又建立了一個智能化的檢索機制。當借書人在輸入書名後,系統會自動判斷所屬類型,然後直接鎖定大致區間,接下來只需要檢索這一片書架就能把書找出來,直接節省了大量的無效檢索時間。
最後 ,DeepSeek 引入 MTP 機制提高預測能力。
解決了訓練和推理等問題,DeepSeek 就很自然地開始對預測機制下手,預測機制涉及 AI 的訓練效率、推理速度和回答質量等各個方面,可以説是 AI 模型的核心機制之一。傳統的 AI 在預測時都是 " 循規蹈矩 ",就像解一道數學題一樣,做完一段推理後再進入下一階段。
而 DeepSeek 則是引入了 MTP 機制(多令牌預測),簡單來説就是讓你多了好幾只手,然後把數學題的解題過程一分為五,五只手同時驗算,最後再進行組合生成答案。正是通過這種方式,DeepSeek 極大地提高了模型的訓練效率,同時也使其推理效率得到顯著提升。
而且,MTP 機制下生成出來的文字内容會更加流暢和自然,因為 MTP 機制就等于将 " 走一步看一步 " 的寫作方式,變成了 " 先拟大綱再填充字詞 "。DeepSeek 先想好要寫什麼,然後再通過 MTP 生成一系列字詞,選擇其中相關性更強的部分組合,這也是為什麼大家在看 DeepSeek 生成的文字内容時,會感覺更有 " 人 " 味,因為這就是人類的寫作方法。
從 DeepSeek-V2 引入 MoE 并完善 MLA,再到 DeepSeek-V3 加入 MTP,最終才有了 DeepSeek-R1 的誕生基礎。
DeepSeek-R1 也就是我們現在常説的 " 滿血版 "DeepSeek,是在 V3 的基礎上經過 " 強化學習 " 進化而來的。什麼是強化學習?
要回答這個問題,首先我們來了解下傳統 AI 的訓練模式——監督學習。
監督學習就是把 AI 當成一個 " 笨 " 學生,他只能理解你明确标注出來的知識點。比如他看到一個 " 白鴨子 ",即使他此前已經記住了 " 黑鴨子 ",但是在你把 " 白鴨子 " 的名字标注出來,并将其與 " 黑鴨子 " 歸為一類之前,AI 都不知道擺在自己面前的 " 白色奇怪物體 " 是什麼。
當你标注的數據足夠多後,AI 才能在後續的推理過程中,根據現有的數據特點來自主判斷面前的 " 紅鴨子 " 是一只 " 鴨子 "。這種模式下,需要通過 AI 的交叉标注和人工手動微調來引導 AI 一點點累積知識,在 AI 大模型發展的初期倒也還好,但是随着 AI 模型的參數量突破千億、萬億,标注效率下降的同時成本會大幅度上升,只能通過不斷堆高算力來 " 大力出奇迹 "。
圖源:Medium
所以,對于 DeepSeek 這樣算力有限的公司來説,監督學習是個一眼就能看到盡頭的死路,想進一步強化 AI 就只能走出一條新的路,于是他們想到了機器學習領網域的強化學習概念,決定讓 AI 自己教自己學習,又稱 " 左腳踩右腳上天 " 法。
DeepSeek 抛棄了復雜的标注和獎懲機制,選擇了更簡單的方案:給出問題,提供正确答案,然後讓 AI 自主推理。在完成前期的數據标注後,不再幹涉推理過程,讓 AI 自行比對結果與标準答案的區别,将低于一定得分的結果直接廢棄,并在更接近标準答案的結果上進行新一輪推理,重復多次直到最終得出正确答案為止。
然後 DeepSeek 的研究人員就發現,随着 AI 的訓練步數增加,AI 的思維鏈也越來越長,并且開始出現自我反思的能力,AI 會為了更快地接近正确答案而回頭檢索出錯的推理過程,然後将其标記避免自己再犯同樣的錯誤。
DeepSeek 第一個完全由強化學習方式訓練的 AI 被命名為 DeepSeek-R1-Zero,在這個模型的相關論文中,DeepSeek 的研究人員甚至提到 R1-Zero 在強化學習過程中會出現奇怪的舉動。當他在計算某個問題,并且開始接近正确答案時,會突然出現與推理過程相關性不大的感慨 "Wait, wait, Wait. That's an aha moment I can flag here.(論文原話)",翻譯過來就是:等等,等等,等等。這是一個我可以标記的‘啊哈’時刻。
看起來就像你在冥思苦想一個數學難題,突然靈光一閃後情不自禁發出的感慨,因此 DeepSeek 也将這種現象稱為 "aha moment",也就是 " 頓悟 "。
DeepSeek-R1-Zero 直接證明了一個結論,那就是只要基礎模型足夠強大,那麼就可以讓這個模型在強化學習的過程中,自我進化出一個更強大的模型。理論上,未來的 AI 模型可以直接脱離人類的幫助,在不停地自問自答中進化到更高的智能水平。
當然現階段還是不行的,AI 仍然需要人類進行事先的标注,确認條件、對比結果等數據,然後才能進入自主強化學習階段,但是從目前各個 AI 大廠的進度來看,我們距離 AI 完全自主學習的階段可能并不遙遠。
DeepSeek 的強化學習理念可以説徹底颠覆了主流 AI 訓練的理念,在狂堆算力和參數的 " 暴力模式 " 之外,指出了一條更适合多數人的新捷徑。當然,之前并非沒有其他人嘗試過強化學習,但是他們都沒有一個足夠高效且出色的基礎模型,而且也沒能解決強化學習中遇到的一系列問題,所以最終只有 DeepSeek 成功并打造出了 DeepSeek-R1。
不過随着 DeepSeek-R1 及相關訓練技術的開源,不少 AI 大廠都已經在嘗試引入相關機制來訓練模型,并在他們原有的強化學習架構上根據 DeepSeek 的經驗進行優化,或許我們很快就會迎來一次新的 AI 性能暴漲。
DeepSeek 在 2 月 18 号還公布的一篇新論文,這篇由 DeepSeek 創始人之一梁文鋒親自挂名的論文,短短兩小時就獲得了三十萬浏覽量(截止到 19 号晚,閲讀量已接近 200 萬)。
在這篇論文中,DeepSeek 提出了一種新的注意力機制—— NSA,這是一個可以用于超快長上下文訓練和推斷的本地可訓練的稀疏注意力機制,并且具有硬體對齊特性,從論文的描述來看,可以将 64K 長文本的訓練速度提升 9 倍,推理速度提升 11.6 倍。
這是什麼概念呢?簡單的説,如果之前訓練一段 64k 長度的文本需要 100 秒,那麼現在只需要 11 秒,推理相同長度的文本内容,從 100 秒直接降低到 10 秒以内。不僅如此,使用 NSA 訓練的 AI 在 64k 文本裏的命中準确率從傳統的 35% 提升到 100%,并且保持效率優化不變。
而且不止是強化文本推理,在數學推理等方面,NSA 也讓 AI 的準确率得到顯著提升,在省下 90% 算力的情況下還能提升推理正确率,我們一般用兩個字來形容:逆天。
基于 NSA 注意力機制,AI 模型可以用原本十分之一的算力來處理 64k 文本,也可以中同樣算力的情況下,将可處理文本擴大十倍,理論上基于新的機制可以處理最高 640k 的超長文本,遠超現有的已公開 AI 模型上限。
看起來或許只是效率提升,實際上對整個 AI 的理解和推理效果都将帶來質的提升。比如説讓 AI 看一本書,如果字數是 30 萬字的長篇小説,那麼傳統模式下的 AI 受 64k 文本限制,一次只能記住約五分之一的内容,需要在讀完五分之一後先建立一個記憶存檔,然後開始讀取下一部分。
當你詢問 AI 剛剛他讀的某一段内容的看法時,他需要先檢索出對應的記憶模塊,再通過此前生成的對應摘要來定位内容位置,接着再重新閲讀上下文并進行推理。但是受限于 64k 的檢索範圍,實際上 AI 只能根據内容所在的前後共 64k 的内容來進行推論,在算力不足或受限的情況下,你會發現 AI 經常答了後面忘了前面,記憶力似乎還不如你。
這也是為什麼現在的 AI 在長篇小説創作、解讀等方面的表現不如人意,根本原因就是 AI 記不住這麼長的文字内容,不僅受限于算法,也受限于算力。而 DeepSeek 則打算徹底改變這個現狀,打造一套" 基于塊(blockwise)進行選擇 ",并采用了壓縮、篩選、滑動視窗三種注意力機制并行優化計算效率的系統。
DeepSeek 的 NSA 注意力機制就是将長文本切割成 512 字的數據塊,然後再對數據塊進行簡略标記,接着再通過編寫動态篩選機制,讓 AI 自主決定需要檢索哪些數據塊,并通過持續的訓練來進一步優化篩選機制。
在篩選出 " 有用 " 的數據塊後,AI 再對數據塊進行全面檢索,也就是進入傳統 AI 的遍歷模式,以此來提升推理準确率,同時還會啓動上下文檢索機制,快速查找是否還存在其他相關信息,避免 AI 根據篩選的内容 " 斷章取義 ",給出錯誤的回答。
DeepSeek 的這個技術以一種巧妙的方式,輕松實現了過去難以解決的長文本推理和創作問題,讓 AI 可以直接閲讀數十萬字的巨作,并且記住其中絕大多數的細節。換言之,即使你突然丢給 AI 一本自己寫的超長小説,他也可以在短時間内閲讀并記住,然後與你讨論整部小説的設定和細節,彼時或許才是多數小説作家的 " 革命之時 "。
NSA 的提出意味着 AI 模型在處理超長文本、復雜推理任務時邁向了新的階段,為未來的大模型發展提供了重要的技術方向,也讓人好奇 DeepSeek 到底打算把開源做到怎樣的地步?
DeepSeek 采取開源架構,在前不久的 " 開源周 " 上,它大方地開放了多個技術 / 工具 / 架構,每一個都将對 AI 大模型產業產生深遠影響。
1、FlashMLA:給 AI 開個 " 外挂 "。
圖源:雷科技
FlashMLA,官方的解釋是一款面向 Hopper GPU 的高效 MLA 解碼内核,并針對可變長度序列的服務場景進行了優化。
用更通俗的説法來解釋,就是一個針對 H 系列計算卡的超頻 " 外挂 ",為什麼叫外挂而非工具?因為 FlashMLA 的效果實在是太炸裂了。根據 DeepSeek 給出的參數,經過 FlashMLA 優化的 H800 計算卡,在計算受限的情況下仍然能擁有高達 580TFLOPS 的算力,内存帶寬達到 3000GB/s。
這是什麼概念?這麼説吧,H800 是由 H100 閹割而來的性能殘缺版,但是在優化後算力已經超越了 H100 的默認算力(495TFLOPS),并且内存帶寬接近顯存的理論上限值,對比默認狀态下帶寬提升約 50% 的性能,接近 H100 經過專屬優化後的巅峰性能。
換句話説,DeepSeek 硬生生将 H800 優化成了超頻版的 H100,突破了算力的限制。不僅如此,針對長序列推理時出現的顯存碎片問題,FlashMLA 通過将分頁 KV 緩存切割為 64-block 粒度的技術,将顯存利用率大幅度提高,并顯著降低實際推理過程中無效算力的占比,并讓長序列推理的端到端時延降低 40%,直接提升了實時對話和長文本生成等實用場景下的體驗。
FlashMLA 開源後,一些開發者直接将 DeepSeek 稱為 " 源神 "(開源之神),因為這相當于把 DeepSeek-R1 最核心的效率工具之一免費貢獻給整個 AI 行業。不管是直接部署使用還是在此基礎上進行更多硬體的适配和優化,都可以顯著提升模型的算力效率并降低推理成本,用 " 榨幹 GPU 的每一絲潛力 " 來形容都不為過。
2、DeepEP:MoE 模型的通信革命。
從官方描述來看,DeepEP 是一款針對 MoE 模型訓練和推理所設計的 EP(專家并行)通信庫,旨在解決這類模型在常規通信機制下的高延遲、低數據傳輸速率等問題。
我們前面説到過 MoE 是由一個個 " 專家 " 組成的數據矩陣,而且這些專家還位于不同的 GPU 内核,為了可以攜手解決問題,自然需要進行交流和通訊,分享自己掌握的數據。如果説傳統的通信機制類似于發電報,那麼 DeepEP 就等于裝上了語音電話,不僅讓兩個專家可以即時交流,還能邊交流邊思考。
官方發布的基準測試裏,經過優化後的帶寬通信利用率高達 92%,是英偉達官方解決方案的 3 倍,而通信時延也從毫秒級降到了微秒級,同時支持 FP8 低精度運算。可以説,這就是 DeepSeek 為了強化 MoE 模型的訓練和推理,而專門定制的一套方案。
但是這玩意的離譜之處就在于,DeepEP 實際上可以适配 H 系列的各種 GPU 内核,并且提供了一鍵部署方案,只是還需要大家在此基礎上做進一步适配優化來達到最佳效果。這項技術的開源,可以説直接給 MoE 模型的訓練提供了一個很好的優化思路,并且已經在實際使用中得到了充分驗證。
3、DeepGEMM:壓箱底的 " 寶貝 "。
DeepGEMM 是一個專為簡潔高效的 FP8 通用矩陣乘法(GEMM)設計的庫,具有細粒度縮放功能,支持普通和混合專家(MoE)分組的 GEMM。以上是官方解釋,一般讀者可能看不懂,不過沒關系,因為大多數人都是一樣的,咳咳。
簡單的講,這就是一個教你如何在 FP8 精度下訓練 AI 大模型,同時還保證 AI 大模型的訓練不會出問題的玩意。什麼是 " 精度 "?直觀解釋就是數據的準确性,舉個例子," 小明的身高是 1 米 7" 這就是 FP8," 小明的身高是 1 米 72" 這就是 FP16,精度越高所含的數據就越精準,在 AI 大模型訓練中就可以得出更準确的結果。
但是高精度也會帶來問題,那就是數據包本身會占用更大的算力資源,FP16 的内存占用幾乎是 FP8 的兩倍,而且還會因此影響到傳輸速度等各方面的效率。所以實際訓練中 FP16 的效率是遠不如 FP8 的,只不過 FP8 一直也存在嚴重各種問題,以至于在公開範圍内,還沒有哪個 AI 大模型是以 FP8 精度完成訓練的。
而 DeepSeek 此前公布訓練成本時,其實就已經指出高效的背後與 FP8 精度訓練脱不開關系,其中的關鍵就是 DeepGEMM。該代碼庫用一種雙重驗證 + 智能糾錯的方式,讓 FP8 在實際訓練中也能夠擁有媲美高精度訓練的準确率,并且解決了溢出等各種問題。
當然 DeepGEMM 的作用不止于此,不過這是最核心的應用之一(更詳細的解讀大家可以去看看知乎大佬們的解答)。你可以認為 DeepSeek 這波就是把真正的壓箱底玩意拿出來分享了,大家可以根據 DeepGEMM 的思路,将 AI 大模型的訓練成本大幅度降低,并且提高整個 AI 大模型的運行效率。
DeepGEMM 的整個執行代碼只有約 300 行,堪稱極致的精簡和效率,以至于有外國網民評價:這是一份可以直接入選教科書的代碼,讓我重新領略到了代碼的美。
不得不説,DeepSeek 真的是将開源精神貫徹到極致。從 DeepSeek-R1 及相關算法的完全開源,到開源周的壓箱底技術大放送,幾乎都采用 MIT 或類 MIT 的開源協定,所有人都可以自由地使用、復制、修改、合并、發布、分發、再許可及銷售軟體及軟體的副本,不受任何制約,而且不強制要求使用開源庫的項目進行開源。
從商業公司的角度來看 DeepSeek 的做法簡直匪夷所思,因為 DeepSeek 本可以借助這些技術優勢來獲取更大的利潤,但是卻選擇了完全開源,以此換取整個 AI 行業的躍升。這個形容并不誇張,畢竟從 DeepSeek 開源的一系列技術來看,AI 模型的推理成本有望在今年降低 50% 甚至更多,而且在實時互動等方面都将有顯著的體驗提升。
而且,DeepSeek 的開源做法也使得更多的 AI 企業開始考慮加入開源陣營,從根本上促進了整個 AI 行業的交流與學習,讓 AI 企業從 " 重復造輪子 " 的閉源困境中解脱,從這個角度來看,稱 DeepSeek 的開源為 AI 發展史上的重要節點也毫不為過。
雖然 DeepSeek 的大多創新都是在已有的概念上,進行極致「工業化」的成果。但是就像英國鐵匠托馬斯制造了第一台真正實用的蒸汽機,但是卻只能用來抽礦井積水,而詹姆斯 · 瓦特則将其變得更具效率且更通用,最終為工業革命徹底奠定了基礎。
DeepSeek 的開源就像把自己的「通用技術」拿了出來,讓大家都能用上了「通用蒸汽機」,在 DeepSeek 的影響下,AI 的普及将比預料的更快。對于普通人來説,DeepSeek 的最大意義在于讓我們不用再忍受低質量的 AI 模型困擾。而對于 AI 行業來説,他的意義在于從根本上改變了整個行業的動向,讓開源變得更受重視,讓強化學習機制的潛力得到進一步認可。
最後,文章開頭的問題答案其實很簡單,DeepSeek 的創新總結起來無非就三點:更高效、更自主(指 AI 訓練)和更開放。