| Documents | Communauté | Cotisation | Discorde |
onediff est une bibliothèque d'accélération prête à l'emploi pour les modèles de diffusion, elle fournit :
Nous recrutons ! Si vous souhaitez travailler sur onediff chez SiliconFlow, nous avons des postes ouverts pour les stagiaires et les ingénieurs à Pékin (près de l'Université Tsinghua).
Si vous avez contribué de manière significative aux logiciels open source et êtes intéressé par le travail à distance, vous pouvez nous contacter à [email protected]
avec onediff
dans le titre de l'e-mail.
onediff est l'abréviation de " une ligne de code pour accélérer la diffusion des modèles".
Notez que nous n'avons aucun moyen d'exécuter SVD avec TensorRT le 29 février 2024.
Nous maintenons également un référentiel pour comparer la qualité de la génération après accélération : odeval
Remarque : Vous pouvez choisir les dernières versions souhaitées pour les diffuseurs ou les transformateurs.
python3 -m pip install "torch" "transformers==4.27.1" "diffusers[torch]==0.19.3"
Lorsque l’on considère le choix entre OneFlow et Nexfort, l’un ou l’autre est facultatif et un seul est nécessaire.
Pour les modèles structurels DiT ou les appareils H100, il est recommandé d'utiliser Nexfort.
Pour tous les autres cas, il est recommandé d'utiliser OneFlow. Notez que les optimisations au sein de OneFlow seront progressivement transférées vers Nexfort à l'avenir.
L'installation de Nexfort est facultative. L’introduction détaillée de Nexfort est ici.
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
L'installation de OneFlow est facultative.
REMARQUE : Nous avons fréquemment mis à jour OneFlow pour onediff, veuillez donc installer OneFlow via les liens ci-dessous.
CUDA11.8
Pour les utilisateurs NA/UE
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu118
Pour les utilisateurs du CN
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu118
CUDA12.1
Pour les utilisateurs NA/UE
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu121
Pour les utilisateurs du CN
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu121
CUDA12.2
Pour les utilisateurs NA/UE
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu122
Pour les utilisateurs du CN
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 .
Ou installez pour le développement :
# 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
REMARQUE : Si vous avez l'intention d'utiliser des plugins pour ComfyUI/StableDiffusion-WebUI, nous vous recommandons fortement d'installer OneDiff à partir de la source plutôt que de PyPI. Ceci est nécessaire car vous devrez copier manuellement (ou créer un lien symbolique) le code concerné dans le dossier d'extension de ces interfaces utilisateur/librairies.
Fonctionnalité | Détails |
---|---|
Temps de compilation | Environ 1 minute (SDXL) |
Méthodes de déploiement | Branchez et jouez |
Prise en charge de la taille d'image dynamique | Assistance sans frais généraux |
Prise en charge du modèle | SD1.5 ~ 2.1, SDXL, SDXL Turbo, etc. |
Prise en charge de l'algorithme | Flux de travail standard SD, LoRA, ControlNet, SVD, InstantID, SDXL Lightning, etc. |
Prise en charge du cadre SD | ComfyUI, Diffuseurs, SD-webui |
Enregistrer et charger des modèles accélérés | Oui |
Heure de commutation LoRA | Des centaines de millisecondes |
Occupation LoRA | Des dizaines de Mo à des centaines de Mo. |
Prise en charge des appareils | NVIDIA GPU 3090 RTX/4090 RTX/A100/A800/A10 etc. (Compatibilité avec Ascend en cours) |
onediff prend en charge l'accélération pour les modèles SOTA.
Type AIGC | Modèles | Diffuseurs HF | Interface utilisateur confortable | Interface utilisateur Web SD | |||
---|---|---|---|---|---|---|---|
Communauté | Entreprise | Communauté | Entreprise | Communauté | Entreprise | ||
Image | SD1.5 | écurie | écurie | écurie | écurie | écurie | écurie |
DD 2.1 | écurie | écurie | écurie | écurie | écurie | écurie | |
SDXL | écurie | écurie | écurie | écurie | écurie | écurie | |
LoRA | écurie | écurie | écurie | ||||
ContrôleNet | écurie | écurie | |||||
SDXL Turbo | écurie | écurie | |||||
LCM | écurie | écurie | |||||
Cache profond SDXL | alpha | alpha | alpha | alpha | |||
ID instantané | bêta | bêta | |||||
Vidéo | SVD (diffusion vidéo stable) | écurie | écurie | écurie | écurie | ||
Cache profond SVD | alpha | alpha | alpha | alpha |
Compilez et enregistrez le résultat compilé hors ligne, puis chargez-le en ligne pour le diffuser
Si vous souhaitez effectuer une inférence distribuée, vous pouvez utiliser le compilateur de onediff pour effectuer une accélération sur un seul appareil dans un moteur d'inférence distribuée tel que xDiT.
Si vous avez besoin d'une assistance de niveau entreprise pour votre système ou votre entreprise, vous pouvez nous envoyer un e-mail à [email protected] ou nous contacter via le site Web : https://siliconflow.cn/pricing
Solution d'entreprise Onediff | |
---|---|
Optimisation plus extrême du compilateur pour le processus de diffusion | Habituellement, un gain de performances supplémentaire de 20 à 30 % ou plus |
Solutions d'accélération des flux de travail de bout en bout | Parfois 200 % à 300 % de gain de performances |
Solutions de déploiement de workflow de bout en bout | Workflow vers l'API de modèle en ligne |
Support technique pour le déploiement | Assistance hautement prioritaire |
@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} }
}