- 大模型應用開發極簡入門:基于GPT-4和ChatGPT(第2版)
- (比)奧利維耶·卡埃朗 (法)瑪麗-艾麗斯·布萊特
- 1062字
- 2025-05-07 12:20:57
1.1.3 解密GPT模型的詞元化和預測步驟
LLM 接收提示詞作為輸入,并生成相應的文本,這個過程被稱為文本補全(text completion)。例如,輸入的提示詞可能是“The weather is nice today, so I decided to”(今天天氣很好,所以我決定去),而模型的輸出則可能是“go for a walk.”(散步)。你可能會好奇LLM是如何根據提示詞構建出這段文本的。實際上,這主要是一個概率計算的問題。
當LLM收到提示詞之后,它首先將輸入拆分成詞元(token)。這些詞元代表單詞、單詞的一部分、空格或標點符號。比如,在前面的例子中,提示詞可以被拆分成 [“The”,“wea”,“ther”,“is”,“nice”,“today”,“,”,“so”,“I”,“de”,“ci”,“ded”,“to”]。
幾乎每個語言模型都配有自己的分詞器。你可以在 OpenAI平臺上測試 GPT-3.5 和 GPT-4 系列的分詞器。
有一條經驗法則有助于你基于文本長度理解詞元:對于英語文本,100 個詞元大約等于 75 個單詞。但對于其他語言來說,情況可能有所不同,同樣數量的單詞可能會對應更多的詞元 2。
2 對于中文文本,100 個詞元大約等于 50 ~ 80 個漢字(單詞)。——譯者注
因為有了注意力機制和 Transformer 架構,LLM 能夠輕松處理詞元并解釋它們之間的關系及提示詞的整體含義。Transformer 架構使模型能夠高效地識別文本中的關鍵信息和上下文。
為了生成新的句子,LLM 會根據用戶提供的提示詞的上下文預測最有可能出現的后續詞元。OpenAI已經發布了多個版本的 GPT-4。最初,用戶可以選擇的上下文窗口分別為 8192 個詞元和 32 768 個詞元。到 2024 年初,OpenAI最新發布的模型是 GPT-4 Turbo 和 GPT-4o,其輸入上下文窗口擴大到了 128 000 個詞元,相當于近 300 頁的英文文本。與早期難以處理長輸入序列的循環模型不同,Transformer 架構結合注意力機制,使得現代LLM能夠將上下文作為一個整體來考慮。模型為每個潛在的后續詞元分配一個概率分數,然后選擇概率最高的詞元作為序列中的下一個詞元。在前面的例子中,“The weather is nice today, so I decided to”之后,下一個最佳詞元可能是“go”。
正如我們將在下一章看到的,通過調整溫度(temperature)參數,模型可以不總是選擇概率最高的下一個詞,而是從一組高概率詞中進行選擇。這種機制允許模型在生成文本時引入一定的多樣性和創造力,從而避免輸出過于單一或機械化。
這一過程會不斷重復,但每次生成新詞后,上下文也會隨之擴展。例如,模型在第一步預測出“go”后,新的上下文變為“The weather is nice today, so I decided to go”,并將“go”作為新的輸入的一部分。接下來,模型可能會預測出“for”。這個過程會持續進行,直到生成完整的句子,例如“The weather is nice today, so I decided to go for a walk.”。這一生成過程依賴于LLM從海量文本數據中學習出的可能性最高的下一個單詞。圖 1-5 直觀地展示了這一過程。

圖 1-5:逐詞元地補全文本,整個過程是迭代式的