vLLM 教程上新!覆盖从入门到进阶 4 种应用方式;中文文档同步上线,0 帧起手加速大模型推理
如今,大语言模型 (LLM) 的发展正在从规模参数迭代升级拓展至应用场景的适配与创新,在这个过程中,其也暴露出一系列问题。例如,在推理环节的效率较低,处理复杂任务时耗时较长,难以满足对实时性要求较高的场景需求;在资源利用方面,由于模型规模庞大,对计算资源和存储资源的消耗巨大,且存在一定程度的浪费等。
针对于此,来自加州大学伯克利分校 (UC Berkeley) 的研究团队于 2023 年开源了 vLLM (Virtual Large Language Model),这是一款专为大模型推理加速而设计的库,其依靠卓越的推理效率和资源优化能力在全球范围内引发广泛关注。
vLLM 教程:从入门到进阶
为帮助国内开发者更快速入门 vLLM,小贝在 http://OpenBayes.com 的「公共教程」板块上线了 4 个 vLLM 教程,覆盖了 vLLM 的安装、使用、推理以及 API 服务器的部署。无论是毫无经验的新手小白,还是已经有一定基础、渴望提升的开发者,都能找到适合自己的学习路径!

1. vLLM 入门教程:零基础分步指南
该教程逐步展示了如何配置和运行 vLLM,提供 vLLM 的安装、模型推理、启动 vLLM 服务器以及如何发出请求的完整入门指南。
* 在线运行:https://go.openbayes.com/vNYCa
2. 使用 vLLM 对 Qwen2.5 推理
该教程详细展示了如何对一个 3B 参数的大语言模型的进行推理任务,包括模型的加载、数据的准备、推理过程的优化,以及结果的提取和评估。
* 在线运行:https://go.openbayes.com/lZIUd
3. 使用 vLLM 加载大模型进行少样本学习
该教程为使用 vLLM 加载 Qwen2.5-3B-Instruct-AWQ 模型进行少样本学习,详细解释了如何通过检索训练数据获取相似问题构建对话,利用模型生成不同输出,推断误解并结合相关方法进行整合排名等操作,实现从数据准备到结果提交的完整流程。
* 在线运行:https://go.openbayes.com/pYEub
4. 将 LangChain 与 vLLM 结合使用教程
本教程围绕将 LangChain 与 vLLM 结合使用展开,旨在简化并加速智能 LLM 应用程序开发,涵盖从基础设置到高级功能应用的多方面内容。
* 在线运行:https://go.openbayes.com/BhNo3
追溯 vLLM:开源历程及技术演进
vLLM 的雏形诞生于 2022 年年底,加州大学伯克利分校的研究团队在部署一个名为「alpa」的自动化并行推理项目时,发现其运行速度非常慢且 GPU 利用率低。研究人员敏锐地察觉到,大语言模型推理存在着巨大的可优化空间。然而,市场上并没有专门针对大语言模型推理优化的开源系统,随即,他们决定自己动手创建一个大语言模型推理框架。
经过无数次的试验和调试中,他们关注到了操作系统中经典的虚拟内存和分页技术,并基于此在 2023 年提出了开创性注意力算法 PagedAttention,其可以有效地管理注意力键和值,进而构建了高吞吐量的分布式 LLM 服务引擎 vLLM,实现了 KV 缓存内存几乎零浪费,有效解决了大语言模型推理中的内存管理瓶颈问题。与 Hugging Face Transformers 相比,其吞吐量提升了 24 倍,而且这一性能提升不需要对模型架构进行任何更改。
更值得一提的是,vLLM 不受硬件限制,不仅仅局限于 Nvidia GPU,还对 AMD GPU、Intel GPU、AWS Neuron 和 Google TPU 等市面上众多硬件架构敞开怀抱,真正推动了大语言模型在不同硬件环境下的高效推理和应用。如今, vLLM 已经能够支持超 30 个生成式大语言模型,并获得了包括 Anyscale、AMD、NVIDIA、Google Cloud 在内的 20 多个企业的支持和赞助。
2023 年 6 月,vLLM 的开源代码正式发布。短短一年时间里,vLLM 在 Github 上星标数就突破了 21.8k。截止目前,该项目星标数已达 31k。

