揭示了大語言模型的秘密:深入探究令牌化
還記得2020年Openai的GPT-3周圍的嗡嗡聲嗎? GPT-3的出色文本生成功能雖然不是第一個,但它使它成名。從那時起,就出現了無數的大型語言模型(LLM)。但是,LLMS如何像Chatgpt Decipher語言?答案在於一個稱為令牌化的過程。
本文從Andrej Karpathy的洞察力YouTube系列中汲取了靈感,“深入研究LLM,例如Chatgpt,”,這是任何尋求更深入了解LLM的人的必看。 (強烈建議!)
在探索令牌化之前,讓我們簡要檢查LLM的內部工作。如果您已經熟悉神經網絡和LLM,則跳過前進。
大語言模型內部
llms利用變壓器神經網絡 - 複雜的數學公式。輸入是通過嵌入層處理的令牌(單詞,短語或字符)的序列,將其轉換為數值表示。這些輸入以及網絡的參數(權重)被饋入大型數學方程。
現代神經網絡擁有數十億個參數,最初是隨機設置的。該網絡最初做出隨機預測。訓練迭代地調整了這些權重,以使網絡的輸出與培訓數據中的模式保持一致。因此,培訓涉及找到最佳反映培訓數據的統計屬性的最佳權重集。
vaswani等人在2017年論文“關注您需要的一切”中引入的變壓器體系結構是一個專門為序列處理而設計的神經網絡。它最初用於神經機器翻譯,現在是LLM的基石。
以目視了解生產級變壓器網絡,請訪問 https://www.php.cn/link/link/link/link/link/link/link/link/link/link/f45333333333333333333361f291b6c11b56.1b74d4d4d4d4d4d4d4d4d。該站點提供了GPT體系結構及其推理過程的交互式3D可視化。
Tokenization: Breaking Down Text
Training a cutting-edge LLM like ChatGPT or Claude involves several sequential stages. (有關培訓管道的更多詳細信息,請參見我的上一篇有關幻覺的文章。)
預處理,初始階段,需要大量的高質量數據集(Terabytes)。這些數據集通常是專有的。作為一個例子,我們將使用擁抱面(在“開放數據共享歸因許可證”下可用)的開源FineWeb數據集。 (有關FineWeb創建的更多詳細信息。 src =“ https://img.php.cn/upload/article/000/000/000/000/174166081948412.jpg” alt =“這就是LLMS分解語言的方式”/> farce f ins from face f ince of file face f infine> src =“ https://img.php.cn/upload/article/000/000/000/174166082170272.jpg” alt =“這是LLMS分解語言的方式”/>我們的目標是我們的目標是訓練神經網絡以復制此文本。神經網絡需要有限集的一維符號序列。這需要將文本轉換為這樣的序列。
我們從一維文本序列開始。 UTF-8編碼將其轉換為原始的位序列。
這些數字是任意的識別器。
bpe識別頻繁的連續字節對,並用新符號替換它們。例如,如果經常出現“ 101 114”,則將其替換為新符號。這個過程重複,縮短順序並擴展詞彙。 GPT-4 uses BPE, resulting in a vocabulary of around 100,000 tokens.
Explore tokenization interactively with Tiktokenizer, which visualizes各種模型的令牌化。使用GPT-4的 cl100k_base 在前四個句子上編碼:
<code> 11787,499,21815,369,90250,763,763,14689,14689,30,30,7694 701, 4832, 2457, 13, 9359, 1124, 323, 6642, 264, 3449, 709, 3010, 18396, 13, 1226, 617, 9214, 315, 1023, 3697, 430, 1120, 649, 10379, 83, 3868, 311, 3449, 18570, 1120, 1093,499,0 </code>
cl100k_base 。
令牌化對於LLMS至關重要,將原始文本轉換為神經網絡的結構化格式。平衡序列長度和詞彙大小是計算效率的關鍵。像GPT這樣的現代LLM使用BPE進行最佳性能。理解令牌化為LLM的內部運作提供了寶貴的見解。
在X(以前是Twitter)上跟隨我以獲取更多的AI見解!
參考
以上是這就是LLM分解語言的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!