
ChatGPT的内部是什么?
ChatGPT 是一款网页聊天程序,它基于 GPT 模型。
每当用户与 ChatGPT 进行交互时,是GPT 模型负责理解用户的问题并生成相应的答案。
所以我们要区分ChatGPT和GPT,它们是两个不同的东西。
不同版本的 GPT 模型可能被用于 ChatGPT 的开发,例如 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。
在GPT模型进行令牌预测时,采用了注意力机制,使其不仅仅考虑当前令牌,还会更关注上下文中与当前位置相关的令牌。
这种注意力机制使得模型能够更精准地把握语境和语义关系,从而生成连贯的文本。
令牌ID转换回文本
生成的令牌ID(例如“红色”的ID)随后会被GPT转换回相应的文本令牌“红色”。
接着,GPT模型在更新后的令牌序列(太阳刚升起,天空呈现出美丽的【红色】)的基础上,继续预测下一个令牌,生成文本,直至完成整个句子。
这个过程会在你每次提问或GPT输出内容时重复进行。
总结
ChatGPT输出的每一个令牌,都是基于前面已生成的令牌进行预测的,它不断地查看已经输出的令牌序列,然后生成下一个令牌。
它看起来好像真的在明白我们说什么,实际上它是基于已生成的令牌序列,通过对语言模式和上下文关系的学习,进行下一个令牌的预测,从而产生内容。
