本書(shū)以打造行業(yè)智能助手為主線(xiàn),全面介紹大模型的理論與實(shí)踐。本書(shū)在內(nèi)容上側(cè)重于實(shí)踐,兼顧理論的系統(tǒng)性。全書(shū)共4部分: 第1部分為大模型導(dǎo)論(第1章),介紹大模型的相關(guān)概念以及大模型的過(guò)去、現(xiàn)在與未來(lái);第2部分為理論知識(shí)(第2、3章),介紹大模型基礎(chǔ)知識(shí)和大語(yǔ)言模型分布式訓(xùn)練;第3部分為實(shí)踐(第4~7章),介紹大模型的繼續(xù)預(yù)訓(xùn)練、對(duì)齊、推理與部署,通過(guò)實(shí)際案例詳細(xì)介紹如何打造行業(yè)智能助手并將其部署到生產(chǎn)環(huán)境中;第4部分為高級(jí)主題(第8、9章),介紹多模態(tài)大模型、AI智能體的最新進(jìn)展。
本書(shū)可以作為大模型領(lǐng)域技術(shù)人員的參考書(shū),同時(shí)也可以供有志于從事大模型工作的高校相關(guān)專(zhuān)業(yè)本科生以及從搜索、自然語(yǔ)言處理等方向轉(zhuǎn)向大模型的專(zhuān)業(yè)人員自學(xué)。
本書(shū)通過(guò)嚴(yán)謹(jǐn)簡(jiǎn)明的預(yù)備知識(shí)介紹,首先幫助讀者掌握有關(guān)大模型架構(gòu)、分布式訓(xùn)練等理論知識(shí);然后圍繞打造首先行業(yè)智能助手這一有重大價(jià)值的實(shí)際問(wèn)題,向讀者展示如何將該問(wèn)題分解為一系列大模型技術(shù),并展示完整的技術(shù)實(shí)施和優(yōu)化過(guò)程。
本書(shū)側(cè)重于行業(yè)實(shí)踐。同時(shí)對(duì)涉及的相關(guān)理論、框架原理進(jìn)行一定深度的講解。這樣既降低了入門(mén)難度,又提升了實(shí)踐的高度。
這一次的大模型浪潮可謂洶涌澎湃,業(yè)界一致認(rèn)為它將成為自互聯(lián)網(wǎng)時(shí)代以來(lái)最大的一次生產(chǎn)力變革。ChatGPT發(fā)布已兩年多,大模型在業(yè)務(wù)場(chǎng)景的落地并不盡如人意,出現(xiàn)了很多看衰大模型前景的聲音。事實(shí)上,歷史上任何一項(xiàng)革命性技術(shù)都經(jīng)歷過(guò)類(lèi)似的階段,大模型也不例外。不同于以往的任何一項(xiàng)技術(shù),大模型是非常令人驚艷的,它在人類(lèi)歷史上第一次展示出人工智能(AI)可以理解人類(lèi)語(yǔ)言。大模型首先以聊天機(jī)器人ChatGPT的產(chǎn)品形態(tài)展示了能力,任何人都可以通過(guò)跟它對(duì)話(huà)來(lái)測(cè)試它的能力。因此,任何人都可以參與討論大模型的能力。然而,實(shí)際上大多數(shù)非專(zhuān)業(yè)人士對(duì)大模型背后的技術(shù)卻并不了解,尤其不了解大模型技術(shù)的局限性。因此,在初期,大眾很容易對(duì)大模型抱有過(guò)高的期望。隨著時(shí)間的流逝,當(dāng)人們的新鮮感過(guò)去,大模型在聊天中暴露出越來(lái)越多的問(wèn)題,特別是幻覺(jué)問(wèn)題,大模型被人們普遍認(rèn)為是AI的又一個(gè)巨大的泡沫。
作為一個(gè)在互聯(lián)網(wǎng)一線(xiàn)長(zhǎng)期深耕的技術(shù)人員,我對(duì)大模型技術(shù)一直是持短期謹(jǐn)慎、長(zhǎng)期堅(jiān)信的態(tài)度。因此,在2023年年初,我毫不猶豫地全力投入大模型領(lǐng)域,當(dāng)時(shí)我有幸作為主要負(fù)責(zé)人參與打造醫(yī)療大模型。今年,我又有機(jī)會(huì)在智能汽車(chē)領(lǐng)域參與AI智能體的開(kāi)發(fā)。在這個(gè)過(guò)程中,我得到了不少教訓(xùn),也快速積累了一些一手經(jīng)驗(yàn)。鑒于大模型的變革性前景,我認(rèn)為未來(lái)幾年我國(guó)將需要大量的大模型人才。目前市面上缺乏一本既重視實(shí)踐又不忽視理論的技術(shù)圖書(shū)。因此,從2023年9月起,我就有意地對(duì)自己的經(jīng)驗(yàn)加以總結(jié),通過(guò)實(shí)際案例幫助讀者快速學(xué)會(huì)如何打造一款支持多輪對(duì)話(huà)的行業(yè)智能助手,進(jìn)一步從實(shí)踐出發(fā),揭示關(guān)鍵技術(shù)背后的原理,從而讓讀者有能力持續(xù)改進(jìn)實(shí)踐效果。希望本書(shū)能夠幫助那些有志于從事大模型工作的應(yīng)屆畢業(yè)生以及想從其他方向(特別是搜索、自然語(yǔ)言處理方向)轉(zhuǎn)向大模型方向的從業(yè)人員,快速掌握大模型技術(shù)。不過(guò),由于工作繁忙,我寫(xiě)了幾個(gè)月以后中斷了一段時(shí)間。在此期間,大模型技術(shù),包括多模態(tài)大模型(GPT4o)、AI智能體、文生視頻(Sora)等,又有了很多新的進(jìn)展,我也將這些進(jìn)展包含到本書(shū)里。當(dāng)我完成本書(shū)的寫(xiě)作時(shí),OpenAI發(fā)布了o1大模型。強(qiáng)化學(xué)習(xí)作為最近20年人工智能領(lǐng)域與深度學(xué)習(xí)幾乎同等重要的技術(shù),在o1大模型中發(fā)揮了主要的作用,將大模型的能力提升帶入新的方向。實(shí)際上我一直在期待這一突破的到來(lái)。只是限于時(shí)間和精力,暫未將這一新技術(shù)的內(nèi)容納入本書(shū)。此外,增強(qiáng)大模型對(duì)物理世界的感知和理解也是我非?春玫囊粋(gè)未來(lái)方向,希望以后能夠有機(jī)會(huì)跟大家分享相關(guān)的技術(shù)。
如圖1所示,本書(shū)內(nèi)容分為4部分: 大模型導(dǎo)論、理論知識(shí)、實(shí)踐、高級(jí)主題。
圖1本書(shū)的內(nèi)容結(jié)構(gòu)
第1部分為大模型導(dǎo)論,包括第1章,介紹大模型的相關(guān)概念以及大模型的過(guò)去、現(xiàn)在與未來(lái)。
第2部分為理論知識(shí),包括第2、3章,介紹大模型基礎(chǔ)知識(shí)和大語(yǔ)言模型分布式訓(xùn)練。
第3部分為實(shí)踐,包括第4~7章,介紹大模型的繼續(xù)預(yù)訓(xùn)練、對(duì)齊、推理與部署,通過(guò)實(shí)際案例詳細(xì)介紹如何打造行業(yè)智能助手并將其部署到生產(chǎn)環(huán)境中。
第4部分為高級(jí)主題,包括第8、9章,介紹多模態(tài)大模型、AI智能體的最新進(jìn)展。
感謝我的家人。在我寫(xiě)作期間,妻子承擔(dān)了幾乎所有的家務(wù)與照看孩子的事情。女兒經(jīng)常好奇地詢(xún)問(wèn)我的寫(xiě)作進(jìn)度。家人的支持與理解使我能夠安下心來(lái),順利完成本書(shū)的寫(xiě)作。
感謝我的導(dǎo)師將我引薦給清華大學(xué)出版社。
限于作者的水平,書(shū)中不足之處在所難免,敬請(qǐng)專(zhuān)家與讀者批評(píng)指正。
作者2025年2月
第1章大模型導(dǎo)論1
1.1大模型概念1
1.1.1預(yù)訓(xùn)練2
1.1.2有監(jiān)督微調(diào)2
1.1.3偏好對(duì)齊2
1.2大模型的過(guò)去、現(xiàn)在與未來(lái)2
1.2.1大模型簡(jiǎn)史2
1.2.2大模型的現(xiàn)狀4
1.2.3大模型未來(lái)展望8
1.3本書(shū)的讀者對(duì)象與內(nèi)容11
參考文獻(xiàn)12
第2章大模型基礎(chǔ)知識(shí)13
2.1分詞13
2.1.1粒度13
2.1.2子詞拆分算法13
2.1.3實(shí)現(xiàn)14
2.2位置編碼15
2.2.1RoPE15
2.2.2ALiBi16
2.3網(wǎng)絡(luò)結(jié)構(gòu)17
2.3.1Transformer架構(gòu)17
2.3.2大模型的Transformer架構(gòu)20
2.3.3MoE模型22
2.4長(zhǎng)上下文25
2.4.1采用RoPE位置編碼的長(zhǎng)上下文擴(kuò)展25
2.4.2注意力操作優(yōu)化27
參考文獻(xiàn)31
第3章大語(yǔ)言模型分布式訓(xùn)練33
3.1大語(yǔ)言模型高效訓(xùn)練技術(shù)要點(diǎn)33
3.2并行模式34
3.2.1數(shù)據(jù)并行化35
3.2.2流水線(xiàn)并行化35
3.2.3張量并行化37
3.3集合通信38
3.3.1allreduce操作的分解39
3.3.2allreduce操作的高效實(shí)現(xiàn)39
3.4DeepSpeed訓(xùn)練加速框架40
3.4.1ZeRO技術(shù)41
3.4.2ZeRO技術(shù)與流水線(xiàn)并行化結(jié)合43
3.4.3ZeRO技術(shù)與張量并行化結(jié)合43
3.5DeepSpeed訓(xùn)練方案建議44
參考文獻(xiàn)45
第4章繼續(xù)預(yù)訓(xùn)練46
4.1繼續(xù)預(yù)訓(xùn)練的必要性46
4.2數(shù)據(jù)預(yù)處理47
4.2.1低質(zhì)數(shù)據(jù)過(guò)濾48
4.2.2去重48
4.3實(shí)戰(zhàn): 行業(yè)大模型的繼續(xù)預(yù)訓(xùn)練49
4.3.1數(shù)據(jù)準(zhǔn)備49
4.3.2數(shù)據(jù)處理50
4.3.3模型訓(xùn)練50
參考文獻(xiàn)59
第5章對(duì)齊(上)指令微調(diào)60
5.1指令微調(diào)的必要性60
5.2微調(diào)方法61
5.2.1全參微調(diào)61
5.2.2部分參數(shù)微調(diào)61
5.3指令集的自動(dòng)構(gòu)造64
5.3.1指令的大規(guī)模自動(dòng)生成64
5.3.2指令集的進(jìn)化66
5.3.3拒絕采樣66
5.4實(shí)戰(zhàn): 打造具有多輪對(duì)話(huà)能力的行業(yè)智能助手66
5.4.1數(shù)據(jù)準(zhǔn)備67
5.4.2數(shù)據(jù)處理67
5.4.3模型訓(xùn)練69
5.4.4評(píng)測(cè)74
參考文獻(xiàn)75
第6章對(duì)齊(下)強(qiáng)化學(xué)習(xí)微調(diào)76
6.1強(qiáng)化學(xué)習(xí)微調(diào)的必要性76
6.2人類(lèi)偏好對(duì)齊的強(qiáng)化學(xué)習(xí)建模77
6.3RLHF78
6.3.1RLHF技術(shù)基本流程78
6.3.2獎(jiǎng)勵(lì)模型78
6.3.3PPO算法79
6.4RLAIF81
6.4.1偏好標(biāo)注81
6.4.2微調(diào)技術(shù)路線(xiàn)83
6.4.3評(píng)估83
6.5實(shí)戰(zhàn): DeepSpeedChat代碼解析84
6.5.1訓(xùn)練獎(jiǎng)勵(lì)模型84
6.5.2PPO訓(xùn)練85
6.6DPO算法90
6.6.1DPO算法目標(biāo)函數(shù)推導(dǎo)91
6.6.2Online DPO算法92
參考文獻(xiàn)94
第7章推理與部署95
7.1推理加速95
7.1.1常規(guī)工程化手段95
7.1.2自注意力計(jì)算訪存優(yōu)化97
7.1.3推測(cè)解碼97
7.2量化102
7.2.1量化感知訓(xùn)練103
7.2.2訓(xùn)練后量化104
7.3部署109
7.3.1TensorRTLLM109
7.3.2vLLM111
7.3.3DeepSpeed Inference111
7.3.4SGLang112
7.3.5平臺(tái)選型建議112
7.4實(shí)戰(zhàn): 使用FastChat部署Qwen 14B113
7.4.1準(zhǔn)備工作113
7.4.2部署113
參考文獻(xiàn)115
第8章多模態(tài)大模型116
8.1多模態(tài)技術(shù)路線(xiàn)116
8.2橋接多模態(tài)大模型120
8.2.1Flamingo121
8.2.2BLIP系列124
8.2.3LLaVA128
8.2.4OneLLM129
8.3原生多模態(tài)大模型131
8.3.1Gemini132
8.3.2GPT4o133
8.3.3Chameleon133
參考文獻(xiàn)136
第9章AI智能體137
9.1AI智能體架構(gòu)138
9.1.1感知139
9.1.2規(guī)劃139
9.1.3記憶143
9.1.4行動(dòng)147
9.2開(kāi)發(fā)框架149
9.2.1LangChain149
9.2.2AutoGen150
9.2.3AGENTS151
9.2.4MetaGPT153
參考文獻(xiàn)154