2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

大模型中的Token是什么意思?

发布日期:2024-08-06 22:01:54 浏览次数: 12411
作者:智能体爱好者

微信搜一搜,关注“智能体爱好者”


1. 引言

       在大模型领域,经常会见到一个词叫作“Token”。比如前段时间国内大模型厂商的价格战,各个大模型都是以Token作为计价单位。


(图片来自网络)

      如果你使用过扣子(Coze)之类的智能体平台或调用大模型的API,会发现每次使用大模型处理文本时都会消耗一定数量的Token。比如,下图是扣子一次调试信息中展示的Token消耗量,包括输入Token和输出Token。


      那么,Token这个词到底是什么意思呢?

      技术背景的人应该知道,Token大致相当于是词语或字符,但为什么大家都不约而同地使用Token这个英文单词,而不使用对应的中文呢?(Token这个词甚至都没有一个对应的中文名称)

      相信看完本文,上述问题就会一扫而光。

2. Token的几种含义

      在计算机领域,Token是一个很常见的词汇,但在不同的方向,Token往往代表不同的含义。比如在安全、编译器、区块链等方向都有Token一词,但他们的意义各不相同。下面是计算机不同领域中Token的几种典型含义。

计算机安全

      在计算机安全领域,Token通常指的是一种安全令牌,用于身份验证和授权。例如,在多因素认证(MFA)中使用的硬件令牌和软件令牌。在Web身份认证时,当用户登录成功,后台通常会生成一个具有时效的字符串作为Token回传给客户端/浏览器,后续客户端/浏览器每次请求都会带上Token,后台只要验证Token即可判断用户登录状态。

网络

      在网络通信中,Token可以指一种访问控制机制,用于管理对共享资源的访问。例如,令牌环网络中使用的Token传递机制。

编译器

      在编译器设计中,Token是源代码中最小的有意义元素,称为“符号”,如关键字、运算符、标识符等。词法分析器会将源代码分解成Token,供语法分析器使用。

区块链

       在区块链行业或币圈,Token通常指的是一种数字资产(代币),可以代表某种权利或价值。例如,比特币和以太坊中的加密货币就是典型的Token。

自然语言处理

      在自然语言处理(NLP)领域,Token是指文本中的最小单位,可以是单词、子词或字符。Token化(即分词)是将文本分割成Token的过程,这是NLP任务的基础。

3. 大模型中的Token

      大语言模型和自然语言处理是一脉相承的,所以大模型中的Token与自然语言处理中的Token是一个意思。
      在大模型(如GPT-4)中,Token是模型处理和理解文本的基本单位。模型通过将用户输入文本分割成Token,然后在这些Token的基础上进行计算和推理,并产生输出Token,最后将输出Token转换为用户可理解的文本。如下图所示:

      在大模型内部,每个Token都对应一个向量表示,大模型通过这些向量进行语言理解和生成,通过使用Token(向量),大模型能够更高效地进行计算和推理。从上图可以看出,Token与文本(自然语言)之间是可以通过Tokenizer(分词器)进行相互转换的。
      以上对大模型中Token的描述,仍然比较抽象。接下来,我们通过具体的例子看看Token到底长什么样。
      对于英文来讲,通过GPT自带的Tokenizer可以直观地看到英文句子转换成的Token序列。如下图所示,这句话包含224个字符,被转换成49个Token。同时,还可以发现,Token并不是严格按照英文单词粒度进行划分的,如:tokenization被分成了tokenization两个Token,Newer被分成了Newer两个Token。此外,单词前面的空格与单词一起被划分为一个Token。


      上图显示结果是文本表示的Token,大模型并不是直接处理文本形式的Token的,每个Token都有一个唯一ID,大模型在推理计算时,会基于Token的唯一ID进行一系列转换。通过切换Text/Token IDs标签,可以看到Token文本和ID的映射关系,如:示例中第一个Token:It的ID是2181。



       中文Token和英文是类似的,下图通过通义千问的Token计算器展示了中文句子Token化的结果以及Token文本和ID的对应关系。从结果也可以看出,中文Token和我们常用的汉语词语并不完全一致,比如“大模型”这个词被分成了“”和“模型”两个Token,而“的基础”并非一个汉语词语,却被分为一个Token。


      还有一点需要说明的是,由于各个大模型使用的分词器(Tokenizer)不同,所以同样一句话,在不同的大模型中Token化的结果可能是不一样的。如上图中这句话,在通义千问中被分出60个Token,而在文心一言中被分成了50个Token。


      由此可见,大模型中的Token与我们所熟知的字符或词语是不同的。它是分词器(Tokenizer)根据一定算法将文本切割为一个个的小片段,可能是一个字符/符号、一个词语、或是半个词,甚至是一个由经常同时出现的字符/词语构成的序列。根据OpenAI的文档,一个Token大致相当于4个英文字符。根据腾讯混元文档说明,一个Token大概相当于1.8个汉字或3个英文字母。

