← 블로그 목록

디퓨전: 모든 파운더가 알아야 할 AI의 핵심 기술

노이즈에서 데이터로, 10줄의 코드가 AI의 거의 모든 영역을 집어삼키고 있습니다

Midjourney로 이미지를 만들어 본 적이 있다면, 이미 디퓨전 모델을 사용한 것입니다. 그런데 디퓨전은 이미지 생성에서 끝나지 않습니다. 단백질 구조 예측으로 노벨상을 받았고, 자율주행차를 움직이고, 세계에서 가장 정확한 날씨 예보를 만들어 냅니다. YC 방문 파트너이자 스탠퍼드에서 디퓨전 기반 월드 모델을 연구 중인 Francois Cholard는 이 기술이 경제 전체를 재정의할 것이라고 말합니다. 파운더라면 디퓨전이 무엇인지, 왜 지금 중요한지 알아야 합니다.

노이즈를 더하고 되돌리는 것, 그것이 전부입니다

디퓨전의 원리는 놀랍도록 단순합니다. 깨끗한 이미지에 노이즈를 반복적으로 추가하면, 결국 완전한 정적(static)이 됩니다. 이 과정을 거꾸로 되돌리는 모델을 훈련시키는 것이 디퓨전의 핵심입니다.

깨끗한 데이터를 망가뜨리는 것은 쉽습니다. 랜덤 노이즈를 더하기만 하면 됩니다. 어려운 것은 노이즈로부터 원래 데이터를 복원하는 것입니다. 디퓨전 모델은 바로 이 역방향 과정을 학습합니다. 노이즈가 많이 섞인 이미지를 받아서, 노이즈가 조금 덜 섞인 이미지로 바꾸는 단계를 반복하다 보면, 결국 완전히 새로운 깨끗한 이미지가 탄생합니다.

Francois는 이것을 "노이저(noiser)와 디노이저(denoiser)"라고 설명합니다. 노이저는 데이터를 파괴하는 단순한 과정이고, 디노이저가 우리가 실제로 훈련시키는 모델입니다.

30장의 사진으로 새로운 이미지를 만들 수 있습니다

디퓨전의 진짜 강점은 적은 데이터로 고차원 공간을 학습할 수 있다는 점입니다. Francois는 자신의 고양이 Gary 사진 30장만으로 새로운 Gary 이미지를 생성하는 것을 시연했습니다. 64x64 픽셀의 작은 이미지였지만, 3백만 차원의 공간에서 겨우 30개의 샘플로 데이터 분포를 학습한 것입니다.

LLM을 포함한 모든 머신러닝 모델이 데이터 분포를 학습합니다. 하지만 디퓨전이 특히 빛나는 영역은 고차원에서 고차원으로의 매핑입니다. 데이터가 적더라도 작동합니다. 이것은 학습 데이터를 대규모로 확보하기 어려운 영역에서 결정적인 이점이 됩니다.

10줄의 코드가 가장 강력한 머신러닝 절차를 구현합니다

초기 디퓨전 모델은 복잡했습니다. 2015년 Joshua Sohl-Dickstein의 원논문은 KL 발산 기반 손실 함수를 사용했고, 코드도 많았습니다. 하지만 연구가 진화하면서 수학은 더 단순해졌고, 코드는 더 짧아졌습니다. 대부분의 머신러닝에서 발전이 복잡성 증가를 의미하는 것과 정반대입니다.

결정적 전환점은 플로우 매칭(Flow Matching)입니다. Meta의 Yaron Lipman이 제안한 이 방법은 기존 디퓨전의 구불구불한 경로 대신, 노이즈에서 데이터로 가는 직선 경로를 학습합니다. "어디에 있든 상관없이, 이 방향으로 가라"고 가르치는 것입니다.

10~15줄의 코드가 역사상 가장 강력한 머신러닝 절차를 구현합니다. 이 코드는 이미지와 아무 관련이 없습니다. 날씨 데이터, 주식 시장, 로보틱스 궤적, 단백질, DNA 어디에든 동일한 코드가 적용됩니다.

핵심 훈련 루프는 다섯 줄입니다. 배치를 가져오고, 시간을 샘플링하고, 노이즈를 섞은 데이터를 만들고, 모델에 예측시키고, 실제 속도(velocity)와의 차이를 최소화합니다. 여기서 모델은 어떤 아키텍처든 될 수 있습니다. UNet, 디퓨전 트랜스포머, RNN 무엇이든 상관없습니다.

노벨상부터 자율주행까지, 디퓨전이 먹어치우지 못한 영역은 두 곳뿐입니다

디퓨전의 적용 범위는 파운더가 상상하는 것보다 훨씬 넓습니다.

  • 이미지와 영상 생성: Stable Diffusion, Midjourney, Sora, Flux, SD3 등 우리가 아는 생성형 AI의 대부분
  • 단백질 접힘: DeepMind의 AlphaFold가 노벨상을 수상한 핵심 기술
  • 로보틱스: 디퓨전 폴리시(Diffusion Policy)로 로봇이 실제로 작동하기 시작
  • 날씨 예측: GenCast가 세계에서 가장 정확한 기상 예보 시스템
  • 약물 설계: DiffDock으로 소분자-단백질 결합 예측
  • 코드 생성: 디퓨전 LLM이 NeurIPS 2024의 최대 주제 중 하나

