AI 이미지/Stable Diffusion

ComfyUI에서 스테이블 캐스케이드 사용법

하늘이푸른오늘 2024. 2. 22. 00:50

스테이블 캐스케이드(Stable Cascade)가 출시된지 불과 10일정도뿐이 안되었는데, 벌써 ComfyUI에서는 정식으로 지원하기 시작했습니다. 이것만 봐도 ComfyUI가 얼마나 유연한지, 왜 요즘 사용자가 급격하게 늘고 있는지 아실 것 같습니다(AUTOMATIC1111은 언제쯤 정식으로 지원이 될까... 궁금해지네요)

참고: 이 글보다는 스테이블 캐스케이드 ComfyUI 예제 사이트 를 읽어보시길 권합니다. 이 글에 포함된 워크플로는 약간의 오류가 있고 사용하기도 조금 복잡하기 때문입니다.

아직까지 스테이블 캐스케이드를 최대한 잘 활용할 수 있는 워크플로가 모두 개발된 것은 아닙니다. ControlNet이나 LoRA도 지원된다고는 하는데 아직 제대로된 워크플로는 못찾았고요. 이 글에서는 ComfyUI에서 스테이블 캐스케이드를 사용하는, 시험용 워크플로만 소개해 드립니다.

ComfyUI 업데이트

제일 먼저 ComfyUI 를 최신버전(2024.2.21일 버전)으로 업데이트 해야 합니다. 업데이트 방법은 여기를 읽어보시면 됩니다. 

모델 다운로드

스테이블 케스캐이드는 모든 모델이 완전히 바뀌었습니다. 그래서 다운로드 받아야 할 것이 아주 많습니다. 정식으로 다운로드 받을 곳은 https://huggingface.co/stabilityai/stable-cascade/tree/main 입니다.

그런데 들어가 보시면 아시겠지만, 아래처럼 (일부만입니다) 뭐가 뭔지도 잘 모르겠고, 다운로드 받으면 어디에 넣어야 할지도 알기 힘듧니다. 아래쪽 파일 뿐만 아니라, 위쪽의 폴더들도 여러개 있거든요. 

그래서 저는 ComfyUI Mangager를 통해 다운로드 받는 것을 추천드립니다. 우선 메뉴 아래에 있는 [Manager] 버튼을 누르면 아래와 같이 "ComfyUI Manager Mene"가 뜨는데, 여기서 [Install Models]를 선택합니다.

그러면 여러가지 모델들이 나열되는데, 여기에서 우측위 검색 창에 cascade를 입력하면 아래와 같이 10개 정도의 모델만 필터링되어 나타납니다. 

물론 여기에 있는 모델을 모두 다운로드 받아도 되지만, 자신의 그래픽카드 성능에 따라 골라 받을 수 있습니다. 아래에서 빨간색은 무조건 받아야 하고, VRAM이 12GB이상이면 파란색으로 네모 쳐둔 파일을, 이하라면 초록색 네모 파일을 다운로드 받으시면 됩니다. 물론 오리지널 버전과 bf16 버전 중에서 하나만 받으시면 됩니다. 즉, 총 4개만 받으시면 됩니다.

이렇게 ComfyUI Manager를 통해 다운로드 받으면, 모든 파일이 알아서 정해진 폴더 속에 다운로드 받아지는데, 만약 직접 받으신다면, 아래와 같이 넣어주시면 됩니다.

  • stage_a.safetensors (VAE) -> ComfyUI\models\vae 폴더
  • text_encoder (CLIP) -> ComfyUI\models\CLIP 폴더
  • stage_bxxxx.safetensors -> ComfyUI\models\unet 폴더
  • stage_cxxxx.safetensors -> ComfyUI\models\unet 폴더

테스트용 워크플로

아래 json 파일이나 PNG 이미지를 다운로드 받아 ComfyUI에 Drag&Drop하면 워크플로를 사용할 수 있습니다.

cascade_workflow.json
0.01MB

이 워크플로에서 저는 스테이지 B 및 스테이지 C 의 UNET 모델을 lite 버전으로 다운로드 받아서 돌렸습니다. 그 결과 나온 이미지는 아래와 같습니다. 프롬프트가 "Hello"라는 팻말을 들고 있는 행복한 팬더" 인데, 텍스트를 제대로 표시된 이미지가 하나도 없네요. 이렇게 생성하는데 걸리는 시간은 35.90초입니다. (3070 8GB를 사용중입니다)

그런데, 제가 본 유튜브에서 생성된 결과는 잘 생성이 되더군요. 그래서 저도 오리지날 스테이지 B 및 C 모델을 새로 다운로드 받아서 생성해 봤습니다. 아래가 결과입니다. 완전히 다른 결과가 나오네요. 그리고 물론 "Hello" 텍스트가 아주 잘 나옵니다. 아... 모델을 불러오는 시간을 포함해서 이미지 생성에 걸리는 시간은 87.34초로 나오네요.

샘플링 단계 줄이기

그런데, Reddit의 글을 보니, 샘플링 단계를 확 줄여도 제대로된 이미지가 생성된다네요. 그래서 저도 줄여봤습니다. 원래는 Stage C가 20회, Stage B가 10회인데, 반씩 줄였습니다. 아래가 결과입니다. 위와 비교해보면 이미지가 다르긴 한데, 아래의 이미지도 그다지 문제는 안보이네요. 참고로 실행시간은 43.19초로  반정도로 줄었습니다. 

아래는 이중 오른쪽 위 사진만 저정해본 것입니다. 확대해 봐도, 전혀 문제가 없어보이네요. 앞으로도 저는 이렇게 사용해야겠습니다~~ ㅎㅎ

아래는 프롬프트를 "a happy panda holding a sign that says "Happy Birthday!!"로 고쳐서 생성해본 결과입니다. 조금 글이 길어져도 문제없이 생성되네요.

아직 테스트할 것은 많지만, 점점 더 좋아지는 것 같네요~

민, 푸른하늘

===