AI大模型,怎样才能不被GPU“卡脖子”?

vLLM加速推理框架

vLLM是一种解决当前GPU资源限制的方案,它是一个快速且易于使用的LLM推理和服务库。

之前的LLM服务系统无法高效管理内存,主要是因为他们将请求KV缓存存储在连续的内存空间中,而大多数深度学习框架都要求将张量存储在连续的内存中。

为了解决以上限制,vLLM提出了分页注意力算法(PagedAttention),这种注意力算法的灵感来自于操作系统(OS)对于内存碎片和共享的解决方案:分页虚拟内存。

引言

大型语言模型(LLM)已经在多个领域得到应用,其重要性不言而喻。然而,随着这些模型变得越来越普遍,对GPU资源的需求也随之激增,导致了资源的紧缺。这种紧缺主要源于以下几个方面的原因:

技术发展需求:随着人工智能技术的快速发展,特别是在深度学习和大型语言模型领域,对GPU的需求急剧增加。这些模型需要大量的计算资源进行训练和推理,而GPU因其并行处理能力成为首选硬件。

市场供应限制:GPU的市场供应受到多种因素的限制,包括生产能力、原材料成本、市场需求等。此外,加密货币挖矿的需求也对GPU的供应造成了压力。

研发成本回收:GPU作为高技术含量的产品,其研发和生产成本较高。为了回收成本并实现盈利,GPU的价格也随之上涨。

国际形势影响:国际贸易政策和政治形势的变化也可能影响GPU的供应链,进一步加剧资源紧缺的状况。

显存碎片化问题

显存碎片化指的是显存中存在许多零散的小块空闲空间,这些空间无法被利用来分配较大的连续内存块,从而降低了显存的使用效率。由于GPU资源受限,通过高效地使用显存可以相较而言,更好地提升大模型的推理和训练效果。

显存碎片化主要由动态内存分配、多任务运行和不同内存需求造成。在模型推理或训练过程中,程序会频繁申请和释放显存,导致显存中留下许多无法被重新利用的小块空间。在共享的GPU环境中,多个任务可能会同时运行,每个任务都有自己的显存需求,这可能导致显存分配不均,进一步产生碎片。此外,不同的模型或模型的不同部分可能需要不同大小的显存块,使得难以找到合适的连续空间来满足某些大块内存需求。

这种显存碎片化会降低显存的整体使用率,使得实际可用的显存可能不足以支持大模型的运行,从而会增加模型的推理或训练时间,并限制了可以加载到显存中的模型大小,因为大模型需要连续的大块显存空间。这些因素共同影响了大模型推理或训练的效率和可行性。

为了应对这些挑战,业界和学术界正在探索多种解决方案,包括优化模型结构以减少资源需求、改进显存管理策略、使用专用硬件和软件工具来提高GPU利用率等。通过这些努力来缓解GPU资源紧缺的压力,更有效地利用计算资源从而提升大型模型推理的效率和可行性。

vLLM加速推理框架

vLLM是一种解决当前GPU资源限制的方案,它是一个快速且易于使用的LLM推理和服务库。它在服务吞吐量方面是最先进的框架,同时开创性地使用PagedAttention高效管理注意力键和值内存,并且支持多种量化模型等,不仅如此它还与Hugging Face模型无缝衔接,对分布式推理并行支持兼容OpenAI的API服务器,还支持了上百种开源模型。

vLLM由加州大学伯克利分校开发,2023年期间在Chatbot Arena和Vicuna Demo进行了部署。即使像LMSYS这样的小型研究团队计算资源有限,也能负担得起LLM服务的核心技术。随后Koala和 LLaMA等越来越多受欢迎的模型都开始使用vLLM提供服务。

vLLM采用了分页注意力算法(PagedAttention),这是一个新型注意力算法,可有效管理注意力键和值。配备分页注意力算法的vLLM重新定义了LLM服务的新技术水平:它的吞吐量比HuggingFace Transformers高出24倍,而且无需更改任何模型架构。

