생성 모델 — 분류와 역사(Generative Models — Taxonomy & History)

모든 이미지 모델, 텍스트 모델, 비디오 모델, 3D 모델은 다섯 가지 분류(bucket) 중 하나에 들어갑니다. 잘못된 분류를 고르면 몇 주 동안 수학과 싸우게 됩니다. 올바른 분류를 고르면 이 분야의 지난 12년 발전이 머릿속에 깔끔하게 쌓입니다.

유형: Learn 언어: Python 선수 지식: Phase 2 (ML Fundamentals), Phase 3 (Deep Learning Core), Phase 7 · 14 (Transformers) 예상 시간: 약 45분

문제

생성 모델(Generative Model)이 하는 일은 하나입니다. 어떤 알 수 없는 분포(distribution) p_data(x)에서 뽑힌 훈련 표본(training sample)이 주어졌을 때, 같은 분포에서 온 것처럼 보이는 새 표본을 출력하는 것입니다. 얼굴, 문장, MIDI 파일, 단백질 구조(protein structure)는 조금 멀리서 보면 모두 같은 문제입니다.

어려운 점은 p_data가 수백만 차원 공간에 있다는 것입니다. 512x512 RGB 이미지는 약 78.6만 차원입니다. 실제 표본은 그 공간 안의 얇은 다양체(manifold) 위에 놓여 있고, 학습 예시는 많아야 1,000만 개 정도일 수 있습니다. 밀도(density)를 무차별 대입(brute-force)으로 찾는 것은 가망이 없습니다. 모든 생성 모델은 어려운 문제 하나를 조금 덜 어려운 문제로 바꾸는 절충(compromise)입니다.

지난 12년 동안 살아남은 계열(family)은 다섯 가지입니다. 각 계열이 어떤 절충을 선택하는지 알면, 왜 어떤 작업에서는 강하고 어떤 작업에서는 무너지는지 이해할 수 있습니다.

사전 테스트

2문제 · 이 강의를 시작하기 전에 얼마나 알고 있는지 확인해보세요

1.어떤 생성 모델이 한 번의 순전파(forward pass)로 선명한 표본을 만들지만, 특정 점의 확률을 평가할 수는 없습니다. 이 모델은 다섯 계열 중 어디에 속하나요?

2.512x512 RGB 이미지의 픽셀 공간에서 데이터 분포 p_data(x)를 무차별 대입(brute-force) 밀도 추정으로 찾을 수 없는 이유는 무엇인가요?

0/2 답변 완료

개념

five families of generative models split by what they model and how they sample p_data(x) unknown, want sampler 1. explicit, tractable p(x) = ∏ p(x_i | x_<i) autoregressive: GPT, PixelCNN flows: Glow, RealNVP exact log p(x) slow sequential inference architecture restrictions (flows) 2. explicit, approximate maximize ELBO ≤ log p(x) VAE: encoder + decoder diffusion: DDPM, SD3 dominant in 2026 iterative sampling (20-50 steps) scales to text, image, video, 3D 3. implicit density G(z) -> x, D(x) -> real/fake GAN, StyleGAN, Pix2Pix one-shot sampling no log p(x) at all training instability, mode collapse still SOTA for narrow photoreal 4. score / continuous-time learn s(x) = ∇_x log p(x) score SDE, flow matching rectified flow, consistency models simulation-free training straight paths => 1-4 step sampling 5. tokens + AR transformer VQ-VAE + transformer over tokens DALL-E 1, Parti, MuseNet AudioLM, VALL-E, MusicGen, Sora patches reuse LLM stack quality bounded by tokenizer

1. 명시적 밀도, 계산 가능(Explicit density, tractable). log p(x)를 실제로 평가할 수 있는 합(sum)으로 씁니다. 자기회귀 모델(Autoregressive Model)인 PixelCNN, WaveNet, GPT는 p(x) = ∏ p(x_i | x_<i)처럼 p(x)를 조건부 분포의 곱으로 분해(factorize)합니다. 정규화 흐름(Normalizing Flow)인 RealNVP, Glow는 단순한 기본 분포(base distribution)를 가역 변환(invertible transform)해 p(x)를 만듭니다. 장점은 정확한 가능도(exact likelihood)와 깔끔한 훈련 손실(training loss)입니다. 단점은 자기회귀 추론이 순차적이어서 긴 시퀀스에서는 느리고, 흐름(flow)은 가역 구조가 필요해 구조적 제약이 큽니다.

2. 명시적 밀도, 근사(Explicit density, approximate). log p(x)를 아래에서 제한하는 하한(lower bound), 즉 ELBO(Evidence Lower Bound)를 최적화합니다. VAE(Variational Autoencoder, Kingma 2013)는 인코더-디코더(encoder-decoder)와 변분 사후 분포(variational posterior)를 사용합니다. 확산 모델(Diffusion Model)인 DDPM(Ho 2020)은 가중 ELBO(weighted ELBO)를 암묵적으로 최적화하는 잡음 제거기(denoiser)를 학습합니다. 2026년 기준 확산은 이미지, 비디오, 3D 분야의 지배적인 백본(backbone)입니다.

