vLLM与PagedAttention:全面概述

news/2024/11/19 7:27:19/文章来源:https://www.cnblogs.com/IcyFeather/p/18291598

翻译自:https://medium.com/@abonia/vllm-and-pagedattention-a-comprehensive-overview-20046d8d0c61

简单、快速且经济的LLM服务

图片2

vLLM是一个旨在提高大型语言模型(LLM)推理和服务效率与性能的库。由UC Berkeley开发,vLLM引入了PagedAttention,这是一种新颖的注意力算法,显著优化了注意力键和值的内存管理。这一创新不仅提高了吞吐量,还实现了对传入请求的持续批处理,使用CUDA/HIP图快速执行模型,并支持包括并行采样和束搜索在内的多种解码算法。vLLM兼容NVIDIA和AMD GPU,并与流行的Hugging Face模型无缝集成,使其成为开发者和研究人员的通用工具。

PagedAttention:关键技术

PagedAttention是vLLM性能提升的核心。它通过将KV缓存划分为块,解决了LLM服务中内存管理的重大问题,允许在内存中非连续存储键和值。这种方法不仅优化了内存使用,减少了高达96%的浪费,还实现了高效的内存共享,显著降低了复杂采样算法的内存开销。PagedAttention的内存管理策略受到操作系统中虚拟内存和分页概念的启发,提供了一种灵活且高效的方式来管理内存资源。

图片3

vLLM系统概览 — arxiv.2309.06180

vLLM的特性和能力

  • 高吞吐量和内存效率
    vLLM提供了最先进的服务吞吐量,使其成为需要高性能和低延迟应用的理想选择。
  • 持续的请求批处理
    vLLM高效地管理传入的请求,允许持续的批处理和处理。
  • 快速模型执行
    利用CUDA/HIP图,vLLM确保模型的快速执行,提高LLM服务的整体性能。
  • 量化支持
    vLLM支持各种量化技术,包括GPTQ、AWQ、SqueezeLLM和FP8 KV缓存,以进一步优化模型性能并减少内存占用。
  • 优化的CUDA内核
    vLLM包括针对NVIDIA GPU的优化CUDA内核,以提高性能。
  • 张量并行性支持
    对于分布式推理,vLLM提供张量并行性支持,便于在多个GPU上实现可扩展和高效的模型服务。
  • 流式输出
    vLLM支持流式输出,允许实时处理和交付模型输出。
  • 兼容OpenAI的API服务器
    vLLM可用于启动兼容OpenAI API的服务器,使其易于与现有系统和工作流程集成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741103.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

何时入场才是好时机

何时入场才是好时机 1.当一个股票进入明确的趋势状态后,他将自动的运作,前后一致的贯穿整个趋势过程的路线演变下去 2.当这轮运动开始的时候,开头几天你会注意到,伴随着价格的上涨,形成了非常巨大的成交量,随后将发生正常的回撤,在这个向下回落过程中,成交量远远小于前…

1.1 DevOps、CI、CD都是什么?

DevOps DevOps是Development和Operations的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。以期打破传统开发和运营之间的壁垒和鸿沟。DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员…

1.2 Jenkins简介

简单介绍 Jenkinsopen in new window前身是Hudson,Jenkins是一款开源 CI&CD 软件,基于Java开发,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 Jenkins 项目产生两个发行线, 长期支持…

挂 CSDN,老问题了,现在开始盗我源码不管了

挂 CSDN,老问题了,现在开始盗我源码不管了,希望没有倒霉蛋来买,买了也别找我,我不维护这个项目了!挂壁链接:https://download.csdn.net/download/weixin_44087733/89352970 之前盗我文章,把我内置保护链接去掉,嵌广告事,我不挂你名不解决。好,挂出来好使了,我也没追…

grep: PCRE does not support \L, \l, \N{name}, \U, or \u

001、grep命令报错如下[root@PC1 test]# echo "你好世界" | grep -P [\u4e00-\u9fff]+ grep: PCRE does not support \L, \l, \N{name}, \U, or \u 002、解决方法(把U改为x;同时中间用中括号):[root@PC1 test]# echo "你好世界" | grep -P [\x{4e00}-…

2024春秋杯网络安全联赛夏季赛-PWN-Writeup

2024春秋杯网络安全联赛夏季赛-PWN-Writeup 只打了第一天,费了好大劲,终于三道都出了。Shuffled_Execution 保护全开,ida查看伪代码: int __fastcall main(int argc, const char **argv, const char **envp) {__int64 v3; // raxchar *s; // [rsp+28h] [rbp-18h]unsigned _…

如何从Salesforce技术人员成长为IT领导者?

从特定技术专家转型为掌控多个业务应用平台的IT领导者并不容易。只了解自己的技术栈,那其他技术是如何工作的?如果不了解它,如何让团队和组织取得成功?虽然看起来很困难,但掌握一种应用平台的技术专家其实已经有了成功的基础。本文主要分享Silvia的成功转型之路。 改变固有…

Firebird数据库修复

一、前期准备 断开数据库连接: 确保所有与Firebird数据库的连接都已断开,避免在修复过程中发生数据冲突或损坏。 备份数据库: 在进行任何修复操作之前,使用Firebird提供的gbak工具或其他备份工具对数据库进行完整备份。备份文件将在修复过程中起到关键作用,以防修复失败导…

InterBase数据库文件损坏的修复方法

InterBase数据库是一种中级数据库,它短小精悍免维护,可以满足百万记录级别的数据库应用,又有开放源码版本,个人认为是一种比较适合中小型数据库应用环境的数据库管理系统(DBMS)。Delphi内建了对InterBase数据库的支持,因此用Delphi编写以InterBase为后台数据库的软件很是…

TypeError: Failed to fetch dynamically imported module

发现运行npm run build 的结果里面,有一些名字特别长的js的名字 原因是因为有一些component,在某些页面我是直接import,某些页面是用defineAysnc 导入的,两种情况都有。 后来全部都改为defineAsync 引入。 重新build,就没有那些名字特别长的js了 这样问题就解决了。

备份和恢复

mongodump备份 mongodump从 MongoDB 数据库读取数据并创建高保真 BSON 文件,该mongorestore 工具可以使用该文件填充 MongoDB 数据库。 mongodump并且mongorestore是用于备份和恢复小型 MongoDB 部署的简单有效的工具,但并不适合捕获大型系统的备份。 mongodump只捕获数据库中…

文件目录损坏数据恢复

文件目录损坏数据恢复是一个涉及多个步骤和可能解决方案的过程。 一、使用系统自带的磁盘检查工具 在Windows系统中,您可以使用CHKDSK工具来检查和修复磁盘错误,包括文件目录的损坏。 打开命令提示符:按【Win+R】打开运行窗口,输入【cmd】,然后点击【确定】。 运行CHKDSK命…