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

VLLM历次会议(2024.1)

Azure官宣支持VLLM

VLLM支持AMD芯片

支持Mixtral MoE,支持DeepSeek MoE

性能优化 (以下4招,总共将吞吐量提升50%,延迟降低40%)

1. PageAttention V2  (同一个Q,和不同的KV的计算,分散在多个SM上;计算得到了并行)

2. CUDA Graph

CPU侧,python/pytorch,改为CUDA Graphs后,可使总延迟减少40%。

3. 这是TP还是每个model独立?

4. 小数据上,使用One-shot AllReduce,比NCCL的Ring-AllReduce,更快:

技术报告:https://github.com/vllm-project/vllm/files/13574639/Latency-optimal.allreduce.and.cuda.graph.optimization.pdf

PR: Custom all reduce kernels by hanzhi713 · Pull Request #2192 · vllm-project/vllm · GitHub

传输数据量小时,latency-bound,因此NCCL的double-tree和ring-allreduce的延迟较大。

one-shot的实现,是all-to-all,每个node一把读取所有node上的整个数组。因此延迟为1。但带宽浪费较大。

two-shot的实现,是先reduce-scatter,每个node读取所有node上的一部分数组,加和之后,再all-gather广播到所有node使得每个node上有完整的加和后数组。因此延迟为2,省带宽。

文中还提到了bufferfly allredue:

以上图中是完整bufferfly allreduce。他文中用的是half版,也就是一上来每个stage都是加和完整的数组。这样,就不需要最后的broadcast那一半stages了,减少了一半的延迟(但带宽消耗增大了)。

新功能

1. 支持AMG GPU

2. 支持多个LoRA同时加载。

3. 支持量化:GPTQ,AWQ,SqueezeLM,FP8-E5M2 KV cache

4. Prefix caching。新请求复用老请求的公共前缀的KV-Cache,避免重新计算的开销。


http://www.kler.cn/a/538922.html

相关文章:

  • 测试中的第一性原理:回归本质的质量思维革命
  • Linux(20)——调度作业
  • VSCode便捷开发
  • 【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构
  • [LeetCode]day17 349.两个数组的交集
  • 使用云效解决docker官方镜像拉取不到的问题
  • 归一化与伪彩:LabVIEW图像处理的区别
  • ASAP Utilities:Excel 插件中的高效助手
  • (done) openMP学习 (Day10: Tasks 原语)
  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之上传头像和新增收货地址
  • Elasticsearch入门技术:从零开始掌握全文搜索引擎
  • 深度理解如何使用DeepSeek-R1撰写论文:初学者指南
  • 校园网规划方案
  • 基于DeepSeek的具身智能高校实训解决方案——从DeepSeek+机器人到通用具身智能
  • DeepSeek JanusPro-7B本地安装-唯一正确版
  • 旋转位置编码(RoPE)公式详细推导过程
  • RocketMQ实战—8.营销系统业务和方案介绍
  • qt widget和qml界面集成到一起
  • 现代神经网络QA(LeNet/AlexNet/VGG/NiN/GooleNet/ResNet)-----一篇搞懂
  • Apache Commons Lang学习大纲
  • Windows逆向工程入门之高级语言与汇编语言
  • 【vscode+latex】实现overleaf本地高效编译
  • 51单片机俄罗斯方块清屏函数
  • “可通过HTTP获取远端WWW服务信息”漏洞修复
  • day44 QT核心机制
  • 前端知识速记--JS篇:闭包