当前位置: 首页 > news >正文

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项目&#xff1a…...

云计算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只能通过…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

xmind转换为markdown

文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...