我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
我們已經在AI說書 - 從0開始 - 17中,介紹了大型語言模型 (LLM)世界裡面常用到的Token,現在我們來談談OpenAI的GPT模型如何利用Inference的Pipeline產生Token:
資料出自書籍:Transformers for Natural Language Processing and Computer Vision, Denis Rothman, 2024.
- Tokenization:利用Tokenizer將Input Sequence轉成Tokens
- Model Input:Pipeline將已經被Tokenized的Sequence匯入訓練好的GPT Model
- Model:透過多層Layer來處理輸入資料,包含Input Layer、、Multiple Transformer Layers、Output Layer
- Output Generation:Input Sequence匯入Model後產生Raw Output Logits
- Sampler:將Logits轉成Probabilities
- Next Token Selection (Next TS):依據Sampler輸出的Probabilites來產生Next Token
- Next Token Addition:前一步驟的Selected Next Token和Input Sequence做串接,以此從步驟三開始重複執行,一直到Maximum Token Limit達到
- Token Generation Completion (Token Generation):滿足以下任意兩情況的話,Token Generation程序結束:
- Maximum Token Limit達到
- 偵測到End-of-Sequence Token
- Text Reconstruction:Tokenizer將最後的Token Sequence轉成字串,比較容易理解的話是:縫合Any subword tokens back together to form whole words