| Documentación | Comunidad | Contribución | Discordia |
onediff es una biblioteca de aceleración lista para usar para modelos de difusión que proporciona:
¡Estamos contratando! Si está interesado en trabajar en onediff en SiliconFlow, tenemos puestos abiertos para pasantes e ingenieros en Beijing (cerca de la Universidad de Tsinghua).
Si ha contribuido significativamente al software de código abierto y está interesado en el trabajo remoto, puede contactarnos en [email protected]
con onediff
en el título del correo electrónico.
onediff es la abreviatura de " una línea de código para acelerar los modelos de difusión ".
Tenga en cuenta que no tenemos una forma de ejecutar SVD con TensorRT el 29 de febrero de 2024.
También mantenemos un repositorio para comparar la calidad de la generación después de la aceleración: odeval
Nota: Puedes elegir las últimas versiones que desees para difusores o transformadores.
python3 -m pip install "torch" "transformers==4.27.1" "diffusers[torch]==0.19.3"
Al considerar la elección entre OneFlow y Nexfort, cualquiera de los dos es opcional y solo uno es necesario.
Para modelos estructurales DiT o dispositivos H100 se recomienda utilizar Nexfort.
Para todos los demás casos, se recomienda utilizar OneFlow. Tenga en cuenta que las optimizaciones dentro de OneFlow se trasladarán gradualmente a Nexfort en el futuro.
Instalar Nexfort es opcional. La introducción detallada de Nexfort está aquí.
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
Instalar OneFlow es opcional.
NOTA: Hemos actualizado OneFlow con frecuencia para onediff, así que instale OneFlow mediante los enlaces a continuación.
CUDA 11.8
Para usuarios de NA/UE
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu118
Para usuarios de CN
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu118
CUDA 12.1
Para usuarios de NA/UE
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu121
Para usuarios de CN
python3 -m pip install -U --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu121
CUDA 12.2
Para usuarios de NA/UE
python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu122
Para usuarios de 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 .
O instalar para desarrollo:
# 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
NOTA: Si tiene la intención de utilizar complementos para ComfyUI/StableDiffusion-WebUI, le recomendamos encarecidamente instalar OneDiff desde la fuente en lugar de PyPI. Esto es necesario ya que deberá copiar manualmente (o crear un enlace suave) el código relevante en la carpeta de extensión de estas UI/Libs.
Funcionalidad | Detalles |
---|---|
Tiempo de compilación | Aproximadamente 1 minuto (SDXL) |
Métodos de implementación | Conectar y usar |
Compatibilidad con tamaño de imagen dinámico | Soporte sin gastos generales |
Soporte de modelo | SD1.5~2.1, SDXL, SDXL Turbo, etc. |
Soporte de algoritmo | Flujo de trabajo estándar SD, LoRA, ControlNet, SVD, InstantID, SDXL Lightning, etc. |
Soporte de marco SD | ComfyUI, Difusores, SD-webui |
Guardar y cargar modelos acelerados | Sí |
Tiempo de cambio de LoRA | Cientos de milisegundos |
Ocupación LoRA | De decenas de MB a cientos de MB. |
Soporte de dispositivo | NVIDIA GPU 3090 RTX/4090 RTX/A100/A800/A10, etc. (Compatibilidad con Ascend en progreso) |
onediff admite la aceleración para modelos SOTA.
Tipo AIGC | Modelos | Difusores de alta frecuencia | Cómoda interfaz de usuario | Interfaz de usuario web SD | |||
---|---|---|---|---|---|---|---|
Comunidad | Empresa | Comunidad | Empresa | Comunidad | Empresa | ||
Imagen | SD 1.5 | estable | estable | estable | estable | estable | estable |
DE 2.1 | estable | estable | estable | estable | estable | estable | |
SDXL | estable | estable | estable | estable | estable | estable | |
lora | estable | estable | estable | ||||
ControlNet | estable | estable | |||||
SDXL Turbo | estable | estable | |||||
LCM | estable | estable | |||||
caché profunda SDXL | alfa | alfa | alfa | alfa | |||
ID instantánea | beta | beta | |||||
Video | SVD (difusión de vídeo estable) | estable | estable | estable | estable | ||
SVD DeepCache | alfa | alfa | alfa | alfa |
Compile y guarde el resultado compilado sin conexión, luego cárguelo en línea para publicarlo.
Si desea realizar inferencia distribuida, puede utilizar el compilador de onediff para realizar aceleración de un solo dispositivo en un motor de inferencia distribuida como xDiT.
Si necesita soporte de nivel empresarial para su sistema o negocio, puede enviarnos un correo electrónico a [email protected] o contactarnos a través del sitio web: https://siliconflow.cn/pricing
Solución empresarial Onediff | |
---|---|
Optimización del compilador más extrema para el proceso de difusión | Generalmente otro 20%~30% o más de ganancia de rendimiento |
Soluciones integrales para acelerar el flujo de trabajo | A veces 200%~300% de ganancia de rendimiento |
Soluciones de implementación de flujo de trabajo de un extremo a otro | Flujo de trabajo para API de modelo en línea |
Soporte técnico para la implementación. | Soporte de alta prioridad |
@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} }
}