LLM 大型語言模型的絕世祕笈:27 路獨步劍法,帶你闖蕩生成式 AI 的五湖四海 (iThome鐵人賽系列書)
- P幣
全盈+PAY單筆消費滿1萬回饋800P幣(每帳號限乙次,限量)
- 登記送
【OK】單筆滿$1純取貨/取貨付款訂單登記送OK購物金50元(限量)
- 登記送
【7-11】單筆滿$350純取貨/取貨付款訂單登記送一顆檸檬青茶兌換券乙張(限量)
- 信用卡、無卡分期、行動支付,與其他多種方式
- PChome 聯名卡最高6%,新戶再享首刷禮1000P
- 宅配到府(本島/低溫)滿$699免運
- 宅配到府(本島/常溫)滿$490免運
- 超商取貨(常溫)滿$350免運
- 超商取貨(低溫)滿$699免運
- i郵箱(常溫)滿$290免運
作者: | |
ISBN: | 9786263339293 |
出版社: | |
出版日期: | 2024/08/12 |
內文簡介
<內容簡介>
大 AI 時代將至,你不可不讀的語言模型獨門祕笈
帶你輕鬆遨遊生成式 AI 的世界
本書內容改編自第15屆 iThome 鐵人賽 AI & Data 組冠軍系列文章《LLM 學習筆記》,這是個生成式 AI 崛起的年代,其中又以 ChatGPT 為首的大型語言模型(Large-Scale Language Model, LLM)們最為令人驚豔,但是每當我們提到 LLM 時,腦中浮現的可能都是一些參數量龐大、架構絢麗又複雜、沒有個幾千幾百張 GPU 跑不動的超複雜數學模型!
其實掌握語言模型並沒有那麼困難,本書介紹了許多在建立 LLM 相關應用時會使用到的技術:在雲端可以透過簡單的 ChatGPT API 打造有趣的塔羅占卜應用;在地端有 Hugging Face TGI、vLLM、llama.cpp 等推論框架,就算只有單顯卡也能高速部署、輕鬆玩轉各式各樣 Open Source 的 LLM。透過多種量化技術減少記憶體開銷,小顯卡也能推動大模型!還有許多文本檢索的技巧,帶你一步步構築出 RAG 實務應用。最後當然少不了,透過 LoRA 訓練手法輕鬆打造專屬於你的客製化語言模型!
筆者根據自身的實務經驗,介紹深入但是易懂的理論,使用簡單但是務實的技術,帶領大家瞭解如何在低成本、低資源的環境中打造 LLM 相關應用。無論你是求知若渴的研究員,或是躍躍欲試的工程師,都能從本書中得到滿滿的收穫!
重點摘要
✦ 語言模型
雲有 ChatGPT,地有 Llama
✦ 推論部署
不只高速生成,還要低成本量化
✦ 檢索應用
掌握提示工程,徹底瞭解 RAG
✦ 微調訓練
活用 LoRA 訓練,打造客製化模型
本書可以學到哪些知識
● 量化:減少模型的顯示卡記憶體使用量。
● 部署:將模型以後端服務的形式進行部署。
● 推論:如何達到更快速的文字生成速度。
● 微調:調整訓練模型的權重以符合應用需求。
● 檢索:從外部知識庫搜尋相關資料輔助模型生成。
● 應用:結合以上技術搭建出一個實際的應用。
目標讀者
.對 LLM 充滿好奇的讀者
.想要嘗試涉足 AI 領域的初學者
.想要簡單瞭解 LLM 相關理論的領導者
.想要深入學習 LLM 相關技術的工程師
.想要一本 AI 相關的書籍,又不想要內容太深澀難懂的休閒玩家
.擁有自己的機器,想要實際動手玩轉語言模型的深度玩家
.大 AI 時代來臨,手邊卻還沒有一本 AI 相關書籍的朋友
★專家推薦:
本書在鐵人賽文章的基礎上增加了更多內容。除了介紹各種常見的語言模型及其使用方式外,還補充了許多細節和實作部分,書中的程式碼附有連結至 GitHub 供參考。本書內容涵蓋了 ChatGPT 的各項使用、延伸應用及工具,還有各種神經網路語言模型的說明,例如 Transformer、LLaMa ,並且介紹了台灣常見的大型語言模型,如 Breeze、Taiwan LLM、TAIDE 等。當然,書中也詳細指導如何透過開放源碼的語言模型來建立並訓練自己的 AI 應用。感謝作者花費大量時間編寫此書,清楚地整理及介紹了大型語言模型。對於想學習大型語言模型並打造屬於自己 AI 的讀者,相信本書可以讓你事半功倍。
──── 徐千洋|台灣駭客年會創辦人、CYBAVO 共同創辦人
威廷在求學時期就是個興趣廣泛的人,一聽到新觀念,會馬上深入研究。頗有心得時,還會將筆記分享給大家,是那種資工系最歡迎的自動自發的學生。長期在網路世界打滾的他也深諳網路語彙,由他來寫這本書真是再適合不過了。這本書有理論、有程式,有實作運用演練,也有趨勢新知的分享。內容論述深入淺出,範例鮮明。整本書居然涵蓋了二十多種主題,簡直物超所值,收穫滿滿!期待這本書能點燃許多人心中對 LLM 的好奇心,並成為踏入 AI 世界的最大支援火力!
──── 林川傑|國立臺灣海洋大學資訊工程學系 助理教授
不管你是什麼原因想要認識 AI:是正要開始認識 AI 的新手小白,或是突然接到一個 AI 專案導入並且要馬上有一番通盤概念的苦命工程師,都非常適合閱讀這本書。本書中前半的篇章淺顯易懂,讓完全的新手也能夠輕易讀懂難啃的專業術語,後面的篇章有很多實作的專案練習;而我作為一名本科仔,依然可以透過這些實作加深印象,也補足了離校至今的新知。書中同時也穿插了許多情境式的帶入及豐富的額外小知識補充,再搭配詳細的文獻資料可供延伸學習以及深入解析。相信這本書一定可以讓大家更容易進入 AI 的世界,成為 LLM 大師指日可待!
──── 林俊廷 JT Lin|iThome 鐵人賽戰友、NZXT 軟體工程師、花生大師追隨者
★目錄:
Ch 01 語言模型能吃嗎?
1.1 語言模型不能吃
1.2 語言模型的種類
1.2.1 N-Gram 模型
1.2.2 隱藏式馬可夫模型
1.2.3 循環神經網路
1.2.4 Transformer
1.3 Bigram 語言模型實作
1.3.1 爬取文本
1.3.2 統計建模
1.3.3 文本生成
1.4 結論
Ch 02 神經網路語言模型
2.1 文字向量
2.2 遞歸神經網路
2.3 Transformer 模型與注意力機制
2.4 Transformer 語言模型架構種類
2.4.1 Encoder 語言模型
2.4.2 Encoder-Decoder 語言模型
2.4.3 Decoder 語言模型
2.5結論
Ch 03 ChatGPT
3.1 ChatGPT 狂熱
3.2 提示 Prompt
3.2.1 Zero-Shot & Few-Shot Prompt
3.2.2 Chain-of-Thought
3.2.3 System Prompt
3.3 ChatGPT Plus
3.3.1 GPT-4
3.3.2 My GPTs
3.3.3 Ai PDF
3.4 結論
Ch 04 OpenAI API
4.1 Token
4.2 Tiktoken
4.3 Pricing
4.4 ChatGPT API
4.4.1 認證
4.4.2 基礎用法 Non-Streaming
4.4.3 串流用法 Streaming
4.4.4 文字介面聊天範例
4.4.5 文字向量 API
4.4.6 Rate Limits
4.4 結論
Ch 05 AI 實戰應用:貓貓塔羅
5.1 Gradio
5.1.1 基本用法 gr.Blocks
5.1.2 圖片元件 gr.Image
5.1.3 聊天室元件 gr.Chat
5.2 貓貓塔羅
5.2.1 素材蒐集
5.2.2 核心應用
5.2.3 完整應用
5.3 結論
Ch 06 ChatGPT 的挑戰者們
6.1 土豆挑戰 Peanut Challenge
6.2 Google Gemini
6.3 Anthropic Claude
6.4 Microsoft Copilot
6.5 訊飛星火
6.6 BreeXe
6.7 結論
Ch 07 ChatGPT 相關應用
7.1 ChatPDF
7.2 CloudGPT
7.3 Gogolook 袋鼠金融
7.4 Hotoke 佛祖 AI
7.5 AutoGPT & AgentGPT
7.6 OSENSE Qubby AI
7.7 薯條塔羅
7.8 結論
Ch 08 檢索與生成
8.1 生成式資訊檢索
8.1.1 封閉生成式資訊檢索
8.1.2 開放生成式資訊檢索
8.2 論文閱讀問答機器人實做
8.2.1 索引階段 Index Phase
8.2.2 查詢階段 Query Phase
8.2.3 分析
8.2 結論
Ch 09 走訪 LLM 訓練流程
9.1 監督式微調
9.1.1 預訓練
9.1.2 指令微調
9.2 增強式學習
9.2.1 獎勵模型
9.2.2 近端策略最佳化 PPO
9.2.3 直接偏好最佳化 DPO
9.2.4 增強式學習框架 TRL
9.3 結論
Ch 10 建立開發環境
10.1 作業系統
10.2 NVIDIA 顯示卡驅動程式
10.3 虛擬環境管理 Conda
10.3.1 安裝 Miniconda
10.3.2 Conda 基本操作
10.4 常用套件安裝
10.4.1 CMake
10.4.2 CUDA
10.5 Docker
10.6 Colab
10.7 GPU
10.8 結論
Ch 11 擁抱開源的微笑 Hugging Face Transformers
11.1 讀取模型
11.2 讀取分詞器
11.3 自動類別
11.4 文本生成
11.5 串流輸出
11.6 提示樣板
11.7 取樣參數
11.8 設定停止點
11.9 自迴歸解碼
11.10 多顯卡推論
11.11 到底是在「大」什麼?
11.12 結論
Ch 12 數若繁星的語言模型們
12.1 英文模型
12.1.1 Llama
12.1.2 Alpaca
12.1.3 Vicuna
12.1.4 TinyLlama
12.1.5 Phi
12.1.6 Mistral & Mixtral
12.2 中文模型
12.2.1 Qwen
12.2.2 Yi
12.3 臺灣模型
12.3.1 Breeze & BreeXe
12.3.2 Taiwan LLM
12.3.3 TAIDE
12.3.4 Bailong
12.3.5 FFM
12.4 其他資源
12.4.1 Awesome LLM
12.4.2 Open LLMs
12.4.3 Open LLM Leaderboard
12.5 結論
Ch 13 語言模型也懂寫程式!
13.1 StarCoder
13.2 CodeGen
13.3 CodeLlama
13.4 DeepSeek Coder
13.5 結論
Ch 14 貧民英雄,量化超人
14.1 基礎概念
14.1.1 說文解字
14.1.2 簡單推論
14.2 量化方法
14.2.1 BitsAndBytes
14.2.2 Quanto
14.2.3 GPTQ
14.2.4 AWQ
14.3 困惑度
14.4 結論
Ch 15 ggml & llama.cpp
15.1 ggml
15.2 llama.cpp
15.3 環境建置
15.4 格式轉換
15.5 主程式 main
15.6 量化工具 quantize
15.7 伺服器 server
15.8 Python Binding
15.9 速度比較
15.10 結論
Ch 16 Text Generation Inference
16.1 架設服務
16.2 基本用法
16.3 量化選項
16.4 Token 數量設定
16.5 TGI Client
16.6 速度測試
16.7 結論
Ch 17 vLLM & Paged Attention
17.1 Key-Values Cache
17.2 Paged Attention
17.3 基本用法
17.4 LLM Service
17.5 速度比較
17.6 結論
Ch 18 情境學習In-Context Learning
18.1 起源
18.2 基本
18.3 翻譯應用
18.4 文字正規化應用
18.4 結論
Ch 19 再訪檢索模型
19.1 關鍵字
19.2 BM25 Best Matching Ranking
19.3 文本向量
19.4 Text Embedding Inference
19.5 相似度
19.6 Faiss
19.7 結論
Ch 20 任務導向聊天機器人
20.1 任務導向到底是什麼呢?
20.2 有了 LLM 的 TOD 系統天下無敵?
20.3 Rasa
20.4 結論
Ch 21 LangChain
21.1 題目發想
21.2 資料來源
21.3 資料爬取
21.4 LLM
21.5 Prompt Template
21.6 Embedding Model
21.7 Vector Store
21.8 Few-Shot Prompt Template
21.9 Example Selector
21.10 Chain!
21.11 結論
Ch 22 微調語言模型DIY!
22.1 任務設計
22.2 建立資料集
22.3 訓練流程
22.4 評估測試
22.5 結論
Ch 23 PEFT & LoRA
23.1 LoRA 簡介
23.2 LoRA 原理
23.2.1 FFT 運算
23.2.2 LoRA 運算
23.2.3 合併 運算
23.3 回顧 LoRA 程式碼
23.4 LoRA 推論
23.5 QLoRA
23.6 權重合併
23.7 訓練細節
23.8 結論
Ch 24 永遠不夠長!
24.1 ChatGPT & Claude
24.2 Gradient Checkpointing
24.3 內插法 & 外插法
24.4 LongLoRA
24.5 StreamingLLM & Attention Sinks
24.6 結論
Ch 25 資料何其多,硬碟何其小
25.1 Hugging Face Datasets
25.2 預訓練資料集
25.2.1 Common Crawl
25.2.2 Project Gutenberg
25.2.3 The Pile
25.2.4 C4 & mC4
25.2.5 Stack Exchange
25.2.6 RedPajama & SlimPajama
25.2.7 The Stack & StarCoderData
25.3 對話資料集
25.3.1 Databricks Dolly
25.3.2 OASST
25.3.3 ShareGPT
25.3.4 LMSYS Chat
25.4 中文資料來源
25.4.1 政府資料開放平台
25.4.2 維基文庫
25.4.3 開放文學
25.4.4 漢籍全文資料庫
25.4.5 TAIDE
25.5 評估資料集
25.6 模型生成資料
25.7 結論
Ch 26 授權條款與社會責任
26.1 什麼是「權」?
26.2 常見授權條款
26.2.1 MIT
26.2.2 GPL & LGPL
26.2.3 Apache 2.0
26.2.4 BSD
26.2.5 CC
26.3 特殊授權條款
26.3.1 OpenRAIL
26.3.2 Llama2 License
26.4 相關爭議
26.5 結論
Ch 27 學海無涯,學無止境
27.1 論文
27.2 GitHub趨勢
27.3 Hugging Face
27.3.1 Blog
27.3.2 Trending
27.3.3 Daily Paper
27.4 iThome
27.5 與人互動
27.6 未來發展
<作者簡介>
陳威廷(Penut Chen)
在新店角落默默無聞a樂天派技術宅,不只喜歡寫程式,也喜歡跟大家分享技術,除了在網路上發表教學文章、範例專案以外,也主持過技術分享的讀書會。主要的專業在自然語言處理領域,原本從一個乏人問津的 NLP 實驗室畢業,沒想到遇上了 ChatGPT 帶來的生成式 AI 熱潮,一夜之間大家對 LLM 興趣水漲船高,然而我的薪水身價卻依然四平八穩,於是決定到 iThome 鐵人賽上抖出我的渾身解數,很榮幸的獲得了 AI & Data 組的冠軍。
在成長的路上受到許多師長與前輩的開導,深深感受到知識與學習對於一個人是如此重要,在我的心中相當尊敬這些撰寫知識、傳播知識的人們,本著「取之於社會,用之於社會」的心情,來向大家分享我對這個領域的理解與熱忱!
相關分類
寄送時間 | 全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明 |
---|---|
送貨方式 | 透過宅配送達。除網頁另有特別標示外,均為常溫配送。 消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。 |
送貨範圍 | 限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。 註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。 |
售後服務 | 缺掉頁更換新品 |
執照證號&登錄字號 | 本公司食品業者登錄字號A-116606102-00000-0 |
- PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
- 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
- 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
- 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
- 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
- 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內檢視您的退貨要求,檢視完畢後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5個工作天內透過電話與您連絡前往取回退貨商品。請您保持電話暢通,並備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
- 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
- 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
- 本公司收到您所提出的申請後,若經確認無誤,將依消費者保護法之相關規定,返還您已支付之對價(含信用卡交易),退款日當天會再發送E-mail通知函給您。