我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
- 準備資料集:AI說書 - 從0開始 - 162 | 準備Pretrain模型需要的資料
- 準備必備函數庫:AI說書 - 從0開始 - 163 | 準備Pretrain模型需要的函數庫
- Tokenizer 前言:AI說書 - 從0開始 - 164 | Tokenizer 前言
- 訓練自己的 Tokenizer:AI說書 - 從0開始 - 165 | 訓練自己的Tokenizer
- 保存訓練好的 Tokenizer:AI說書 - 從0開始 - 166 | 保存訓練好的 Tokenizer
- Tokenizer 使用方式:AI說書 - 從0開始 - 167 | Tokenizer 使用方式
- GPU 及 CUDA 確認:AI說書 - 從0開始 - 168 | GPU 資源確認
- 編輯模型的 Config 檔:AI說書 - 從0開始 - 169 | 編輯模型的 Config 檔
- 初始化模型:AI說書 - 從0開始 - 170 | 初始化模型
- 模型參數探索:AI說書 - 從0開始 - 171 | 模型參數探索
- 模型參數探索:AI說書 - 從0開始 - 172 | 模型參數探索
- 模型參數探索:AI說書 - 從0開始 - 173 | 模型參數探索
- 模型參數探索:AI說書 - 從0開始 - 174 | 模型參數探索
繼 AI說書 - 從0開始 - 162 | 準備Pretrain模型需要的資料 中準備好的資料,現在要來進一步整理一下,目標是整理成 Block Size 為 128,亦即限制最大的 Token 數:
from transformers import LineByLineTextDataset
dataset = LineByLineTextDataset(tokenizer = tokenizer,
file_path = "./kant.txt",
block_size = 128)
接著建立 Data Collator,目標是從 Dataset 中取樣,變成 Batch:
from transformers import DataCollatorForLanguageModeling
data_collator = DataCollatorForLanguageModeling(tokenizer = tokenizer,
mlm = True,
mlm_probability = 0.15)
當中的 mlm = True 請見 AI說書 - 從0開始 - 130