Prhub

#21442 [AMD] Add peft>=0.18.0 to diffusion_hip deps for transformers 5.x compat for AMD diffusion model

sgl-project/sglang · 作者 yichiche · 合并时间 2026-03-29 11:28

分析状态 已生成
文件变更 1提交数 2 · 评论 1
代码增减 +1 / -0
diffusion bugfix ci

执行摘要

为 AMD ROCm 平台扩散模型添加 peft>=0.18.0 依赖,解决 transformers 5.x 兼容性问题。

动机源于 sglang 最新升级引入的依赖问题,导致 ROCm 平台上的 Wan2.2 无法启动。具体来说,ROCm Docker 镜像包含 transformers==5.3.0,但 peft==0.17.0(由 diffusers 拉取)尝试从 transformers 导入 HybridCache,该导入在 transformers v5.x 中已被移除(huggingface/transformers#41889)。这引发了启动时的 ImportError。

此 PR 变更简单,无需深度精读,但工程师可关注其依赖兼容性管理策略,尤其是在跨平台和版本升级场景中。建议复习相关 CI 测试确保多平台覆盖,并注意依赖配置的维护。

讨论亮点

review 中,HaiShaw 评论:'@yichiche @bingxche please make sure the change works on other platforms.' 强调了跨平台兼容性考量。该评论未被进一步讨论,最终 approved,表明风险已确认或通过 CI 测试缓解。

实现拆解

实现方案是修改单个配置文件 python/pyproject_other.toml,在 diffusion_hip 可选依赖项中添加 "peft>=0.18.0"。该修改分两步提交:先添加依赖(commit: 1e0e5542769b4db79f5249c379fa77a5e768fc8b),后重新定位依赖项以保持组织(commit: 16e60d81b669f91daf87d85274eb4e104889deb0)。

文件 模块 状态 重要度
python/pyproject_other.toml 依赖管理 / 扩散模块 modified 5.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

跨平台兼容性验证 正确性

HaiShaw 评论要求确保变更在其他平台有效,强调了潜在风险。

结论:评论未被直接回复,但 PR approved,表明通过其他方式(如 CI 测试)验证了兼容性。 · 已解决

风险与影响

主要风险是跨平台兼容性,如 HaiShaw 所述,新依赖可能影响非 ROCm 平台的扩散功能。此外,版本提升可能引入新的依赖冲突,但 peft>=0.18.0 是 transformers v5 的要求,降低了不兼容风险。由于是纯依赖变更,缺少代码逻辑测试,但依赖管理通常通过 CI 工作流验证。

对用户的影响是正面修复启动失败,使 AMD ROCm 用户能正常运行扩散模型如 Wan2.2 T2V。系统上,确保扩散模块在 ROCm 环境中的稳定性和兼容性。团队方面,减少了 CI 失败或部署问题,特别针对 AMD 相关测试和维护。

跨平台兼容性风险 依赖版本冲突

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

执行摘要

本 PR 通过为 AMD ROCm 平台的扩散模型添加 peft>=0.18.0 依赖,解决了 transformers 5.x 不兼容导致的启动失败问题。变更限于配置文件,影响扩散工作负载的启动稳定性,确保了特定平台上的模型正常运行。

功能与动机

此变更源于 sglang 升级后 ROCm Docker 镜像中扩散模型(如 Wan2.2 T2V)无法启动的问题。具体错误是:ROCm 镜像包含 transformers==5.3.0,但 peft==0.17.0(由 diffusers 拉取)尝试导入 transformers v5 中移除的 HybridCache,引发 ImportError。PR body 中引用:“transformers v5 requires peft>=0.18.0 (huggingface/transformers#41889), which drops the HybridCache import。” 因此,更新依赖是必要的修复。

实现拆解

实现仅涉及单个文件修改:python/pyproject_other.toml。具体改动是在 diffusion_hip 依赖项中添加一行 + "peft>=0.18.0"。提交历史显示两个步骤:

  • 首次提交添加依赖,消息为“[diffusion] Add peft>=0.18.0 to diffusion_hip deps for transformers 5.x compat”。
  • 第二次提交重新定位依赖,消息为“relocate peft to diffusion_hip”,确保依赖项组织有序。

评论区精华

review 中唯一评论来自 HaiShaw:> "@yichiche @bingxche please make sure the change works on other platforms." 该评论强调了跨平台兼容性考量,但未引发深入讨论。最终 PR approved,表明风险通过 CI 或其他方式得到缓解,显示团队对多平台测试的重视。

风险与影响

风险

  • 跨平台兼容性风险:新依赖可能影响非 ROCm 环境的扩散功能,需 CI 测试验证。
  • 依赖版本冲突:peft>=0.18.0 可能与其他包版本不兼容,但此版本是 transformers v5 的强制要求,降低了不匹配风险。

影响

  • 正面修复启动失败,提升 AMD ROCm 用户体验。
  • 确保扩散模块在 ROCm 平台上的稳定性,减少 CI 失败和部署中断。
  • 对系统影响有限,仅涉及依赖管理,不修改核心代码。

关联脉络

  • 与 PR 21586 关联:该 PR 处理 transformers 依赖在 CI 中的兼容性问题(通过猴子补丁),强调版本管理和测试策略的共通性。
  • 与 PR 21600 关联:作为扩散模块的功能增强,本 PR 确保了依赖兼容性,支撑了扩散生态的持续演进。
    这些 PR 共同反映了团队在跨平台和依赖管理中注重兼容性和测试覆盖的趋势。

参与讨论