vLLM框架下的模型加速技术

LLM的核心是一个自回归变化器模型。模型根据输入(提示)和它迄今为止生成的输出标记的前一序列,一次生成一个词(标记)。每次重新搜索时,都需要重复这个昂贵的过程,直到模型输出一个终止标记。这种顺序生成过程使得工作负载受到内存的限制,无法充分利用GPU的计算能力,限制了服务吞吐量。将多个请求分批处理可以提高吞吐量。

但是要批量处理多个请求,就必须有效管理每个请求的内存空间,例如图1展示了在配备40G内存的英伟达A100GPU上处理13B参数的LLM的内存的分配情况。大约65%的内存分配给了权重模型,这些权重在服务过程中保持不变。近30%的内存用于存储请求的动态状态。

对于Transformers而言,这些状态与注意力机制相关的键和值张量,通常称为KV缓存,他们代表了从早期标记到依次生成新输出标记的上下文。而这些KV 缓存又有以下特点:

大:在 LLaMA-13B 中,单个序列最多需要 1.7GB。

动态:其大小取决于序列长度,而序列长度是高度可变和不可预测的。因此,有效管理 KV 缓存是一项重大挑战。由于碎片化和过度保留,现有系统浪费了60% – 80%的内存。

其余的小内存的百分比用于其他数据,包括被激活的在评估LLM时创建的短暂张量。由于模型的权重是恒定的,而被激活的张量只占GPU内存的一小部分,因此KV缓存的管理方式对于确定最大批次大小至关重要,如果管理不善,KV缓存内存会极大限制Batch Size,进而限制LLM的吞吐量。

之前的LLM服务系统无法高效管理内存,主要是因为他们将请求KV缓存存储在连续的内存空间中,而大多数深度学习框架都要求将张量存储在连续的内存中。

然而与传统深度学习工作负载中的张量不同,KV缓存具有独特的特性:它会随着模型生成新标记的时间动态增长和收缩,而且其生命周期和长度并不是事先已知的。这些特点使得现有的系统的方法在两个方面明显效率低下,首先现有系统存在内部和外部内存碎片问题。

为了在连续内存空间中存储请求KV的缓存,他们预先分配了一块对于请求最大长度(如2048个token)连需的内存。这会导致严重的内部碎片,因为请求的实际长度可能比最大长度短很多,此外即使事先知道实际长度,预分配的效率仍然很低,由于整个分块在请求的生命周期内被保留,其他较短的请求就无法使用当前未使用的分块。

此外由于每个请求预分配的大小都可能不同,外部内存碎片也可能非常严重。实际上根据图3的分析表明,在现有的系统中,只有20.4%-38.2%的KV缓存内存用于存储实际的标记状态。

其次现有系统无法利用内存共享,LLM服务通常使用先进的解码算法,如并行采样和波束搜索,每个请求可产生多个输出。在这样的情况下,请求由多个序列组成,这些序列可以部分共享其KV缓存。然而现有系统无法实现内存共享,因为序列的KV缓存存储在不同的连续空间中。

为了解决以上限制,vLLM提出了分页注意力算法(PagedAttention),这种注意力算法的灵感来自于操作系统(OS)对于内存碎片和共享的解决方案:分页虚拟内存。PagedAttention将请求的KV缓存划分为多个区域,每个区域可包含注意键和值。

在PagedAttention中,每个KV缓存没有必要存储在连续的空间中,因此我们可以像操作系统的虚拟内存一样,以更灵活的方式管理KV缓存:可以把每个块看作一个页,tokens看成字节,请求看成进程。

这种设计通过使用相对较小的块并按需分配,缓解了内部碎片问题,此外由于所有的块大小相同,它还消除了外部碎片。最后他还能在块的粒度、与同一请求相关的不同序列甚至不同请求之间共享内存。

