本書是《從零構(gòu)建大模型》一書的配套習(xí)題,旨在通過(guò)多種練習(xí)和自我評(píng)估方式,幫助讀者鞏固和深化對(duì)大語(yǔ)言模型構(gòu)建過(guò)程的理解。書中內(nèi)容圍繞《從零構(gòu)建大模型》一書的結(jié)構(gòu)展開(kāi),覆蓋代碼和主要概念問(wèn)題、批判性思維練習(xí)、單項(xiàng)選擇題以及答案解析等內(nèi)容。建議讀者在閱讀《從零構(gòu)建大模型》一書之前、之后以及復(fù)習(xí)階段使用本書,通過(guò)重復(fù)學(xué)習(xí)的方式鞏固知識(shí),并將其與已有的知識(shí)體系相融合。
·配套強(qiáng)關(guān)聯(lián):匹配《從零構(gòu)建大模型》主書結(jié)構(gòu),同步鞏固核心知識(shí)。
·題型多元化:涵蓋代碼概念題、批判性思維題、單選題,多方面檢驗(yàn)學(xué)習(xí)成果。
·階段適配廣:適配主書閱讀前預(yù)習(xí)、閱讀后鞏固、復(fù)習(xí)階段,滿足不同學(xué)習(xí)需求。
·解析超詳盡:每道習(xí)題附清晰答案解析,助力理解大模型構(gòu)建關(guān)鍵邏輯。
·知識(shí)深融合:通過(guò)重復(fù)練習(xí)幫讀者串聯(lián)已有知識(shí),深化大模型構(gòu)建認(rèn)知。
塞巴斯蒂安·拉施卡(Sebastian Raschka)
極具影響力的人工智能專家,GitHub項(xiàng)目LLMs-from-scratch的星標(biāo)數(shù)達(dá)4萬(wàn),F(xiàn)在大模型獨(dú)角獸公司Lightning AI任資深研究工程師。博士畢業(yè)于密歇根州立大學(xué),2018~2023年威斯康星大學(xué)麥迪遜分校助理教授(終身教職),從事深度學(xué)習(xí)科研和教學(xué)。除本書外,他還寫作了暢銷書《大模型技術(shù)30講》和《Python機(jī)器學(xué)習(xí)》。
第 1 章 理解大語(yǔ)言模型 1
主要概念速測(cè) 1
分節(jié)習(xí)題 3
11 什么是大語(yǔ)言模型 3
12 大語(yǔ)言模型的應(yīng)用 4
13 構(gòu)建和使用大語(yǔ)言模型的各個(gè)
階段 5
14 Transformer 架構(gòu)介紹 5
15 利用大型數(shù)據(jù)集 6
16 深入剖析GPT 架構(gòu) 7
17 構(gòu)建大語(yǔ)言模型 9
答案 11
第 2 章 處理文本數(shù)據(jù) 18
主要概念速測(cè) 18
分節(jié)習(xí)題 20
21 理解詞嵌入 20
22 文本分詞 20
23 將詞元轉(zhuǎn)換為詞元ID 21
24 引入特殊上下文詞元 22
25 BPE 23
26 使用滑動(dòng)窗口進(jìn)行數(shù)據(jù)采樣 24
27 創(chuàng)建詞元嵌入 26
28 編碼單詞位置信息 27
章節(jié)練習(xí) 28
答案 29
第3 章 編碼注意力機(jī)制 38
主要概念速測(cè) 38
分節(jié)習(xí)題 40
31 長(zhǎng)序列建模中的問(wèn)題 40
32 使用注意力機(jī)制捕獲數(shù)據(jù)依賴
關(guān)系 41
33 通過(guò)自注意力機(jī)制關(guān)注輸入的
不同部分 41
34 實(shí)現(xiàn)帶可訓(xùn)練權(quán)重的自注意力
機(jī)制 43
35 利用因果注意力隱藏未來(lái)詞匯 44
36 將單頭注意力擴(kuò)展到多頭注意力 45
章節(jié)練習(xí) 47
答案 48
第4 章 從頭實(shí)現(xiàn)GPT 模型進(jìn)行文本
生成 54
主要概念速測(cè) 54
分節(jié)習(xí)題 56
41 構(gòu)建一個(gè)大語(yǔ)言模型架構(gòu) 56
42 使用層歸一化進(jìn)行歸一化激活 58
43 實(shí)現(xiàn)具有GELU 激活函數(shù)的
前饋神經(jīng)網(wǎng)絡(luò) 59
44 添加快捷連接 60
45 連接Transformer 塊中的注意力層
和線性層 61
46 實(shí)現(xiàn)GPT 模型 62
47 生成文本 63
章節(jié)練習(xí) 64
答案 65
第5 章 在無(wú)標(biāo)簽數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練 74
主要概念速測(cè) 74
分節(jié)習(xí)題 76
51 評(píng)估文本生成模型 76
52 訓(xùn)練大語(yǔ)言模型 78
53 控制隨機(jī)性的解碼策略 79
54 使用PyTorch 加載和保存模型
權(quán)重 80
55 從OpenAI 加載預(yù)訓(xùn)練權(quán)重 81
章節(jié)練習(xí) 81
答案 83
第6 章 針對(duì)分類的微調(diào) 91
主要概念速測(cè) 91
分節(jié)習(xí)題 93
61 不同類型的微調(diào) 93
62 準(zhǔn)備數(shù)據(jù)集 94
63 創(chuàng)建數(shù)據(jù)加載器 95
64 初始化帶有預(yù)訓(xùn)練權(quán)重的模型 97
65 添加分類頭 97
66 計(jì)算分類損失和準(zhǔn)確率 97
67 在有監(jiān)督數(shù)據(jù)上微調(diào)模型 98
68 使用大語(yǔ)言模型作為垃圾消息
分類器 100
章節(jié)練習(xí) 101
答案 102
第7 章 通過(guò)微調(diào)遵循人類指令 110
主要概念速測(cè) 110
分節(jié)習(xí)題 112
71 指令微調(diào)介紹 112
72 為有監(jiān)督指令微調(diào)準(zhǔn)備數(shù)據(jù)集 112
73 將數(shù)據(jù)組織成訓(xùn)練批次 113
74 創(chuàng)建指令數(shù)據(jù)集的數(shù)據(jù)加載器 114
75 加載預(yù)訓(xùn)練的大語(yǔ)言模型 116
76 在指令數(shù)據(jù)上微調(diào)大語(yǔ)言模型 116
77 抽取并保存模型回復(fù) 117
78 評(píng)估微調(diào)后的大語(yǔ)言模型 117
章節(jié)練習(xí) 118
答案 119
附錄A PyTorch 簡(jiǎn)介 129
問(wèn)題 129
答案 132
附錄B 參考文獻(xiàn)和延伸閱讀 136
附錄C 練習(xí)的解決方案 137
附錄D 為訓(xùn)練循環(huán)添加更多細(xì)節(jié)和
優(yōu)化功能 138
問(wèn)題 138
答案 139
附錄E 使用LoRA 進(jìn)行參數(shù)高效微調(diào) 140
問(wèn)題 140
答案 142