3. 암묵적 밀도(Implicit density). 밀도 계산을 아예 건너뜁니다. 생성기(generator) G(z)가 표본을 만들고, 판별기(discriminator) D(x)가 진짜(real)와 가짜(fake)를 구분합니다. 이것이 GAN(Generative Adversarial Network, Goodfellow 2014)입니다. 추론은 순전파 한 번이라 빠르지만, 훈련은 불안정하기로 유명합니다. StyleGAN 1/2/3는 2026년에도 얼굴, 침실처럼 고정된 도메인 사진 실사(fixed-domain photorealism) 분야에서는 최고 수준(state of the art)에 가깝습니다.

4. 스코어 기반 / 연속 시간(Score-based / continuous-time). 로그 밀도(log-density)의 기울기(gradient)인 ∇_x log p(x), 즉 스코어(score)를 직접 학습합니다. Song & Ermon(2019)은 스코어 매칭(score matching)이 확산을 확률 미분방정식(Stochastic Differential Equation; SDE)으로 일반화한다는 것을 보였습니다. 플로우 매칭(Flow Matching, Lipman 2023)은 2024-2026년의 핵심 흐름입니다. 시뮬레이션이 필요 없는 훈련(simulate-free training), 더 곧은 경로(straighter paths), DDPM보다 4-10배 빠른 샘플링을 제공합니다. Stable Diffusion 3, Flux, AudioCraft 2가 모두 플로우 매칭을 사용합니다.

5. 이산 코드 위의 토큰 기반 자기회귀(Token-based autoregressive over discrete codes). VQ-VAE(Vector Quantized VAE)나 잔차 양자화기(residual quantizer)로 고차원 데이터를 짧은 이산 토큰(discrete token) 시퀀스로 압축한 뒤, 트랜스포머(Transformer)가 토큰 시퀀스를 모델링합니다. Parti, MuseNet, AudioLM, VALL-E, Sora의 패치 토크나이저(patch tokenizer)가 모두 이 방식을 사용합니다. 이는 1번 분류에 학습된 토크나이저(learned tokenizer)를 더한 방식입니다.

짧은 역사

연도모델왜 중요했는가
2013VAE (Kingma)사용할 수 있는 훈련 손실을 가진 첫 딥 생성 모델(deep generative model)입니다.
2014GAN (Goodfellow)가능도(likelihood) 없이 암묵적 밀도로 놀라울 만큼 선명한 샘플을 만들었습니다.
2015DRAW, PixelCNN순차적 이미지 생성(sequential image generation)을 보여주었습니다.
2017Glow, RealNVP가역 흐름(invertible flow)으로 깊이를 갖춘 정확한 가능도를 제공했습니다.
2017Progressive GAN첫 megapixel 얼굴 생성을 보여주었습니다.
2019StyleGAN / StyleGAN2특정 얼굴 도메인에서는 여전히 이기기 어려운 사진실사 품질을 만들었습니다.
2020DDPM (Ho)확산(diffusion)을 실용적으로 만들었습니다.
2021CLIP, DALL-E 1, VQGAN텍스트-이미지(text-to-image) 모델이 주류로 들어왔습니다.
2022Imagen, Stable Diffusion 1, DALL-E 2잠재 확산(latent diffusion)과 텍스트 조건화(text conditioning)가 보편 기술(commodity)로 자리 잡았습니다.
2022ControlNet, LoRA사전 학습된 확산 모델을 세밀하게 제어할 수 있게 했습니다.
2023SDXL, Midjourney v5, Flow matching규모(scale)와 더 나은 훈련 동역학(training dynamics)이 결합되었습니다.
2024Sora, Stable Diffusion 3, Flux.1비디오 확산(video diffusion)과 플로우 매칭(flow matching)이 승리했습니다.
2025Veo 2, Kling 1.5, Runway Gen-3, Nano Banana프로덕션급 비디오 생성이 가능해졌습니다.
2026Consistency + Rectified Flow확산 백본(backbone)에서 한 단계 샘플링(one-step sampling)을 추구합니다.

다섯 질문 분류 점검(triage)