由于区块在内存中不需要连续,因此我们可以像操作系统的虚拟内存一样,以更灵活的方式管理键和值:我们可以把区块看作页,把标记看作字节,把序列看作进程。序列的连续逻辑块通过块表映射到非连续物理内存块。物理内存块在生成新标记时按需分配。

在PagedAttention中,内存浪费只发生在序列的最后一个区块。在实践中,这使得内存使用率接近最优,浪费率仅为4%以下。事实证明,这种内存效率的提升非常有益:它允许系统将更多序列批量处理在一起,提高了GPU的利用率,从而显著提高了吞吐量,如上面的性能结果所示。

PagedAttention还有另一个关键优势:高效的内存共享。例如,在并行采样中,会从同一提示生成多个输出序列。在这种情况下,提示符的计算和内存可以在输出序列之间共享。

PagedAttention通过其块表自然而然地实现了内存共享。与进程共享物理内存页的方式类似,PagedAttention中的不同序列可以通过将其逻辑块映射到相同的物理块来共享块。为确保安全共享,PagedAttention会跟踪物理块的引用计数,并实施写入时复制机制。

PageAttention的内存共享功能大大降低了并行采样和波束搜索等复杂采样算法的内存开销,内存使用量最多可减少55%。这可将吞吐量提高2.2倍。这使得此类采样方法在LLM服务中非常实用。

vLLM推理框架下的实际应用与效果

2023年4月,LMSYS开发了广受欢迎的Vicuna聊天机器人模型,并将其公开发布。从那时起,Vicuna 已在聊天机器人竞技场为数百万用户提供服务。最初,LMSYS FastChat采用了基于高频变形金刚的服务后台来为聊天演示提供服务。随着演示越来越受欢迎,峰值流量飙升了数倍,使高频后端成为一个重要瓶颈。

LMSYS和vLLM团队通力合作,很快就开发出了FastChat-vLLM集成,将vLLM用作新的后端,以支持不断增长的需求(多达5倍的流量)。在LMSYS的早期内部微基准测试中,vLLM服务后端比最初的高频后端吞吐量高出30倍。

自23年4月中旬以来,Vicuna、Koala和LLaMA等最流行的模型都已成功使用FastChat-vLLM集成提供服务——有了FastChat作为多模型聊天服务前端和vLLM作为推理后端,LMSYS就能够利用数量有限的大学赞助的GPU,以高吞吐量和低延迟向数百万用户提供Vicuna服务。LMSYS 正在将 vLLM 的使用扩展到更广泛的模型,包括Databricks Dolly、LAION的OpenAsssiant和Stability AI的 stableLM。

4月至5月期间,聊天机器人竞技场中通过FastChat-vLLM集成提供的请求。事实上,超过一半的聊天机器人竞技场请求使用vLLM作为推理后端。

vLLM的使用还大大降低了运营成本。使用vLLM后,LMSYS能够将用于处理上述流量的GPU数量减少50%。vLLM平均每天处理30K个请求,峰值达60K,这充分证明了vLLM的强大功能。

结论

VLLM推理框架通过采用多种技术有效解决了GPU资源紧缺和显存碎片化问题。首先,引入PagedAttention算法允许键值对的非连续存储,通过将键值对划分成多个块并映射到物理块中,实现了键值对的共享和灵活的内存管理,有效避免了显存碎片化。

此外,VLLM利用虚拟内存管理技术,将GPU显存划分为逻辑块,并使用页表技术将这些逻辑块映射到实际的物理块上。这种方法支持延迟分配、写时复制和块粒度的内存交换,根据实际需求动态分配显存资源,从而避免了内存碎片化并提高了显存利用率。VLLM通过模型并行和数据并行策略,将大型模型划分为多个子模型,分布在不同的GPU设备上进行并行推理,以及通过智能的数据分发策略进行计算,不仅进一步提高了显存利用率,还减少了GPU设备间的同步开销。这些策略综合提升了VLLM框架处理大规模模型时的效率和性能。

