部署DeepSeek模型,进群交流最in玩法!
立即加群
发布
社区首页 >专栏 >之前的API是按调用次数收费,为什么大模型要以Token数收费?

之前的API是按调用次数收费,为什么大模型要以Token数收费?

作者头像
烟雨平生
发布2025-02-25 08:47:14
发布2025-02-25 08:47:14
2740
举报
文章被收录于专栏:数字化之路数字化之路

在人工智能的世界里,大模型正以惊人的速度改变着我们的生活。在使用 LLM 大模型时,我们经常会遇到一个关键词,叫:Token。

比如:

最新版 GPT-4 Turbo 模型最高支持 128k token 上下文;

曾经 GPT 最强对手 Claude-2.1 支持最高 200K token 上下文;

在 GPT 商店创建角色时,核心 Prompt 最高支持 8000 token。

GPT 不是直接做的“字符”的计算,而是将字符变成一个数字,也就是变成了 token 来处理。大语言模型的运作本质上是对输入和输出文本进行处理,而文本会被拆分为更小的单元,即“Token”。一个Token通常是一个单词、标点符号,或者是一个子词(subword)。

Token是大模型处理文本的基本单位,是模型理解语言的“最小砖块”。无论是中文的单个汉字,还是英文的单词、子词,甚至是标点符号,都可以被视为Token。例如,“你好,世界!”这句话在中文中会被拆分成6个Token,而在英文中,“Hello, world!”会被拆分成4个Token。

为什么在大模型出来之前的API,都是按调用次数收费,

LLM的API为什么要按Token收费?

因为,Token的数量直接影响模型的计算成本。

一个模型的上下文窗口越大,Token数量就越多,计算资源的消耗也就越大。因此,为了更公平地计量资源使用,大模型通常会以Token为单位进行收费。所以,Token就成为行走在大模型行业的“代币”,是大模型的工作量单位,与流量无关,只与模型干了多少活有关,因此,Token就成为大模型计费计量的方法和依据。

下面来详细聊聊LLM中的Token:

一、什么是Token?

Token,在自然语言处理(NLP)中,是指一组相关的字符和序列,它可以是是一个单词、一个标点符号,甚至是更复杂的短语或句子片段,在中文中可以翻译成“词元”。在大模型(LLM)的世界里,Token是信息处理的最小语义单元,是模型将信息转换为机器可处理形式的基础单位,可以是字、词、子词(subword)、图像中的像素块、音频中的一帧片段等。

想象一下,你写了一封信,但不是给人类看,而是给一台机器。机器怎么理解你写的每一个字呢?这就是 Token 的作用,可以帮助我们把文本分解成更容易处理和分析的部分。Token 代表常见的字符序列。例如,单个汉字"夔"可能会被分解为若干 Token 的组合,而像"中国"这样短且常见的短语则可能会使用单个 Token。

Token 是怎么工作的?

把文字拆成 Token 的过程就像是把一本书拆成一页一页。

不同的机器可能会用不同的方法来拆书:

  1. 字词分词:就像把书的每一页都撕下来。
  2. 子词分词:更细致一些,把每一页再撕成几块。
  3. 字节对编码(BPE):通过合并经常出现的字母对来制作新的词汇表。
  4. WordPiece:和 BPE 类似,但更注重保持单词的完整性。

综上,Token的数量取决于文本的长度和所使用的分词策略:

  1. 文本分割:将原始文本拆解为模型可理解的离散单元,例如单词、子词(如"Chat"+"GPT")、标点符号或汉字。
  2. 数值映射:每个Token会被赋予唯一的数字标识符(如GPT-3中"Matt"对应ID 13448),形成模型内部的"词汇表",便于数学运算。
  3. 上下文建模:通过自注意力机制,模型能捕捉Token之间的关联性,生成连贯文本。

在中文场景下,常见的分词策略会将句子分成最小的语义片段。简单来说,当我们输入一段文字时,模型会通过分词器(Tokenizer)将这些文字拆分成一个个小单元,这些小单元就是Token。比如,英文句子“I love AI”会被拆分成多个Token,而中文句子“人工智能很强大”也会被拆分成若干个Token。不过,Token的长度并不固定,它取决于模型的分词规则。

Token 的数量有多重要?

