|文档|社区|贡献|不和谐|
onediff是一个开箱即用的扩散模型加速库,它提供:
我们正在招聘!如果您有兴趣在 SiliconFlow 从事 onediff 工作,我们在北京(清华大学附近)为实习生和工程师提供职位空缺。
如果您对开源软件做出了重大贡献并且对远程工作感兴趣,您可以通过[email protected]
与我们联系,电子邮件标题中包含onediff
。
onediff 是“一行代码加速扩散模型”的缩写。
请注意,我们还没有办法在 2024 年 2 月 29 日使用 TensorRT 运行 SVD。
我们还维护一个存储库,用于对加速后的生成质量进行基准测试:odeval
注意:您可以为扩散器或变压器选择所需的最新版本。
python3 -m pip install "torch" "transformers==4.27.1" "diffusers[torch]==0.19.3"
在考虑 OneFlow 和 Nexfort 之间的选择时,其中之一是可选的,并且只需要一个。
对于DiT结构模型或H100设备,建议使用Nexfort。
对于所有其他情况,建议使用 OneFlow。请注意,OneFlow 内的优化将来会逐渐过渡到 Nexfort。
安装 Nexfort 是可选的。 Nexfort的详细介绍在这里。
python3 -m pip install -U torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 torchao==0.1
python3 -m pip install -U nexfort
安装 OneFlow 是可选的。
注意:我们经常为 onediff 更新 OneFlow,因此请通过以下链接安装 OneFlow。
CUDA 11.8
对于北美/欧盟用户
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu118
对于中国用户
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu118
CUDA 12.1
对于北美/欧盟用户
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu121
对于中国用户
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu121
CUDA 12.2
对于北美/欧盟用户
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu122
对于中国用户
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu122
python3 -m pip install --pre onediff
git clone https://github.com/siliconflow/onediff.git
cd onediff && python3 -m pip install -e .
或者安装进行开发:
# install for dev
cd onediff && python3 -m pip install -e '.[dev]'
# code formatting and linting
pip3 install pre-commit
pre-commit install
pre-commit run --all-files
注意:如果您打算使用 ComfyUI/StableDiffusion-WebUI 的插件,我们强烈建议从源安装 OneDiff 而不是 PyPI。这是必要的,因为您需要手动将相关代码复制(或创建软链接)到这些 UI/Lib 的扩展文件夹中。
功能性 | 细节 |
---|---|
编译时间 | 约1分钟(SDXL) |
部署方式 | 即插即用 |
动态图像尺寸支持 | 无开销支持 |
型号支持 | SD1.5~2.1、SDXL、SDXL Turbo等 |
算法支持 | SD标准工作流程、LoRA、ControlNet、SVD、InstantID、SDXL Lightning等 |
SD框架支持 | ComfyUI、扩散器、SD-webui |
保存和加载加速模型 | 是的 |
LoRA切换时间 | 数百毫秒 |
LoRA占用率 | 几十MB到几百MB。 |
设备支持 | NVIDIA GPU 3090 RTX/4090 RTX/A100/A800/A10等(与Ascend的兼容性正在进行中) |
onediff 支持 SOTA 模型的加速。
AIGC类型 | 型号 | 高频扩散器 | 舒适用户界面 | SD 网络用户界面 | |||
---|---|---|---|---|---|---|---|
社区 | 企业 | 社区 | 企业 | 社区 | 企业 | ||
图像 | 标准差1.5 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | 稳定的 |
标清2.1 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | |
SDXL | 稳定的 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | 稳定的 | |
洛拉 | 稳定的 | 稳定的 | 稳定的 | ||||
控制网 | 稳定的 | 稳定的 | |||||
SDXL涡轮增压 | 稳定的 | 稳定的 | |||||
液晶模组 | 稳定的 | 稳定的 | |||||
SDXL 深度缓存 | 阿尔法 | 阿尔法 | 阿尔法 | 阿尔法 | |||
即时ID | 贝塔 | 贝塔 | |||||
视频 | SVD(稳定视频扩散) | 稳定的 | 稳定的 | 稳定的 | 稳定的 | ||
SVD深度缓存 | 阿尔法 | 阿尔法 | 阿尔法 | 阿尔法 |
离线编译并保存编译结果,然后在线加载服务
如果想做分布式推理,可以使用onediff的编译器在xDiT等分布式推理引擎中做单设备加速
如果您的系统或业务需要企业级支持,您可以发送电子邮件至 [email protected],或通过网站联系我们:https://siliconflow.cn/pricing
Onediff 企业解决方案 | |
---|---|
对扩散过程进行更极端的编译器优化 | 通常另外 20%~30% 或更多的性能增益 |
端到端工作流程加速解决方案 | 有时性能提升 200%~300% |
端到端工作流程部署解决方案 | 在线模型 API 的工作流程 |
部署技术支持 | 高优先级支持 |
@misc { 2022onediff ,
author = { OneDiff Contributors } ,
title = { OneDiff: An out-of-the-box acceleration library for diffusion models } ,
year = { 2022 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
howpublished = { url{https://github.com/siliconflow/onediff} }
}