Francois의 표현을 빌리면, 현재 AI에서 디퓨전이 최고 성능(SOTA)이 아닌 영역은 딱 두 곳뿐입니다. 자기회귀 LLM(텍스트 생성)과 게임플레이(AlphaGo 같은 MCTS 기반). 나머지 거의 모든 영역에서 디퓨전이 승리하고 있습니다.

노이즈 스케줄이 디퓨전에서 가장 이해하기 어려운 부분입니다

디퓨전을 구현할 때 가장 까다로운 부분은 노이즈를 추가하는 스케줄입니다. 직관적으로는 노이즈를 선형적으로 증가시키면 될 것 같지만, 실제로 그렇게 하면 학습이 불안정해집니다.

이유는 상대적 비율 때문입니다. 초반에는 이미지 대비 추가되는 노이즈가 미미하고, 후반에는 완전한 노이즈에 도달하기 위해 한 번에 많은 오류를 처리해야 합니다. 모델 입장에서는 매 단계마다 일정한 상대적 노이즈를 처리하는 것이 훨씬 쉽습니다. 이것이 베타 스케줄(beta schedule)이며, 누적합은 1-시그모이드 형태의 곡선이 됩니다. 이 스케줄만 제대로 설정하면 나머지는 자연스럽게 작동합니다.

파운더가 직접 노이즈 스케줄을 구현할 일은 거의 없겠지만, 이 개념을 이해하면 디퓨전 기반 제품의 품질 차이가 어디서 오는지 파악할 수 있습니다.

LLM은 눈을 감고 한 글자씩 쓰는 것과 같습니다

Francois는 "스퀸트 테스트(squint test)"라는 개념을 소개합니다. 라이트 형제의 비행기와 새를 눈을 가늘게 뜨고 보면 비슷해 보입니다. 박쥐의 날갯짓을 모방할 필요는 없었지만, 두 개의 날개는 필요했습니다. 지능도 마찬가지입니다.

현재 LLM을 스퀸트 테스트에 대입하면 문제가 보입니다. LLM은 정확히 한 토큰씩 순차적으로 생성하며, 절대 뒤로 돌아가지 않습니다. 하지만 인간의 뇌는 대규모 재귀를 사용합니다. 개념 단위로 사고하고, 이전 생각을 수정하고, 반복적으로 개선합니다.

코드를 작성할 때 한 글자씩 순서대로 쓰지 않습니다. 개념으로 생각하고, 뒤로 돌아가고, 재귀적으로 개선합니다. LLM 안에서도 그런 일이 일어나고 있을 수 있지만, 한 번에 하나의 토큰만 출력할 수 있다는 병목에 갇혀 있습니다.

디퓨전은 이 한계를 넘는 두 가지를 제공합니다. 첫째, 무작위성의 활용입니다. 생물학과 자연의 모든 것이 무작위성을 활용하며, 뇌의 뉴런도 대규모로 랜덤합니다. 둘째, 전체를 한꺼번에 생성하고 반복적으로 정제하는 능력입니다. 한 토큰씩이 아니라, 전체 개념을 동시에 내보내고 점진적으로 개선합니다.

퍽이 갈 곳으로 스케이트를 타세요

Francois는 파운더에게 두 가지 진영으로 나눠 조언합니다.

모델을 직접 훈련하는 파운더: 어떤 응용 분야든 디퓨전 절차를 반드시 검토해야 합니다. 최종 모델로 쓰지 않더라도, 잠재 공간(latent space)을 학습하는 데만 써도 강력합니다. 머신러닝의 어떤 응용 분야에서든 디퓨전을 훈련 루프의 핵심으로 고려하지 않을 이유가 없습니다.

모델을 가져다 쓰는 파운더: 디퓨전 기반 기술이 얼마나 빠르게 좋아지고 있는지에 대한 사전 확률을 갱신해야 합니다. 지난 5년간 이미지 생성이 천 배 이상 좋아진 것처럼, 단백질, DNA, 로보틱스, 자율주행 모든 영역에서 같은 일이 일어날 것입니다. 답은 스케일업이었고, 그것은 시간과 돈의 문제이며, 해결 가능한 문제입니다.

지금 디퓨전이 적용되고 있는 영역 중 아직 성숙하지 않은 곳이 바로 파운더의 기회입니다. 로봇이 가정에서 작동하는 것에 베팅하세요. 단백질 접힘이 더 정확해지는 것에 베팅하세요. 핵심 절차 자체도 계속 더 단순해지고 더 잘 작동하고 있습니다. 디퓨전이 경제 전체를 재정의할 것이라는 Francois의 말은 과장이 아닙니다.

이 글은 Y Combinator의 영상 The ML Technique Every Founder Should Know을 기반으로 작성되었습니다.