Python預訓練視覺和大語言模型 Pretrain Vision and Large Language Models in Python: End-to-end techniques for building and deploying foundation models on AWS

[美] 艾米麗·韋伯(Emily Webber)著 郭濤 譯

  • Python預訓練視覺和大語言模型-preview-1
  • Python預訓練視覺和大語言模型-preview-2
  • Python預訓練視覺和大語言模型-preview-3
Python預訓練視覺和大語言模型-preview-1

相關主題

商品描述

"●為預訓練和微調尋找合適的用例和數據集 ●使用定製的加速器和GPU,為大規模訓練做好準備 ●配置AWS和SageMaker環境,**限度地提高性能 ●根據模型和約束條件選擇超參數 ●使用多種並行方式分發模型和數據集 ●利用作業重啟、間歇性健康檢查等方式避開陷阱 ●定性和定量地評估模型 ●部署模型,在運行時進行改進和監控 "

目錄大綱

目    錄

 

第Ⅰ部分  預訓練前

第1章 預訓練基礎模型簡介   3

1.1  預訓練和微調藝術   4

1.2  Transformer模型架構和自註意力   6

1.3  最先進的視覺模型和語言模型   8

1.3.1  截至2023年4月的頂級視覺模型   9

1.3.2  對比預訓練與自然語言監督   11

1.3.3  截至2023年4月的頂級語言模型   12

1.3.4  語言技術重點——因果建模和縮放法則   14

1.4  編碼器和解碼器   15

1.5  本章小結   17

第2章 數據集準備:第1部分   19

2.1  為基礎建模尋找數據集和用例   19

2.2  你的數據集有多大區別   23

2.2.1  使用縮放法則調整數據集的大小   25

2.2.2  基礎——神經語言模型的縮放法則   26

2.3  偏差檢測和減少   28

2.4  增強數據集——多語言、多模態和增強   30

2.5  本章小結   32

第3章 模型準備   35

3.1  尋找最優基礎模型   35

3.1.1  從最小的基礎模型開始   37

3.1.2  權衡——簡單與復雜   37

3.1.3  權衡——應用於許多用例,而非局限於一個用例   38

3.1.4  找到最優基礎模型的技術方法   39

3.2  尋找預訓練損失函數   39

3.2.1  視覺的預訓練損失函數——ViT和CoCa   41

3.2.2  語言中的預訓練損失函數——Alexa教師模型   44

3.2.3  更改預訓練損失函數   46

3.3  設定模型大小   46

3.3.1  解決模型大小問題的實用方法   49

3.3.2  並非所有縮放法則的效果都相同   49

3.3.3  規劃未來的實驗   50

3.4  本章小結   51

 

第Ⅱ部分 配置環境   

第4章 雲容器和雲加速器   55

4.1  什麽是加速器,為什麽它們很重要   55

4.2  準備使用加速器   58

4.3  優化加速器性能   63

4.3.1  超參數   63

4.3.2 AWS上加速器的基礎設施優化   64

4.4  加速器性能故障排除   65

4.5  本章小結   67

第5章 分佈式基礎知識   69

5.1  理解關鍵概念——數據和模型並行性   69

5.1.1  什麽是數據並行   70

5.1.2  什麽是模型並行   71

5.2  將模型與數據並行相結合   73

5.3  Amazon SageMaker分佈式訓練   74

5.3.1  分佈式訓練軟件   75

5.3.2  SM DDP   76

5.3.3  SMP庫   77

5.4  減少GPU內存的高級技術   79

5.4.1  張量並行性   80

5.4.2  優化器狀態分片   81

5.4.3  激活檢查點   81

5.4.4  分片數據並行性   81

5.5  當今模型的示例   82

5.5.1  Stable Diffusion——大規模數據並行   82

5.5.2  GPT-3——大規模的模型和數據並行性   83

5.6  本章小結   84

第6章 數據集準備:第2部分   85

6.1  Python中的數據加載器   86

6.2  構建和測試自己的數據加載器——來自Stable Diffusion的案例研究   88

6.3  創建嵌入——詞元分析器和智能功能的其他關鍵步驟   91

6.4  在Amazon SageMaker上優化數據管道   95

6.5  在AWS上大規模轉換深度學習數據集   98

6.6  本章小結   100

 

第Ⅲ部分 訓練模型

