03 概念科普|搞懂LLM中的Token,看这一篇就够了

一、Token是什么?

1.1 Token一定表示一个汉字么?

下面这个例子中我让ChatGPT按照Token的划分粒度将"我喜欢苹果"进行倒序输出。

这个例子说明:Token既可能是一个单词,例如"苹果",也可能是一个汉字,例如:"我"

1.2 Token是固定不变的么?

比如在上述例子中,只要出现苹果这个词的地方,苹果是不是一定会被认为是一个Token,我们看另一个例子:

这个例子中我让ChatGPT按照Token的划分粒度将"我喜欢苹果派"进行倒序输出,你会发现苹果派单独成了一个Token。

这个例子说明Token在不同的上下文中不是一成不变的,有的上下文中"苹果"是一个Token,而在另一个上下文中"苹果派"是一个Token

1.3 Token的定义

在大语言模型中,Token是模型进行语言处理的基本信息单元,它可以是一个字,一个词甚至是一个短语句子。Token并不是一成不变的,在不同的上下文中,他会有不同的划分粒度。

如果要用一个中文单词来翻译Token,我更愿意将其称之为词元

二、为什么会有Token

ChatGPT并不是适用于某一门特定语言的大语言模型,它几乎适用于所有流行的自然语言。而Token的出现就是为了在概念上能够与具体的特定语言无关。

用专业的话表达:Token概念的提出是为了与特定的语言解耦

那ChatGPT到底是如何利用Token进行工作的呢?其实GPT由一个针对不同语言的非常全的Token词汇表,它能表达出所有人类的自然语言。当我们向GPT进行提问时,GPT会做如下处理:

  • GPT首先会识别我们的语言种类,例如中文、英文
  • GPT会根据自己的Token序列化规则将我们输入的文本转换为多个Token
  • GPT根据自己的Token词汇表以及训练的结果为我们输入的Token生成预测后的Token
  • GPT将生成的Token再转换成人类可读的自然语言提供给我们

三、Token对我们有哪些影响

从官方文档中我们可以看到每个模型都有一个MAX TOKENS的参数,这个参数的意思就是在一次会话中,模型能基于整个上下文记忆的最大的Token数量,这个上下文既包含了我们的输入,也包含了我们的输出。

在上面这个解释中会有两个概念:

  • 一次会话:所谓的一次会话是指你打开了一个和ChatGPT的聊天窗口,只要你一直在这个窗口内和ChatGPT聊天,那么这个窗口就是你和ChatGPT的一次会话,无论你们已经聊了多久
  • 上下文:所谓的上下文就是指在最新的一个提问之前所有的聊天记录

值得注意的是,这里的上下文记忆的最大Token数量,不仅仅是指你单次提问的语句的最大Token数量,而是整个会话中之前所有的输入和输出的Token数量

当单次会话中达到最大的Token数量之后,ChatGPT并不会停止输出,而是选择性的遗忘最前面的对话,然后可能会输出错误的结果。

这跟我们人类之间聊天是一样的,如果两个人聊天聊了很久,那么最开始聊的话题很有可能会被两个人遗忘。

四、Token对提示词编写有哪些影响

  • 理解了Token的限制,我们需要去形成"当前消耗了多少Token"的体感,这样当我们发现GPT的输出不符合预期的时候,我们可以首先考虑是否是因为上下文消耗的Token超过了限制,导致GPT忘记了最前面的内容。
  • 秉承奥卡姆剃刀原理,能不多说一句废话就不多说一句。尤其在连续的多轮对话中,我们一定要养成精简有效的表达习惯。
相关推荐
狸克先生4 小时前
如何用AI写小说(二):Gradio 超简单的网页前端交互
前端·人工智能·chatgpt·交互
新加坡内哥谈技术7 小时前
Mistral推出“Le Chat”,对标ChatGPT
人工智能·chatgpt
nbsaas-boot9 小时前
如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
学习·chatgpt·编辑器
hunteritself1 天前
ChatGPT高级语音模式正在向Web网页端推出!
人工智能·gpt·chatgpt·openai·语音识别
Doker 多克1 天前
Spring AI 框架使用的核心概念
人工智能·spring·chatgpt
曼城周杰伦1 天前
自然语言处理:第六十二章 KAG 超越GraphRAG的图谱框架
人工智能·pytorch·神经网络·自然语言处理·chatgpt·nlp·gpt-3
爱技术的小伙子1 天前
【ChatGPT】ChatGPT在多领域知识整合中的应用
chatgpt
学习前端的小z1 天前
【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成
人工智能·gpt·chatgpt·aigc
段传涛2 天前
LLM( Large Language Models)典型应用介绍 1 -ChatGPT Large language models
人工智能·语言模型·chatgpt
起名字真南2 天前
【C++】深入理解 C++ 中的继承进阶:多继承、菱形继承及其解决方案
java·jvm·c++·chatgpt·aigc