Prhub

vllm-project/vllm · 标签视图

标签列表

聚合结果

watermarking 相关 PR

2026-09-14
测试 重要性 5.53 洞察度 5.00

为水印实现补齐 E2E 检测用例与 GSM8K 质量回归 CI

值得精读:如果你正在为某个新特性设计回归护栏或为 Buildkite 配置定向触发的评测步骤,本 PR 是简洁的样板,尤其是 `source_file_dependencies` 的收敛思路、`autorun_on_main` 的取舍,以及 GSM8K 阈值的 3 sigma 校准方式。重点看 `tests/watermarking/test_watermarking_e2e.py` 中「开/关对照 + golden p-value + 布尔断言」三层结构,以及 TQCB 关于确定性的论证。可以略读:只关心水印算法本身的读者,本 PR 没有任何算法或内核改动,算法细节应回到 #54053 与 RFC #53916。后续建议:(a) 把 `recorded_p_value` 的失败信息增强为打印实际 p-value 与 token 序列长度,降低定位成本;(b) 在 tracking issue #56105 上补一条明确的后续计划,逐步补上 SD/TP2 组合与速度回归;(c) 观察几次 main 构建,确认 GSM8K 阈值不抖动后再考虑收紧容差。

功能 重要性 7.75 洞察度 5.00

Rust 前端打通按请求水印开关,HTTP/gRPC 均可 opt-out

建议精读程度中等偏上:负责 Rust 前端或水印特性的工程师值得花 15 分钟通读,重点关注 `rust/src/server/src/grpc/convert.rs` 的 `Option<bool>` 三态处理与 `rust/src/engine-core-client/src/protocol/sampling.rs` 的 `default_watermarking()` 设计;纯 Python 侧开发者只需了解「Rust 前端已支持按请求 opt-out」这一结论。三个值得留存的设计点:一是用 proto3 `optional` 换「未设置 vs 显式 false」的三态区分,决定了 `unwrap_or(true)` 的写法;二是 serde 默认值函数与 Python `omit_defaults=True` 的耦合,这是本仓库反复踩坑的地方(#50894、#56791 都在这条路径上修过问题);三是默认值当前散落多处,是后续可选的清理点。若关心端到端正确性,建议与 #56309 的 e2e/质量测试合并阅读。

2026-09-13
功能 重要性 9.36 洞察度 8.00

水印兼容投机解码:双 key Gumbel 与上下文去重

值得精读,尤其是三类读者:做水印/内容溯源的人应关注 DualKeyGumbelWatermarker 的路由与检测器方差重标定;做投机解码的人应关注 _resample_kernel 的 WATERMARK 分支与 watermarked_rejection_sample 的 key 角色约定;做性能的人应关注 context 去重的 kernel 代价与 watermark_sample_warmup 的 specialization 覆盖策略。建议重点看两个设计决策:一是 Watermarker.sample 模板方法 + _try_sample_mixed 的“可选融合钩子”,它把两趟采样优化收敛到算法内部;二是 create_speculative_*_watermarker 的“拆角色”约定,配合 _resolve_watermark_key 的显式报错,避免双 key 容器被误用。阅读时可跳过 tests/watermarking 的数值断言细节,但 tests/v1/spec_decode/test_rejection_sampler_utils.py 中“水印恢复等价于 philox_gumbel_sample”的对比测试值得一看。