OneDiff is an out-of-the-box acceleration library for diffusion models, it provides:
For example:
OneDiff is the abbreviation of "one line of code to accelerate diffusion models".
The latest news:
Here is the introduction of OneDiff Community.
Linux
NVIDIA GPUs
The Full Introduction of OneDiff:
OneDiff interfaces with various front-end sd frameworks upward, and uses a custom virtual machine mixed with PyTorch as the inference engine downward.
Note that we haven't got the way to run SVD with TensorRT on Feb 29 2024.
Functionality | Details |
---|---|
Compiling Time | About 1 minute (SDXL) |
Deployment Methods | Plug and Play |
Dynamic Image Size Support | Support with no overhead |
Model Support | SD1.5~2.1, SDXL, SDXL Turbo, etc. |
Algorithm Support | SD standard workflow, LoRA, ControlNet, SVD, InstantID, SDXL Lightning, etc. |
SD Framework Support | ComfyUI, Diffusers, SD-webui |
Save & Load Accelerated Models | Yes |
Time of LoRA Switching | Hundreds of milliseconds |
LoRA Occupancy | Tens of MB to hundreds of MB. |
Device Support | NVIDIA GPU 3090 RTX/4090 RTX/A100/A800/A10 etc. (Compatibility with Ascend in progress) |
OneDiff supports the acceleration for SOTA models.
AIGC Type | Models | HF diffusers | ComfyUI | SD web UI | |||
---|---|---|---|---|---|---|---|
Community | Enterprise | Community | Enterprise | Community | Enterprise | ||
Image | SD 1.5 | stable | stable | stable | stable | stable | stable |
SD 2.1 | stable | stable | stable | stable | stable | stable | |
SDXL | stable | stable | stable | stable | stable | stable | |
LoRA | stable | stable | stable | ||||
ControlNet | stable | stable | |||||
SDXL Turbo | stable | stable | |||||
LCM | stable | stable | |||||
SDXL DeepCache | alpha | alpha | alpha | alpha | |||
InstantID | beta | beta | |||||
Video | SVD(stable Video Diffusion) | stable | stable | stable | stable | ||
SVD DeepCache | alpha | alpha | alpha | alpha |
Note: Enterprise Edition contains all the functionality in Community Edition.
Compile and save the compiled result offline, then load it online for serving
We also maintain a repository for benchmarking the quality of generation after acceleration using OneDiff: OneDiffGenMetrics
If you need Enterprise-level Support for your system or business, you can
The OneDiff Enterprise Edition is available for a monthly subscription and is designed to be cost-effective, even for systems utilizing a single GPU.
 | OneDiff Enterprise Edition | OneDiff Community Edition |
---|---|---|
Multiple Resolutions | Yes(No time cost for most of the cases) | Yes(No time cost for most of the cases) |
More Extreme and Dedicated optimization(usually another 20~100% performance gain) for the most used model | Yes | |
Tools for specific(very large scale) server side deployment | Yes | |
Technical Support for deployment | High priority support | Community |
Get the experimental features | Yes |
When considering the choice between OneFlow and Nexfort, either one is optional, and only one is needed.
For DiT structural models or H100 devices, it is recommended to use Nexfort.
For all other cases, it is recommended to use OneFlow. Note that optimizations within OneFlow will gradually transition to Nexfort in the future.
The detailed introduction of Nexfort is here.
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
NOTE: We have updated OneFlow frequently for OneDiff, so please install OneFlow by the links below.
CUDA 11.8
For NA/EU users
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu118
For CN users
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu118
Note: You can choose the latest versions you want for diffusers or transformers.
python3 -m pip install "torch" "transformers==4.27.1" "diffusers[torch]==0.19.3"
python3 -m pip install --pre onediff
git clone https://github.com/siliconflow/onediff.git
cd onediff && python3 -m pip install -e .
NOTE: If you intend to utilize plugins for ComfyUI/StableDiffusion-WebUI, we highly recommend installing OneDiff from the source rather than PyPI. This is necessary as you'll need to manually copy (or create a soft link) for the relevant code into the extension folder of these UIs/Libs.
python3 -m pip install huggingface_hub
huggingface-cli login