我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
Byte Pair Encoding (BPE) 以單個字符的詞彙表開始,然後合併最常見的相鄰字符對,超參數決定了該過程重複的次數。
最終結果是一組合併後的字符,這些字符可以是單個 Character、Subwords 或完整的 Word,結果會被存儲在一個合併文件中,如 merge.txt,同時還會生成第二個文件,如 vocab.json,其中包含 Subword 的字典以及它們的唯一整數 ID。
Sequence 在 Tokenization 過程中被分解為 Subword,這些 Subword 可以在合併字典中找到,這個過程是迭代進行的,Tokenizer 會嘗試找到更大的 Subword,並重複 n 次操作,當達到最佳結果時,迭代合併的 Subword 會被 Tokenizer 分配一個 ID,這些子詞的 ID 信息會被記錄在 vocab.json 文件中。