새로운 생성 모델 논문이 나오면 본문의 방법론 절(method section)을 읽기 전에 아래 다섯 질문에 먼저 답해 봅니다.

  1. 무엇을 모델링하는가? 픽셀(pixel), 잠재 표현(latent), 이산 토큰(discrete token), 3D 가우시안, 메시(mesh), 파형(waveform) 중 무엇인가?
  2. 밀도는 명시적인가, 암묵적인가? 논문이 log p(x)를 실제로 적고 있는가?
  3. 샘플링은 단발(one-shot)인가, 반복(iterative)인가? 반복이면 추론이 느립니다. 단발은 보통 적대적(adversarial) 방식이거나 증류(distilled)된 방식입니다.
  4. 조건화(conditioning)는 무엇인가? 무조건(unconditional), 클래스(class), 텍스트(text), 이미지(image), 자세(pose) 중 무엇인가? 이는 손실 함수와 모델 구조의 뼈대(scaffolding)를 결정합니다.
  5. 평가(evaluation)는 무엇인가? FID, CLIP score, IS, 사람 선호도(human preference), 과제 정확도(task accuracy) 중 무엇인가? 각 지표에는 알려진 실패 양상(failure mode)이 있으며 Lesson 14에서 다룹니다.

이 단계(phase)의 모든 강의에서 이 다섯 질문에 다시 답하게 됩니다. 마지막 강의에 도달할 때쯤에는 반사적으로 떠올릴 수 있어야 합니다.

직접 만들기

이 강의의 코드는 가벼운 시각화입니다. 표본에서 1차원 가우시안 혼합(mixture-of-Gaussians)을 세 가지 단순한 접근으로 맞춥니다. 커널 밀도(kernel density), 이산 히스토그램(discrete histogram), 가장 가까운 표본을 뽑는 "GAN 스타일" 생성기를 사용해, 한 화면에 출력 가능한 문제에서 명시적 밀도와 암묵적 밀도의 차이를 확인합니다.

code/main.py를 실행합니다. 두 봉우리(two-mode)를 가진 가우시안 혼합에서 2,000개 표본을 뽑고, 다음과 같은 내용을 출력합니다.

명시적 밀도(히스토그램): p(x in [-0.5, 0.5]) ≈ 0.38
근사 밀도(KDE):          p(x in [-0.5, 0.5]) ≈ 0.41
암묵적 생성기(최근접 표본 기반): 새 표본 20개 출력, p(x)는 없음

앞의 두 방법은 "이 점이 얼마나 그럴듯한가?"라고 물을 수 있습니다. 세 번째 방법은 그럴 수 없습니다. 이것이 앞으로 모든 강의에서 중요해질 명시적(explicit) 대 암묵적(implicit) 구분입니다.

사용해보기

2026년 기준 어떤 작업에 어떤 계열을 고를 수 있을까요?

작업가장 적합한 계열이유
사진 실사 얼굴, 좁은 도메인StyleGAN 2/3여전히 가장 선명하고 추론이 빠릅니다.
일반 텍스트-이미지잠재 확산 + 플로우 매칭SD3, Flux.1, DALL-E 3 계열입니다.
빠른 텍스트-이미지Rectified flow + 증류(distillation)SDXL-Turbo, SD3-Turbo, LCM 계열입니다.
텍스트-비디오Diffusion Transformer + 플로우 매칭Sora, Veo 2, Kling 계열입니다.
음성 + 음악토큰 기반 자기회귀(AudioLM, VALL-E, MusicGen) 또는 플로우 매칭(AudioCraft 2)이산 토큰은 저렴한 비용으로 규모를 키우기 좋습니다.
3D 장면Gaussian Splatting 적합, 확산 사전(prior)3D-GS는 재구성(reconstruction)에, 확산은 새로운 시점 합성(novel-view)에 강합니다.
밀도 추정(샘플링 없음)정규화 흐름(Flow)정확한 log p(x)를 가진 유일한 계열입니다.
시뮬레이션 / 물리플로우 매칭, 스코어 SDE직선 경로(straight-line path)와 매끄러운 벡터장(smooth vector field)을 제공합니다.

산출물 만들기

outputs/skill-model-chooser.md로 저장된 산출물을 살펴봅니다.

이 스킬(skill)은 작업 설명(task description)을 입력받아 다음을 출력합니다.

  1. 어떤 계열(family)을 사용할지
  2. 공개(open) 옵션 3개와 호스팅(hosted) 옵션 3개를 순위로 정리한 목록
  3. 주의해야 할 가능성 높은 실패 양상(failure mode)
  4. 연산 자원과 시간 예산(compute/time budget)

연습문제

  1. 쉬움. ChatGPT image, Midjourney v7, Sora, Runway Gen-3, ElevenLabs가 각각 어떤 계열과 백본(backbone)에 속하는지 식별합니다. 근거는 공개 기술 보고서(public technical report)에서 찾아야 합니다.
  2. 중간. 내일 읽을 논문이 확산보다 100배 빠른 샘플링을 주장한다고 합시다. 조건화(conditioning)와 고해상도(high resolution)에서도 그 속도 향상이 유지되는지 확인하기 위한 질문 3개를 적습니다.
  3. 어려움. 관심 있는 도메인 하나, 예를 들어 단백질 구조, CAD, 분자, 궤적(trajectory)을 고릅니다. 해당 도메인의 현재 최고 수준(SOTA) 모델에 대해 다섯 질문 분류 점검(triage)에 답하고, 더 나은 모델이라면 무엇을 바꿀지 개략적으로 정리합니다.

