Repolode
microsoft

microsoft/vidur

面向 LLM 推理系统的高保真模拟器,无需 GPU 即可分析性能、规划部署与验证调度策略。

Star
720
Fork
142
未关闭 Issue
24
最近提交
2个月前

这是什么?

Vidur 用于模拟大语言模型在 GPU 集群上处理请求的过程。在给定负载、模型和硬件配置后,它可以估算首 token 延迟(TTFT)、每个输出 token 的耗时(TPOT)、请求端到端时间以及批大小等指标。模拟器只需在真实 GPU 上完成一次较短的性能剖析,之后的实验便不再依赖 GPU。

它的典型用途包括:研究不同流量模式下模型的表现;在满足延迟目标的前提下寻找性价比最高的部署方案,例如张量并行与流水线并行的组合;以及快速验证新的调度算法或推测解码等优化思路。支持的模型包括 Llama-2、Llama-3、CodeLlama、InternLM 和 Qwen,覆盖 A100、H100 和 A40 等节点配置。负载既可以使用合成生成器,也可以使用 Azure LLM 推理 trace,模拟结果可写入 wandb 或本地目录,并导出 Chrome trace 便于查看。

核心功能

  • 01估算 LLM 推理服务的 TTFT、TPOT、端到端延迟和批大小。
  • 02完成目标硬件上的初始剖析后,无需 GPU 即可运行。
  • 03支持多种 GPU 节点下的张量并行与流水线并行组合。
  • 04支持合成请求生成器和 Azure LLM 推理 trace 作为输入。
  • 05可导出 Chrome trace,并将指标记录到 wandb 或本地目录。
  • 06便于扩展,用于验证新的调度算法和优化方案。

适用场景

  • 容量规划,找出满足延迟目标的最低成本部署方案。
  • 在相同流量 trace 下比较不同调度策略。
  • 在真实 GPU 上实现之前,先研究推测解码等服务端优化。
  • 分析模型规模与并行配置对推理性能的影响。

快速上手

  1. 1

    使用 Python 3.10 创建虚拟环境

    python3.10 -m venv .venv
  2. 2

    激活虚拟环境

    source .venv/bin/activate
  3. 3

    安装依赖

    python -m pip install -r requirements.txt
  4. 4

    在仓库根目录运行模拟器

    python -m vidur.main

使用前须知

  • 需要 Python 3.10,并且新模型或新硬件需要先进行 GPU 性能分析。
  • 支持的模型和硬件仅限于 README 中列出的配置。
  • 前缀缓存等部分功能仅在 canary 分支中提供。

收录于专题

标签

常见问题

vidur 是什么?
面向 LLM 推理系统的高保真模拟器,无需 GPU 即可分析性能、规划部署与验证调度策略。 Vidur 用于模拟大语言模型在 GPU 集群上处理请求的过程。在给定负载、模型和硬件配置后,它可以估算首 token 延迟(TTFT)、每个输出 token 的耗时(TPOT)、请求端到端时间以及批大小等指标。模拟器只需在真实 GPU 上完成一次较短的性能剖析,之后的实验便不再依赖 GPU。
vidur 可以免费使用吗?用的什么许可证?
vidur 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
vidur 还在维护吗?
半年内有更新。vidur 最近一次提交是在 2026年8月24日。
vidur 适合用来做什么?
容量规划,找出满足延迟目标的最低成本部署方案。 在相同流量 trace 下比较不同调度策略。 在真实 GPU 上实现之前,先研究推测解码等服务端优化。 分析模型规模与并行配置对推理性能的影响。
vidur 怎么安装和运行?
使用 Python 3.10 创建虚拟环境: python3.10 -m venv .venv 激活虚拟环境: source .venv/bin/activate 安装依赖: python -m pip install -r requirements.txt 在仓库根目录运行模拟器: python -m vidur.main
在哪里获取 vidur?
源代码和安装说明在 GitHub 上:https://github.com/microsoft/vidur

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目