幫助中心 | 我的帳號 | 關於我們

大語言模型開發(用開源模型開發本地系統新時代技術新未來)

  • 作者:范煜|責編:劉洋
  • 出版社:清華大學
  • ISBN:9787302670513
  • 出版日期:2024/09/01
  • 裝幀:平裝
  • 頁數:320
人民幣:RMB 118 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書旨在幫助讀者理解開源大語言模型的架構、訓練和推理過程,以及相關的源代碼。主要研究對象是Meta開源的Llama模型。本書從Python Numpy實現單層感知機和神經網路開始,逐步講解了如何實現Transformer模型和Llama模型。此外,本書還介紹了增量預訓練模型、監督微調和人類反饋強化學習等模型訓練過程。對於私有知識的加入,書中重點介紹了監督微調,也介紹了RAG中詞向量的計算。本書採用循序漸進的方式,通過功能框圖、代碼分解執行、執行結果顯示、背景知識補充等手段幫助讀者理解模型和演算法。
    本書的核心讀者群體定位為大語言模型應用的開發人員,特別適合那些想從電腦視覺轉向自然語言處理的人。此外,本書還適合作為大學本科生及研究生相關課程的參考教材使用。

作者介紹
范煜|責編:劉洋
    范煜,江蘇南通人,研究員級高級工程師,大數據軟體專家,范思軟體有限公司創始人,畢業於南京航空航天大學,喜愛閱讀和旅行,對經濟、管理、歷史、地理等方面知識有濃厚興趣。

目錄
第1章  自然語言處理
  1.1  人工智慧的技術構成
    1.1.1  機器學習和深度學習的區別
    1.1.2  表示學習與深度學習的關係
  1.2  自然語言處理的發展階段
  1.3  規則驅動的方法
  1.4  統計方法
    1.4.1  隱馬爾可夫模型
    1.4.2  條件隨機場
  1.5  深度學習方法
    1.5.1  Word2Vec詞嵌入
    1.5.2  循環神經網路
    1.5.3  長短時記憶網路模型
    1.5.4  門控循環單元模型
  1.6  序列到序列模型
  1.7  注意力機制
  1.8  Transformer模型
  1.9  預訓練模型
  1.10  大語言模型
    1.10.1  根據架構分類
    1.10.2  根據訓練方式和預測方式分類
第2章  深度學習基礎
  2.1  深度學習
  2.2  感知機
    2.2.1  前饋網路
    2.2.2  權重更新
    2.2.3  反向傳播
  2.3  激活函數
    2.3.1  常用激活函數
    2.3.2  新型激活函數
  2.4  優化函數(演算法)
    2.4.1  梯度下降法
    2.4.2  動量優化演算法
    2.4.3  AdaGrad優化演算法
    2.4.4  RMSProp優化演算法
    2.4.5  Adam優化演算法
    2.4.6  AdamW優化演算法
  2.5  權值初始化
    2.5.1  批歸一化
    2.5.2  層歸一化
    2.5.3  RMSNorm
  2.6  損失函數
    2.6.1  均方誤差
    2.6.2  均方根誤差
    2.6.3  交叉熵損失
  2.7  模型評估
    2.7.1  偏差/方差
    2.7.2  過擬合與欠擬合
  2.8  正則化
  2.9  SoftMax函數

  2.10  簡易神經網路搭建
  2.11  模型優化
    2.11.1  梯度消失
    2.11.2  梯度爆炸
    2.11.3  優化手段
    2.11.4  調參技巧
第3章  PyTorch開發基礎
  3.1  深度學習框架
  3.2  PyTorch簡介
  3.3  PyTorch安裝
    3.3.1  CUDA安裝
    3.3.2  阿里雲GPU雲伺服器
    3.3.3  安裝PyTorch
    3.3.4  安裝其他庫
    3.3.5  檢查開發環境
  3.4  張量
    3.4.1  張量創建函數定義
    3.4.2  張量創建函數清單
    3.4.3  隨機張量:torch.randn()
    3.4.4  張量操作
    3.4.5  CUDA張量
  3.5  梯度計算
    3.5.1  導數與偏導數
    3.5.2  導數規則
    3.5.3  梯度
    3.5.4  公式推導
    3.5.5  自動梯度計算
    3.5.6  代碼解析
  3.6  反向傳播
  3.7  torch.nn模塊構建神經網路
    3.7.1  nn.Linear層
    3.7.2  nn.Sigmoid激活函數
    3.7.3  nn.BCELoss損失函數
  3.8  torch.optim優化器
  3.9  訓練、驗證和測試過程
  3.10  用PyTorch實現神經網路
    3.10.1  實現單層感知機
    3.10.2  實現簡單神經網路
    3.10.3  用torch.nn實現簡單神經網路
  3.11  源代碼常用模塊
    3.11.1  nn.Parameter類
    3.11.2  typing模塊
    3.11.3  logging模塊
    3.11.4  dataclasses
    3.11.5  Fire庫
