윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 메텔

필자가 본 에니에서, 아름다운 여인을 이야기할 때 빼놓지 않는 캐릭터가 바로 메텔이다. 은하철도 999 라는 에니메이션에 나오는 그 메텔 맞다.

털모자 샤프카와 털 코트 슈바, 흩날리는 긴 금발, 갈색 눈동자, 어딘가 슬퍼보이는 얼굴이 프롬프트다.
사용자 삽입 이미지

내가 생성하는 이미지에서는 메텔의 영향을 받은게 꽤 있다. 프롬프트를 변경하다 보면 이런 분위기를 내도록 하는 경우도 있으니깐 말이다. 그만큼 인상 깊었고, 이런 분위기의 여성을 좋아하는 편이기도 하다.

은하철도999의 줄거리는 대체적으로 암울하다. 원래 메텔은 메텔에 의해 희생된 아이들을 위한 속죄를 상징하는 인물이니 그렇다. 그래서 다른 에니에서 밝은 모습으로 나왔으면 하는 바램이 있다. 그래서 한번 제작해 보았다.

- 약간 현대적으로 재 해석한 메텔. 가장 맘에 든다.
사용자 삽입 이미지

- 작은 가게에서 점원으로 일하고 있는 숏컷 메텔
사용자 삽입 이미지

사용자 삽입 이미지

- 군대에서의 지휘관같은 인상을 보이는 메텔
사용자 삽입 이미지

짧은 스커트도 어울린다.
사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 웨딩 드레스 #3

체크포인트를 바꿨다. 오랜만에 머지를 다시 했는데, 괘 괜찮게 나왔다. 8월 초에 한번 바꾸고 근 3개월 만이다. 그동안 몇번 머지를 시도했지만 기존것 보다 안 좋다고 판단되어서 사용하지 않고 있었다. 다행이도 이번엔 기존것 보다 잘 나왔다.

슬슬 SDXL 이나 SD3, FLUX.1 등으로 바꾸긴 해야 한다고 생각하긴 하는데 아직 못 바꿨다. PC의 업그레이드는 마쳤고, 지금은 SDXL 정도는 무난하게 사용가능하긴 하지만 아직 맘에 드는 그림체가 아니라서 못 바꾸고 있다. 하지만 꾸준히 SDXL 이나 FLUX.1 으로는 생성하고 있다. 웬지 아래와 같은 그림체가 안나와서 맘에 안들 뿐이다. 이러다가 직접 LoRA 를 작성해야 하는게 아닌가 생각하기도 한다.

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 할로윈

4060Ti 구매한 후에 한번 생성해 보았다. HiRES fix. 부분이나 4배 업스케일링 부분에서는 확실히 많은 성능 향상을 체감할 수 있다. 반대로 작은 이미지, 예를 들어 512 x 768 정도의 이미지 생성에는 그렇게 성능향상을 못 느낀다.

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지



글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion 3.5 Large

10월 22일에 Stable Diffusion 3.5 가 발표되었습니다.

- 총 3가지로 공개된다고 하네요.

① Stable Diffusion 3.5 Large: 80 억개 파라메터
② Stable Diffusion 3.5 Large Turbo: Large 의 ADD(Adversarial Diffusion Distillation) 적용 모델. 4 스텝 용.
③ Stable Diffusion 3.5 Medium: 25 억개 파라메터

우선 Large 와 Large Turbo 가 발표되었습니다. Medium 은 10/29 공개 예정이라 하네요.

- 앞서 발표했던 SD3 의 Medium 모델이 20 억개의 파라메터를 가졌고, SDXL 은 26 억개입니다. FLUX.1 Dev 가 120억개입니다. 파라메터가 많으면 더 좋은 이미지를 얻을 수 있는건 맞지만, 고사양을 필요로 하기 때문에 대중성에서는 떨어집니다. 많이 떨어지죠. 아직까지 SDXL 에서 벗어나지 못하는 이유기도 합니다.

사용자 삽입 이미지

SD 3.5 구조. SD3 와 거의 유사하다.


SD3.5 의 구조는 SD3 와 거의 같습니다. 다이어그램에는 CLIP 에서 256 토큰을 사용한다고 되어있는데 뭔지는 잘 모르겠네요.

FLUX.1 Dev 이 사용하기 어려워서 (이미지 생성 속도 때문에) 고민되었는데 Medium 은 이미지 생성속도가 SDXL 과 비슷한 정도일 것으로 생각되어서 사용해볼만 하겠네요.

※ 파라메터 수 비교

SD 1.4/1.5: 860M
SD 2.0/2.1: 865M
SDXL: 2.6B
SD3 Medium: 2B
SD3.5 Medium: 2.5B
SD3.5 Large: 8B
FLUX.1 Dev: 12B
글쓴시간
분류 기술,IT/스테이블 디퓨전
FLUX.1 Dev 사용하기

※ 원칙적(?)으로는 아래와 같이 사용할 수 있다.

