Sampler는 AI가 노이즈에서 이미지를 만들어가는 방식을 정의하는 알고리즘이야.
노이즈 제거를 몇 번에, 어떤 속도로, 어떤 수학적 곡선을 따라 할지 결정해
예: Euler는 빠르고 단순, DPM++는 정밀, UniPC는 속도+품질 밸런스
AI 이미지 생성 샘플링 기법 중 유명한 논문:
"Elucidating the Design Space of Diffusion-Based Generative Models" (Tero Karras et al.)
이 논문에서 제안된 Karras-style 스케줄러와 관련된 구조를 쓰기 때문에 붙은 명칭이라는 설이 있어.
Stable Diffusion에서도 DPM++ Karras 라는 샘플러가 자주 등장하지
KSampler =
Karras 기반 샘플링 방식 + Sampler 노드
ComfyUI의 심장이라고도 할 수 있는 KSampler에 대해 정리해보자.
모든 이미지 생성은 이 노드를 거쳐 가.
KSampler는 Stable Diffusion에서 노이즈 덩어리를 점점 제거하며 그림의 형태를 만들어가는 핵심 노드야.
쉽게 말하면?
"KSampler는 AI가 혼란스러운 이미지 속에서
의미 있는 그림을 점점 찾아가는 과정을 담당하는 뇌야."
ComfyUI에서 이미지 생성의 핵심은 LATENT space에서 노이즈를 프롬프트에 맞는 이미지로 바꾸는 과정이다. 이걸 디노이징(denoising)이라고 부르는데, KSampler가 바로 이 디노이징을 담당하는거야. 프롬프트(CLIP이 만든 임베딩)와 체크포인트 모델(Stable Diffusion)의 지식을 활용해서 노이즈를 점진적으로 "깎아내" 최종 LATENT 데이터를 만든다. 이 데이터는 VAE Decode로 풀리면 우리가 보는 선명한 이미지가 되는거지.
디노이징(denoising)이 뭔지 쉽게 풀어줄게
디노이징은 말 그대로 "잡음(노이즈)을 없애는" 과정이야. ComfyUI에서 쓰는 Stable Diffusion 같은 모델은 처음에 완전 잡음으로 가득 찬, TV 화면 깨진 것 같은 이미지를 가지고 시작해. 이걸 점점 깨끗
designmoney.tistory.com
KSampler가 하는 일 요약해보면
노이즈 제거 : 랜덤한 점들로 시작한 latent 이미지를 깨끗하게 다듬음
조건 반영 : 프롬프트(CLIP), ControlNet 등에서 받은 정보대로 이미지 형태를 조정
반복 제어 : 몇 번을 반복해서 디노이징할지 결정함 (steps)
다양성/일관성 조절 : seed, denoise 값으로 그림의 랜덤성 조절
KSampler는 "AI가 LATENT 공간에서 그림을 만들어내는 핵심 계산기"라서, 프롬프트 정보와 모델, 시작 이미지(Latent)를 받아야 작동하고, 결과물인 LATENT 이미지를 출력해야 다음 노드가 사용할 수 있어.
그래서 입력포트가 model / positive / negative / latent image/ 있고 출력포트에 LATENT 가 있느거야.
KSampler의 입출력포트를 지세히 살펴보자!!
1. model (LATENT 타입, 보통 회색)
불러온 AI 모델 (Checkpoint) 정보를 받아야 샘플링이 가능해 AI가 어떤 방식으로 그림을 그릴지 결정하는 뇌를 의미 하자나
보통 Load Checkpoint 노드에서 연결 이게 없으면 KSampler는 아무것도 못 해. 어떤 모델로 계산할지도 모르니까.
이런 식으로 연결해 놓으면 KSampler가 어떤 모델을 사용할지 정해지는 거군.
2. positive (CONDITIONING 타입, 주황색)
사용자의 프롬프트 내용 (그림에 반영할 정보)를 CLIP에서 받아옴. 이 포트가 없으면 AI는 무슨 그림을 그릴지 방향을 못 잡아.
3. negative (CONDITIONING 타입, 주황색)
프롬프트에서 제외하고 싶은 요소 (예: 흐림, 일그러짐, 이상한 눈 등)를 CLIP에서 받아옴, 그림 품질 개선에 중요.
AI한테 “이건 그리지 마”라고 명시적으로 알려주는 장치로 이게 없으면 그림이 이상하게 나올 확률이 높아.
4. LATENT _image (LATENT 타입, 보라색)
샘플링의 시작 지점이 되는 노이즈 입력이 있어야 AI가 노이즈를 하나씩 정리해서 그림을 만들어감
이게 없으면 AI는 그림의 기반이 될 바탕이 없어.
보통 Empty LATENT Image나 VAE Encode 노드에서 연결됨.
하~ KSampler의 입력포트를 모두 연결했네^^
5.출력 포트: LATENT (LATENT 타입, 보라색)
샘플링 결과로 만들어진 최종 LATENT 이미지 출력 이걸 받아서 VAE Decode로 보내야 진짜 이미지로 복원 가능!!
AI가 latent space 안에서 만들어낸 “완성된 내부 이미지”
이걸 반드시 출력해야 이미지가 화면에 나타남.
VAE Decode 까지 연결하면 KSampler 연결은 끝이야!! 밑에 옵션값들은 그림을 그려가며 설명할께 다음에는 드디어 처음으로 ComfyUI에서 고양이를 그려보자!!
'MucKOO's ComfyUI 바이블 > #ComfyUI Navigator#' 카테고리의 다른 글
“Stable Diffusion이 몸, ComfyUI는 조립 키트다” (0) | 2025.04.24 |
---|---|
ComfyUI 노드메칭 (1) | 2025.04.23 |
ComfyUI기본구성-3 "Model★★" (1) | 2025.04.21 |
ComfyUI기본구성-2 "Model" (1) | 2025.04.21 |
ComfyUI, Checkpoint가 뭘까? (2) | 2025.04.21 |