目录
今天我们来聊聊一个你可能听说过,但可能不太了解的词——Token。在那些能聊天、写文章、甚至帮你做决定的智能大模型里,为什么都要用Token 来计费在这里插入图片描述
一、Token 是什么?
想象一下,你写了一封信,但不是给人类看,而是给一台机器。机器怎么理解你写的每一个字呢?这就是 Token 的作用。简单来说,Token 就是把文字拆成机器能理解的小片段。比如,你写的“你好,老余!”会被拆成“你”、“好”、“,”、“老”、“余”、“!”这些小块。
词汇表
就像你写信前要查字典一样,机器在处理文字前也会查一个叫“词汇表”的东西。这个词汇表里列出了所有它认识和能理解的 Token。
二、Token 是怎么工作的?
把文字拆成 Token 的过程就像是把一本书拆成一页一页。不同的机器可能会用不同的方法来拆书:
- 字词分词:就像把书的每一页都撕下来。
- 子词分词:更细致一些,把每一页再撕成几块。
- 字节对编码(BPE):通过合并经常出现的字母对来制作新的词汇表。
- WordPiece:和 BPE 类似,但更注重保持单词的完整性。
三、Token 为什么重要?
Token 在大模型里的作用可大了:
- 理解上下文:就像你读信时能理解每句话的意思一样,机器通过 Token 能理解你写的文字。
- 处理复杂语言:比如“大美女”这个词,机器会把它拆成“大”和“美女”,这样它就能更好地理解这个词。
- 提高效率:就像你用电脑处理文件比手写快一样,机器通过 Token 化能更快地处理文字。
- 控制资源:就像你用手机时会注意流量一样,机器通过控制 Token 的数量来控制计算资源的使用。
四、Token 的数量有多重要?
Token 的数量就像是你写信时用的纸张数量。用多了可能浪费,用少了可能说不清楚:
- 训练语料数量:就像你练习写作时用的材料,Token 的数量和分布会影响机器学习的效果。
- 上下文限制:就像你读信时只能看到一部分内容,Token 的数量会限制机器能理解的范围。
- 生成速度:就像你写信的速度,通常通过每秒能写多少字来衡量。
五、Token 计价方式
就像你用手机流量一样,Token 也有计价方式:
- 按 Token 数量计费:适合那些想通过编程调用机器模型的人。
- 包月计费:更适合普通用户,简单易懂。
六、Token 计算工具
平台 | Token与汉字的关系 | Token与英文的关系 |
---|---|---|
通义千问 | 约等于1个汉字 | 1个token通常对应3至4个字母 |
ChatGPT | 约等于1个汉字 | 1token约等于4个字符或者0.75个单词 |
千帆大模型 (文心一言) | 约等于1个汉字 | tokens约等于「服务输入+服务输出」的「中文字+其他语种单词数×1.3],由此计算3-4个字母 |
混元大模型 | 约等于1.8个中文汉字 | 3个英文字母 |
星火大模型 | 约等于1.5个中文汉字 | 约0.8个英文单词或4个字符 |
Baichuan 53B | 约等于1.5个中文汉字 | 约0.8个英文单词或4个字符 |
为了方便大家,有些平台提供了计算 Token 的工具,比如:
- OpenAI 的工具:
https://platform.openai.com/tokenizer
- 百度文心一言 的工具:
https://console.bce.baidu.com/support/#/tokenizer
- 阿里通义千问 的工具:
https://dashscope.console.aliyun.com/tokenizer
这里我用“小小鱼儿小小林”这7个字进行测试,看看各个平台消耗的tokens都是多少
七、为什么大模型会使用token来计算
-
文本标准化:Token 化是将文本转换成模型可以理解的标准化格式。不同的语言和文本包含各种复杂的结构,Token 化可以帮助模型以统一的方式处理这些结构。
-
上下文理解:Token 允许模型捕捉到文本中的上下文信息。通过将文本分解为更小的单元,模型可以更细致地理解每个词或短语的含义和用途。
-
处理复杂性:语言是复杂的,包含多种语法和语义现象。Token 化使得模型能够处理如复合词、习语、缩写等复杂的语言结构。
-
优化性能:使用 Token 作为计算的基本单位,可以帮助模型更高效地进行并行处理,提高运算速度和性能。
所以说,现在各个大模型基本都是通过token来计费的,因为通过token是最能够计算出成本的,那为什么国内很多厂商会用包月,包年呢,就不怕你使用超了吗?
当很多人使用的时候,包月的话,并不是每一个人每天都在用的,那那些不用的人摊到那些一直在用的人身上,就不会亏本了,所以使用频繁的人就适合开会员划算,使用不频繁的人就按token计费更划算
希望这篇文章能让你对 Token 有更直观的理解。