第4章  Transformer模型詳解
  4.1  大語言模型的簡介和分類
    4.1.1  簡介
    4.1.2  分類
  4.2  Transformer模型

    4.2.1  模型構成
    4.2.2  因果解碼器結構
  4.3  分詞
    4.3.1  辭彙表
    4.3.2  辭彙表的生成
    4.3.3  分詞演算法
    4.3.4  位元組對編碼
    4.3.5  句子片段
    4.3.6  分詞過程
    4.3.7  辭彙索引
  4.4  詞嵌入
    4.4.1  標記嵌入
    4.4.2  位置編碼
    4.4.3  辭彙索引和詞嵌入向量關係
  4.5  位置編碼方法
    4.5.1  原生位置編碼
    4.5.2  旋轉位置編碼
    4.5.3  位置編碼的實現
    4.5.4  Llama位置編碼
    4.5.5  長度擴展
  4.6  自注意力機制
    4.6.1  原理
    4.6.2  注意力分數的計算
    4.6.3  多頭注意力機制
    4.6.4  分組查詢注意力
    4.6.5  Llama 2源代碼分析
  4.7  殘差連接和層歸一化
    4.7.1  預歸一化
    4.7.2  RMSNorm
    4.7.3  Llama 2源代碼分析
  4.8  前饋網路
    4.8.1  激活函數
    4.8.2  前饋網路隱藏層維度
    4.8.3  Llama 2源代碼分析
    4.8.4  演示代碼
  4.9  損失函數
  4.10  掩碼
  4.11  PyTorch的nn.Transformer模塊
    4.11.1  模塊組件
    4.11.2  __call__函數
    4.11.3  最簡單的標準Transformer模型
    4.11.4  純解碼器模型
    4.11.5  Llama 2模型
第5章  大語言模型
  5.1  什麼是大語言模型
  5.2  GPT簡介
  5.3  Llama簡介
  5.4  Llama的訓練
    5.4.1  訓練數據
    5.4.2  預訓練

  5.5  Llama 2 chat
    5.5.1  監督微調
    5.5.2  基於人類反饋的強化學習
  5.6  Llama 2模型結構
  5.7  Llama 2權重文件夾
  5.8  參數量計算
    5.8.1  標準Transformer解碼器模型
    5.8.2  Llama 2模型
    5.8.3  用Transformers模塊計算
    5.8.4  直接解析模型文件
第6章  模型訓練
  6.1  模型訓練的種類
  6.2  Hugging Face訓練環境
  6.3  Transformers庫
    6.3.1  主要功能
    6.3.2  函數
  6.4  訓練程序
  6.5  分詞處理
    6.5.1  相關名詞
    6.5.2  input IDs
    6.5.3  特殊標記
    6.5.4  AutoTokenizer
    6.5.5  分詞
    6.5.6  下劃線
    6.5.7  填空
  6.6  量化技術
    6.6.18  位量化技術
    6.6.2  LLM.int8()
    6.6.3  NF4和QLoRA
    6.6.4  BitsAndBytes模型
  6.7  優化技術
    6.7.1  LoRA
    6.7.2  PEFT庫
  6.8  訓練代碼示例
    6.8.1  導入庫和函數
    6.8.2  參數定義
    6.8.3  載入模型
    6.8.4  載入分詞器
    6.8.5  數據預處理
    6.8.6  用LoRA權重調整模型
    6.8.7  LoRA模型訓練
    6.8.8  模型的合併
    6.8.9  模型推理
    6.8.10  載入多個LoRA並隨時切換
  6.9  加速技術和工具
    6.9.1  DeepSpeed
    6.9.2  FairScale
    6.9.3  GPTQ
    6.9.4  FSDP
  6.10  超長上下文

    6.10.1  外推能力
    6.10.2  外推手段
    6.10.3  StreamingLLM