vLLM 在 GitHub 上已获得 31k stars
同年 9 月,研究团队发表了论文「Efficient Memory Management for Large Language Model Serving with PagedAttention」,进一步阐述 vLLM 的技术细节和优势。而团队对 vLLM 研究的脚步并未停歇,仍在围绕兼容性、易用性等方面展开迭代升级。例如在硬件适配方面,除了 Nvidia GPU 之外,怎样能够让 vLLM 在更多的硬件上面跑起来;再比如在科研方面,如何进一步提高系统效率和推理速度等。而这些也都体现在 vLLM 的一次次的版本更新中。
论文地址:
https://dl.acm.org/doi/10.1145/3600006.3613165

vLLM 系统概览
vLLM v0.6.4 更新
吞吐量提高 2.7 倍,延迟减少 5 倍
就在上个月,vLLM 的版本更新到了 0.6.4,在性能提升、模型支持和多模态处理等方面都取得了重要的进展。
在性能方面,新版本引入了多步调度 (Multistep scheduling) 和异步输出处理 (Asynchronous output processing),优化了 GPU 的利用率并提高了处理效率,从而提高了整体的吞吐量。
vLLM
技术解析
* 多步调度允许 vLLM 一次性完成多个步骤的调度和输入准备,使得 GPU 可以连续处理多个步骤而不必每个步骤都等待 CPU 指令,这样分散了 CPU 的工作负载,减少了 GPU 的空闲时间。
* 异步输出处理使得输出处理与模型的执行可以并行进行。具体来讲,vLLM 不再立即处理输出,而是延迟处理,在执行第 n+1 步的同时处理第 n 步的输出。虽然这可能会导致每个请求多执行一步,但对 GPU 利用率的大幅提高远远弥补了这一成本。
例如,在 Llama 8B 模型上可以实现 2.7 倍的吞吐量提升和 5 倍的 TPOT(每个输出标记的时间)减少,如下图所示。

在 ShareGPT 数据集上对搭载于 1 张 H100 的 Llama 8B 模型进行 vLLM v0.5.3 与 v0.6.0 之间的性能比较
而在 Llama 70B 模型上实现了 1.8 倍的吞吐量提升和 2 倍的 TPOT 减少,如下图所示。

在 ShareGPT 数据集上对搭载于 4 张 H100 的 70B 模型进行 vLLM v0.5.3 与 v0.6.0 之间的性能比较
模型支持方面 vLLM 新纳入了对 Exaone、Granite 和 Phi-3.5-MoE 等前沿大语言模型的适配。在多模态领域,增加了多图像输入的功能(官方文档中以 Phi-3-vision 模型作为示例演示),以及对 Ultravox 的多个音频块的处理能力,进一步扩展了 vLLM 在多模态任务中的应用范围。
首个完整版 vLLM 中文文档上线
毫无疑问,vLLM 作为大模型领域的一项重要技术创新,代表了当前高效推理的发展方向。为了让国内开发者更便捷、准确地理解其背后的先进技术原理,将 vLLM 引入到国内大模型的开发中,进而推动该领域的发展。HyperAI超神经的社区志愿者们通过开放合作的方式,经过翻译和校对的双重审核,成功完成了首个 vLLM 中文文档,现已完整上线至 https://vllm.hyper.ai/。

vLLM 中文文档官方网站
vLLM
这份文档为您提供了:
* 从零入门的基础概念科普
* 快速上手的一键克隆教程
* 及时更新的 vLLM 知识库
* 友好开放的中文社区生态

