SuperAPI AI 工具集

testing-parity

测试与质量

查看项目

更新于 10-15 22:15

技能介绍

用途:在开发阶段验证两个流水线实现(如研究仓库与 diffusers、标准与模块化)之间的数值一致性。与 tests/ 下的单元测试不同,一致性测试用于开发期排查,CI 仍运行生成的模型级测试套件。

主要能力:组件级一致性测试(CPU/float32,max_diff < 1e-3);测试新转换的检查点与已保存的检查点;端到端视觉对比(GPU/bfloat16);流水线阶段测试(encode、decode、denoise);通过注入已知正确张量隔离根因;逐帧提取进行视觉对比。

使用方式:先明确对比的两个实现,准备两个可运行且输入相同的脚本。组件测试将参考实现与 diffusers 实现放在同一脚本中,使用带种子的确定性输入,逐个加载模型以节省内存,比较前对参考输出 .clone()。阶段测试按 encode、decode、denoise 顺序进行;encode 阶段需比较去噪循环消费的所有张量。大模型使用 GPU/bfloat16 配合 enable_model_cpu_offload(),放宽容差并以余弦相似度 > 0.9999 作为辅助指标。

限制:不得在 diffusers 测试路径中使用参考代码;不得 monkey-patch 模型内部;调试插桩不得改变控制流或输出;不要直接修改 ~/.cache/huggingface/ 中的缓存配置。更多注意事项见 pitfalls.md。