Token 的数量就像是你写信时用的纸张数量。用多了可能浪费,用少了可能说不清楚。

  1. 训练语料数量:就像你练习写作时用的材料,Token的数量和分布会影响机器学习的效果。
  2. 上下文限制:就像你读信时只能看到一部分内容,Token 的数量会限制机器能理解的范围。
  3. 生成速度:就像你写信的速度,通常通过每秒能写多少字来衡量。
二、为什么大模型要按Token收费?
  1. 精准计量资源消耗。大模型的运行需要消耗大量的计算资源,而Token的数量直接反映了模型处理文本的工作量。计算资源的消耗直接与Token数量成正比,因此按Token计费能够准确反映模型实际使用的计算量。一个Token代表模型需要处理的最小信息单元,因此按Token收费可以更精准地计量资源的使用。相比之下,传统的按次收费(比如每次API调用收费)无法区分短文本和长文本的计算成本,而按Token收费则能更公平地反映用户的实际使用。 2017年,Transformer架构被谷歌提出后便在技术圈内掀起热潮,它的出现被认为是AI发展史上的重要里程碑。但如此厉害的注意力机制,却有一个问题,它计算起来的复杂程度是和输入序列的长度是相关的,具体来说计算复杂度是输入序列长度的平方,写成公式就是O(n²)。这就导致了在处理长的文本序列时,比如长度超过1万个token的文本,计算所需要的成本会大幅增加,而且还会占用很多内存。这就成了限制模型进一步扩大规模、提升能力的主要障碍。 梁文锋参与发表的 DeepSeek 新论文,会带来哪些影响?
  2. 优化成本与用户体验。按Token收费可以激励用户优化输入,避免不必要的浪费。例如,如果你输入的内容冗长且复杂,消耗的Token就会更多,费用也会更高。因此,用户会更倾向于简洁明了地表达问题。此外,对于开发者和企业用户来说,这种计费方式也更灵活,可以根据实际需求合理控制成本。
  3. 技术与商业的平衡。从商业角度看,按Token收费为大模型提供商提供了一个公平且灵活的计费框架。它允许提供商根据运营成本和系统负载设置不同的定价级别,从而满足从小型开发者到大型企业的多样化需求。同时,这种计费方式也更容易被用户理解和接受。
三、Token收费的优势
  • 公平合理:Token数量直接反映了模型处理文本的工作量,因此按Token收费更加公平。
  • 易于计量:与按时间、次数等计费方式相比,按Token收费更容易实现精确的计量。
  • 优化资源使用:用户会因为计费方式而优化输入内容,避免浪费,从而提升整体资源利用效率。

三、Token的计算规则

多轮对话的上下文 Token 累积

假设每轮对话的输入和输出分别是 50 Token 和 100 Token:

第 1 轮:50(输入) + 100(输出) = 150 Token。

第 2 轮:50(新输入) + 100(新输出) + 150(历史上下文) = 300 Token。

第 3 轮:50(新输入) + 100(新输出) + 300(历史上下文) = 450 Token。

以此类推,Token 数随着对话轮数增加逐渐累积。

这就引发企业使用大模型在申请预算的问题:

四、Token收费的未来

随着大模型技术的不断发展,按Token收费已经成为一种主流的商业模式。未来,这种计费方式可能会更加灵活和个性化,以更好地满足用户的需求和预算限制。同时,用户也需要更好地理解Token的概念,以便更高效地使用大模型服务。

总之,按Token收费不仅是一种技术上的选择,更是一种商业上的智慧。它既保证了资源的合理利用,又为用户提供了公平、透明的计费方式。

REFERENCE

Token和自然语言处理(NLP)中的一个关键步骤相关--词元化(tokenization),所以Token有时候也会被翻译为词元。 马建仓,Gitee大模型 API 计费怎么就那么别扭???

GPT token的计算包含两部分。 输入给GPT模型的token数和GPT模型生成文本的token数。 例如,你提问耗费了100 token,GPT根据你的输入,生成文本(也就是回答)了200 token,那么一共消费的token数就是300。 https://xie.infoq.cn/article/bb5ee93b86665a700bdfe76f7