핵심 용어

용어흔한 설명실제 의미
생성 모델(Generative Model)"새 것을 만든다"p_data(x)에 대한 표본 추출기(sampler)를 학습하며, 경우에 따라 log p(x)도 노출합니다.
명시적 밀도(Explicit density)"평가할 수 있다"모델이 닫힌 형식(closed-form)이거나 계산 가능한 log p(x)를 제공합니다.
암묵적 밀도(Implicit density)"GAN 스타일"표본 추출기(sampler)만 있습니다. 특정 점의 p(x)를 평가할 방법은 없습니다.
ELBO(Evidence Lower Bound)"증거 하한"log p(x)에 대한 계산 가능한 하한입니다. VAE와 확산 모델은 이를 최적화합니다.
스코어(Score)"로그 밀도의 기울기"∇_x log p(x)입니다. 확산과 SDE 모델은 이 벡터장(field)을 학습합니다.
다양체 가설(Manifold hypothesis)"데이터는 표면 위에 있다"고차원 데이터가 저차원 다양체에 집중된다는 가정입니다. 차원 축소가 작동하는 이유입니다.
자기회귀(Autoregressive)"다음 조각 예측"결합 분포(joint distribution)를 조건부 분포의 곱으로 분해합니다.
잠재(Latent)"압축 코드"디코더(decoder)가 입력을 재구성할 수 있는 저차원 표현(low-dimensional representation)입니다.

프로덕션 메모: 다섯 계열, 다섯 가지 추론 형태

각 계열은 서로 다른 추론 서버 비용 곡선(inference-server cost curve)에 대응합니다. 프로덕션 추론 문헌은 LLM 추론을 사전 채움(prefill) 단계와 토큰 생성(decode) 단계로 나누어 설명합니다. 같은 분해를 여기에도 적용할 수 있습니다.

  • 자기회귀(Autoregressive, 분류 1과 5). 순차적 토큰 생성(decode)이 지연 시간(latency)을 지배합니다. KV 캐시(KV cache), 연속 배칭(continuous batching), 추측 디코딩(speculative decoding)이 모두 직접 적용됩니다.
  • VAE / 확산(diffusion) / 플로우 매칭(분류 2와 4). LLM과 같은 의미의 토큰 생성(decode)은 없습니다. 비용은 num_steps × step_cost입니다. step_cost는 전체 잠재 해상도(latent resolution)에서의 트랜스포머나 U-Net의 순전파 비용입니다. 프로덕션에서 조정 가능한 손잡이(knob)는 단계 수(step count; DDIM / DPM-Solver / distillation), 배치 크기(batch size), 정밀도(precision; bf16 / fp8 / int4)입니다.
  • GAN(분류 3). 순전파 한 번이면 됩니다. 단계 일정(schedule)도, KV 캐시도 없습니다. 첫 토큰까지 걸리는 시간(Time To First Token; TTFT)에 해당하는 값이 거의 전체 지연 시간이 됩니다. 이것이 StyleGAN이 좁은 도메인의 사용자 경험(UX)에서 여전히 이기는 이유입니다.

논문 초록(abstract)에서 "faster than diffusion"이라는 표현을 보면, 이를 "더 적은 단계 × 같은 단계당 비용" 또는 "같은 단계 × 더 저렴한 단계당 비용"으로 번역해 읽습니다. 그 밖의 표현은 마케팅일 가능성이 큽니다.

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

이 강의에서 생성된 프롬프트, 스킬, 코드 산출물 1개

generative-model-chooser

Pick a generative-model family, backbone, and hosted alternative for a given task and budget.

Skill

확인 문제

3문제 · 모두 맞추면 완료 표시가 가능합니다

1.어떤 새 논문이 '확산보다 빠른 샘플링'을 주장합니다. 이 강의의 다섯 질문 분류 점검(triage)을 활용할 때, 프로덕션 워크로드에서 속도 주장이 유지되는지 평가하는 데 가장 유용한 분해 방식은 무엇인가요?

2.표본 생성 없이 정확한 log p(x) 값만 필요한 작업에서, 다섯 계열 중 유일하게 적합한 계열은 무엇인가요?

3.2026년에 텍스트-투-비디오(text-to-video) 생성이 필요한 프로덕션 팀이 있습니다. 이 강의의 작업-계열 매핑에 따르면 어떤 백본 조합이 이 사용 사례를 지배하나요?

0/3 답변 완료

추가 문제 풀기

AI가 강의 내용을 바탕으로 새로운 문제를 생성합니다