【人工智能】Token 计费机制详解:从词元到缓存命中
摘要:本文深入浅出地讲解了大模型计费的核心概念——Token(词元)。文章从 Token 的定义出发,介绍了分词器如何将输入拆分为 Token 的基本原理,并区分了输入 Token 与输出 Token 两种计费类型及其价格差异。通过一个自媒体文案生成的实例,直观展示了看似简单的任务背后可能消耗的巨额 Token 数量,并给出了通过降低推理强度来节省消耗的实用建议。最后,文章解释了缓存命中的机制——当重复使用相同上下文时,AI 无需重新计算,从而大幅降低 Token 成本(仅为非缓存命中价格的 1/10),帮助读者更好地理解和控制大模型的使用成本。
1. 什么是 Token
Token 在中文中的正式翻译叫做词元。它是大模型在使用文字的时候的一个最基本的单位,也就是一个最小的单位。一个 Token 可能对应一个汉字,也可能对应一个词,或者对应一个数字或标点符号。具体一个 Token 对应一个什么样的东西,是由分词器去决定的。
2. 工作原理
当你把一个指令发送给 Agent 的时候,Agent 会把与这个指令相关的上下文都一起整理好,然后分词器会把一长串的用户输入内容拆分成一个个的 Token,交给大模型去计算。然后大模型在处理完之后也会生成一段 Token,然后再转换成你能看得懂的文字并返回给你,于是结束一轮会话。
3. Token 的分类
通过原理你可以了解到,Token 一共分为两种:一种是输入 Token,一种是输出 Token。这两种 Token 的价格也是完全不一样的,因为大模型在处理这两种的时候工作原理也不一样。通常来说,输出 Token 要比输入 Token 贵非常多。为什么呢?因为输入给大模型的内容通常是确定的,它可以把很多 Token 放在一起一块儿处理。但是生成新的内容需要花费非常多非常多的算力,以及调用很多的工具,前面的工作结果一步一步地往后生成。
4. Token 消耗事例
假设你需要 AI 帮你写一篇文案去做自媒体口播稿:请你帮我写一篇介绍 AI 的文案,要求文字不超过 200 个字。大概一分钟以后 AI 就会写好这篇文案,并把这个文案发回给你看。假设我们使用分词器对刚才上面输出的提示词进行拆分为 100 个 Token 的话,AI 拿到 100 个 Token 以后,要根据不同的任务,调用不同的工具,去启用不同的推理等级,他可能还要去联网搜索一下相关的内容。然后把所有获得到的信息进行相关的计算,最后才生成一篇 200 个字的文案发还给你。在整个工作过程中,思考、推理、拆分,还有给工具发出的指令,这些全部都算是输出 Token。这些输入和输出需要一轮一轮地累积起来,最后你可能看到的只有 200 个字的文案,但是在 200 个字文案的后面,AI 帮我们做了很多的工作,比如阅读了大量的资料,来来回回处理了很多的内容,很可能在这个过程中 AI 已经消耗了 100 万个 Token。
你在给 AI 分配任务的时候,如果这个任务并不是十分的复杂,你可以将大模型的推理强度或者叫做思考强度,由高改为中或者低,就可以节省一些 Token 消耗。
5. 缓存命中
如果这个时候你对 Agent 说:你这个文案生成了不错,请你继续给我写三篇相同或者相似的文案。在第 2 轮会话中,因为需要增加上一轮会话的上下文,所以一个对话框中对话轮次越多,消耗的输入 Token 就越多。为什么呢?因为 Agent 他会把上一轮对话的上下文都放进这次的输入 Token 当中,然后再交给大模型,自然而然大模型就会知道你的上一篇文案是什么。如果你把上一次发给大模型的文案,重新再发给大模型一次的时候,对于大模型来说有重复的上下文提示词,重复的工作就不需要再做了,因为上一篇文案 AI 刚刚做好,直接拿来用就行了,不需要再进行运算了。因为第 1 份文案输出的结果已经存放在了上下文当中,AI 不需要进行重复的运算,这个就是缓存命中。这部分省下来的运算,虽然无法节省输入 Token,但是这部分的 Token 价格会相当的便宜,通常只有非缓存命中 Token 价格的 1/10。