第7章  模型微調
  7.1  監督微調
  7.2  開源數據集
  7.3  數據集訪問
    7.3.1  datasets庫
    7.3.2  datasets常用的函數和類
    7.3.3  載入數據集
    7.3.4  數據集的處理
  7.4  開源微調數據集
    7.4.1  主要數據集
    7.4.2  數據集格式
    7.4.3  SQuAD
    7.4.4  OSSIST1數據集格式
    7.4.5  格式轉換代碼及分析
  7.5  主要的微調模型
    7.5.1  Alpaca羊駝
    7.5.2  Vicuna小羊駝
    7.5.3  LLaMA.cpp
    7.5.4  Guanco
第8章  人類反饋強化學習
  8.1  強化學習架構
  8.2  演員-評論家架構
  8.3  近端策略優化架構
  8.4  DeepSpeed Chat
  8.5  開源RLHF數據集
  8.6  訓練數據讀取
    8.6.1  第1步:SFT監督微調數據
    8.6.2  第2步:獎勵模型微調數據
    8.6.3  第3步:RLHF微調數據
  8.7  監督微調
  8.8  獎勵模型微調
  8.9  RLHF微調
    8.9.1  代碼運行環境
    8.9.2  準備訓練數據
    8.9.3  建立模型
    8.9.4  演員模型、參考模型生成對數概率
    8.9.5  計算對數概率
    8.9.6  計算期望獎勵
    8.9.7  KL散度
    8.9.8  計算實際獎勵
    8.9.9  優勢函數
    8.9.10  計算優勢和回報
    8.9.11  損失函數
第9章  模型推理
  9.1  模型文件
  9.2  推理
    9.2.1  單輪推理

    9.2.2  多輪推理
  9.3  GPU推理
    9.3.1  單卡
    9.3.2  多卡
    9.3.3  多機
  9.4  Hugging Face Transformers庫
    9.4.1  簡介
    9.4.2  Pipeline API
    9.4.3  Model and Tokenizer API
    9.4.4  單輪推理
    9.4.5  多輪推理
    9.4.6  LoRA推理
    9.4.7  vLLM
  9.5  LLaMA.cpp
    9.5.1  特色與優勢
    9.5.2  模型量化
    9.5.3  k-quant量化
    9.5.4  開發環境安裝
    9.5.5  構建執行程序
    9.5.6  轉換模型
    9.5.7  推理
  9.6  Gradio
    9.6.1  簡介
    9.6.2  基本用法
    9.6.3  複雜交互
    9.6.4  聊天機器人
    9.6.5  Gradio多輪推理
  9.7  解碼策略
    9.7.1  常見解碼策略
    9.7.2  推理超參數
    9.7.3  溫度
    9.7.4  top
    9.7.5  top
    9.7.6  重複懲罰
    9.7.7  代碼實現
  9.8  推理加速技術
    9.8.1  簡介
    9.8.2  純C推理
    9.8.3  投機採樣
    9.8.4  Medusa
    9.8.5  流式推理
第10章  中文私有模型開發
  10.1  基本思路
  10.2  中文辭彙表
  10.3  模型下載
    10.3.1  安裝Git LFS
    10.3.2  獲取下載鏈接
    10.3.3  直接單擊鏈接分文件逐一下載
  10.4  開發方案
    10.4.1  演示系統開發

    10.4.2  生產系統開發
    10.4.3  實訓系統開發
  10.5  中文語料
    10.5.1  預訓練語料
    10.5.2  微調數據集
第11章  模型評估
  11.1  大語言模型評估
  11.2  評估指標
    11.2.1  困惑度
    11.2.2  HellaSwag
    11.2.3  BLEU
    11.2.4  ROUGE
    11.2.5  METEOR
  11.3  基於上下文的學習
  11.4  Llama 2預訓練模型的評估
  11.5  MMLU
  11.6  標準基準測試
  11.7  代碼生成
    11.7.1  Human-Eval代碼生成基準測試
    11.7.2  MBPP程序生成基準測試
  11.8  考試AGI Eval
  11.9  GSM8K
  11.10  世界知識
    11.10.1  NaturalQuestions
    11.10.2  TriviaQA
  11.11  通義千問評測
  11.12  BBH
第12章  用於RAG的詞向量計算
  12.1  信息整合
  12.2  向量資料庫
  12.3  詞向量
  12.4  嵌入向量生成模型
  12.5  池化技術
  12.6  計算詞向量
    12.6.1  使用OpenAI
    12.6.2  使用Hugging Face
    12.6.3  使用Llama
  12.7  批量生成嵌入向量
  12.8  池化演算法
  12.9  詞向量文檔檢索
  12.10  示例
    12.10.1  PGVector簡介
    12.10.2  PGVector安裝
    12.10.3  向量資料庫操作
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032