KoKo 的 2022 技術創作年鑑:變形金剛與抱臉怪

整理 KoKo 2022 年 iThome 鐵人賽的 30 篇 Transformer 與 Hugging Face 文章,涵蓋環境、Dataset、Tokenizer、Fine-tune、NLP 任務、效能與部署。

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 仍能學習,但訓練等待時間與雲端成本都必須先算進去。

  1. # Day1-變形金剛與抱臉怪的基本介紹
  2. # Day2-Hugging Face 架構與三大神器
  3. # Day3-Hugging Face 本地端開發環境設定
  4. # Day4-Hugging Face 雲端開發環境設定

從 Dataset 到大規模資料載入

Day 5~9 聚焦 Hugging Face Hub 與 Datasets Library,包括載入自己的資料,以及用 Arrow、streaming 處理放不進記憶體的大型 Dataset。

  1. # Day5-Hugging Face Hub Dataset
  2. # Day6-初探 Hugging Face Dataset Library
  3. # Day7-載入自己的 Dataset
  4. # Day8-載入極巨大的 Dataset – Arrow 篇
  5. # Day9-載入極巨大的 Dataset – Stream 篇

Tokenizer、Transformer 與 Fine-tune

這一段先建立 Tokenizer 的基本觀念,再進入 Transformer、Pipeline 與模型種類,最後把資料處理和模型訓練拆成兩篇完成 Fine-tune。

  1. # Day10-Tokenizer 入門
  2. # Day11-當代的 Tokenizer algorithm
  3. # Day12-Hugging Face Tokenizer
  4. # Day13-Hugging Face Transformer 入門
  5. # Day14-Hugging Face Transformer Pipeline 和 TF model
  6. # Day15- Fine-tune Transformer — 資料處理篇
  7. # Day16- Fine-tune Transformer — 訓練模型篇
  8. # Day17-Transformer 的種類

把模型用在不同 NLP 任務

從文字生成開始,接著處理中文生成、摘要與評估、NER、問答及 QA 系統架構。讀者看到的不只是呼叫 pipeline,還包括不同任務的輸入、輸出與評估方式。

  1. # Day18-Hugging Face 文本生成入門
  2. # Day19-Hugging Face 文本生成進階
  3. # Day20-Hugging Face 中文的文本生成
  4. # Day21-Hugging Face 摘要任務入門
  5. # Day22-評價摘要好壞的演算法
  6. # Day23- Fine-tuned 摘要任務的 transformer
  7. # Day24- Hugging Face Named Entity Recognition
  8. # Day25- Hugging Face 問答任務
  9. # Day26- 當代QA系統的架構

效能、量化、部署與聊天機器人

最後處理推論效能與 Quantization,再把模型部署出去並串接聊天機器人。模型在 Notebook 裡跑得動,和能被應用程式穩定呼叫,是兩個不同的完成標準。

  1. # Day27-Transformer 效能優化
  2. # Day28- Hugging Face Optimum Quantization
  3. # Day29- 部署 Hugging Face model
  4. # Day30- Hugging Face 串接聊天機器人

這一年留下的主線

2022 年的主線,是把「使用一個 AI 平台」往下拆成資料、Tokenizer、模型、任務與部署。這些基礎到了生成式 AI 爆發之後並沒有消失,只是被更高階的 API 包起來了。

2023 年的問題因此變成:模型已經能用了,要怎麼把環境、Embedding、向量資料庫、Web API 與應用程式接成一條完整路徑?

Discussion

文章留言

留言服務會連線到 Disqus;只有在你選擇載入後才會建立外部連線。