2021 年先把模型開發流程放進 Azure Machine Learning;2022 年則往模型裡面走,主題是「變形金剛與抱臉怪——NLP 應用開發之實戰」。名字故意取得有點鬧,內容談的其實是 Transformer 與 Hugging Face。
這 30 篇從本機與雲端環境開始,依序處理 Dataset、Tokenizer、Fine-tune、文字生成、摘要、NER、問答、量化與部署。理論沒有被拿掉,但每一段理論後面都會回到可執行的任務。
先確認這份目錄的範圍
這份導覽收錄 2022 年實際公開的完整 30 篇系列。原始內容仍保留在 iThome 原始系列頁,這裡不複製全文,而是整理閱讀順序、每一段的責任,以及現在回頭閱讀時要注意的版本邊界。
系列中的模型、套件 API、雲端映像與部署方式反映 2022 年狀態。閱讀時可以沿用概念與實驗方法;真正執行前,請重新確認相依套件、模型授權與現行部署介面。
系列目錄與閱讀路線
先理解生態系並準備開發環境
開頭先說明 Transformer、Hugging Face 與整個生態系的關係,接著分別建立本機與雲端 GPU 環境。沒有 GPU 仍能學習,但訓練等待時間與雲端成本都必須先算進去。
- # Day1-變形金剛與抱臉怪的基本介紹
- # Day2-Hugging Face 架構與三大神器
- # Day3-Hugging Face 本地端開發環境設定
- # Day4-Hugging Face 雲端開發環境設定
從 Dataset 到大規模資料載入
Day 5~9 聚焦 Hugging Face Hub 與 Datasets Library,包括載入自己的資料,以及用 Arrow、streaming 處理放不進記憶體的大型 Dataset。
- # Day5-Hugging Face Hub Dataset
- # Day6-初探 Hugging Face Dataset Library
- # Day7-載入自己的 Dataset
- # Day8-載入極巨大的 Dataset – Arrow 篇
- # Day9-載入極巨大的 Dataset – Stream 篇
Tokenizer、Transformer 與 Fine-tune
這一段先建立 Tokenizer 的基本觀念,再進入 Transformer、Pipeline 與模型種類,最後把資料處理和模型訓練拆成兩篇完成 Fine-tune。
- # Day10-Tokenizer 入門
- # Day11-當代的 Tokenizer algorithm
- # Day12-Hugging Face Tokenizer
- # Day13-Hugging Face Transformer 入門
- # Day14-Hugging Face Transformer Pipeline 和 TF model
- # Day15- Fine-tune Transformer — 資料處理篇
- # Day16- Fine-tune Transformer — 訓練模型篇
- # Day17-Transformer 的種類
把模型用在不同 NLP 任務
從文字生成開始,接著處理中文生成、摘要與評估、NER、問答及 QA 系統架構。讀者看到的不只是呼叫 pipeline,還包括不同任務的輸入、輸出與評估方式。
- # Day18-Hugging Face 文本生成入門
- # Day19-Hugging Face 文本生成進階
- # Day20-Hugging Face 中文的文本生成
- # Day21-Hugging Face 摘要任務入門
- # Day22-評價摘要好壞的演算法
- # Day23- Fine-tuned 摘要任務的 transformer
- # Day24- Hugging Face Named Entity Recognition
- # Day25- Hugging Face 問答任務
- # Day26- 當代QA系統的架構
效能、量化、部署與聊天機器人
最後處理推論效能與 Quantization,再把模型部署出去並串接聊天機器人。模型在 Notebook 裡跑得動,和能被應用程式穩定呼叫,是兩個不同的完成標準。
- # Day27-Transformer 效能優化
- # Day28- Hugging Face Optimum Quantization
- # Day29- 部署 Hugging Face model
- # Day30- Hugging Face 串接聊天機器人
這一年留下的主線
2022 年的主線,是把「使用一個 AI 平台」往下拆成資料、Tokenizer、模型、任務與部署。這些基礎到了生成式 AI 爆發之後並沒有消失,只是被更高階的 API 包起來了。
2023 年的問題因此變成:模型已經能用了,要怎麼把環境、Embedding、向量資料庫、Web API 與應用程式接成一條完整路徑?
Discussion
文章留言
留言服務會連線到 Disqus;只有在你選擇載入後才會建立外部連線。