一文读懂Token,大模型为什么要按token计费

Token的概念
在大型语言模型中,"Token"可以被理解为文本中的一个基本单位,它是计算机处理和理解语言的起点。每个Token可以是一个单词、一个字符、或者一个子词(subword),具体取决于所使用的分词方法。
CSDN上大批作者测算 1000个token大约相当于750个英文单词。1个 token大概是 0.75个单词。

Token的编码形式
每个Token在模型中会被转换成一个数字ID,这些ID对应于模型的词汇表中的条目。模型通过这些ID来处理文本数据。
- 原句:"I have a dream."
- Token化:["I", "have", "a", "dream."]
- 数字ID化:[40, 617, 264, 8063, 13]

为什么要使用 Token
对于 ChatGPT 等生成式AI来说,“Token”扮演着至关重要的角色。大模型不是直接做的“字符”的计算,而是将字符变成一个数字,也就是变成了 Token 来处理。
中文和英文的略有区别
- 英文中的Token:
Token通常是一个单词或者标点符号:在英文中,Token经常与单词一一对应。例如,句子 "The quick brown fox jumps over the lazy dog." 中的每个单词都是一个Token。

- Token可以是词的一部分:在某些情况下,如果单词太长或模型的词汇表大小有限,单词可能会被进一步分解成更小的部分。例如,一个非常长的医学术语可能会被分解成多个Token。
例如非常长的医学术语 "antidisestablishmentarianism",这个词意为“反对政教分离主义”。这个单词非常长,可能超出了某些语言模型的词汇表范围。

让我们再看一个例子,单词 "unhappiness"。

- 中文中的Token:
- Token可以是一个汉字:在某些情况下,尤其是在字符级别的模型中,一个Token可能就是一个单独的汉字。
- Token可以是词组:在大多数情况下,一个Token可能是由多个汉字组成的词组。例如,"一个Token可能是由多个汉字组成的词组。"中的"一个",“可能”可以被视为一个Token。

- 中文和英文的词汇表大小可能不同,这可能影响Token的生成方式和计费。
- 不一样的模型,Token 的计数也有差异。例如,我们放到“ERNIE-4.0-8K”模型中,他token数有明显的不同。

Token计费
ChatGPT4 API 的价格采用了基于每 1000 个 Token 的定价标准,分为输入端和输出端:
- 输入端:每 1000 个 Token 收费 0.03 美元
- 输出端:每 1000 个 Token 收费 0.06 美元
通义千问计费单价
模型服务 | 模型规格 | 输入(input)价格 | 输出(output)价格 |
Qwen-Long | qwen-long | 0.0005元/1,000 tokens | 0.002元/1,000 tokens |
通义千问-Turbo | qwen-turbo | 0.002元/1,000 tokens | 0.006元/1,000 tokens |
qwen-turbo-0624 | |||
qwen-turbo-0206 | |||
通义千问-Plus | qwen-plus | 0.004元/1,000 tokens | 0.012元/1,000 tokens |
qwen-plus-0624 | |||
qwen-plus-0206 | |||
通义千问-Max | qwen-max | 0.04元/1,000 tokens | 0.12元/1,000 tokens |
qwen-max-0428 | 0.04元/1,000 tokens | ||
qwen-max-0403 | 0.04元/1,000 tokens | ||
qwen-max-0107 | 0.04元/1,000 tokens | ||
qwen-max-1201 | 0.12元/1,000 tokens | ||
qwen-max-longcontext | 0.04元/1,000 tokens |
文心大语言模型
模型 | 子项 | 单价 |
ERNIE 4.0 Turbo系列 | 输入 | 0.03元/千tokens |
输出 | 0.06元/千tokens | |
ERNIE 4.0系列 | 输入 | 0.04元/千tokens |
输出 | 0.12元/千tokens | |
ERNIE 3.5系列 | 输入 | 0.004元/千tokens |
输出 | 0.012元/千tokens | |
ERNIE Speed系列 | 输入 | 免费 |
输出 | 免费 | |
tokenizer公有云在线调用: ERNIE-Bot系列大模型token长度计算接口 | - | 0.0006元/千tokens |
ERNIE Lite系列 | 输入 | 免费 |
输出 | 免费 | |
ERNIE-3.5-128k(预览版) | 输入 | 0.008元/千tokens |
输出 | 0.024元/千tokens | |
ERNIE Tiny系列 | 输入 | 免费 |
输出 | 免费 | |
ERNIE-Character系列 | 输入 | 0.004元/千tokens |
输出 | 0.008元/千tokens | |
ERNIE Function系列 | 输入 | 0.004元/千tokens |
输出 | 0.008元/千token |
Token测试工具
- OpenAI 官方的 “tokenizer”:https://platform.openai.com/tokenizer
- https://tiktoken.aigc2d.com/