框架提供四种类型的插件,可以轻松支持目前所有主流算法:
+ SinglePluginBlock: 单层插件,根据该层输入改变输出,比如 lora 系列 。支持正则表达式 (re: 前缀) 定义插入层,不支持 pre_hook: 前缀 。
+ PluginBlock: 输入层和输出层都只有一个,比如定义残差连接 。支持正则表达式 (re: 前缀) 定义插入层,输入输出层都支持 pre_hook: 前缀 。
+ MultiPluginBlock: 输入层和输出层都可以有多个,比如 controlnet 。不支持正则表达式 (re: 前缀),输入输出层都支持 pre_hook: 前缀 。
+ WrAppluginBlock: 替换原有模型的某个层,将原有模型的层作为该类的一个对象 。支持正则表达式 (re: 前缀) 定义替换层,不支持 pre_hook: 前缀 。
训练、推理模块
文章插图
图 6 自定义优化器配置HCP-Diffusion 中的配置文件支持定义 Python/ target=_blank class=infotextkey>Python 对象,运行时自动实例化 。该设计使得开发者可以轻松接入任何 pip 可安装的自定义模块,例如自定义优化器,损失函数,噪声采样器等,无需修改框架代码,如上图所示 。配置文件结构清晰,易于理解,可复现性强,有助于平滑连接学术研究和工程部署 。
加速优化支持
HCP-Diffusion 支持 Accelerate、DeepSpeed、Colossal-AI 等多种训练优化框架,可以显著减少训练时的显存占用,加快训练速度 。支持 EMA 操作,可以进一步提高模型的生成效果和泛化性 。在推理阶段,支持模型 offload 和 VAE tiling 等操作,最低仅需 1GB 显存即可完成图像生成 。
文章插图
通过上述简单的文件配置,即可无需耗费大量精力查找相关框架资源完成模型的配置,如上图所示 。HCP-Diffusion 模块化的设计方式,将模型方法定义,训练逻辑,推理逻辑等完全分离,配置模型时无需考虑训练与推理部分的逻辑,帮助用户更好的聚焦于方法本身 。同时,HCP-Diffusion 已经提供大多数主流算法的框架配置样例,只需对其中部分参数进行修改,就可以实现部署 。
HCP-Diffusion:Web UI 图像界面
除了可直接修改配置文件,HCP-Diffusion 已提供了对应的 Web UI 图像界面,包含图像生成,模型训练等多个模块,以提升用户体验,大幅降低框架的学习门槛,加速算法从理论到实践的转化 。
文章插图
图 8 HCP-Diffusion Web UI 图像界面实验室简介
中山大学人机物智能融合实验室 (HCP Lab) 由林倞教授于 2010 年创办,近年来在多模态内容理解、因果及认知推理、具身学习等方面取得丰富学术成果,数次获得国内外科技奖项及最佳论文奖,并致力于打造产品级的AI技术及平台 。实验室网站:http://www.sysu-hcp.net
【中山大学开源Diffusion模型统一代码框架,推动AIGC规模化应用】
推荐阅读
- 开源鸿蒙再进一步,阿里平头哥RISC-V芯片适配成功
- 苹果开源FastViT:快速卷积Transformer的混合视觉架构
- Python 失宠!Hugging Face 用 Rust 新写了一个 ML 框架,现已低调开源
- GitHub 1.1万星,模拟软件开发流程,开源框架MetaGPT爆火
- 开源免费Api软件,你知道几个?
- 王小川大模型25天再升级!13B版本开源免费可商用,3090即可部署
- 字节跳动开源 Kelemetry:面向 Kubernetes 控制面的全局追踪系统
- MetaGPT AI 模型开源:可模拟软件公司开发过程,生成高质量代码
- 广东白云学院 怎么样
- 中山大学南方学院咋样