4. Token化过程

      Token化是将文本分割成Token的过程,中文称为“分词”,这个过程对于大模型理解和处理自然语言至关重要。不同的Token化方法会根据具体应用和需求选择不同的策略。常见的Token化方法包括:
  1. 按单词分割:将文本按空格分割成单词。优点是易于理解,但在处理未登录词(out-of-vocabulary)时会有问题。
  2. 按字符分割:将文本按字符分割。优点是处理灵活,但会生成大量Token,增加计算负担。
  3. 按子词分割:将文本分割成更小的子词单元,平衡了词级和字符级的优缺点。常用的子词分割算法有:Byte Pair Encoding(BPE) 、WordPieceSentencePieceUnigram

      Token化过程是由Tokenizer(分词器)来完成的。从前面介绍可知,Tokenizer一般包括两个操作:一是将自然语言文本转换为Token(ID)序列作为大模型的输入,而是将模型输出的Token(ID)序列转换为自然语言。
      有很多开源的Tokenizer项目,如GPT使用的Tokenizer,OpenAI将其开源为tiktoken项目,地址是:https://github.com/openai/tiktoken,它使用的是BPE算法。

5. Token消耗计算方式

输入Token

      当模型接收输入文本时,会将文本分割成Token。输入Token的数量取决于文本的长度和所用的Tokenizier。例如,输入句子“Hello, how are you?”可能会被分割成6个Token(“Hello”, “,”, “how”, “are”, “you”, “?”)。

输出Token

      模型在生成响应时也会消耗Token。生成的每个单词或符号都会作为一个Token被计数。例如,模型生成“I'm fine, thank you.”,可能会被分割成7个Token(“I”, “‘m”, “fine”, “,”, “thank”, “you”, “.”)。

总Token消耗

      总Token消耗量等于输入Token和输出Token的总和。假设输入文本分割成6个Token,模型生成的响应也分割成7个Token,那么这次调用的总Token消耗量为13个Token。

      大模型在计算Token消耗时,通常是计算输入Token+输出Token的总和。在具体计算Token开销时,需要参考各家大模型厂商的计费文档。

      为什么要计算输入跟输出Token的总和呢?

     这是因为生成式大模型的工作方式是根据上下文预测下一个Token,首先根据用户输入序列预测出第一个输出Token,然后将第一个Token追加到输入序列预测出第二个输出Token,依此类推。因此,除了输入Token,每个输出Token也都会参与推理计算(可能最后一个除外)。
      了解Token消耗计算方式有助于用户优化输入文本和模型响应,减少不必要的Token消耗,从而降低使用成本。

6. Token与上下文窗口

      上下文窗口指的是模型在处理文本时能够看到的最大Token数量。这个窗口决定了大模型在一次推理中能处理多长的文本。例如:Doubao-pro-128K表示模型在推理时最大能够支持128000个Token的上下文。
      较大的上下文窗口能够捕捉更多的信息,但也会增加计算复杂度。在处理长文本时,Token长度与上下文窗口的选择至关重要。过长的Token序列可能会超出上下文窗口的限制,需要采用滑动窗口(Sliding Window)截断(Truncation)策略来处理。
      在聊天应用中,上下文窗口不仅包括当前对话的输入和输出,还包括之前的对话历史。如果聊天的对话比较长,可能会超出大模型上下文窗口限制,这样会导致较早的对话内容被丢弃,模型可能会出现答非所问的情况。遇到这种情况,我们需要重复最初的问题,或者新开一个对话。

7. 结论

      Token是大模型中不可或缺的基础单位。通过Token化,文本能够被大模型理解和处理,从而执行各种推理任务。了解Token的不同含义及其在大模型中的作用,有助于更好地使用大模型,节约成本,提高效率。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