SuperAPI AI 工具集

integrating-models

通用与其它

查看项目

更新于 10-15 22:15

技能介绍

用途:把新模型端到端集成进 diffusers,并逐步做到与参考实现数值一致。

主要能力与流程:开始前先收集参考仓库链接或本地路径、可运行的推理脚本(如 T2V),并确认还需支持的工作流(I2V、V2V 等)及实现顺序。默认采用模块化 Diffusers(Modular Diffusers)实现新流水线,标准 DiffusionPipeline 仍受支持但不再是默认;对不符合固定任务结构或仍在演进的模型尤其推荐模块化。

集成清单:Transformer 模型需实现 from_pretrained、转换权重、做与参考的数值对齐测试、在相关 init.py 中注册(惰性导入)并添加模型级测试;VAE 尽量复用现有 AutoencoderKL*;调度器复用现有或新增自定义;流水线需实现、按需添加 LoRA mixin、注册并添加流水线级测试;最后补文档并运行 make style 与 make quality。

文件结构:模型放 src/diffusers/models/transformers/transformer_<model>.py,自定义调度器放 schedulers/scheduling_<model>.py,LoRA mixin 加入 loaders/lora_pipeline.py,标准与模块化流水线分别放 pipelines/<model>/ 与 modular_pipelines/<model>/;测试放 tests/models/transformers/ 与 tests/pipelines/<model>/;文档更新 docs/source/en/_toctree.yml 及 api/models、api/pipelines 页面。

权重转换:在 scripts/ 下写独立脚本(如 scripts/convert_<model>_to_diffusers.py),映射原始 state-dict 键到 diffusers 模块名,实例化模型加载转换后权重,save_pretrained 后再 from_pretrained 验证往返。所有权重须走标准加载路径(from_pretrained 或 from_single_file),不得自定义 from_pretrained 或运行时手动加载。常见转换模式包括拆分融合 QKV、调整 scale/shift 顺序、权重转置、重排交错头维度、偏置吸收。

限制:数值逻辑须尽量贴近参考,不得重排运算或改数学;数值对齐测试为内部验证工具,不随 PR 提交;PR 需附模型级与流水线级测试。资料未提供具体模型名称、依赖版本与价格信息。