我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
注意 Decoder 的輸入雖然一次只輸入一個字,但是整體來看仍是將所有輸入資料灌入,而且輸入資料正是貼標資料,亦即 Ground Truth ,這種使用 Ground Truth 為輸入的學習方式稱為 Teacher Forcing。
即便訓練時的目標是最小化 Cross Entropy,但是在評估模型好壞時,是用 BLEU 分數 (Bilingual Evaluation Understudy),這在機器學習中很常見,因為我們真正要最佳化的目標常常是不可微分的。
Transformer 訓練中使用的 Regularization 技巧除了常見的 Dropout之外,還使用了 Label Smoothing,其解釋為:將 Hard Label 轉化為 Soft Label,亦即將 Label 的 One-Hot Encoding 中的 1 轉化為比 1 稍小的數字,而將 0 轉化為比 0 稍大的數字,如此在計算 Cross Entropy 時,損失函數會把原來數值為 0 的標籤也考慮進來,說穿了,就是相當於在 One-Hot Encoding 的每一維度上增加噪音,也可以防止 Overfitting ,具體公式為:Output = (1 - epsilon )* Input + ( epsilon / K ),其中 epsilon 為很小的數,而 Input 為原始 One-Hot Encoding,而 K 為 One-Hot Encoding 向量維度。