Stable Diffusion을 활용해 고퀄리티 이미지를 생성하기 위해서는 Prompt에 대한 이해가 필수입니다.
이번 포스팅에서는 ComfyUI 기준으로 Prompt의 개념, 구성 방법, 그리고 효율적인 사용 전략에 대해 깊이 있게 살펴보겠습니다.
특히 Danbooru 태그 시스템과 Attention 메커니즘, LoRA 및 Embedding 적용법까지 다뤄 실전 활용에 바로 도움이 될 수 있도록 정리했습니다.
* ComfyUI 사이트: https://github.com/comfyanonymous/ComfyUI
* 데스크탑앱 사이트: https://www.comfy.org/download
✅ Prompt란 무엇인가?
Prompt는 AI가 이미지를 생성할 때 참고하는 명령어이자 문장입니다.
Stable Diffusion은 이 Prompt를 Token 단위로 분해하여 숫자로 변환하고 이를 기반으로 이미지를 생성합니다.
따라서 단어 하나하나, 문장의 구성 순서, 길이, 강조 방식 모두 이미지에 영향을 미치게 됩니다.
🧩 Danbooru Tag 시스템의 중요성
Danbooru Tag는 애니메이션 스타일 이미지들을 체계적으로 정리하기 위한 위키 기반 태깅 시스템입니다.
Stable Diffusion 1.5 및 XL 모델 등은 LAION-5B라는 방대한 이미지 데이터셋을 기반으로 학습되었으며, 이 안에는 Danbooru 이미지 및 태그도 포함돼 있습니다.
Danbooru 태그는 AI 모델에게 시각적 특징을 보다 정확하게 전달하는 역할을 하며, 다음과 같은 구조를 가지고 있습니다:
- General Tags: 인물, 복장, 감정
- Artist Tags: 원작자 이름
- Copyright Tags: 출처 (예: Evangelion)
주의: Danbooru 기반의 태그는 저작권 이슈에 민감할 수 있으며, AI 모델이 학습한 데이터는 완전히 제거되지 않을 수 있습니다. 사용 시 주의가 필요합니다.
🧠 Attention Mechanism의 핵심 이해
Prompt가 이미지로 변환되는 과정에서 핵심이 되는 기술은 바로 Attention Mechanism입니다.
특히, Text-to-Image 생성 모델에서는 Cross Attention이 텍스트와 이미지 간의 의미를 연결하는 중요한 역할을 합니다.
- 기본 PyTorch 방식: 정확한 token 연산, VRAM 사용 많음
- xFormers: 연산 속도 빠름, 근사값으로 처리 (가끔 품질 차이 발생)
- FlashAttention: 최신 GPU에 최적화된 고속 연산
- SageAttention: VRAM을 극단적으로 줄이는 최신 양자화 기법
📝 단어 선택의 미묘한 차이
Prompt 작성 시, 의미는 같아도 단어 선택에 따라 결과물은 달라질 수 있습니다.
- Frowning vs Angry → Angry는 더 강렬한 표정 생성
- Elegant dress vs Luxurious dress → 후자는 장식이 더 화려함
또한, 단어 강조에는 () 괄호와 :를 활용하여 **가중치(weight)**를 조정할 수 있습니다.
(masterpiece:1.3), (best quality), 1girl, blue hair
💡 Token 수 제한과 ComfyUI의 Prompt 처리
Stable Diffusion 모델은 Token 수 제한이 있으며,
1.5 / XL은 최대 75 Token, 최신 모델은 최대 512 Token까지 처리 가능합니다.
Prompt가 너무 길어질 경우, 뒤쪽 키워드는 무시될 수 있으므로 중요한 키워드는 항상 앞에 배치해야 합니다.
이를 극복하기 위해 ComfyUI에서는 Text Encode를 나누어 입력한 후, Conditioning Node를 통해 결합하는 전략을 사용합니다.
주요 Conditioning Node:
- Concat Node: 두 Prompt를 순서대로 합침
- ConditioningAverage: 비율에 따라 Prompt 혼합 (예: 캐릭터 70%, 배경 30%)
🔁 WebUI와 ComfyUI Prompt의 차이
WebUI는 내부에서 자동으로 괄호 해석 및 가중치 누적을 처리합니다.
하지만 ComfyUI는 별도의 해석기가 없기 때문에 수치적으로 직접 가중치를 명시해야 합니다.
WebUI Prompt를 ComfyUI에 그대로 복사해 사용하면 예기치 않은 결과가 발생할 수 있으므로 재구성이 필요합니다.
🚫 Negative Prompt의 활용
Negative Prompt는 이미지에서 원하지 않는 요소를 제거하는 역할을 합니다.
하지만 "no ~~" 식의 표현은 잘 작동하지 않을 수 있으며, 구체적으로 원하는 결과를 Positive Prompt에 명시하는 방식이 더 효과적입니다.
예시:
(plain background), (white background) → 안정적인 배경 유도
또한, Token 제한은 Negative Prompt에도 동일하게 적용되므로 중요 키워드는 앞쪽에 배치해야 합니다.
🔌 LoRA와 Embedding 이해
📁 LoRA (Low-Rank Adaptation)
모델 전체를 바꾸지 않고도 스타일이나 캐릭터 특성을 반영할 수 있는 학습 방법.
ComfyUI에서는 여러 개의 LoRA를 스택으로 연결해 사용할 수 있습니다.
📎 Embedding
특정 키워드를 AI가 더 잘 이해하도록 만든 텍스트 벡터.
Text Encode 노드에서 embedding 이름을 입력해 사용합니다.
<embedding:my_style>
🧠 의미론적 충돌과 해결법
Stable Diffusion은 학습 데이터의 편향성을 그대로 반영할 수 있습니다.
예: "blue eyes" → 자동으로 "blonde hair"가 생성되는 현상
이를 피하려면 Prompt를 보다 구체적으로 구성하거나, Conditioning Concat 등의 노드를 활용해 키워드를 별도로 처리하는 것이 중요합니다.
📌 Prompt 작성 시 요약 포인트
- 중요한 키워드는 항상 앞에!
- 괄호는 수치 가중치와 함께 사용
- 너무 많은 키워드는 오히려 표현력을 떨어뜨림
- LoRA/Embedding은 반드시 Node 방식으로 연결
- Prompt는 기술이자 전략이다
ComfyUI에서 Prompt를 활용하는 방법에 대해 완벽하게 이해하셨나요?
이번 내용을 바탕으로 자신만의 스타일을 구축하고 더욱 정교한 이미지 생성에 도전해보세요!
'영상 제작' 카테고리의 다른 글
구글 AI와 캔바만으로 6컷 웹툰 만들기 – 돈 안 들이고 나만의 만화 그리기 도전! (2) | 2025.04.06 |
---|---|
챗GPT 이미지 생성, 왜 미드저니를 뛰어넘었다고 평가받는가? (0) | 2025.04.05 |
ChatGPT 이미지 생성 vs. 제미나이 2.0, 업무 활용도 비교 분석! (1) | 2025.04.05 |
초보자를 위한 폴로 AI 영상 제작 가이드 (0) | 2025.04.04 |
폴로 AI(Pollo AI) 리뷰 – 영상 AI의 끝판왕 등장?! 한 번에 뽑히는 미친 퀄리티! (0) | 2025.04.03 |
댓글