揭示大型語言模型的秘密:深入探討令牌化
還記得2020年Openai的GPT-3周圍的嗡嗡聲嗎? GPT-3的出色文本生成功能雖然不是第一個,但它使它成名。從那時起,就出現了無數的大型語言模型(LLM)。但是,LLMS如何像Chatgpt Decipher語言?答案在於一個稱為令牌化的過程。
本文汲取了Andrej Karpathy洞察力的YouTube系列“深入研究Chatgpt之類的LLM”的靈感,這是對任何尋求對LLMS更深入了解的人必不可少的。 (強烈建議!)
在探索令牌化之前,讓我們簡要介紹LLM的內部工作。如果您已經熟悉神經網絡和LLM,則跳過前進。
內部大語言模型
LLM使用變壓器神經網絡 - 複雜的數學公式。輸入是通過嵌入層處理的代幣(單詞,短語或字符)的序列,將其轉換為數值表示。這些輸入以及網絡的參數(權重)被饋入大型數學方程。
現代神經網絡擁有數十億個參數,最初是隨機設置的。該網絡最初做出隨機預測。訓練迭代地調整了這些權重,以使網絡的輸出與培訓數據中的模式保持一致。因此,培訓涉及找到最佳反映培訓數據統計特性的最佳權重集。
Vaswani等人的2017年論文“注意力是您需要的全部”中引入的變壓器架構是一個專門為序列處理設計的神經網絡。最初用於神經機器翻譯,現在是LLM的基石。
要直觀地了解生產級變壓器網絡,請訪問https://www.php.cn/link/link/f4a75336b061f291b6c11f5e4d6ebf7d 。該站點提供了GPT體系結構及其推理過程的交互式3D可視化。
這種納米-GPT體系結構(約85,584個參數)顯示了通過層處理的輸入令牌序列,進行轉換(注意機制和饋送前進網絡),以預測下一個令牌。
令牌化:分解文字
培訓諸如Chatgpt或Claude之類的尖端LLM涉及幾個順序階段。 (有關培訓管道的更多詳細信息,請參見我上一篇有關幻覺的文章。)
預處理(初始階段)需要大量的高質量數據集(Terabytes)。這些數據集通常是專有的。作為一個例子,我們將使用擁抱面(在“開放數據共享歸因許可證”下可用)的開源FineWeb數據集。 (有關FineWeb創建的更多詳細信息)。
來自FineWeb的樣本(100個示例串聯)。
我們的目標是訓練神經網絡以復制該文本。神經網絡需要有限集的一維符號序列。這需要將文本轉換為這樣的序列。
我們從一維文本序列開始。 UTF-8編碼將其轉換為原始位序列。
前8位表示字母“ A”。
該二進制序列在技術上是一系列符號(0和1)的序列太長。我們需要具有更多符號的較短序列。將8位分組到一個字節中,使我們有256個可能的符號(0-255)。
字節表示。
這些數字是任意標識符。
這種轉換是令牌化。使用字節對編碼(BPE),最先進的模型進一步發展。
BPE識別頻繁的連續字節對,並用新符號代替它們。例如,如果經常出現“ 101 114”,則將其替換為新符號。這個過程重複,縮短順序並擴展詞彙。 GPT-4使用BPE,導致大約100,000個令牌的詞彙。
與Tiktokenizer交互性探索令牌化,該化量可視化各種模型的令牌化。在前四個句子上使用GPT-4的CL100K_BASE編碼器產生:
<code>11787, 499, 21815, 369, 90250, 763, 14689, 30, 7694, 1555, 279, 21542, 3770, 323, 499, 1253, 1120, 1518, 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中文網其他相關文章!