我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
回顧我們在 AI說書 - 從0開始 - 110,介紹了 BLEU 使用方法與公式,現在我們再跑一個例子:
#Example 3
reference = [['the', 'cat', 'likes', 'milk']]
candidate = ['the', 'cat', 'enjoys','milk']
score = sentence_bleu(reference, candidate)
print('Example 3', score)
跑出以下結果:
關鍵問題出在:3-Gram 沒有重疊,它建議的選項出現:SmoothingFunction(),我們來看看 Smoothing 是什麼意思。
Chen 與 Cherry 於 2014 年提出一種 Smoothing 方法,Label Smoothing 是一種非常有效的方法,可以提高 Transformer 模型在訓練階段的表現,舉例來說:
我要預測 [mask] 這個字在句子 The cat [mask] milk 中為何,那我的候選名單可能為:
而 Softmax 可能為:
又 One-Hot 為:
這樣一來,Label Smoothing 的運作方式為: