# OKR ## Objectives 1. MoE pattern feature 2. EP design for inference performance ## Key results - [ ] 现有工作的激活 pattern,与真实 trace 测试结论的对比 [O1] - [ ] load imbalance 的 temporal locality,workload (reasoning/...) - [ ] 层间 load imbalance 的 correlation - [ ] Models 是否 sensitive:Qwen3-30B/235B, DeepSeek-671B [O1] - [ ] EP 是否需要 dynamic,dynamic EP 扩缩容对性能的影响 [O2] --- # 0617 - 在 8 * H800 上跑起来 Qwen3-235B,进行 expert activation 的 trace - 代码开发:distributed 在当前版本的 vllm 会 fallback 到 v0,之前测试 30B 模型(num_expert=48)为单进程,默认开启 v1,完成了在 distributed 上的代码重写 - 测试得到一份 235B model 的 expert activation trace,尚未进行 data analysis - 跑 DeepSeek-671B - 完成了 Ray 版本 & DeepSeek 模型的 expert activation trace 部分的 vllm 代码 - 学习 Ray - 使用 Ray 运行满血 DeepSeek,存在的问题 - 默认的 vllm 尚且不能正常跑起来(怀疑是最新的 main 分支存在 bug),checkout 回 0.9.1 版本,rebuilding wheel... - 基本的 expert activation temporal pattern 分析 - 每 5min 作为一个 bin,与全局 1h 的 TopK expert IDs 的 Jaccard 相似度比较(取 K=8) ![[250624-105430.png]] - 每 5min 作为一个 bin,前 5min 与后 5min 的 Jaccard 相似度比较 ![[250624-105431.png]] - [ ] 完成 671B 模型的测试 - [ ] 测试 ShareGPT - [ ] expert 部分 同步 or 异步 - Request defer 对 GPU memory 的影响(GPU coroutine) - [ ] 从 **异步**/load balance/colocation 出发,能给出哪些观察 - [ ] 动态重排 experts 的 cost? --- # 0624 - 运行起 DeepSeek-671B,并且可以 trace expert activation pattern - 当前存在的问题:16 * H800 中测试 DeepSeek 时只能使用受限的 prompt 长度(< 1024) - 分析 Qwen-235B 的 expert pattern - 与全局 1h 的 TopK expert IDs 的 Jaccard 相似度比较(取 K=8) $$ \text{Jaccard(A, B)} = \frac{|A \cap B|}{|A \cup B|} $$ ![[250624-152355.png]] - 前 5min 与后 5min 的 Jaccard 相似度比较 ![[250624-152444.png]] --- # 0701 [[Survey]] - [ ] 总结百炼的架构,分析整体系统有什么可能可以做的 - [ ] expert scaling 前提:流量 spike,模型切换(数量?)需要启动,模型为 MoE 模型 - [ ] train 和 inference 的 A2A 的区别?和 deepep 的区别? - [ ] 容错问题?本质 GPU 数量增多,更容易挂,EP 是不是最容易容错的?kvcache 的容错 - [ ] failure 的概率? - [ ] replication 除了容错,能服务什么 GPU serverless? --- # 0715 [[Bailian Arch]] --- # 0722 - 老 trace ToB/ToC 混合 - [[Bailian Arch]] - 不同并行模式的 scheduling 同一模型会有不同的 parallel setup,global schedule 可以做当前 request 的特点做 route,选择最合适的 parallel setup 的 instance,$P = f(req, queue, state)$ - 不同 parallel setup 对请求类型/长短的影响体现在哪里? - 考虑 global 做 batch 时,一个 batch 对 parallel setup 的亲和性如何考虑?如何做 batch?如何做分发? 现状:一个 model serving 会有多个部署,每个部署内部一般还是相同的 parallelism,但是不同的部署可能会采用不同的 parallelism,目前线上的主要区别来自于:在线请求与 batch 请求,batch 请求由于类型不同/SLO 需求不同,可能会采用不同的 parallelism mode 分别满足不同的 SLO 需求(thpt/latency) --- # 0729 [[Trace-Qwen3]] [[Heterogenous Parallelism Cluster]] Transfer to project: heterogenous parallelism --- # TBD 为什么 MoE 能减少 attention head? agent 场景下,master 的 KVCache 动态变化,如何容错,简单的 replica? MoE 如何容错,expert re-route?