하루가 멀다하고 빠른 속도로 이미지를 생성할 수 있는 다양한 기술들이 공개되고 있습니다. 오늘은 단 4step 만으로 고퀄리티 이미지를 생성하는 HyeprSD 기술을 M2 맥북에서 사용해보고 그 이미지 생성 속도를 테스트 해보겠습니다.
HyperSD
HyperSD는 기존의 LCM, SDXL Turbo, Lightning등 다양한 고속 이미지 생성 기술과 마찬가지로, 사용자가 낮은 스텝에서 고품질의 이미지를 생성할 수 있도록 도와줍니다. 대게 빠른 속도의 이미지 생성이라하면, 디노이징 스텝을 줄여 물리적인 생성 시간을 단축시키는 방법입니다. HyperSD 또한 이와 같은 방식으로 동작하기 때문에, 기존 모델에 LoRA 모델을 붙이면 SD1.5 및 SDXL 모두 원래 사용하던 체크포인트 모델을 그대로 사용할 수 있습니다.
HyperSD LoRA 다운로드
공식 허깅페이스 페이지로 이동하면 바로 LoRA 및 워크플로우를 다운로드 받을 수 있습니다.
Files and versions로 이동하면 아래와 같이 SD1.5 및 SDXL 버전을 위한 LoRA 파일이 여러개 나타납니다.
SD1.5 버전과 SDXL 버전 중 가장 빠른 1Step 로라를 다운로드 받았습니다. 이후 가장 상단의 comfyui 폴더로 이동하여 아래와 같이 제작자가 배포하는 워크플로우를 다운받아 사용하고자 합니다.
워크플로우도 역시 Sd15 및 SDXL 버전이 따로따로 준비되어 있으므로 모델 버전에 맞게 다운받으시기 바랍니다.
Custom Node 설치
위에서 다운로드 받은 워크플로우에는 기본 워크플로우에서 사용하는 KSampler 대신 TCD Sampler를 추가로 설치해줘야 합니다. 아래와 같이 ComfyUI Manager를 통해 TCD를 검색하여 JettHu 제작자의 ComfyUI-TCD를 찾아 설치하거나, 깃허브 페이지 주소를 기준으로 커스텀 노드를 설치합니다.
깃 주소 : https://github.com/JettHu/ComfyUI-TCD.git
ComfyUI Manager 및 커스텀노드 설치 관련하여 어려움이 있는 분들은 아래 글을 참고해주시기 바랍니다.
맥북에서 HyperSD로 이미지 생성
커스텀노드까지 설치가 완료되었다면 이제 모든 준비가 되었으므로 실제로 HyperSD를 이용해 이미지를 생성해보도록 하겠습니다. 맥북에서 ComfyUI를 실행하고 다운로드 받은 워크플로우를 불러옵니다. 애플실리콘 맥(M1 이상)에서 WebUI 및 ComfyUI를 설치하고 실행하는 방법에 대한 자세한 안내가 필요하신 분들은 아래 글을 참고하시기 바랍니다.
SD1.5 모델 이미지 생성
1step unified lora라고 작성되어 있고, 실제로 로라도 1step 로라를 다운로드 받아 이용했지만, 실제 워크플로우상 세팅된 스텝은 4스텝이었습니다. 4step 기준 다른 설정은 건드리지 않고 SD1.5 버전으로 이미지를 생성했을 때 다음과 같은 결과 이미지를 얻을 수 있었습니다.
4스텝 디노이징으로 생성된 이미지의 퀄리티가 상당합니다. M2 맥북에어 15인치 기준으로 터미널에서 위 이미지를 생성 하는데 걸린 시간을 확인해보면 평균 약 4초 가량입니다. 동일 장비에서 추가적인 기술 없이 그냥 이미지를 생성했을 때 20스텝, 26초 정도(모델 로딩시간 제외) 걸렸던 것을 생각하면 상당한 시간을 아낄 수 있었습니다.
이정도 속도면 RTX3060 12g GPU를 기준으로 LCM 등의 다른 고속 이미지 생성 기술을 적용하지 않고, 기본 설정으로 512 x 512 해상도로 20step 이미지를 생성할 때와 비슷한 수준입니다. 따라서 실제로 급하게 스테이블 디퓨전 이미지가 필요한 작업이라면 맥북에어에서 어느정도는 해결할 수 있을 것으로 보입니다.
스텝수에 따른 이미지 퀄리티
SD1.5에서 샘플링 스텝을 1~4사이로 테스트 했을 때 결과 이미지는 위와 같습니다. 결과를 보면 4 스텝이 되어서야 이미지의 퀄리티가 안정적입니다.
SDXL 모델 이미지 생성
이번에는 M2 맥북에어 15인치에서 SDXL 모델을 돌려보는 무모한(?) 도전을 해봤습니다. 당연히 일반 SDXL 체크포인트 모델을 기본 워크플로우로 이미지를 생성하는데는 최소 수 분이 소요되므로 시도조차 하지 않았지만, SD1.5에서 상당한 시간 단축이 가능했으므로, SDXL에서도 HyperSD를 적용해 이미지를 생성해보았습니다.
총 4스텝만에 위와 같이 1024 x 1024 해상도의 이쁜 고양이 그림을 생성할 수 있었으며, 이정도 디테일과 퀄리티를 갖는 이미지를 생성하는데 소요된 시간은 장당 약 35초로 납득할만한 수준입니다. 35초는 여전히 활용성 측면에서는 부담되는 긴 시간이긴 하지만, SD1.5에 비해 상당한 퀄리티 상승이 가능하므로, 이 역시 급하게 필요할 때는 사용해볼만한 것 같습니다.
스텝수에 따른 이미지 퀄리티
위 이미지는 SDXL 버전에서 1~4스텝을 비교한 결과입니다. SD1.5 버전에서 4스텝은 되어야 이미지가 쓸만했던 것과 달리, SDXL에서는 3스텝부터 이미 괜찮은 퀄리티의 이쁜 고양이가 생성된 것을 확인할 수 있습니다. 하지만 SDXL 모델에서 3스텝으로 이미지 생성시 소요된 시간은 약 28초로 여전히 실사용에는 제한이 있는 수준이므로, 맥에서는 SD1.5 버전을 사용하는 것이 정신건강에 훨씬 유익해보입니다.