지난 글에서 RTX 3060 12GB로 로컬 이미지 생성을 해봤습니다.
SDXL Turbo로 512×512 한 장 뽑는 데 4.35초, VRAM은 7.8GB만 썼죠.
4GB 넘게 남았으니 더 큰 것도 되지 않을까 싶었습니다. 그래서 이번엔 Z-Image-Turbo입니다.
다운로드 용량이 19GB인데 제 카드는 12GB입니다.
될 리가 없어 보이는데, 파일 구성을 뜯어보니 얘기가 좀 달랐습니다.
Z-Image-Turbo, 크기 19GB의 정체
ComfyUI 템플릿 목록에서 첫 번째 카드입니다.

바로 옆에 Z-Image-Turbo Int8도 있습니다.
Z-Image-Turbo 양자화 버전인데 11.33GB라 12GB에 더 잘 맞습니다.
그런데 지난 글에서 원본으로 도전하겠다고 예고했으니 그대로 갑니다.
누르면 워크플로우가 열립니다.

노드가 두 개뿐입니다.
지난 글 SDXL Turbo에서는 여덟아홉 개가 얽혀 있었는데 훨씬 단순해졌네요.
실제로는 서브그래프로 접혀 있는 거라, 오른쪽 위 확장 아이콘을 누르면 안이 펼쳐집니다.
그리고 오른쪽에 빨간 오류 3개가 떠 있습니다. 모델이 없어서 그렇습니다.

여기가 핵심입니다. 19.27GB가 한 덩어리가 아니었습니다.
| 파일 | 용량 | 역할 |
|---|---|---|
| z_image_turbo_bf16 | 11.46GB | 디퓨전 모델 (그림 그리는 부분) |
| qwen_3_4b | 7.49GB | 텍스트 인코더 (프롬프트 읽는 부분) |
| ae | 0.32GB | VAE (마무리) |
셋이 동시에 VRAM에 올라갈 필요가 없습니다.
텍스트 인코딩이 끝나면 인코더를 내리고 디퓨전 모델을 올리는 식으로 순서대로 쓰이거든요.
그러니까 진짜 관건은 Z-Image-Turbo 11.46GB가 12GB에 들어가느냐입니다.
19GB가 12GB 에 들어가느냐?! 이게 아니었던 거죠.

다운로드는 20~30분정도 걸렸습니다.
텍스트 인코더가 Qwen3 4B입니다
받으면서 눈에 띈 게 하나 있었습니다. 텍스트 인코더가 qwen_3_4b입니다.
지난 글에서 다룬 SDXL Turbo는 CLIP이라는 전용 인코더를 썼습니다.
영어 위주로 학습돼서 한국어 프롬프트를 넣으면 엉뚱한 그림이 나왔죠.
지난 글에서 안경 쓴 아저씨가 나왔던 게 그 이유입니다.
그런데 이 모델은 인코더 자리에 LLM을 통째로 박아놨습니다.
Qwen은 한국어를 잘합니다.
그럼 혹시… 되나?
한국어 프롬프트를 다시 넣어봤습니다
지난 글에서 SDXL Turbo에 넣었던 문장 그대로입니다. 글자 하나 안 바꿨습니다.
진돗개, 흰색 털, 눈 오는 마당에 앉아있는 모습, 사진

진돗개가 나왔습니다.
같은 문장인데 SDXL Turbo에서는 아저씨가 나왔고, 이쪽에서는 진돗개가 나왔습니다.
텍스트 인코더가 CLIP에서 Qwen3로 바뀐 것만으로요.
지난 글 결론이 뒤집혔네요. 한국어 프롬프트가 안 되는 게 아니라, 모델에 따라 됩니다.
다만 완벽하진 않습니다.
눈이 안 옵니다. 배경이 그냥 흙바닥이에요. “마당”은 반영됐는데 “눈 오는”이 빠졌습니다.
어순을 바꿔봤습니다
같은 내용을 문장 구조만 바꿔서 다시 넣었습니다. 시드는 0 그대로입니다.
눈이 내리는 마당에 흰색 진돗개가 앉아있는 사진

눈이 나왔습니다.
시드가 같으니 이건 확실히 프롬프트 구조 때문입니다.
“눈 오는 마당에”를 쉼표로 나열했을 때는 흘렸고, “눈이 내리는 마당에”로 문장 앞에 놓으니 반영됐습니다.
한국어가 되긴 하는데, 나열형보다 문장형으로 쓰는 게 나아 보입니다.
명사만 쉼표로 늘어놓는 영어식 프롬프트 습관이 오히려 방해가 되는 셈이네요.
영어로도 돌려봤습니다.
a Korean Jindo dog, white fur, pointed ears, curled tail, sitting in a snowy yard, photorealistic, sharp focus

