1.1.3 解密 GPT 模型的标记化和预测步骤
GPT 模型接收一段提示词作为输入,然后生成一段文本作为输出。这个过程被称为文本补全。举例来说,提示词可以是 The weather is nice today, so I decided to(今天天气很好,所以我决定),模型的输出则可能是 go for a walk(去散步)。你可能想知道 GPT 模型是如何根据输入的提示词构建输出文本的。正如你将看到的,这主要是一个概率问题。
当 GPT 模型收到一段提示词之后,它首先将输入拆分成标记(token)。这些标记代表单词、单词的一部分、空格或标点符号。比如,在前面的例子中,提示词可以被拆分成[The, wea, ther, is, nice, today,,, so, I, de, ci, ded, to]。
几乎每个语言模型都配有自己的分词器。截至本书英文版出版之时,GPT-4 的分词器还不可用3,不过你可以尝试使用 GPT-3 的分词器。
3 现在,OpenAI 已在其网站上提供了 GPT-4 的分词器。——译者注
理解标记与词长的一条经验法则是,对于英语文本,100 个标记大约等于 75 个单词。
因为有了注意力机制和 Transformer 架构,LLM 能够轻松处理标记并解释它们之间的关系及提示词的整体含义。Transformer 架构使模型能够高效地识别文本中的关键信息和上下文。
为了生成新的句子,LLM 根据提示词的上下文预测最有可能出现的下一个标记。OpenAI 开发了两个版本的 GPT-4,上下文窗口大小分别为 8192 个标记和 32 768 个标记4。与之前的循环模型不同,带有注意力机制的 Transformer 架构使得 LLM 能够将上下文作为一个整体来考虑。基于这个上下文,模型为每个潜在的后续标记分配一个概率分数,然后选择概率最高的标记作为序列中的下一个标记。在前面的例子中,“今天天气很好,所以我决定”之后,下一个最佳标记可能是“去”。
4 请注意,本书中的译者注的添加时间为 2023 年 11 月 19 日~2023 年 12 月 2 日,在此统一说明,后续不再逐一详细说明。截至 2023 年 11 月下旬,OpenAI 已提供 6 个 GPT-4 模型,包括 gpt-4-1106-preview、gpt-4-vision-preview、gpt-4、gpt-4-32k、gpt-4-0613、gpt-4-32k-0613,其中 gpt-4-1106-preview 的上下文窗口已增加至 16 385 个标记。——译者注
接下来重复此过程,但现在上下文变为“今天天气很好,所以我决定去”,之前预测的标记“去”被添加到原始提示词中。这个过程会一直重复,直到形成一个完整的句子:“今天天气很好,所以我决定去散步。”这个过程依赖于 LLM 学习从大量文本数据中预测下一个最有可能出现的单词的能力。图 1-5 展示了这个过程。
图 1-5:逐个标记地补全文本,整个过程是迭代式的