ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
为什么大模型API的output token比input token贵?
1876点击    2024-09-11 10:21


从大模型爆发到现在,我就一直好奇为什么output token比input token要贵,而且有的会贵好几倍!今天就这个话题和大家聊一聊。



计算量(FLOPs)


对于输入和输出相同数量的token,模型的浮点运算次数(FLOPs)大致相同,这个计算量是由模型的前向传播决定的,无论是处理输入还是输出。


内存


输入 token 的QKV是并行计算,输出token的QKV是KV Cache 的形式。从内存的角度来讲,输出时需缓存此时token前的KV矩阵,经过一系列的优化手段,输出所占显存比输入大的并不多。


通信瓶颈


如果GPU计算速度超过数据读取速度,GPU的流处理器就会处于等待状态,那通信就是瓶颈;反之,如果计算速度慢于数据读取速度,通信就需要等待,那就是计算瓶颈。而大模型训练在多数情况下,都是算的快读的慢,即通信是瓶颈。


经过长时间的优化,整体的 MFU (Model FLOPs utilization) 很难打满,目前大模型的训练 MFU 在50-60% 就已经很厉害了。


并行与序列化


在计算量时写过,对于输入token来说,模型可以利用并行只需执行一个 forward 计算,整个计算过程的利用率能接近训练的最高水平。


然而对于输出token来说,必须是一个token一个token的生成,对于D个输出token来说,需要执行 D 次 forward 操作。而通信本来就是瓶颈,现在 D 次 forward 的额外通信更是雪上加霜。虽然现在也有batch 与动态填充等等优化,但是 GPU 利用率上来说,输出是远低于输入的。


总结


  • 计算量大致相同
  • output所需内存比input大
  • 由于计算output时需要逐一计算,所以存在通信瓶颈,使计算output时GPU利用率较低


以上原因,导致了output token比input token更贵一些。


文章来自于微信公众号“AI有温度”,作者“安泰Rolling”



关键词: 大模型 , AI , token , 人工智能