Prhub

sgl-project/sglang · 标签视图

标签列表

聚合结果

sampling 相关 PR

2026-09-11
缺陷修复 重要性 5.97 洞察度 4.00

修复多 token 批量下 custom logit 处理器参数未重复展开的 bug

值得快速精读,尤其是使用 speculative decoding 与自定义 logit 处理器组合的团队。核心启发:当把采样 mask 从请求粒度扩展到 token 粒度时,所有配套的参数列表必须同步扩展,这类长度同步缺陷在批量采样路径中很容易被漏掉。测试用手工构造 SamplingBatchInfo 的方式隔离了模型加载与 server 依赖,写法简洁、可复用,可作为同类采样逻辑单测的模板。

2026-09-04
缺陷修复 重要性 4.15 洞察度 5.00

修复采样掩码测试的断言逻辑,允许 top-k 截止概率并列,消除 CI 中的 flaky test。

这是一个值得精读的测试修复示例。它清晰地展示了如何基于对底层系统(此处为 FlashInfer 采样器)行为的正确理解来修复测试断言,而不是简单地放宽或删除断言。这种“让断言匹配正确行为”的方法值得借鉴。对于关注测试稳定性和采样逻辑的工程师,此 PR 具有参考价值。

2026-09-03

#36630 [Sampling] Capture masks from sampler support

原始 PR · 作者 ByronHsu · 合并时间 2026-09-03 08:13

缺陷修复 重要性 8.41 洞察度 7.00

sampler 原生捕获支持集,修复 sampling mask 语义偏差

值得精读。重点关注三处设计决策:一是 capture 与融合采样共享 cutoff/tie/joint-support 语义的不变量边界,这是本 PR 正确性的核心;二是 select_capture_rows 的行级 opt-in 裁剪如何把 batch 级 any() 语义的捕获成本收敛到实际请求行数;三是针对 FlashInfer 阈值型过滤与 PyTorch 位置型过滤差异的双重建测试策略,值得在后续后端适配中复用。

2026-08-21
缺陷修复 重要性 6.27 洞察度 4.00

恢复有限 top_k 的采样掩码要求,拒绝 top-p-only 请求

值得快速精读,尤其是 `scheduler.py` 中采样掩码的请求校验分支,以及测试对拒绝路径的回归设计。它体现了“功能放宽必须匹配资源上界”的设计决策,对理解采样掩码的安全边界和后续 #35765 的通用支持有参考价值。

2026-08-20

#31378 [Bugfix] Fix min-new-token EOS handling

原始 PR · 作者 milesial · 合并时间 2026-08-20 06:29

缺陷修复 重要性 5.55 洞察度 4.00

修复 min-new-token 对模型配置 EOS 的处理与崩溃

该 PR 值得精读,尤其关注 `_prepare()` 中如何合并 EOS 集合和过滤 None 值。这是一个小而精准的 bugfix,展示了如何处理 tokenizer 与模型配置不一致的情况。

2026-08-03
缺陷修复 重要性 5.54 洞察度 4.00

空字符串语法约束归一化为 None,修复 UnboundLocalError 崩溃

值得快速阅读。PR 很小但展示了两个值得借鉴的点:一是把“空值归一化”放在数据类构造入口,而不是散落到下游判断;二是选择链的分支条件必须与入口条件严格一致,避免 falsy 值与 is not None 之间的缝隙。可作为 API 参数边界处理的范例。

缺陷修复 重要性 5.77 洞察度 4.00

将 structural_tag 纳入语法互斥校验,拒绝冲突请求

这是一个值得精读的小型 bugfix,适合作为理解 SGLang 采样参数校验与 `grammar_manager` 约束选择机制的入口。重点阅读 `sampling_params.py` 中的 `verify()` 与测试文件中通过 `GRAMMAR_VALUES` 驱动的参数化测试写法。也可结合 Issue #31680 中的 root cause 分析(blame 追溯)学习如何定位跨模块的静默逻辑缺陷。