ChatGPT原理與實戰(zhàn):大型語言模型的算法、技術和私有化
定 價:99 元
叢書名:智能系統(tǒng)與技術叢書
這是一本系統(tǒng)梳理并深入解析ChatGPT核心技術、算法實現(xiàn)、工作原理、訓練方法的著作,也是一本能指導你搭建專屬ChatGPT和實現(xiàn)大模型遷移及私有化的著作。本書得到了MOSS系統(tǒng)負責人邱錫鵬等多位專家的高度評價和鼎力推薦。具體地,通過本書你能了解或掌握以下知識:?ChatGPT的工作流程和技術棧?ChatGPT的工作原理和算法實現(xiàn)?基于Transformer架構(gòu)的一系列預訓練語言模型的原理?強化學習的基礎知識?提示學習與大模型涌現(xiàn)出的上下文學習、思維鏈?大模型的訓練方法及常見的分布式訓練框架?基于人工反饋的強化學習整體框架?從零搭建類ChatGPT模型,模擬完整的ChatGPT訓練過程本書集理論、實戰(zhàn)和產(chǎn)業(yè)應用于一體,提供大量經(jīng)詳細注釋的代碼,方便讀者理解和實操。總之,不管里是想深入研究ChatGPT本身,還是正在研發(fā)或使用其他大模型,本書都應該能給你頗具價值的技術啟發(fā)與思考,讓你在大模型的路上快速前行,少走彎路。
(1)作者經(jīng)驗豐富:作者來自BAT等知名科技公司,是NLP和AI領域的資深專家,大模型領域的先驅(qū)者,實戰(zhàn)經(jīng)驗豐富。(2)深度解析ChatGPT:系統(tǒng)梳理并深入解析ChatGPT的核心技術、算法實現(xiàn)、工作原理、訓練方法,提供大量代碼及注解。(3)搭建專屬ChatGPT:不僅教你如何實現(xiàn)大模型的遷移和私有化,而且手把手教你零基礎搭建自己專屬的ChatGPT。(4)行業(yè)優(yōu)選:MOSS系統(tǒng)負責人邱錫鵬、ChatGLM技術團隊成員劉瀟等多位大模型技術專家高度評價并推薦。
Preface前 言為什么要寫本書2022年11月30日,ChatGPT模型問世并立刻在全球范圍內(nèi)引起了軒然大波。無論AI從業(yè)者還是非從業(yè)者,都在熱議ChatGPT極具沖擊力的交互體驗和驚人的生成內(nèi)容。這使得人們對人工智能的潛力和價值有了更深入的認識。對于AI從業(yè)者來說,ChatGPT模型成為一種思路的擴充,大型語言模型不再是刷榜的玩具,所有人都認識到高質(zhì)量數(shù)據(jù)的重要性,并堅信有多少人工,就會有多少智能。ChatGPT模型效果過于優(yōu)秀,在許多任務上,即使是零樣本或少量樣本數(shù)據(jù)也可以達到SOTA(Stafe Of The Art,優(yōu)選水準)效果,因而很多人轉(zhuǎn)向大型語言模型的研究。不僅Google提出了對標ChatGPT的Bard模型,國內(nèi)也涌現(xiàn)出了許多中文大型語言模型,如百度的文心一言、阿里巴巴的通義千問、昆侖萬維的天工3.5、商湯的日日新、知乎的知海圖AI、清華智譜的ChatGLM、復旦的MOSS等等。斯坦福大學的Alpaca模型問世之后,證明了70億參數(shù)量的模型雖然達不到ChatGPT的效果,但已經(jīng)極大地降低了大型語言模型的算力成本,使得普通用戶和一般企業(yè)也可以使用大型語言模型。之前一直強調(diào)的數(shù)據(jù)獲取問題,可以通過GPT-3.5或GPT-4接口來解決,并且數(shù)據(jù)質(zhì)量相當高。如果只需要基本的效果模型,數(shù)據(jù)是否再次精標已經(jīng)不是那么重要了(當然,要獲得更好的效果,則需要更精準的數(shù)據(jù))。在此期間,涌現(xiàn)出了大量相關的博客、論文和開源項目。筆者的感覺是每天都要學習太多東西,但所學的內(nèi)容都太零散了。經(jīng)過一番思考和準備之后,筆者決定系統(tǒng)地梳理目前ChatGPT所涉及的相關技術,以幫助讀者進行深入的學習。本書主要強調(diào)知識的系統(tǒng)性和完整性,這是網(wǎng)絡學習所無法替代的。技術書可以彌補新媒體碎片化教育的短板,閱讀圖書更便于查漏補缺。正規(guī)的技術書在內(nèi)容嚴謹性方面做得相對較好,對內(nèi)容的正確性和規(guī)范性要求極高,更適合從業(yè)人員進行學習和日常檢索。當然,學習的道路并不是非此即彼,只有利用各種方式,多渠道學習,才能真正實現(xiàn)全方位高效學習。技術的變化是飛速的,在撰寫本書初期,還沒有出現(xiàn)LLaMa、GPT-4、ChatGLM等模型,當它們出現(xiàn)之后我們隨之修改了相關內(nèi)容,以期本書介紹ChatGPT相關技術時更具前沿性。技術會持續(xù)更新?lián)Q代,書中提到的很多技術也許在不遠的將來便會被更為強大的技術所取代,但這并不影響我們學習這些技術的原理,因為學習這些技術本身會引發(fā)更深層次的思考。讀者對象本書適合以下讀者閱讀:AIGC(AI Generated Content,人工智能生成內(nèi)容)相關領域的研究人員或技術人員。初入AI行業(yè)且基礎不深的從業(yè)人員。對ChatGPT感興趣的非從業(yè)人員。本書特色本書是一本集理論、實戰(zhàn)和落地于一體的ChatGPT力作,具備以下特點。理論聯(lián)系實際:本書不僅全面介紹了自然語言處理與強化學習的相關理論知識,還通過案例講解使這些理論更易于理解和掌握,幫助讀者在實踐過程中更深入地了解這些領域的基礎和前沿動態(tài)。實戰(zhàn)應用落地:本書詳細介紹了如何從零開始,逐步構(gòu)建一個獨立且具有個性化特點的大型語言模型。通過分析代碼和實際案例,幫助讀者更好地理解和掌握相關技術,從而實現(xiàn)自己的創(chuàng)新應用。擴展AIGC視野:本書針對AIGC領域進行全方位的剖析,而非僅關注ChatGPT本身。這使得讀者能夠全面了解AIGC的發(fā)展歷程、技術原理、應用場景和未來趨勢,為自己的研究和實踐提供更廣闊的視野。洞悉行業(yè)發(fā)展:本書作者具有豐富的AI從業(yè)經(jīng)驗,對AI領域的發(fā)展動態(tài)、技術挑戰(zhàn)和應用前景有深刻的認識。因此,本書不僅提供了嚴謹?shù)募夹g分析,還融入了作者的專業(yè)洞察,幫助讀者在理論與實踐之間找到很好的平衡點。如何閱讀本書本書從邏輯上分三部分。第一部分(第1和2章)從宏觀角度帶領讀者了解ChatGPT。第1章介紹ChatGPT的由來、發(fā)展史以及用例。第2章對ChatGPT進行解構(gòu),基于AIGC相關背景知識逐步展開ChatGPT所應用的技術棧,讓讀者對ChatGPT有更加完整的認知。第二部分(第3~9章)介紹ChatGPT的核心技術。本書強調(diào)理論與實戰(zhàn)并行,在介紹相關技術的同時,針對相應核心算法展開實戰(zhàn),在真實中文數(shù)據(jù)集下驗證算法性能,讓讀者從更深層次了解相關算法。第3章介紹基于Transformer結(jié)構(gòu)的預訓練語言模型。第4章介紹強化學習的基礎知識。第5章介紹從提示學習與大型語言模型涌現(xiàn)出來的上下文學習、思維鏈等能力。第6章介紹大型語言模型的訓練方法及常見的分布式訓練框架。第7章重點對GPT系列模型進行分析。第8章介紹PPO強化學習算法以及基于人工反饋的強化學習整體框架的設計。第9章進行類ChatGPT的實戰(zhàn),通過文檔生成問題任務模擬完整的ChatGPT訓練過程。第三部分(第10章)對ChatGPT的未來發(fā)展進行展望。從AIGC未來發(fā)展方向出發(fā),探索云邊協(xié)同、工具應用、可控生成、輔助決策四方面內(nèi)容,分別從C端場景和B端場景探索ChatGPT與實際應用場景的結(jié)合點,并給出從事AIGC行業(yè)的參考建議。勘誤和支持由于作者水平有限,書中難免存在一些遺漏或者不夠準確的地方,懇請讀者批評指正。如果你發(fā)現(xiàn)了書中的錯誤或遇到任何問題,可以將其提交到 https://github.co
CONTENTS目 錄贊譽前言第1章 了解ChatGPT11.1 ChatGPT的由來11.1.1 什么是ChatGPT21.1.2 ChatGPT的發(fā)展歷史21.2 ChatGPT的工作流程31.3 ChatGPT用例31.3.1 日常任務41.3.2 編寫代碼51.3.3 文本生成61.3.4 辦公自動化91.4 本章小結(jié)10第2章 ChatGPT原理解構(gòu)112.1 背景知識112.1.1 自然語言處理的發(fā)展歷程122.1.2 大型語言模型的發(fā)展歷程142.2 ChatGPT同類產(chǎn)品182.2.1 BlenderBot 3.0182.2.2 LaMDA202.2.3 Sparrow232.3 ChatGPT的工作原理252.3.1 預訓練與提示學習階段262.3.2 結(jié)果評價與獎勵建模階段282.3.3 強化學習與自我進化階段282.4 算法細節(jié)292.4.1 標注數(shù)據(jù)292.4.2 建模思路302.4.3 存在的問題302.5 關于ChatGPT的思考312.6 本章小結(jié)32第3章 預訓練語言模型333.1 Transformer結(jié)構(gòu)333.2 基于Encoder結(jié)構(gòu)的模型363.2.1 BERT363.2.2 RoBERTa393.2.3 ERNIE403.2.4 SpanBERT423.2.5 MacBERT433.2.6 ALBERT443.2.7 NeZha453.2.8 UniLM463.2.9 GLM473.2.10 ELECTRA483.3 基于Decoder結(jié)構(gòu)的模型493.3.1 GPT493.3.2 CPM513.3.3 PaLM513.3.4 OPT523.3.5 Bloom533.3.6 LLaMA543.4 基于Encoder-Decoder結(jié)構(gòu)的模型553.4.1 MASS553.4.2 BART563.4.3 T5573.5 基于夸夸閑聊數(shù)據(jù)的UniLM 模型實戰(zhàn)593.5.1 項目簡介593.5.2 數(shù)據(jù)預處理模塊593.5.3 UniLM模型模塊633.5.4 模型訓練模塊653.5.5 模型推理模塊723.6 本章小結(jié)76第4章 強化學習基礎774.1 機器學習的分類774.1.1 有監(jiān)督學習784.1.2 無監(jiān)督學習784.1.3 強化學習794.2 OpenAI Gym824.2.1 OpenAI Gym API簡介834.2.2 環(huán)境簡介844.3 強化學習算法854.3.1 Q-learning算法854.3.2 SARSA算法874.3.3 DQN算法894.3.4 Policy Gradient算法934.3.5 Actor-Critic算法954.4 本章小結(jié)98第5章 提示學習與大型語言 模型的涌現(xiàn)995.1 提示學習995.1.1 什么是提示學習1005.1.2 提示模板設計1005.1.3 答案空間映射設計1025.1.4 多提示學習方法1035.2 上下文學習1045.2.1 什么是上下文學習1045.2.2 預訓練階段提升上下文 學習能力1055.2.3 推理階段優(yōu)化上下文 學習的效果1075.3 思維鏈1085.4 基于提示的文本情感分析實戰(zhàn)1135.4.1 項目簡介1135.4.2 數(shù)據(jù)預處理模塊1145.4.3 BERT模型模塊1155.4.4 模型訓練模塊1185.4.5 模型推理模塊1285.5 本章小結(jié)131第6章 大型語言模型預訓練1326.1 大型預訓練模型簡介1326.2 預訓練模型中的分詞器1336.2.1 BPE1336.2.2 WordPiece1356.2.3 Unigram1366.2.4 SentencePiece1376.3 分布式深度學習框架1386.3.1 并行范式簡介1396.3.2 Megatron-LM1456.3.3 DeepSpeed1476.3.4 Colossal-AI1496.3.5 FairScale1526.3.6 ParallelFormers1536.3.7 OneFlow1536.4 基于大型語言模型的預訓練實戰(zhàn)1556.4.1 項目簡介1556.4.2 數(shù)據(jù)預處理模塊1566.4.3 執(zhí)行模型訓練1596.5 基于大型語言模型的信息 抽取實戰(zhàn)1686.5.1 項目簡介1686.5.2 數(shù)據(jù)預處理模塊1696.5.3 Freeze微調(diào)模塊1726.5.4 LoRA微調(diào)模塊1766.5.5 P-Tuning v2微調(diào)模塊1816.6 本章小結(jié)186第7章 GPT系列模型分析1877.1 GPT-1~GPT-4系列模型分析1877.1.1 GPT-1和GPT-2模型1877.1.2 GPT-3模型1897.1.3 GPT-3的衍生模型: Code-X1927.1.4 GPT-4模型1937.2 InstructGPT模型分析1947.2.1 模型簡介1947.2.2 數(shù)據(jù)收集1957.2.3 模型原理1987.2.4 模型討論1997.3 基于GPT-2模型的文本摘要實戰(zhàn)2007.3.1 項目簡介2007.3.2 數(shù)據(jù)預處理模塊2007.3.3 GPT-2模型模塊2027.3.4 模型訓練模塊2047.3.5 模型推理模塊2137.4 本章小結(jié)219第8章 PPO算法與RLHF理論實戰(zhàn)2208.1 PPO算法簡介2208.1.1 策略梯度算法回顧2208.1.2 PPO算法原理剖析2228.1.3 PPO算法對比與評價2248.2 RLHF框架簡介2268.2.1 RLHF內(nèi)部剖析2268.2.2 RLHF價值分析2288.2.3 RLHF問題分析2298.3 基于PPO的正向情感傾向性 生成項目實戰(zhàn)2308.3.1 項目任務與數(shù)據(jù)集分析2308.3.2 數(shù)據(jù)預處理模塊2308.3.3 模型訓練模塊2328.3.4 模型生成模塊2348.3.5 模型評估模塊2358.4 問題與思考2378.5 本章小結(jié)238第9章 類ChatGPT實戰(zhàn)2399.1 任務設計2399.2 數(shù)據(jù)準備2409.3 基于文檔生成問題任務的類 ChatGPT實戰(zhàn)2419.3.1 SFT階段2419.3.2 RM階段2499.3.3 RL階段2599.4 本章小結(jié)270第10章 ChatGPT發(fā)展趨勢27110.1 AIGC的發(fā)展趨勢27110.1.1 AI云邊協(xié)同27210.1.2 AI工具應用27310.1.3 AI可控生成27410.1.4 AI輔助決策27510.2 ChatGPT 2C應用場景27610.2.1