Flux第四弹-秒级生图,字节开源Hyper-sd支持Flux,支持多LoRA叠加!

简介: 字节跳动开源的Hyper-sd项目正式支持FLUX.1-dev了!

近期,字节跳动开源的Hyper-sd项目正式支持FLUX.1-dev了,目前支持8步lora和16步lora,和FLUX.1-dev默认的30步对比,速度提升了近4倍!同时,Hyper-sd官方还预告更少生成步数的LoRAs很快也会推出,一整个期待住了!

image.png

技术解析

Hyper-SD的框架,旨在解决扩散模型(DMs)多步推理过程中的计算开销问题。该框架将ODE轨迹保持和重写的优势相结合,并在压缩步骤时维持近乎无损的性能。具体来说,它使用轨迹分段一致性蒸馏逐步进行一致蒸馏,在预定义的时间步段内保留原始ODE轨迹。

此外,它还利用人类反馈学习提高模型在低步数情况下的表现,并通过分数蒸馏进一步改善模型的低步数生成能力。实验和用户研究表明,Hyper-SD在SDXL和SD1.5等模型中取得了非常先进的性能。

image.png

魔搭社区模型链接:

https://modelscope.cn/models/bytedance/hyper-sd

HuggingFace模型链接:

https://huggingface.co/ByteDance/Hyper-SD

项目链接:

https://hyper-sd.github.io/

模型体验

点击上面链接和小程序端都可以体验哦

image.png

Diffusers模型推理

Diffusers推理示例代码(单卡A100):

import torch
from diffusers import FluxPipeline
from modelscope import snapshot_download
from modelscope.hub.file_download import model_file_download
base_model_id = snapshot_download("AI-ModelScope/FLUX.1-dev")
repo_name = model_file_download(model_id='ByteDance/Hyper-SD',file_path='Hyper-FLUX.1-dev-8steps-lora.safetensors')
# Load model, please fill in your access tokens since FLUX.1-dev repo is a gated model.
pipe = FluxPipeline.from_pretrained(base_model_id)
pipe.load_lora_weights(repo_name)
pipe.fuse_lora(lora_scale=0.125)
pipe.to("cuda", dtype=torch.float16)
image=pipe(prompt="""a photo of a cat, hold a sign 'I love Qwen'""", num_inference_steps=8, guidance_scale=3.5).images[0]
image.save("output.png")

生图速度(3秒):

image.png

显存占用(40G):

image.png

ComfyUI工作流体验

使用diffusers推理的显存占用较高,下面我们演示在魔搭免费算力(22G)通过ComfyUI使用Flux fp8模型+Hyper-SD实现秒级生图和多lora融合。

环境配置和安装:

  1. python 3.10及以上版本
  2. 建议使用pytorch 2.3及以上版本
  3. 建议使用CUDA 12.1及以上版本

本文在魔搭社区免费提供的GPU免费算力上体验:

image.png

下载和部署ComfyUI

clone代码,并安装相关依赖,依赖链接如下:

-https://github.com/comfyanonymous/ComfyUI

-https://github.com/ltdrdata/ComfyUI-Manager

-https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git

