每当用户与 ChatGPT 进行交互时,是GPT 模型负责理解用户的问题并生成相应的答案。 所以我们要区分ChatGPT和GPT,它们是两个不同的东西。 ChatGPT的开发会采用不同版本的GPT模型,比如GPT-3.5或GPT-4.0。 而在GPT的背后,令牌起着关键的作用。 令牌(Token)是什么? "令牌"通常指的是文本中的基本单位。 在自然语言处理中,无论是我们向ChatGPT提问,还是用于训练GPT模型的数据,这些文本内容都会被切割成令牌。 而切割文本的过程,我们就称为令牌化。 在英语文本中,通常以空格,标点符号,以及每个单词作为一个令牌进行切割。 例如, "Hello, how are you?" 可以被分割成令牌:["Hello", ",", "how", "are", "you", "?"]。 而在汉语中,一个令牌通常对应一个汉字。 例如, "你好吗?" 可以被分割成令牌:["你", "好", "吗", "?"]。 生成内容的过程 令牌化是GPT生成内容过程中的一个关键步骤,但不是全部过程。 现在我们来看看完整的步骤,以中文为例。 输入内容 首先,在对话框中,用户通过提问输入一段文本。 "太阳刚升起,天空呈现出美丽的"。 令牌化 GPT模型首先接收到这段文本,然后,它将汉字逐个切分成令牌序列: 【“太”、“阳”、“刚”、“升”、“起”、“,”、“天”、“空”、“呈”、“现”、“出”、“美”、“丽”、“的”】。 令牌ID转换 每个令牌都被转换成一个唯一的数字ID。 但具体的ID值是模型内部的表示,不一定是123、456这样的具体数字。 所以,“太”的令牌ID可能被转换为X,而“阳”的令牌ID可能被转换为Y。”。 生成预测 当输入的内容被分配好令牌ID后,GPT模型就要开始预测接下来的令牌ID了。 它会基于当前令牌序列(即“太阳刚升起,天空呈现出美丽的”对应的ID序列)预测并生成下一个令牌ID。 预测的结果可能会是“红色”这个令牌的ID,或其他与上下文相关的令牌ID。 在GPT模型进行令牌预测时,采用了注意力机制。 这使得GPT不仅能考虑当前令牌,还会关注上下文里与当前位置相关的令牌。 这种注意力机制使得模型能够更精准地把握语境和语义,从而生成连贯的句子。 令牌ID转换回文本 生成的令牌ID(例如“红色”的ID)随后会被GPT转换回相应的文本令牌“红色”。 接着,GPT模型更新令牌序列(太阳刚升起,天空呈现出美丽的【红色】)。 然后,它以更新后的序列为基础,继续预测下一个令牌,生成文本,直至完成一个逻辑通顺句子。
总结 ChatGPT输出的每一个令牌,都是基于前面已生成的令牌进行预测的,它不断地查看已经输出的令牌序列,然后生成下一个令牌。 所以,它并不是真的在明白我们说什么。 实际上它是基于已生成的令牌序列,通过对语言模式和上下文关系的学习,进行下一个令牌的预测,从而产生内容。
|