영어 쪽이 배경 디테일은 조금 더 풍부합니다.
나뭇가지에 쌓인 눈이나 담장 묘사가 살아 있네요. 그래도 한국어와 큰 차이는 아닙니다.
그리고 진돗개는 뭔가.. 흰 스피츠 느낌이 있습니다.
6GB 모델에서도, 19GB 모델에서도요. 모델을 세 배 키워도 이건 안 바뀌었습니다.
데이터가 없으면 크기로 해결되는 문제가 아닌 것 같습니다.
Z-Image-Turbo 모델, VRAM은 사용량은?
작업관리자를 켜두고 돌렸습니다.

- 전용 GPU 메모리 11.1 / 12.0GB
- 공유 GPU 메모리 3.3GB
- 시스템 RAM 19.2 / 31.6GB
- GPU 사용률 91%, 온도 66도
답이 나왔습니다. 아슬아슬하게 안 들어갑니다.
11.1GB까지 채우고 넘친 3.3GB는 시스템 RAM으로 밀려났습니다.
오프로딩이 실제로 일어난 상태로 돌아간 겁니다.
그런데 GPU 사용률이 91%까지 붙어 있습니다.
병목이 메모리 전송이 아니라 GPU 연산 쪽이라는 뜻이라, 오프로딩 페널티가 생각보다 크지 않았던 것 같습니다.
참고로 제 램은 RAM 32GB입니다.
넘친 3.3GB를 받아줄 여유가 있어서 돌아간 거고, 16GB 환경이면 결과가 다를 수 있습니다.
Z-Image-Turbo, 스텝 수를 바꿔봤습니다
기본값이 8스텝인데, 낮추면 얼마나 빨라지는지 궁금했습니다.
시드 0 고정, 같은 영어 프롬프트로 세 번 돌렸습니다.
steps 1 5.66초

빠르긴 한데 이건 못 쓰겠습니다.
털이 통짜 덩어리고 눈코가 그냥 점입니다. 인형 같아요.
steps 4 14.16초

갑자기 정상이 됩니다. 털 결이 살아나고 눈밭에 발자국까지 보입니다.
steps 8 22초

4스텝보다 조금 나은거같네요.
발가락이나 목털 질감이 미세하게 좋아졌는데, 나란히 놓고 한참 봐야 보이는 수준입니다.
| steps | 시간 | 품질 |
|---|---|---|
| 1 | 5.66초 | 뭉개짐. 못 씀 |
| 4 | 14.16초 | 쓸 만함 |
| 8 | 22초 | 가장 좋음 |
1과 4 사이 격차가 유독 큽니다.
점진적으로 좋아지는 게 아니라 어느 지점에서 갑자기 형태가 잡히는 느낌이네요.
같은 Turbo인데 SDXL Turbo는 1스텝에서도 멀쩡했습니다.
SDXL Turbo은 1스텝 전용으로 만들어진 모델이고
Z-Image-Turbo 모델 8스텝 기준이라 그런 것 같습니다.
정리하면
RTX 3060 12GB에서 Z-Image-Turbo, 돌아갑니다. 오프로딩까지 써서 아슬아슬하게요.
1. 모델 크기는 19GB가 아니고 파일 세 개로 나뉘어 있고 순서대로 쓰입니다. 실제 관건은 디퓨전 모델 11.46GB였고, 12GB에 딱 안 들어가서 3.3GB가 RAM으로 넘어갔습니다.
2. 한국어 프롬프트가 됩니다. 텍스트 인코더가 Qwen3 4B라 그렇습니다. 지난 글 결론을 정정합니다. 안 되는 게 아니라 모델에 따라 됩니다. 다만 나열형보다 문장형으로 쓰는 게 잘 먹힙니다.
3. 4스텝 14초가 적당합니다. 8스텝 22초와 차이가 크지 않습니다. 프롬프트 다듬을 땐 4스텝, 최종 결과물만 8스텝으로 쓰면 되겠네요.
4. 진돗개는 여전히 잘 못 그립니다. 6GB에서도 19GB에서도 흰 스피츠 처럼 나오는듯해요.
모델 크기로 해결되는 문제가 아니라 진돗개 학습 데이터가 부족한 것 같네요.
이상 글 마치겠습니다!