news 2026/5/9 10:08:06

Nano-vLLM-MS

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nano-vLLM-MS

Nano-vLLM-MS

项目地址:喜欢可以点点star

这是一个基于 nano-vLLM 的轻量级 vLLM 实现,增强了对 MoE 模型和 Speculative Decoding(推测解码)的支持。

核心特性

  • MoE 模型支持- 在 nano-vLLM 推理流水线中支持 Qwen3-MoE 模型,包含基于 router 的 top-k expert 选择与融合专家计算。
  • Speculative Decoding 流水线- 实现了端到端的推测解码路径,包含 N-gram 草稿 token 提案。
  • 🚀高效 N-gram proposer- 使用基于 prompt 查找的方法,并结合 Numba 加速与自适应线程控制,降低大 batch 场景下的草稿生成开销。
  • 面向性能的运行时- 保留了 nano-vLLM 的优化能力,例如 prefix cache、tensor parallel、CUDA graph capture 等。
  • 📊可复现示例与基准测试- 提供example_moe.pyexample_sd.pybench.py,可快速验证功能并与 vLLM 对比吞吐。

安装

pip install git+https://github.com/banfeb/nano-vLLM-MS2.git

模型下载

如果你想手动下载模型权重,可使用以下命令:

huggingface-cli download --resume-download yujiepan/qwen3-moe-tiny-random \ --local-dir ~/huggingface/qwen3-moe-tiny-random/ \ --local-dir-use-symlinks False

快速开始

使用方式可参考example_moe.pyexample_sd.py。API 基本与 vLLM 接口一致,LLM.generate方法有少量差异:

from nanovllm import LLM, SamplingParams llm = LLM("/YOUR/MODEL/PATH", enforce_eager=True, tensor_parallel_size=1,speculative_config={}) sampling_params = SamplingParams(temperature=0.6, max_tokens=256) prompts = ["Hello, Nano-vLLM-MS."] outputs = llm.generate(prompts, sampling_params) outputs[0]["text"]

基准测试

基准测试请参考bench.py

下面给出两组基准测试结果:

  1. 用于验证 Qwen3-MoE 执行路径的 MoE 推理基准测试。
  2. 基于 Qwen3-0.6B 的 Speculative Decoding 基准测试,用于衡量 N-gram 草稿生成流水线带来的吞吐提升。

MoE 推理基准测试

这组测试数据来自 MoE 模型路径,不包含Speculative Decoding。所使用的 Qwen3-MoE 模型是一个随机参数 checkpoint,因此这里的测试主要用于功能验证与吞吐评估,而不是生成质量评估。

测试配置:

  • 硬件:RTX 3090(24GB)
  • 模型:yujiepan/qwen3-moe-tiny-random
  • 总请求数:256 条序列
  • 输入长度:在 100 到 1024 token 范围内随机采样
  • 输出长度:在 100 到 1024 token 范围内随机采样

性能结果:

推理引擎输出 Token 数耗时(s)吞吐(tokens/s)
vLLM133,9665.5324,242.19
Nano-vLLM-MS133,9666.3723,214.07

Speculative Decoding 基准测试

为了评估 Speculative Decoding 的效果,我们另外在Qwen3-0.6B上测试了 Nano-vLLM-MS。该模型也是当前 speculative decoding 示例所使用的基础稠密模型。这里对比的是普通解码与开启 N-gram speculative path 后的吞吐表现。

测试配置:

  • 模型:Qwen3-0.6B
  • 推理引擎:Nano-vLLM-MS
  • 对比方式:普通解码 vs. Speculative Decoding

性能结果:

模式吞吐(tokens/s)
普通解码1,418.09
Speculative Decoding1,996.81

在该配置下,Speculative Decoding 将吞吐从1418.09 tok/s提升到1996.81 tok/s,约提升40.8%

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 10:07:19

边缘智能信号处理在工业预测性维护中的应用与优化

1. 智能信号处理在工业边缘计算中的核心价值现代工业设施正面临一个关键矛盾:一方面,生产设备需要更密集的监测点来实现预测性维护;另一方面,传统有线传感器网络的部署成本已难以承受。以半导体晶圆厂为例,单是电机监测…

作者头像 李华
网站建设 2026/5/9 10:06:31

Hitboxer:专业游戏键盘重映射工具,彻底解决按键冲突问题

Hitboxer:专业游戏键盘重映射工具,彻底解决按键冲突问题 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中因为键盘按键冲突而错失良机?Hitboxer正是…

作者头像 李华
网站建设 2026/5/9 10:02:09

轻量化研究代理:基于Agent架构的自动化信息处理方案

1. 项目概述:轻量化研究代理的诞生背景与核心价值在信息爆炸的时代,无论是学术研究者、行业分析师,还是产品经理、内容创作者,都面临着一个共同的痛点:如何从海量的、碎片化的信息中,高效地筛选、整合、提炼…

作者头像 李华
网站建设 2026/5/9 10:02:06

OpenSpeedy:免费开源游戏加速神器,告别卡顿与等待

OpenSpeedy:免费开源游戏加速神器,告别卡顿与等待 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 你是否曾在游戏中遇到冗长的过场动画,或…

作者头像 李华
网站建设 2026/5/9 10:00:30

深度学习中的激活函数与损失函数选择指南

1. 激活函数与损失函数在深度学习中的核心作用在构建神经网络模型时,激活函数和损失函数的选择直接影响着模型的训练效果和最终性能。激活函数决定了神经元的输出特性,为网络引入非线性变换能力;而损失函数则量化了模型预测与真实值之间的差异…

作者头像 李华
网站建设 2026/5/9 9:59:33

ViGEmBus内核级游戏控制器模拟:架构解析与高级故障排除方案

ViGEmBus内核级游戏控制器模拟:架构解析与高级故障排除方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 在游戏开发、输入设备测试和远程游戏…

作者头像 李华