跳到主要内容
版本:v0.4

机队模拟概览

Fleet Sim 回答那些在真实 GPU 机队上探索成本很高的规划问题:工作负载可能需要多少 worker、流量应在哪些池之间拆分,以及哪些假设对延迟或成本目标影响最大。

它提供 vllm-sr-sim 命令行工具,以及可选的独立 HTTP 服务,供自动化或自定义规划客户端使用。

一次研究需要什么​

一次有用的研究需要四类输入:

  • 工作负载分布,或上传的轨迹(服务会从中推导 token 长度分布);
  • 服务目标,目前主要以 P99 首 token 时间(TTFT)报告;
  • 一个或多个池,包含 GPU profile、数量和最大上下文长度;以及
  • 路由策略,例如按提示词长度拆分,或模型到池的映射。

随后模拟器可以比较机队规模、排队延迟、利用率、建模成本,并在有功耗 profile 时估计能耗行为。

两层分析​

Fleet Sim 用解析规模估算做快速搜索,用离散事件模拟器(DES)做逐请求校验。

  1. 解析规模估算能快速缩小大型配置空间。
  2. DES 用显式到达、排队、prefill、decode 和 KV-cache 准入来测试选定候选。

两者一致是有用证据,但都不是生产保证。最终设计要用你将部署的模型、硬件、张量并行布局、vLLM 配置和运行时版本上的轨迹与测量来验证。

内置数据只是起点​

仓库包含工作负载 CDF 和 GPU profile,便于在尚未收集数据时学习工作流。其中的常量是规划默认值,不是当前价格,也不是每个模型的基准结果。只有在校准这些输入之后,成本、延迟、KV 容量和功耗结论才针对具体部署。

这一区别在硬件比较中最重要:部分内置 profile 代表不同的模型规模和并行布局。直接比较其输出可以衡量组合后的系统选择,但不能单独隔离 GPU 本身。

HTTP 服务会把上传的轨迹转换成总 token CDF,并为模拟生成泊松到达。它不会回放轨迹原来的到达间隔或每条请求的路由标签。需要精确的带时间戳回放时,可使用 Python 库的 TraceWorkload。

Fleet Sim 不做什么​

  • 它不是路由器在线推理路径的一部分。
  • 它不会对正在运行的部署做自动扩缩或限流。
  • 它不会以目标系统测量那样的保真度建模内核、网络、故障或调度器行为。
  • 它不会判断更小的模型答案质量是否可接受。
  • 它不能替代承诺容量之前的负载测试。

选择工作流​

目标从这里开始
运行第一次规模估算研究快速开始
走完一项规划决策容量规划工作流
理解方程和模拟器行为仿真模型
校准能耗估计功耗模型

研究背景说明了该规划工具与服务引擎、高保真模拟器和自动扩缩系统的关系。