1. https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main (공식 리포지토리)
   flux1-dev.safetensors 및 ae.safetensors 파일 다운로드

2. https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main
   clip_l.safetensors 및 t5xxl_fp16.safetensors 파일 다운로드
   -> 공식 리포지토리의 text_encoder, text_encoder_2 아래에 있는 파일과 같은 파일이다.

3. 다운로드 받은 파일을 stable-diffusion-webui-forge 의 디렉토리로 옮김
flux1-dev.safetensors  -> models/Stable-diffusion/
ae.safetensors         -> models/VAE/
clip_l.safetensors     -> models/text_encoder/
t5xxl_fp16.safetensors -> models/text_encoder/
3. stable-diffusion-webui-forge 실행 후, 아래와 같이 세팅
UI: flux
CheckPoint: flux1-dev
VAE / TextEncoder: clip_l.safetensors, t5xxl_fp16.safetensors, ae.safetensors

4. GERERATE 버튼 클릭!

- 이렇게 실행하려면 최소한 24GB VRAM 을 가진 nVidia GPU 와 64GB 의 시스템 메모리가 필요하다.

- 일부 파일은 여기서 받음: https://huggingface.co/camenduru/FLUX.1-dev/tree/main

※ FP8, NF4으로 구성

속도를 빠르게 하고 메모리 사용량을 줄이기 위한 목적으로 FP8 이나 NF4 를 사용한 모델을 사용할 수 있다. 이걸로 해야 필자의 사양(RTX 2060 12GB, MEMORY 64GB)에서 실행된다.


사용자 삽입 이미지



t5xxl_fp16.safetensors -> t5xxl_fp8_e4m3fn.safetensors     https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main
flux1-dev.safetensors  -> flux1-dev-fp8.safetensors        https://huggingface.co/Kijai/flux-fp8/tree/main
flux1-dev.safetensors  -> flux1-dev-bnb-nf4-v2.safetensors https://huggingface.co/lllyasviel/flux1-dev-bnb-nf4/tree/main

아니면 아래의 All-in-one 타입 을 사용할 수 있다.

https://huggingface.co/Comfy-Org/flux1-dev/tree/main FP8

※ 메모리 구성

전용 GPU 메모리(Dedicated GPU Memory): GPU 의 VRAM 용량
공유 GPU 메모리(Shared GPU Memory): GPU 에 의해 공유되는 시스템 메모리. 사용 가능한 용량은 시스템 메모리의 절반

- 스왑 메모리 위치
-- CPU: 모델을 GPU 메모리 및 시스템 메모리에 위치
-- Shared: 모델을 GPU 메모리 및 공유 GPU 메모리에 위치. 좀 더 빠른 대신 실행 이슈(크러시)가 발생할 수 있다.

- GPU Weights (MB): GPU 에 적재할 모델의 크기. 크면 클수록 좋지만, 이미지 생성시에도 GPU 메모리를 필요로 하기 때문에 적당히 조절해야 한다.

- 스왑 메쏘드
-- Queue: 모델 적재 -> 연산 -> 다른 모델 적재 -> 연산의 순서로 차례대로 진행된다.
-- Async: 모델 적재 -> 연산 및 다른 모델 적재 -> 연산 및 다른모델 적재 의 순서로 동시에 처리된다. Queue 보다 빠르지만, 모델에 따라 갑자기 매우 느려질때가 있다. Async 와 Queue 를 비교해보고 빠른걸 선택하자.

사용자 삽입 이미지

CivitAI 에 공개된 이미지 프롬프트를 보고 따라한 그림. FLUX 로 생성했다. https://civitai.com/images/31943195



https://github.com/lllyasviel/stable-diffusion-webui-forge/discussions/981
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 베어백 #1 Part 2/2

처음에 뽑은건 아래 첫번째 그림이다. 이게 맘에 들어서 이것저것 튜닝해 보았지만, 왠지 이와 유사한 그림이 나오지는 않았다.
사용자 삽입 이미지

그래도 나름 괜찮아 보인다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 베어백

꽤 괜찮은 사진이 우연히 생성되었다. 이것저것 프롬프트를 튜닝하다가 꽤 맘에 드는게 나왔다. 베트남의 전통 드레스 아오다이와 유사한것 같긴 하지만 (필자는 아오다이 전문가는 아니다) 어쨌든 꽤 맘에 든다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - FastSD CPU

"FastSD CPU" CPU 만을 사용해서 이미지를 생성한다. LCM 이나 OpenVINO 를 사용하는듯.

예전에 한번 써보고 관심 없었는데, 갑자기 CPU 로 사용하는건 어떨까 해서 찾아봤다.

스텝은 4 이하로 설정하는게 핵심이다. 4 이하로 설정해도 품질이 좋은 이미지를 생성하기 위해 여러가지 작업을 한다. 물론 그렇지 않은 모델보다는 떨어지지만, 속도가 매우 중요한 경우에는 이 방법밖에 없다.

