《DeepSeek源碼深度解析》是一本系統講解DeepSeek源碼及其核心實現原理的技術指南,內容覆蓋了從基礎概念到高級應用的全流
程知識。全書共7章,結構層層遞進。第1章對DeepSeek進行了全面概述,幫助讀者構建對DeepSeek系統的整體認
知。第2章聚焦于環境搭建、代碼獲取與模型部署接入,為后續深入研究提供基礎。第3章深入探討了MoE(混合
專家模型)的基本原理、功能模塊與優化技術。第4章詳細解析了DeepSeek-V3模型的架構知識,并通過測試驗證
展示了系統的實際效果。第5章圍繞統一多模態大模型展開,介紹了Janus系列架構、核心技術及工具模塊。第6章
針對高分辨率圖像場景,探討了結合MoE、細粒度特征提取與視覺/語言適配器的多模態模型的知識。第7章聚焦
DeepSeek-R1推理大模型,展示了DeepSeek在推理性能與自我進化方面的前沿探索。
《DeepSeek源碼深度解析》適合人工智能工程師、深度學習研究者、AI產品開發人員及高校師生閱讀。無論您是希望夯實開源模型基礎,
還是尋找前沿實戰案例,《DeepSeek源碼深度解析》都將為您提供全面而深入的參考與指導。
這個技術有什么前途
隨著移動互聯網日趨完善和語音技術的不斷成熟,用戶獲取信息的方式呈現碎片化、本地化、個性化、情境化等特點。這類需求催生了大量的交互式人工智能應用產品。例如,讓人們從重復枯燥的高度標準化的客戶交流中解救出來的智能客服系統,執行疫情流調的智能語音機器人,像蘋果的Siri這樣的智能助理,像微軟的小冰這樣的情感陪伴AI等。智能對話是這些產品的底層技術,因而基于理解的對話交互式信息獲取逐漸成為新興的自然語言處理關鍵技術。
近年來,智能對話技術受到學術界和工業界的廣泛關注。隨著人工智能的發展,智能對話技術也逐漸從基于規則的受限專家系統,朝著結合機器學習、深度學習、強化學習和知識圖譜等多項技術的認知型系統演進。作為一個初學者,它可以作為自然語言處理學習的系統方向之一。作為人工智能方向的從業者,學習和掌握智能對話技術能夠幫助拓寬業務算法的解決思路,也是應聘自然語言處理工程師或Python工程師的一個加分項。
筆者的使用體會
隨著智能對話在智能客服和智能音箱的逐漸落地應用,人們看到其在產業界的巨大潛力。它是繼搜索引擎、推薦、翻譯等自然語言處理(NLP)應用之后,又一極具前景的NLP應用方向。
筆者深感這一領域的日新月異,這個方向的論文成果層出不窮。但是這些理論性較強,實操性相對較差。需要初學者具備較多基礎,閱讀難度較大。縱觀市場上全面介紹智能對話的中文書寥寥無幾,傾向于僅僅介紹深度學習模型。這導致初學者對于智能問答缺乏一個系統深入性的認識。
智能對話是一個需要較多數學基礎,機器學習、深度學習和強化學習理論及自然語言實踐基礎的方向。它也是一個實操性很強的方向,存在一些像AIML和Rasa這樣優秀的開源框架可供初學者迅速建立智能對話系統的感性認知。由于它的實用性,也存在一些優秀企業級智能對話架構供參考。閱讀智能對話相關的優秀源碼也是初學者提升智能對話系統認知和構建水平的捷徑。
這本書的特色
- 從零開始:基礎理論介紹和智能對話開源框架使用講解,入門門檻低,易于初學者實戰上手。
- 內容全面:內容涉及FAQ問答、知識圖譜問答、任務型問答和表格型問答等主要智能對話類型,也涵蓋這些智能對話類型企業級的綜合應用實例講解。
- 內容新穎:既有深度學習前沿算法介紹,也有強化學習智能對話相關算法及代碼講解。
- 經驗總結:全面歸納和整理作者多年的智能對話實踐經驗。
- 內容實用:結合大量源代碼和開源框架實例進行講解,能迅速搭建自己的智能對話系統。
- 通俗易懂:理論深入淺出,每章均可單獨閱讀,可作為床頭書隨時查閱。
本書讀者對象
- 自然語言處理零基礎入門人員及進階人員。
- 初中級NLP工程師。
- 初中級AI算法工程師。
- 開設相關課程的各類院校師生。
- 智能對話系統相關培訓學員。
資源下載
本書所涉及的源代碼已上傳到百度網盤,供讀者下載。請讀者關注封底博雅讀書社微信公眾號,找到資源下載欄目,輸入圖書77頁的資源下載碼,根據提示獲取。
溫馨提示:讀者閱讀本書過程中遇到問題可以通過郵件與筆者聯系。筆者常用的電子郵箱是wuke_sjtu@hotmail.com。
薛棟
----------------------------
薛棟,華東理工大學信息科學與技術學院副教授/碩士生導師,德國慕尼黑工業大學工學博士,上海市高層次青年人才計劃、浦江人才計劃獲得者。先后在荷蘭格羅寧根大學(RUG)、德國卡爾斯魯厄理工大學(KIT)從事教師和研究員工作。長期從事基于人工智能與大數據相關研究,包括自然語言處理與大語言模型、工業互聯網與工業軟件、復雜網絡與多智能體系統等課題。以第一作者或通訊作者在IEEE TAC、IEEE TSP、IEEE TNSE等國際高級期刊上發表SCI論文30余篇,主持和參與完成多項包括國家自然科學基金面上項目、上海市人才計劃項目、企業科研攻關項目等在內的課題。主講課程包括本科必修課《人工智能數學基礎》和研究生課程《自主無人系統》以及《工業互聯網關鍵技術》。
黃捷
----------------------------
黃捷:福州大學電氣工程與自動化學院教授、博士生導師,福建省閩江學者獎勵計劃特聘教授、福建省高校杰出青年科研人才、福建省引進高層次人才、福州大學旗山學者、福建省閩江科學傳播學者,研究方向涵蓋多智能體系統協同控制與決策、工業互聯網基礎理論與關鍵技術等。現擔任福建省自動化學會副會長、福州大學5G 工業互聯網研究院院長等職務。
第1章DeepSeek概述?
1.1 DeepSeek簡介2
1.1.1 DeepSeek介紹2
1.1.2 DeepSeek的背景與目標2
1.1.3 DeepSeek的產品3
1.1.4 DeepSeek的應用場景5
1.1.5 DeepSeek的核心功能6
1.2 DeepSeek的架構概覽7
1.2.1 DeepSeek的整體架構設計8
1.2.2 DeepSeek的模塊劃分8
1.2.3 DeepSeek與其他模型的技術對比9
第2章環境搭建、代碼獲取與模型部署接入
2.1 環境準備14
2.1.1 硬件環境要求14
2.1.2 軟件環境配置15
2.2 源碼獲取與管理16
2.2.1 開源項目簡介16
2.2.2 獲取源碼18
2.2.3 代碼分支管理19
2.2.4 代碼更新與同步20
2.3 DeepSeek模型的本地部署與接入21
2.3.1 安裝Ollama 21
2.3.2 部署DeepSeek模型22
2.3.3 Chatbox部署可視化23
2.3.4 DeepSeek接入整合25
第3章混合專家模型(MoE)初探?
3.1 項目介紹28
3.1.1 基本特點28
3.1.2 開源內容29
3.2 功能模塊303.3 ZeRO配置30
3.3.1 ZeRO優化器介紹30
3.3.2 第2階段優化配置31
3.3.3 第3階段優化配置32
3.3.4 優化總結34
3.4 模型微調34
3.4.1 微調原理34
3.4.2 生成提示文本35
3.4.3 配置模型微調參數36
3.4.4 設置訓練數據37
3.4.5 配置超參數37
3.4.6 保存模型38
3.4.7 獲取最新檢查點39
3.4.8 安全保存模型39
3.4.9 分詞處理40
3.4.10 文本預處理40
3.4.11 數據收集器41
3.4.12 訓練數據的分詞和預處理42
3.4.13 構建和配置模型42
3.4.14 訓練模型44
3.4.15 微調模型47
3.5 調用模型48
3.5.1 下載模型48
3.5.2 調用模型50
第4章基于DeepSeekMoE架構的DeepSeek-V3
4.1 項目介紹54
4.1.1 核心特點54
4.1.2 訓練流程54
4.1.3 與DeepSeekMoE項目的區別56
4.2 開源信息介紹57
4.3 模型權重58
4.3.1 權重結構58
4.3.2 加載規則59
4.3.3 FP8權重60
4.4 超參數配置61
4.4.1 小規模版本(16B)的配置61
4.4.2 中規模版本(236B)的配置63
4.4.3 大規模版本(671B)的配置64
4.5 模型架構64
4.5.1 DeepSeek-V3模型架構介紹65
4.5.2 配置信息66
4.5.3 并行嵌入68
4.5.4 線性變換69
4.5.5 線性層70
4.5.6 RMSNorm(均方根層歸一化)73
4.5.7 RoPE計算74
4.5.8 多頭注意力層77
4.5.9 多層感知器80
4.5.10 DeepSeek-V3中的MoE架構實現81
4.5.11 Transformer模型86
4.5.12 驗證和測試88
4.6 量化計算88
4.6.1 輸入張量進行量化處理89
4.6.2 塊級量化處理89
4.6.3 權重矩陣的反量化90
4.6.4 對激活值和權重的量化與反量化91
4.6.5 調優參數92
4.6.6 FP8矩陣乘法內核92
4.6.7 FP8矩陣乘法實現94
4.7 權重轉換95
4.7.1 權重格式轉換95
4.7.2 權重精度轉換98
4.7.3 不同硬件平臺的轉換101
4.8 測試模型102
4.8.1 模型加載與文本生成102
4.8.2 測試功能106
4.9 DeepSeek-V3模型總結108
第5章統一多模態大模型?
5.1 項目介紹112
5.2 架構原理與核心技術112
5.2.1 Janus架構113
5.2.2 Janus-Pro架構114
5.2.3 JanusFlow架構116
5.2.4 核心技術對比117
5.3 開源信息介紹118
5.4 工具模塊119
5.4.1 對話管理120
5.4.2 數據加載129
5.5 構建多模態模型131
5.5.1 向量量化模型131
5.5.2 CLIP視覺編碼器146
5.5.3 投影器148
5.5.4 Vision Transformer視覺模型150
5.5.5 圖像處理器167
5.5.6 多模態因果語言模型171
5.5.7 多模態處理器177
5.6 JanusFlow模型架構185
5.6.1 多模態模型185
5.6.2 數據預處理189
5.6.3 U-ViT模型190
5.7 模型推理212
5.7.1 多模態推理測試212
5.7.2 文生圖推理213
5.7.3 交互式文生圖推理216
5.8 Web交互測試219
5.8.1 FastAPI測試219
5.8.2 Gradio交互222
第6章適用于高分辨率圖像的多模態模型
6.1 項目介紹228
6.1.1 模型架構228
6.1.2 技術創新與亮點230
6.1.3 模型訓練231
6.1.4 對比Janus項目232
6.2 開源模型233
6.3 開源信息介紹234
6.4 配置文件235
6.5 模型架構237
6.5.1 模型配置237
6.5.2 多模態模型架構242
6.5.3 數據處理259
6.5.4 DeepSeek模型架構276
6.5.5 Vision Transformer(ViT)的視覺模型328
6.5.6 對話模板和歷史記錄管理349
6.5.7 DeepSeek-VL2模型總結356
6.6 模型部署和在線服務359
6.6.1 設置部署參數359
6.6.2 工具函數362
6.6.3 Gradio工具373
6.6.4 模板覆蓋與擴展376
6.6.5 Web前端378
6.6.6 模型推理380
6.7 圖文對話推理384
6.8 Web測試387
6.8.1 Web前端實現387
6.8.2 啟動Web測試402
第7章DeepSeek-R1推理大模型?
7.1 背景介紹406
7.2 項目介紹406
7.2.1 模型演進406
7.2.2 訓練方案407
7.2.3 蒸餾小型模型408
7.2.4 開源信息介紹409
7.2.5 結論410
7.3 DeepSeek-R1-Zero訓練方案411
7.3.1 強化學習算法411
7.3.2 獎勵建模412
7.3.3 訓練模板412
7.3.4 DeepSeek-R1-Zero的性能413
7.3.5 DeepSeek-R1-Zero的自我進化過程413
7.3.6 在DeepSeek-R1-Zero的頓悟時刻415
7.4 DeepSeek-R1訓練方案416
7.4.1 冷啟動416
7.4.2 推理導向的強化學習417
7.4.3 拒絕采樣和監督微調417
7.4.4 全場景強化學習418
7.5 蒸餾處理419
7.5.1 基礎模型的選擇與蒸餾過程419
7.5.2 模型蒸餾的技術原理420