我想要一天分享一點「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 | 模型參數探索
- Data Collator 建立:AI說書 - 從0開始 - 175 | Data Collator 建立
資料準備齊全,也做好 Tokenization,即可以來創建 Trainer,程式如下:
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(output_dir = "./KantaiBERT",
overwrite_output_dir = True,
num_train_epochs = 1,
per_device_train_batch_size = 64,
save_steps = 10000,
save_total_limit = 2)
trainer = Trainer(model = model,
args = training_args,
data_collator = data_collator,
train_dataset = dataset)
當中參數說明如下:
- output_dir = "./KantaiBERT":檢查點目錄
- overwrite_output_dir = True:輸出內容的覆蓋
- Num_train_epochs = 1:整體數據訓練輪數
- per_device_train_batch_size = 64:一次訓練資料筆數
- save_steps = 10000:檢查點週期
- save_total_limit = 2:資料刪除前需要累積的檢查點筆數