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 의 디렉토리로 옮김
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)에서 실행된다.
전용 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
"FastSD CPU" CPU 만을 사용해서 이미지를 생성한다. LCM 이나 OpenVINO 를 사용하는듯.
예전에 한번 써보고 관심 없었는데, 갑자기 CPU 로 사용하는건 어떨까 해서 찾아봤다.
스텝은 4 이하로 설정하는게 핵심이다. 4 이하로 설정해도 품질이 좋은 이미지를 생성하기 위해 여러가지 작업을 한다. 물론 그렇지 않은 모델보다는 떨어지지만, 속도가 매우 중요한 경우에는 이 방법밖에 없다.
i7-7700K 에서 1장 생성하는데 약 30초 정도 걸린다. 품질도 생각보다는 좋다.
아래와 같이 LCM-LoRA 모델을 사용했다. OpenVINO 로 사용해도 속도는 크게 달라지지 않았다. OpenVINO를 사용해 성능을 향상시키려면 최신 CPU가 필요한것 같기도 하다. 예를 들어 AVX-VNNI 를 지원하는 CPU 말이다. (OpenVINO 는 AVX2 를 지원하는 CPU 에서 사용할 수 있다)
CPU 사양은 i7-7700K 인데, 결론은 계속 못 돌릴것 같다. 발열이 너무 심하다. TDP 91W 라는 수치가 믿기지 않을 정도의 발열이다. 80°C 넘는건 기본(80°C 는 CPU 의 1차 발열 제한 수치다) 이고 100°C 에 육박한다. 스로틀링 걸린거 같은데 7700K 가 망가질까봐 더이상 돌려보지 않았다.
Stable Diffusion 을 돌린거라 코어 4개가 모두 사용중이고 아마 AVX, AVX2 를 사용할걸로 생각한다. 원래 AVX 를 사용하면 발열이 심해지기 때문에 어느정도는 있을거라 생각했지만, 이정도일줄은 몰랐다. 이건 그냥 못 쓰는 거다. 게다가 수냉이기 때문에 코어 히트싱크 부근에 물이 끓어 순간적으로 기포 생길까봐 무서워서 못하겠다. (염려된다는거지 실질적인 문제가 있다는건 아니다)
- 차라리 GT 1030 이라도 쓰는게 좋아 보인다. 이건 발열이라도 없으니 말이다. 에혀. 인텔의 삽질을 내가 느낄줄이야. 나중에 AMD 로도 해봐야 겠다.
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 라는 용어는 광선속을 이야기할때 주로 사용합니다. 광선속의 단위가 루멘, 칸델라, 럭스이고, 조명 기구의 밝기를 나타냅니다. 단위 면적당 광자의 흐름을 나타내죠.