第7章 尋找合適的超參數   103

7.1  超參數——批量大小、學習率等   103

7.2  微調策略   105

7.3  基礎模型的超參數微調   108

7.4  使用SageMaker根據world size放大   109

7.5  本章小結   113

第8章 SageMaker的大規模訓練   115

8.1  優化SageMaker訓練的腳本   115

8.1.1  導入程序包   116

8.1.2  參數解析   116

8.1.3 函數定義和用法   118

8.2  SageMaker訓練的頂級可用性功能   121

8.2.1  用於快速實驗的暖池   121

8.2.2  SSM和SSH進入訓練實例   122

8.2.3  跟蹤作業和實驗以復制結果   123

8.3  本章小結   127

第9章 高級訓練概念   129

9.1  評估和提高吞吐量   129

9.2  使用Flash註意力加速訓練運行   132

9.3  通過編譯加快作業速度   133

9.4  Amazon SageMaker訓練編譯器和Neo   135

9.5  在亞馬遜的Trainium和Inferentia自定義硬件上運行編譯後的模型   137

9.6  求解最優訓練時間   138

9.7  本章小結   140

 

第Ⅳ部分  評估模型   

第10章  微調和評估   143

10.1  對語言、文本和其間的一切進行微調   143

10.1.1  微調純語言模型   145

10.1.2  微調純視覺模型   147

10.1.3  微調視覺語言模型   149

10.2  評估基礎模型   150

10.2.1  視覺模型評估指標   150

10.2.2  語言模型評估指標   152

10.2.3  聯合視覺-語言任務中的模型評估指標   154

10.2.4  通過SageMaker Ground Truth將人類視角與標簽相結合   156

10.3  從人類反饋中強化學習   157

10.4  本章小結   158

第11章  檢測、減少和監控偏差   161

11.1  檢測機器學習模型中的偏差   161

11.2  減少視覺和語言模型中的偏差   165

11.2.1  語言模型中的偏差減少——反事實數據增強和公平損失函數   166

11.2.2  視覺模型中的偏差減少——減少相關性並解決採樣問題   169

11.3  監控機器學習模型中的偏差   170

11.4  使用SageMaker Clarify檢測、減輕和監控偏差   172

11.5  本章小結   173

 

第Ⅴ部分  部署模型

第12章  如何部署模型   177

12.1  模型部署的定義   177

12.2  托管模型的最優方式   179

12.3  為什麽縮小模型,以及如何縮小   182

12.3.1  模型編譯   183

12.3.2  知識蒸餾   183

12.3.3  量化   184

12.4  在SageMaker上托管分佈式模型   184

12.5  模型服務器和端到端托管優化   186

12.6  本章小結   188

第13章  提示工程   189

13.1  提示工程——以少搏多的藝術   189

13.2  從少樣本學習到零樣本學習   190

13.3  文本到圖像提示工程的註意之處   193

13.4  圖像到圖像提示工程的註意之處   196

13.4.1  放大   196

13.4.2  掩膜   196

13.4.3  使用DreamBooth提示目標到圖像   197

13.5  提示大型語言模型   198

13.5.1  指令微調   198

13.5.2  思維鏈提示   199

13.5.3  摘要   200

13.5.4  防止提示註入和越獄   200

13.6  高級技術——前綴和提示微調   201

13.6.1  前綴微調   201

13.6.2  提示微調   203

13.7  本章小結   204

第14章  視覺和語言MLOps   205

14.1  什麽是MLOps?   205

14.2  持續集成和持續部署   208

14.3  模型監控和人機回環   210

14.4  基礎模型的MLOps   212

14.5  視覺MLOps   213

14.6  AWS為MLOps提供的服務   215

14.7  本章小結   218

第15章  預訓練基礎模型的未來趨勢   219

15.1  構建LLM應用程序的技術   219

15.1.1  使用開源堆棧構建交互式對話應用程序   220

15.1.2  使用RAG確保LLM應用程序的高準確性   222

15.1.3  生成是新的分類嗎?   223

15.1.4  用LLM構建應用的人性化設計   224

15.2  其他生成式模式   225

15.3  基礎模型中的AWS產品   226

15.4  基礎模型的未來   228

15.5  預訓練的未來   229

15.6  本章小結   232

—— 以下內容可掃描封底二維碼下載 ——

參考文獻   233