我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
我們看到,原始數據集可能足夠用於標準語言任務來訓練 Transformer 模型,然而,我們發現即使預訓練的 Tokenizer 已經處理過十億個單詞,它只會為遇到的詞彙創建一小部分字典,就像我們一樣,Tokenizer 捕捉到它所學語言的精髓,並只記住那些最重要且經常使用的詞彙,這種方法對於標準任務運行良好,但在處理特定任務和詞彙時會產生問題。
我們探討了 Sentence 和 Word Tokenizer,以了解文本序列如何被分解成 Sentence 和Word,我們回顧了幾種 Sentence 和 Word Tokenization 方法,Sentence 和 Word Tokenizer 對許多自然語言處理任務都有用,某些情況下還可用於預處理訓練 Transformer 模型的數據集,然而,在大規模語料庫上,它們會生成大量詞彙表,從而減慢 Transformer 模型的訓練過程,因此,我們探索了 Subword Tokenizer,例如Unigram 語言模型分詞法、SentencePiece、Byte Pair Encoding 和 WordPiece,我們重點關注了 WordPiece 分詞器,深入研究了Token ID 的映射。
Tokenization 的技術需要在保留訊息和優化計算性能之間取得平衡,必須選擇適合你的任務和模型的方法。
從 AI說書 - 從0開始 - 281 | 第十章引言 到 AI說書 - 從0開始 - 307 | Token ID 映射品質管控,我們完成書籍:Transformers for Natural Language Processing and Computer Vision, Denis Rothman, 2024 第十章說明。
以下附上參考項目:
- Colin Raffel et al., 2019, Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer: https://arxiv.org/pdf/1910.10683.pdf
- Gensim: https://radimrehurek.com/gensim/intro.html
以下附上額外閱讀項目:
- Hiraoka et al., 2023, Tokenization Tractability for Human and Machine Learning Model: An Annotation Study: https://arxiv.org/abs/2304.10813