Token数量对模型性能的影响 上下文窗口限制: 模型单次处理的Token数存在上限(如GPT-4为32K Token),超出后需分块处理,可能导致上下文遗忘[5]。 生成速度与成本: 速度:以TPS(每秒生成Token数)衡量,例如每秒输出40 Token需约30秒生成120字中文。 成本:API调用按Token计费,控制Prompt长度可降低费用(如精简提问)。 注意力计算瓶颈: Transformer的自注意力机制计算量随Token数呈平方级增长,处理长文本需优化算法(如分组计算)。 https://jishuzhan.net/article/1888824609579470850

参数的数量决定了模型的复杂度和性能。参数越多,模型能够表示更复杂的关系,从而在任务上取得更好的效果,但也需要更多的训练数据和计算资源。 用一个例子解释就是,假设一个LLM&模型包含1亿个参数,那么在训练过程中,模型需要调整1亿个可变值才能达到最佳性能。这需要大量的训练数据和计算资源。 上下文长度是AI模型一次能够处理的最大Token 数量。它决定了模型处理能力的上限。上下文长度越大,模型能够处理的数据量就越大。 例如ChatGPT3.5的上下文长度为4096个Token。这意味着ChatGPT3.5无法接受超过4096个Token的输入,也无法一次生成超过4096个Token的输出。 https://blog.csdn.net/weixin_49892805/article/details/144432578

对于transformer架构来说,最核心的self-attention要一次性处理很长的token序列所消耗的算力以及时间成本都很大,计算复杂度是O(N^2)。一个比较经济的办法就是用稀疏注意力机制:SparseAttention,所谓SparseAttention是相对原来的FullAttention来说的,FullAttention是每个token都要和所有tokens计算,而SparseAttention是只选择部分重要的tokens来计算。 知乎日报梁文锋参与发表的 DeepSeek 新论文,会带来哪些影响?

Token为什么重要? Token在大模型里的作用可大了: 理解上下文:就像你读信时能理解每句话的意思一样,机器通过Token能理解你写的文字。 处理复杂语言:比如“大美女”这个词,机器会把它拆成“大”和“美女”,这样它就能更好地理解这个词。 提高效率:就像你用电脑处理文件比手写快一样,机器通过Token化能更快地处理文字。 控制资源:就像你用手机时会注意流量一样,机器通过控制Token的数量来控制计算资源的使用。 https://blog.csdn.net/qq_27471405/article/details/140486945

token是模型用来表示自然语言文本的基本单位,也是我们的计费单元,可以直观的理解为“字”或“词”;通常1个中文词语、1个英文单词、1个数字或1个符号计为1个token。 一般情况下模型中token和字数的换算比例大致如下: 1个英文字符≈0.3个token。 1个中文字符≈0.6个token。 但因为不同模型的分词不同,所以换算比例也存在差异,每一次实际处理token数量以模型返回为准,您可以从返回结果的usage中查看。 离线计算Tokens用量 您可以通过如下压缩包中的代码来运行tokenizer,以离线计算一段文本的Token用量。 https://api-docs.deepseek.com/zh-cn/quick_start/token_usage

离线计算Token的代码地址:

https://cdn.deepseek.com/api-docs/deepseek_v3_tokenizer.zip

GPT官方token在线计算:https://platform.openai.com/tokenizer

分词方法:不同模型采用不同的分词策略,如BPE(字节对编码)、WordPiece、SentencePiece等。这些方法决定了如何将输入文本分割成Token。

最大Token数:这是模型在单次会话中能够处理的最大Token数量,包括输入和输出的Token总和

在 DeepSeek-V3 的上下文中,“64KH 上下文”指的是模型能够处理的最大输入长度为 64K tokens。这里的“K”代表千(1024),因此 64K tokens 即 64×1024=65536 个 tokens。这意味着模型在一次处理中可以接收最多 65536 个 tokens 的输入内容。

对于中文内容,1个 token 通常对应 1 到 2 个字符,因此 64K tokens 大约对应 3 万到 6 万个中文字符。这种长上下文能力使得 DeepSeek-V3 能够处理较长的文本输入,例如长篇文章、报告或复杂的对话内容,而不会因输入长度受限而影响性能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是Token?
  • 二、为什么大模型要按Token收费?
  • 三、Token收费的优势
  • 四、Token收费的未来
  • REFERENCE
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档