i7-7700K 에서 1장 생성하는데 약 30초 정도 걸린다. 품질도 생각보다는 좋다.

사용자 삽입 이미지

아래와 같이 LCM-LoRA 모델을 사용했다. OpenVINO 로 사용해도 속도는 크게 달라지지 않았다. OpenVINO를 사용해 성능을 향상시키려면 최신 CPU가 필요한것 같기도 하다. 예를 들어 AVX-VNNI 를 지원하는 CPU 말이다. (OpenVINO 는 AVX2 를 지원하는 CPU 에서 사용할 수 있다)

사용자 삽입 이미지


----

Stable Diffusion - LCM(Latent Consistency Model)
FastSD CPU
글쓴시간
분류 기술,IT/스테이블 디퓨전
FLUX.1 Dev - 이미지 생성형 AI

사용자 삽입 이미지

Stability AI 의 Stable Diffusion 3 (SD3) 가 주춤한 사이 FLUX.1 이 공개되었습니다. 8월 1일에 공개되었는데 이제 주목하게 되었네요. Stable Diffusion 시리즈를 만든 개발자 중 일부가 나와 Black Forest Labs 라는 회사를 차렸는데, 이 회사의 첫번째 생성형 AI입니다. 독일 회사입니다.

FLUX.1 의 성능이 매우 좋다고 해서 관심을 많이 가지고 있습니다. 전 아직 안 써 봤습니다만, SD3 보다는 좋아보입니다. SD3 는 라이선스에 이슈가 있어서 아직까지는 대중화 될지 안될지 모릅니다. FLUX.1 의 경우 특히 "손"도 잘 그리는것으로 알고 있습니다. 엄청난 성능에 SD3 로는 대응이 안되어서 Stability AI 에서는 SD 3.1 을 내놓을 예정이라 합니다.

현재 SD 는 개발사에서 제공한 모델이 주류가 아닙니다. SD1.5 의 경우 개발사에서 제공한 모델보다는, 수많은 사용자들이 만든 모델들을 사용하고 있고요, Dreamshaper 8 정도가 유명합니다. 저도 제가 병합한걸 쓰고 있습니다. SDXL 의 경우 개발사에서 제공한 모델 보다는, 사용자들이 학습시킨 Pony Diffusion 이나 Animagine XL, JuggernautXL v9 기반의 모델이 더 널리 쓰이고 있죠. 심지어 Novel AI 3 도 SDXL 기반으로 알려져 있고 꽤 성능이 좋죠. 이후에 나온 SD3 나 FLUX.1 도 마찬가지일거라 생각합니다. 사용자들이 학습시키려면 라이선스가 중요한데 일단 SD3 는 사용하기 어렵겠네요. 약 6개월 정도 후면 사용자들이 학습시킨 모델이 나올텐데 이떄쯤에 판가름 되겠죠.

FLUX.1 은 Pro, Dev, Schnell 의 3가지로 제공되는데 Pro 는 유료고, 공개된 건 Dev 와 Schnell 입니다. 120억개 파라메터를 가지고 있습니다. "Schnell"은 4스텝 고속 추론 모델이라 성능이 더 좋은 "Dev" 모델이 주가 될겁니다. 약어로 "FLUX.1 D"라고 부르네요. 아직 Stable Diffusion WebUI (SDUI) 에서는 지원이 안되고, Stable Diffusion WebUI Forge (SDF) 에서 지원된다고 하네요. SDF 는 예전에 VRAM 이 낮은 기기에서도 느리지만 이미지 생성이 되어서 한때 잘 썼었는데요, 다시 보니깐 반갑네요. (물론 같은 파라메터를 주어도 SDUI 와 유사한 이미지를 만들지 않습니다. 내부 알고리즘이 호환이 안되는거라서요)

FLUX 라는건 "선속"이라는 의미입니다. 특정 공간에서의 어떤 물리량의 "흐름"을 의미합니다. 주변에서 흔히 볼 수 있는 FLUX 라는 용어는 광선속을 이야기할때 주로 사용합니다. 광선속의 단위가 루멘, 칸델라, 럭스이고, 조명 기구의 밝기를 나타냅니다. 단위 면적당 광자의 흐름을 나타내죠.

Black Forest Labs
GitHub - black-forest-labs/flux: Official inference repo for FLUX.1 models

----

FLUX.1 Dev 사용하기
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 레인보우와 드레스

CivitAI 에서 비슷한 그림을 보고 내 식대로 따라 만들었다. 역시 이미지는 영감을 잘 받아야 좋은 이미지가 나온다. 역시 사진은 빛을 어떻게 담느냐고 AI 에서도 마찬가지다. 빛을 어떻게 표현하느냐가 관건이다.

LoRA 를 괘 많이 사용해서인지 얼굴 표현하는것도 잘 안되었다. 결국 ADetailer 를 사용했다.

날갯짓 하는 포즈도 여러개 나오긴 했는데 전부 손가락 표현이 이상해서 모두 삭제. 에혀.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지