在官方的博客中比较了vLLM与HuggingFace Transformers(HT)和HuggingFace Text Generation Inference(TGI)的吞吐量,前者是最流行的LLM库,后者是目前最先进的LLM库。在两种环境下进行了评估:LLaMA-7B在英伟达A10G GPU上运行,LLaMA-13B在英伟达A100 GPU(40GB)上运行

从ShareGPT数据集中对请求的输入/输出长度进行了采样。在实验中,vLLM的吞吐量比HF高出24 倍,比TGI高出3.5倍。

单线程情况下vLLM的吞吐量比HF高 14 – 24 倍,比TGI高 2.2 – 2.5 倍。

3个线程的并发情况下,vLLM的吞吐量比 HF 高 8.5-15 倍,比 TGI 高 3.3-3.5 倍。

同时vllm已经支持市面上常用的大部分模型,这对于已经使用这些模型的企业和组织则大大降低了引入vllm的难度。

参考文献:

[1] Efficient Memory Management for Large Language Model Serving with PagedAttention

[2] vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention

本文来自微信公众号:神州问学(ID:gh_20b0d0649537),作者:Zane

声明: 该内容为作者独立观点,不代表新零售资讯观点或立场,文章为网友投稿上传,版权归原作者所有,未经允许不得转载。 新零售资讯站仅提供信息存储服务,如发现文章、图片等侵权行为,侵权责任由作者本人承担。 如对本稿件有异议或投诉,请联系:wuchangxu@youzan.com
Like (0)
Previous 2024年4月23日 14:47
Next 2024年4月23日 14:57

