MRV2 支持 prompt embeds,新增 Triton 叠加 kernel
值得精读,尤其是负责 MRV2 / worker 侧架构的工程师。关注三个设计决策:一是“GPU 常驻 + UVA 指针表 + 单 kernel 叠加”的零热路径方案(`PromptEmbedsState.add_request/apply`),它把逐请求 H2D 拷贝降到每请求一次,并用 `num_computed_tokens` 与 `embeds_len` 做 chunked prefill clamp,是值得复用的模式;二是“能力标志 + 启动期拒绝”的快速失败设计(`ModelState.supports_prompt_embeds` + `resolve_model_state_cls` 拆分),避免用户以为特性生效却静默丢 embedding;三是 PR 讨论中 njhill 与 qthequartermasterman 关于“该不该移植 / 该不该废弃”的交锋,是理解 vLLM V2 功能取舍标准的典型案例。阅读时建议同时看 `tests/v1/worker/test_prompt_embeds_state.py` 的 4 个边界用例,并留意 mm + prompt embeds 组合仍待 follow-up PR 补齐。
参与讨论