我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
- 詞彙外 (Out-of-Vocabulary, OOV) 詞語:Subword Tokenizer 可以處理在訓練階段未出現的詞語 OOV,Tokenizer 會將 OOV 詞語拆解成 Transformer 模型可以處理的小單位
- 詞彙優化:Subword Tokenizer 將序列分解為比句子和單詞 Tokenizer 更小的單位,從而優化詞彙表的大小
- 形態靈活性:Subword Tokenizer 將詞語分解為更小的單位,這些單位可以與其他小單位進行泛化,從而加深模型理解語言的能力
- 抗噪能力:即使單詞拼寫錯誤或包含錯別字,Subword Tokenizer 仍然可以捕捉並處理其含義
- 多語言處理:Word-Level Tokenizer 與特定語言相關,而 Subword Tokenizer 則不受語言限制
Byte Pair Encoding (BPE) 和 WordPiece 是 Transformer 模型中常用的 Subword Tokenizer,理解這兩種 Subword Tokenizer 的原理將幫助你理解任何 Subword Tokenizer 的運作方式,雖然我們主要關注 BPE 和 WordPiece,但它們並不是唯一的 Subword Tokenizer,為了之後實作,我們先安裝以下工具:
!pip install transformers -qq
!pip install sentencepiece -qq