相关推荐

  • 水温80度:AI行业真假繁荣的临界点

    我们从来没拥有过这么成功的AI主导的产品。

    (这种分析统计并不那么准,但大致数量级是差不多的)

    这两个产品碰巧可以用来比较有两个原因:

    一个是它们在本质上是一种东西,只不过一个更通用,一个更垂直。

    蓝海的海峡

    未来成功的AI产品是什么样,大致形态已经比较清楚了,从智能音箱和Copilot这两个成功的AI产品上已经能看到足够的产品特征。

    未来科技 2024年6月5日
  • ChatGPT、Perplexity、Claude同时“罢工”,全网打工人都慌了

    美西时间午夜12点开始,陆续有用户发现自己的ChatGPT要么响应超时、要么没有对话框或提示流量过载,忽然无法正常工作了。

    因为发现AI用久了,导致现在“离了ChatGPT,大脑根本无法运转”。”

    等等,又不是只有一个聊天机器人,难道地球离了ChatGPT就不转了。

    大模型连崩原因猜想,谷歌躺赢流量激增6成

    GPT归位,人们的工作终于又恢复了秩序。

    未来科技 2024年6月5日
  • ChatGPT宕机8小时,谷歌Gemini搜索量激增60%

    ChatGPT一天宕机两次

    谷歌Gemini搜索量激增近60%

    ChatGPT在全球拥有约1.8亿活跃用户,已成为部分人群工作流程的关键部分。

    过去24小时内提交的关于OpenAI宕机的问题报告

    图片来源:Downdetector

    ChatGPT系统崩溃后,有网友在社交媒体X上发帖警告道:“ChatGPT最近发生的2.5小时全球中断,为我们所有依赖AI工具来支持业务的人敲响了警钟。

    未来科技 2024年6月5日
  • ChatGPT、Perplexity、Claude同时大崩溃,AI集体罢工让全网都慌了

    接着OpenAI也在官网更新了恢复服务公告,表示“我们经历了一次重大故障,影响了所有ChatGPT用户的所有计划。Generator调查显示,在ChatGPT首次故障后的四小时内,谷歌AI聊天机器人Gemini搜索量激增60%,达到327058次。

    而且研究团队表示,“Gemini”搜索量的增长与“ChatGPT故障”关键词的搜索趋势高度相关,显示出用户把Gemini视为ChatGPT的直接替代选项。

    未来科技 2024年6月5日
  • 深度对话苹果iPad团队:玻璃的传承与演变

    iPad最为原始的外观专利

    没错,这就是iPad最初被设想的样子:全面屏,圆角矩形,纤薄,就像一片掌心里的玻璃。

    2010年发布的初代iPad

    好在乔布斯的遗志,并未被iPad团队遗忘。

    初代iPad宣传片画面

    乔布斯赞同这一想法,于是快速将资源投入平板电脑项目,意欲打造一款与众不同的「上网本」,这就是iPad早年的产品定义。

    iPad进化的底色

    苹果发布会留下过很多「名场面」,初代iPad发布会的末尾就是一例。

    未来科技 2024年6月5日
  • 底层逻辑未通,影视业的AI革命正在褪色…

    GPT、Sora均为革命性产品,引发了舆论风暴,但它在上个月发布的“多模态语音对谈”Sky语音,却由于声音太像电影明星斯嘉丽·约翰逊,被正主强烈警告,被迫下架。

    华尔街日报也在唱衰,认为“AI工具创新步伐正在放缓,实用性有限,运行成本过高”:

    首先,互联网上已经没有更多额外的数据供人工智能模型收集、训练。

    03、

    如果说训练“数字人”、使用AI配音本质上瞄向的仍是影视行业固有的发展方向,那么还有另外一群人试图从根本上颠覆影视行业的生产逻辑和产品形态。

    但分歧点正在于此,电影公司希望通过使用AI技术来降低成本,但又不希望自己的内容被AI公司所窃取。

    未来科技 2024年6月5日
  • KAN会引起大模型的范式转变吗?

    “先变后加”代替“先加后变”的设计,使得KAN的每一个连接都相当于一个“小型网络”, 能实现更强的表达能力。

    KAN的主要贡献在于,在当前深度学习的背景下重新审视K氏表示定理,将上述创新网络泛化到任意宽度和深度,并以科学发现为目标进行了一系列实验,展示了其作为“AI+科学”基础模型的潜在作用。

    KAN与MLP的对照表:

    KAN使神经元之间的非线性转变更加细粒度和多样化。

    未来科技 2024年6月5日
  • 这个国家,也开始发芯片补贴了

    //mp.weixin.qq.com/s/tIHSNsqF6HRVe2mabgfp6Q
    [4]中国安防协会:欧盟批准430亿欧元芯片补贴计划:2030年产量占全球份额翻番.2023.4.19.https。//mp.weixin.qq.com/s/VnEjzKhmZbuBUFclzGFloA
    [6]潮电穿戴:印度半导体投资大跃进,一锤砸下1090亿,政府补贴一半.2024.3.5https。

    未来科技 2024年6月5日
  • 大模型的电力经济学:中国AI需要多少电力?

    这些报告研究对象(数字中心、智能数据中心、加密货币等)、研究市场(全球、中国与美国等)、研究周期(多数截至2030年)各不相同,但基本逻辑大同小异:先根据芯片等硬件的算力与功率,计算出数据中心的用电量,再根据算力增长的预期、芯片能效提升的预期,以及数据中心能效(PUE)提升的预期,来推测未来一段时间内智能数据中心的用电量增长情况。

    未来科技 2024年6月5日
  • 你正和20万人一起接受AI面试

    原本客户还担心候选人能否接受AI面试这件事,但在2020年以后,候选人进行AI面试的过程已经是完全自动化的,包括面试过程中AI面试官回答候选人的问题,AI面试官对候选人提问以及基于候选人的回答对候选人进行至多三个轮次的深度追问。

    以近屿智能与客户合作的校验周期至少3年来看,方小雷认为AI应用不太可能一下子爆发,包括近屿智能在内的中国AI应用企业或许要迎来一个把SaaS做起来的好机会。

    未来科技 2024年6月4日