标签:AI,大模型,GPT-4,吞吐量,内存带宽 时间:2023-11-27T09:04:16
在AI和大模型技术领域,吞吐量是一个关键的性能指标。最近,cursor_ai通过逆向工程的方法,成功地在不访问OpenAI的专用实例的情况下,将GPT-4的吞吐量提高了2-3倍。本文将详细介绍他们是如何做到的。
首先,只有在使用OpenAI的专用容量时,这种提升才是可能的。对于大型组织和高使用量的场景,出于成本考虑,选择专用容量是明智的选择。专用容量允许用户承诺在一段时间内使用一定量的服务以换取降低的价格。
更重要的是,它提供了一个不同的抽象层次:模型现在运行在“实例”上。每个实例可以被视为运行着某个大型变压器模型的机器(或机器组)。
在cursor_ai的慢速池中,所有请求都进入一个队列,并且只有在“有足够容量”的情况下才会被处理。最初,他们通过每个实例每分钟的令牌数(TPM)来衡量容量,这是一个合理的初步尝试,但远非完美。
他们的工作负载主要由长提示(>4000提示令牌)的生成任务所主导。在高使用量期间,他们必须受到KV缓存的内存带宽限制(假设不使用MQA风格的注意力机制)。因此,他们只关心实例上的内存负载(而不是计算负载)。
由于几乎所有的内存带宽都被用于读取KV缓存,且KV缓存的大小与活跃令牌的数量成正比,这意味着内存使用量约等于某个常数c_1乘以活跃令牌的数量。
活跃令牌是指对于一个活跃的流式请求,计算提示令牌和到目前为止生成的令牌数量。随着流的继续,这个数字会增加。当请求结束时,他们会减去最终的计数,然后将这个总数跨所有请求求和。
为了测试这个假设,cursor_ai构建了一个分布式令牌记账系统,使用Redis和lua脚本来跟踪活跃令牌。记住,在流式传输期间对令牌进行记账是必须的,因为这需要精确到秒。
最后,他们更新了请求队列逻辑:只有当预计的延迟低于目标时,才会从队列中弹出传入的请求。在他们的慢速池中,对于相同的延迟目标,他们看到了吞吐量的2倍提升!而且实际的内存使用现在是一条平坦的线。
通过这种方法,@cursor_ai不仅提高了GPT-4的吞吐量,还为我们提供了一个关于如何更有效地管理大型AI模型的宝贵案例。这种技术的应用,无疑将推动AI技术的进一步发展和优化。
2022年必读的AI论文——100个AI领域被引最多的论文分析
2022年被引次数最多的AI论文列表
生成式AI平台的玩家都有哪些?
斯坦福2022年度AI指数报告简介及下载链接
亚马逊最新发布Feature Store简介
导致Sam离职风波背后的OpenAI最近的技术突破——Q*项目信息汇总
DataLearnerAI发布中国国产开源大模型生态概览统计:国产开源大模型都有哪些?现状如何?
大模型泛化能力详解:大模型泛化能力分类、泛化能力来源和泛化研究的方向
大模型如何使用长上下文信息?斯坦福大学最新论文证明,你需要将重要的信息放在输入的开始或者结尾处!
需要多少GPU显存才能运行预训练大语言模型?大语言模型参数规模与显存大小的关系估算方法~
又一个国产开源大模型发布:前腾讯创始人创业公司元象发布XVERSE-13B,超过Baichuan-13B,与ChatGLM2-12B齐平!但免费商用授权!
国产开源大模型再添重要玩家:BAAI发布开源可商用大模型Aquila
目前业界支持中文大语言模型开源和商用许可协议总结
百度文心一言发布,功能尝鲜概览
能否用85000美元从头开始训练一个打败ChatGPT的模型,并在浏览器中运行?
Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
回归模型中的交互项简介(Interactions in Regression)
贝塔分布(Beta Distribution)简介及其应用
矩母函数简介(Moment-generating function)
使用R语言进行K-means聚类并分析结果
普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
H5文件简介和使用
深度学习技巧之Early Stopping(早停法)
手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署
Wishart分布简介