vLLM 在不同计算芯片上的安装方式
在 GitHub vLLM 中文:
https://github.com/hyperai/vllm-cn
参考资料:
1.https://blog.vllm.ai/2024/09/05/perf-update.html
2.https://www.163.com/dy/article/J6606DLJ0511B6FU.html
3. https://mp.weixin.qq.com/s/e0jcROf5bz-vaxEKILnqLw
新用户福利
* 注册福利:点击下方邀请链接注册,即可获得 4 小时 RTX 4090 + 5 小时 CPU 的免费算力时长,永久有效!
小贝总专属邀请链接(直接复制到浏览器打开):
https://go.openbayes.com/9S6Dr
相关文章:
vLLM 教程上新!覆盖从入门到进阶 4 种应用方式;中文文档同步上线,0 帧起手加速大模型推理
如今,大语言模型 (LLM) 的发展正在从规模参数迭代升级拓展至应用场景的适配与创新,在这个过程中,其也暴露出一系列问题。例如,在推理环节的效率较低,处理复杂任务时耗时较长,难以满足对实时性要求较高的场景…...
Kubernetes# RBAC访问控制
目录 定义 配置对象 Role ClusterRole ServiceAccount RoleBinding ClusterRoleBinding 配置示例 定义 Kubernetes的运行是由多种类型的资源组合起来,每种资源各司其职完成整个集群的功能。那么自然也需要一套机制控制资源的访问权限,保证安全性…...
如何实现后端返回excel文件,在前端下载功能
前言 简单记录一下,excel文件导出下载功能 一、后端接口返回excel文件 把自己生成的workbook 以文件流的方式,返回前台 Workbook workbook employeeConfirmationDefectService.exportPoorPolishExcel(budatBegin, budatEnd, queryWrapper);//传输到…...
编程:一场不设防的智慧江湖
在数字的汪洋中,有一片从未设置年龄禁区的领地——编程世界。许多人会问:35岁了,还能学编程吗?答案是:不仅能学,还能学得很精彩。 时光荏苒,科技浪潮汹涌澎湃。曾经,人们以为编程是…...
电脑游戏运行时常见问题解析:穿越火线提示“unityplayer.dll丢失”的修复指南
电脑游戏运行时常见问题解析:穿越火线提示“unityplayer.dll丢失”的修复指南 在探索电脑游戏的无限乐趣时,我们时常会遇到一些不期而遇的挑战。今天,我们将聚焦于一个常见的游戏运行错误——穿越火线(或其他使用Unity引擎的游戏…...
【C++】CUDA线程在全局索引中的计算方式
文章目录 1. 一维网格一维线程块2. 二维网格二维线程块3. 三维网格三维线程块4. 不同组合形式4.1 一维网格一维线程块4.2 一维网格二维线程块4.3 一维网格三维线程块4.4 二维网格一维线程块4.5 二维网格二维线程块4.6 二维网格三维线程块4.7 三维网格一维线程块4.8 三维网格二维…...
【笔记】C语言转C++
网课链接:【C语言 转 C 简单教程】 https://www.bilibili.com/video/BV1UE411j7Ti/?p27&share_sourcecopy_web&vd_source4abe1433c2a7ef632aeed6a3d5c0b22a 网课老师B站id:别喷我id 视频总时长:01:55:27 以下笔记是我通过此网课整理 建议先…...
锂电池SOH预测 | 基于BiGRU双向门控循环单元的锂电池SOH预测,附锂电池最新文章汇集
锂电池SOH预测 | 基于BiGRU双向门控循环单元的锂电池SOH预测,附锂电池最新文章汇集 目录 锂电池SOH预测 | 基于BiGRU双向门控循环单元的锂电池SOH预测,附锂电池最新文章汇集预测效果基本描述程序设计参考资料 预测效果 基本描述 锂电池SOH预测 | 基于Bi…...
半导体器件与物理篇5 1~4章课后习题
热平衡时的能带和载流子浓度 例 一硅晶掺入每立方厘米10^{16}个砷原子,求室温下(300K)的载流子浓度与费米能级。 需要用到的公式包括1.本征载流子浓度公式 2.从导带底算起的本征费米能级 2.从本征费米能级算起的费米能级 载流子输运现象 例1:计算在300K下&#x…...
Pytest-Bdd-Playwright 系列教程(16):标准化JSON报告Gherkin格式命令行报告
Pytest-Bdd-Playwright 系列教程(16):标准化JSON报告&Gherkin格式命令行报告 前言一、创建Feature文件二、创建步骤定义文件三、生成Cucumber格式的JSON报告四、使用Gherkin格式的命令行报告五、将BDD报告集成到Jenkins中总结 前言 在自动…...
机器学习之学习范式
机器学习的四种主要范式分别是:监督学习、非监督学习、强化学习和半监督学习。以下是每种范式的详细介绍: 1. 监督学习(Supervised Learning) 定义: 通过已标注的数据训练模型,以预测或分类未知数据。 目…...
PHPstudy中的数据库启动不了
法一 netstat -ano |findstr "3306" 查看占用该端口的进程号 taskkill /f /pid 6720 杀死进程 法二 sc delete mysql...
鸿蒙开发-ArkTS 创建自定义组件
在 ArkTS 中创建自定义组件是一个相对简单但功能强大的过程。以下是如何在 ArkTS 中创建和使用自定义组件的详细步骤: 一、定义自定义组件 使用Component注解:为了注册一个组件,使其能够在其他文件中被引用,你需要使用Component…...
记录学习《手动学习深度学习》这本书的笔记(五)
这一章是循环神经网络,太难了太难了,有很多卡壳的地方理解了好久,比如隐藏层和隐状态的区别、代码的含义(为此专门另写了一篇【笔记】记录对自主实现一个神经网络的步骤的理解)、梯度计算相关(【笔记】记录…...
【Qt】Qt+Visual Studio 2022环境开发
在使用Qt Creator的过程中,项目一大就会卡,所以我一般都是用VS开发Cmake开发, 在上一篇文章中,我已经安装了CMake,如果你没有安装就自己按一下。 记得配置Qt环境变量,不然CMake无法生成VS项目:…...
云计算HCIP-OpenStack04
书接上回: 云计算HCIP-OpenStack03-CSDN博客 12.Nova计算管理 Nova作为OpenStack的核心服务,最重要的功能就是提供对于计算资源的管理。 计算资源的管理就包含了已封装的资源和未封装的资源。已封装的资源就包含了虚拟机、容器。未封装的资源就是物理机提…...
HCIA-Access V2.5_3_2_VLAN数据转发
802.1Q的转发原则--Access-Link 首先看一下Access,对于Access端口来说, 它只属于一个VLAN,它的VLANID等于PVID。 首先看一下接收方向,前面说过交换机内部一定要带标签转发,所以当交换机接收到一个不带tag的数据帧时,会给它打上端…...
transformer学习笔记-导航
本系列专栏,主要是对transformer的基本原理做简要笔记,目前也是主要针对个人比较感兴趣的部分,包括:神经网络基本原理、词嵌入embedding、自注意力机制、多头注意力、位置编码、RoPE旋转位置编码等部分。transformer涉及的知识体系…...
功能篇:JAVA后端实现跨域配置
在Java后端实现跨域配置(CORS,Cross-Origin Resource Sharing)有多种方法,具体取决于你使用的框架。如果你使用的是Spring Boot或Spring MVC,可以通过以下几种方式来配置CORS。 ### 方法一:全局配置 对于所…...
防火墙内局域网特殊的Nginx基于stream模块进行四层协议转发模块的监听443 端口并将所有接收转发到目标服务器
在一些特殊场合下, 公司内部网络防火墙限制, 不能做端口映射, 此时可以使用nginx的做从四层协议转发, 只走tcp/ip协议, 而不走http方式, 可以做waf设置, 就可以做443, 或其它端口, 从而达到被直接转发到远程服务器效果 机房只映射了一个IP:22280, 而需求是这个SDK只能通过…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
