哎呀AIYA 2024-07-10 11:33 湖北
hi!这里是一个专注大模型应用的频道,介绍大模型基础、创作、RAG、Agent,每天学习一小点LLM不再迷惑
hi!这里是一个专注大模型应用的频道,介绍大模型基础、创作、RAG、Agent,每天学习一小点LLM不再迷惑,欢迎关注!
今天一起来聊聊大模型网关中收费设计,以此来加深我们对大模型计算规则的了解。之前的文章有简单介绍,可以查看。下面展示ChatGPT和qwen的收费标准:
ChatGPT
从OpenAI官方网站看到,Output(输出)的价格是Input(输入)的3倍。
Qwen
Qwen的Output(输出)的价格是Input(输入)的2倍。
本篇文章后续将介绍,为什么会有这样的差异。
文章将介绍两点内容:
输入输出token为什么收费不一致?
从token看GPT-4o对中文的支持
输入输出token为什么收费不一致?
GPT类模型计算规则:
上图右边可以看出,GPT类(自回归)模型在处理文本时,通常按照从左到右的顺序处理token。这意味着模型首先看到文本的第一个token,然后是第二个,依此类推。
在训练的过程中,由于我们有完整序列的token(我_爱_人工智能),因此可以使用Transformer的掩码自注意力机制,让模型忽略未来位置的token,只关注当前位置之前的token;这确保了模型在生成文本时的自回归特性,也可以做到并行计算。
在推理的过程中,当前token在没有预测出来时,无法知道token的具体信息,因此不能并行计算;例如(我_爱_人工智能),在预测“爱”时,模型只见过了 “我”,一次只能预测一个token。
输入输出差别
输入过程:我们在调用大模型网关时,输入也就是prompt是一次性送给大模型网关,模型得到了全部的token,这样就可以通过掩码自注意力机制,将token全部送入大模型中进行并行计算;几千个token也只需很少的延时就可以计算完,开始输出。
输出过程,由于需要一个token一个token的预测,这样无法进行并行计算,整体耗时会很长,计算效率较低;根据大模型Attention的计算原理我们可以知道,输入prompt中的token会有key和value两个矩阵需要缓存在显卡中,序列越长,占用的缓存越多,这样会降低显卡的使用率。
因为输出,计算效率低,占用显存多、时间长,所以输出token贵了很多,这样也能让大家尽量输出的短点,提升显卡利用率。
从token看GPT-4o对中文的支持
我们通过测试一段话来看区别,下面是OpenAI官网的一段话:
英文版:
You can use the tool below to understand how a piece of text would be tokenized by the API, and the total count of tokens in that piece of text.
中文版是:
您可以使用下面的工具来理解API如何将一段文本标记化,以及该段文本中标记的总数。
额外例子:
我爱人工智能
gpt-3.5-turbo
英文版(33个token):
[2675, 649, 1005, 279, 5507, 3770, 311, 3619, 1268, 264, 6710, 315, 1495, 1053, 387, 4037, 1534, 555, 279, 5446, 11, 323, 279, 2860, 1797, 315, 11460, 304, 430, 6710, 315, 1495, 13]
中文版(36个token):
[88126, 74770, 38129, 17297, 28190, 9554, 49792, 77913, 37507, 22649, 50338, 7227, 30624, 99849, 45163, 15120, 38574, 17161, 22656, 31944, 41914, 33208, 3922, 23897, 82317, 76982, 38574, 17161, 22656, 16325, 31944, 41914, 9554, 60843, 9039, 1811]
额外例子(8个token):
[37046, 76207, 109, 17792, 49792, 45114, 118, 27327]
gpt-4o
英文版(33个token):
[3575, 665, 1199, 290, 4584, 4895, 316, 4218, 1495, 261, 9047, 328, 2201, 1481, 413, 6602, 2110, 656, 290, 10328, 11, 326, 290, 3609, 3605, 328, 20290, 306, 484, 9047, 328, 2201, 13]
中文版(28个token):
[27651, 15578, 26019, 75293, 1616, 69771, 6727, 171002, 8180, 24608, 15038, 2432, 27561, 145683, 15530, 11325, 11415, 168612, 29963, 27561, 145683, 1404, 15530, 11325, 1616, 10204, 7135, 788]
额外例子(3个token):
[47799, 180045, 18201]
从上面的例子可以看出,gpt-4o对中文的支持更有好了;按token算,相同输入token数大幅降低,感觉降费比例超过了30%以上。
如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用
欢迎关注我的公众号“哎呀AIYA”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的叙述,不简单的内涵,提升自己。
推荐阅读