# #@title Environment Setup
from pathlib import Path
OPTIONS = {}
UPDATE_COMFY_UI = True  #@param {type:"boolean"}
INSTALL_COMFYUI_MANAGER = True  #@param {type:"boolean"}
INSTALL_CUSTOM_NODES_DEPENDENCIES = True  #@param {type:"boolean"}
INSTALL_ComfyUI_Comfyroll_CustomNodes = True #@param {type:"boolean"}
INSTALL_x_flux_comfyui = True  #@param {type:"boolean"}
OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI
OPTIONS['INSTALL_COMFYUI_MANAGER'] = INSTALL_COMFYUI_MANAGER
OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES'] = INSTALL_CUSTOM_NODES_DEPENDENCIES
OPTIONS['INSTALL_ComfyUI_Comfyroll_CustomNodes'] = INSTALL_ComfyUI_Comfyroll_CustomNodes
OPTIONS['INSTALL_x_flux_comfyui'] = INSTALL_x_flux_comfyui
current_dir = !pwd
WORKSPACE = f"{current_dir[0]}/ComfyUI"
%cd /mnt/workspace/
![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI
%cd $WORKSPACE
if OPTIONS['UPDATE_COMFY_UI']:
  !echo "-= Updating ComfyUI =-"
  !git pull
if OPTIONS['INSTALL_COMFYUI_MANAGER']:
  %cd custom_nodes
  ![ ! -d ComfyUI-Manager ] && echo -= Initial setup ComfyUI-Manager =- && git clone https://github.com/ltdrdata/ComfyUI-Manager
  %cd ComfyUI-Manager
  !git pull
if OPTIONS['INSTALL_ComfyUI_Comfyroll_CustomNodes']:
  %cd ..
  !echo -= Initial setup ComfyUI_Comfyroll_CustomNodes =- && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
if OPTIONS['INSTALL_x_flux_comfyui']:
  !echo -= Initial setup x-flux-comfyui =- && git clone https://github.com/XLabs-AI/x-flux-comfyui.git
  
if OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES']:
  !pwd
  !echo "-= Install custom nodes dependencies =-"
  ![ -f "custom_nodes/ComfyUI-Manager/scripts/colab-dependencies.py" ] && python "custom_nodes/ComfyUI-Manager/scripts/colab-dependencies.py"
!pip install spandrel

下载模型(包含Flux.1基础模型fp8版本,encoder模型,vae模型,Lora模型如Hyper-FLUX.1-dev-8steps-lora等),并存放到models目录的相关子目录下。小伙伴们可以选择自己希望使用的模型并下载。

#@markdown ###Download standard resources
%cd /mnt/workspace/ComfyUI
### FLUX1-DEV
# !modelscope download --model=AI-ModelScope/FLUX.1-dev --local_dir ./models/unet/ flux1-dev.safetensors
!modelscope download --model=AI-ModelScope/flux-fp8 --local_dir ./models/unet/ flux1-dev-fp8.safetensors
### clip
!modelscope download --model=AI-ModelScope/flux_text_encoders --local_dir ./models/clip/ clip_l.safetensors
!modelscope download --model=AI-ModelScope/flux_text_encoders --local_dir ./models/clip/ t5xxl_fp8_e4m3fn.safetensors
### vae
!modelscope download --model=AI-ModelScope/FLUX.1-dev --local_dir ./models/vae/ ae.safetensors
### lora
#!modelscope download --model=FluxLora/flux-koda --local_dir ./models/loras/ araminta_k_flux_koda.safetensors
!modelscope download --model=FluxLora/Black-Myth-Wukong-FLUX-LoRA --local_dir ./models/loras/ pytorch_lora_weights.safetensors
!modelscope download --model=FluxLora/FLUX1_wukong_lora --local_dir ./models/loras/ FLUX1_wukong_lora.safetensors
!modelscope download --model=ByteDance/Hyper-SD --local_dir ./models/loras/ Hyper-FLUX.1-dev-8steps-lora.safetensors

使用cloudflared运行ComfyUI

!wget "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/cloudflared-linux-amd64.deb"
!dpkg -i cloudflared-linux-amd64.deb
%cd /mnt/workspace/ComfyUI
import subprocess
import threading
import time
import socket
import urllib.request
def iframe_thread(port):
  while True:
      time.sleep(0.5)
      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      result = sock.connect_ex(('127.0.0.1', port))
      if result == 0:
        break
      sock.close()
  print("\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\n")
  p = subprocess.Popen(["cloudflared", "tunnel", "--url", "http://127.0.0.1:{}".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  for line in p.stderr:
    l = line.decode()
    if "trycloudflare.com " in l:
      print("This is the URL to access ComfyUI:", l[l.find("http"):], end='')
    #print(l, end='')
threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()
!python main.py --dont-print-server

load ComfyUI流程图链接

Hyper-SD单lora加速生图:

https://modelscope.oss-cn-beijing.aliyuncs.com/resource/workflow-flux-hypersd-816-steps.json

Hyper-SD多lora融合加速生图:

https://modelscope.oss-cn-beijing.aliyuncs.com/resource/FLUX.1-multilora.json

感谢社区开发者分享的流程图

Hyper-SD单lora加速生图:

https://openart.ai/workflows/bulldog_fruitful_46/flux-hypersd-816-steps

Hyper-SD多lora融合加速生图:

https://www.liblib.art/modelinfo/ff3f9fe8c41e4c8a9780c728a85f1643

单lora流程图如下:

image.png

多lora流程图如下:

image.png

显存占用(17G):

image.png

注意,上传图片后,需要检查图片中的模型文件和下载存储的模型名称是否一致,可直接一键点击如ckpt_name关联到存储的模型文件名字。

点击链接👇即可跳转模型~

https://modelscope.cn/models/bytedance/hyper-sd?from=alizishequ__text

相关文章
|
人工智能 物联网
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
3050 0
|
JavaScript 计算机视觉
FLUX.1 Tools 全家桶开源!文末附一键ComfyUI启动链接
Black Forest Labs 发布了 FLUX.1 Tools,一套增强 FLUX.1 文本转图像模型的工具集,包括 FLUX.1 Fill、FLUX.1 Depth、FLUX.1 Canny 和 FLUX.1 Redux,分别用于图像修复、深度引导、边缘检测和图像重组。提供详细的安装指南和模型下载链接,支持用户快速上手并优化图像处理流程。
4775 4
FLUX.1 Tools 全家桶开源!文末附一键ComfyUI启动链接
|
6月前
|
物联网 开发者
LoRA 模型的全新玩法——AutoLoRA 带你体验 LoRA 检索与融合的魔法
LoRA 模型的全新玩法——AutoLoRA 带你体验 LoRA 检索与融合的魔法
353 0
|
编解码 人工智能 并行计算
阿里妈妈技术开源FLUX图像修复&蒸馏加速模型
本文介绍了阿里妈妈技术团队基于FLUX开发的Controlnet修复模型和蒸馏加速模型,填补了社区空白并提升了FLUX的实用性和效率。
|
5月前
|
人工智能
黑森林开源Flux.1 Krea Dev!魔搭AIGC专区Day1支持,提供生图与训练定制
FLUX模型又又又更新了! 黑森林联合Krea发布了文生图模型Flux.1 Krea Dev,这是目前最好的开源文生图模型。 魔搭社区第一时间上线Flux.1 Krea Dev,快来AIGC专区抢先体验图片
506 11
|
7月前
|
编解码 物联网 开发者
FLUX.1 Kontext 的全生态教程来啦!AIGC专区在线试玩!
Flux.1 Kontext [dev] 开源模型大家都用上了吗?小编汇总了3个使用教程,打包送上!
2907 1
|
11月前
|
开发者 异构计算
高效部署通义万相Wan2.1:ComfyUI文生/图生视频实战,工作流直取!
通义万相Wan2.1开源不到一周,已登顶HuggingFace Model 和 Space 榜双榜首,在HuggingFace和ModelScope平台的累计下载量突破100万次,社区热度持续攀升!为响应小伙伴们对ComfyUI工作流运行Wan2.1的强烈需求,社区开发者整理了实战教程👇
8120 23
高效部署通义万相Wan2.1:ComfyUI文生/图生视频实战,工作流直取!
|
12月前
|
人工智能 自然语言处理 API
ComfyUI-Copilot:阿里把AI助手塞进ComfyUI:一句话生成工作流,自动布线/调参/选模型,小白秒变大神!
ComfyUI-Copilot 是阿里推出的基于 ComfyUI 的 AI 智能助手,支持自然语言交互、智能节点推荐和自动工作流辅助,降低开发门槛并提升效率。
3393 9
ComfyUI-Copilot:阿里把AI助手塞进ComfyUI:一句话生成工作流,自动布线/调参/选模型,小白秒变大神!