본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 18. 15:23

DiffusionGemma 26B: Google의 텍스트 확산 모델이 토큰을 병렬로 생성하는 방법

요약

Google DeepMind가 발표한 DiffusionGemma 26B는 기존의 자기회귀 방식 대신 이산 확산(Discrete Diffusion) 기술을 사용하여 텍스트를 병렬로 생성하는 오픈 웨이트 모델입니다. 이 방식은 낮은 배치 크기에서도 H100 GPU 기준 초당 1,000개 이상의 토큰을 생성할 수 있어 지연 시간에 민감한 워크로드에 혁신적인 성능을 제공합니다.

핵심 포인트

  • 자기회귀 방식의 메모리 대역폭 제한 문제를 이산 확산 방식으로 해결
  • 양방향 어텐션을 통해 텍스토 캔버스의 노이즈를 반복적으로 제거하며 병렬 생성
  • 단일 GPU 및 로컬 배포 환경에서 매우 높은 토큰 생성 속도 구현
  • 프롬프트 처리를 위한 인코더와 생성 캔버스를 위한 디코더의 구조 활용

DiffusionGemma 26B: Google의 텍스트 확산 모델이 토큰을 병렬로 생성하는 방법

Google DeepMind는 2026년 6월 10일에 DiffusionGemma 26B-A4B를 출시했습니다. 이는 오늘날 거의 모든 주요 LLM이 사용하는 자기회귀 (Autoregressive) 방식 대신 이산 확산 (Discrete Diffusion)을 사용하여 텍스트를 생성하는 오픈 웨이트 (Open-weight) 언어 모델입니다. 그 결과, 동일한 하드웨어에서 표준 자기회귀 (Autoregressive) 방식인 Gemma 4 26B가 초당 약 70개의 토큰을 생성하는 것과 비교하여, 이 모델은 작은 배치 크기(Small batch sizes)에서 H100 GPU를 통해 초당 1,000개 이상의 토큰을 생성할 수 있습니다. 이 포스트에서는 이것이 어떻게 작동하는지, 어떤 트레이드오프 (Tradeoffs)가 있는지, 그리고 실제로 언제 사용하고 싶은지에 대해 설명합니다.

자기회귀 (Autoregressive) 생성의 핵심 문제

표준 언어 모델 — GPT, Llama, Gemma, Claude — 은 텍스트를 한 번에 하나의 토큰씩 생성합니다. 각 새로운 토큰은 이전의 모든 토큰을 조건으로 하며, 이는 모델이 매 출력 토큰마다 전체 순전파 (Forward pass)를 실행해야 함을 의미합니다. 낮은 배치 크기(하나 또는 몇 개의 동시 요청)에서는 이것이 메모리 대역폭 제한 (Memory-bandwidth-bound) 상태가 됩니다. 즉, GPU는 실제로 행렬 곱셈 (Matrix multiplications)을 수행하는 대신 모델 가중치를 VRAM에서 연산 유닛으로 이동시키는 데 대부분의 시간을 소비합니다. 텐서 코어 (Tensor cores)는 제대로 활용되지 못한 채 머물게 됩니다.

이는 수백 개의 요청을 함께 배치할 수 있는 고처리량 (High-throughput) 클라우드 배포에는 괜찮습니다. 하지만 실시간으로 응답하는 코딩 어시스턴트, 브라우저 내 도구, 단일 GPU에서의 로컬 배포와 같이 대화형, 로컬 또는 지연 시간 (Latency)에 민감한 워크로드의 경우, 자기회귀 (Autoregressive) 생성은 설계상 느립니다.

확산 (Diffusion)이 방정식을 바꾸는 방법

DiffusionGemma는 이미지 확산 모델 (Stable Diffusion과 같은)의 핵심 아이디어를 빌려와 이를 이산 텍스트 토큰 (Discrete text tokens)에 적용합니다. 토큰을 왼쪽에서 오른쪽으로 생성하는 대신, 모델은 256개의 마스킹 (Masked)되거나 무작위인 토큰으로 구성된 "캔버스"에서 시작하여 여러 번의 패스를 통해 반복적으로 노이즈를 제거 (Denoise)합니다.

각 노이즈 제거 (Denoising) 단계에서 모델은 **양방향 어텐션 (Bidirectional Attention)**을 사용합니다. 즉, 256개 토큰 블록 내의 모든 위치가 동시에 다른 모든 위치를 참조(Attend)합니다. 이는 아키텍처 측면에서 GPT보다는 BERT에 더 가깝습니다. 모델은 전체 블록을 병렬로 정제하며, 신뢰도가 높은 토큰을 먼저 확정(Locking in)하고 불확실한 토큰들을 계속해서 정제해 나갑니다. 생성은 캔버스 평균 엔트로피 (Canvas Entropy)가 임계값 아래로 떨어지거나, 두 번의 연속된 단계에서 토큰이 안정화될 때 중단됩니다 (최대 48번의 노이즈 제거 단계까지 수행).

인코더-디코더 (encoder-decoder) 구조는 주목할 만한 가치가 있습니다. 자기회귀 (autoregressive) 인코더가 프롬프트 컨텍스트 (입력)를 처리하고 캐싱하는 동안, 디코더는 생성 캔버스 (출력)에 대해 양방향 어텐션 (bidirectional attention)을 적용합니다. 이는 프롬프트 처리는 여전히 순차적이지만, 출력 생성은 병렬적으로 이루어짐을 의미합니다.

권장되는 샘플러 (sampler)는 적응형 중단 (adaptive stopping) 기능이 포함된 엔트로피 제한 노이즈 제거 (entropy-bounded denoising)를 사용합니다. 온도는 노이즈 제거 단계에 따라 0.8에서 0.4까지 선형적으로 감소하며, 엔트로피가 가장 낮은 토큰이 먼저 고정됩니다. 평균 캔버스 엔트로피가 0.005 미만으로 떨어지고 상위 토큰이 두 단계에 걸쳐 안정적이면 생성이 조기에 종료됩니다.

벤치마크 수치 (Benchmark Numbers)

속도 향상은 실질적이지만, 품질과의 트레이드오프 (tradeoffs)가 수반됩니다. 동일한 벤치마크에서 DiffusionGemma를 표준 Gemma 4 26B와 비교하면 다음과 같습니다:

벤치마크DiffusionGemmaGemma 4 26B
MMLU Pro77.6%82.6%
...

격차는 일관적입니다. DiffusionGemma는 추론 및 코딩 벤치마크 전반에서 자기회귀 모델보다 약 5~20 퍼센트 포인트 낮은 점수를 기록합니다. 유일한 예외는 도구(tools)를 사용하지 않는 HLE (Humanity's Last Exam)로, 여기서 DiffusionGemma는 11.0%, Gemma 4는 8.7%를 기록했습니다. 다만 두 수치 모두 매우 낮기 때문에 이것이 유의미하지 않을 수도 있습니다.

처리량 (throughput) 측면에서 배포 벤치마크는 다음과 같은 결과를 보여줍니다:

  • H100, FP8, 배치 1: ~1,100 tokens/sec
  • L40S, INT8, 배치 4: ~1,400 tokens/sec
  • L40S, INT8, 배치 1: ~480 tokens/sec (T=10 기준)
  • 자기회귀 (Autoregressive) Gemma 4, L40S, 배치 1: ~70 tokens/sec

속도 향상은 작은 배치 크기에서 가장 두드러집니다. 배치 크기가 32 이상인 경우, 연속 배치 (continuous batching)를 사용하는 자기회귀 모델이 격차를 크게 좁힙니다.

하드웨어 요구 사항 (Hardware Requirements)

26B MoE 아키텍처는 순전파 (forward pass)당 3.8B만 활성화됨에도 불구하고, 시작 시 모든 전문가 (expert) 가중치를 VRAM에 로드합니다. 이는 VRAM 요구 사항이 활성 파라미터가 아닌 전체 파라미터에 의해 결정됨을 의미합니다:

  • BF16: ~52 GB VRAM (H100 80GB 또는 RTX PRO 6000 필요)
  • INT8: ~28 GB (L40S 48GB에 적합)
  • NVFP4 (4-bit): ~18 GB (RTX 4090 24GB에 적합)

이 모델은 Hugging Face에서 Apache 2.0 라이선스로 제공되며, vLLM, Hugging Face Transformers, SGLang, MLX, Unsloth, 그리고 NVIDIA NeMo와 함께 작동합니다.

유효한 활용 사례 (및 부적합한 사례)

양방향 어텐션 (bidirectional attention) 메커니즘 덕분에 DiffusionGemma는 출력물에 전역적 구조 (global structure)가 필요한 작업, 즉 코드 인필링 (code infilling), 구조화된 문서 완성, 또는 JSON 스키마 채우기와 같은 제약 조건이 있는 생성 (constrained generation) 작업에 특히 적합합니다. 이 모델은 전체 출력 블록을 한 번에 "볼" 수 있으며, 자기회귀 (autoregressive) 모델이 다루기 까다로운 의존성(예: 내부 콘텐츠를 생성하기 전에 닫는 괄호가 필요하다는 것을 미리 아는 것)을 해결할 수 있습니다.

다음과 같은 경우에는 덜 적합합니다:

  • 고동시성 API (High-concurrency APIs): 연속 배칭 (continuous batching)을 사용하는 자기회귀 모델이 배치 크기 32 이상에서 더 효율적인 경우
  • 긴 문맥 작업 (Long-context tasks): 256-토큰 블록 구조가 오버헤드를 추가하는 경우
  • 스트리밍 출력 (Streaming output): 사용자가 토큰이 하나씩 나타나는 것을 기대하는 경우 — DiffusionGemma는 블록을 확정하기 전에 전체 블록을 생성합니다
  • 운영 품질이 중요한 애플리케이션 (Production quality-critical applications): 벤치마크 격차가 중요한 경우

이 모델은 Google DeepMind에 의해 명시적으로 실험적 (experimental)이라고 라벨링되어 있으며, 공식 문서의 권장 사항은 품질이 중요한 출력에는 표준 Gemma 4를 사용하는 것입니다.

이것이 시사하는 점

텍스트 확산 (Text diffusion)은 수년간 연구 방향 중 하나였습니다. MDLM, PLAID, 그리고 초기 마스크 확산 (masked diffusion) 접근 방식과 같은 모델들이 이 영역을 탐구해 왔지만, DiffusionGemma는 주요 연구소에서 프런티어 MoE 백본을 기반으로 구축된 프로덕션 규모의 오픈 웨이트 (open-weight) 텍스트 확산 모델을 출시한 첫 번째 사례입니다. Apache 2.0 라이선스이며 표준 추론 프레임워크 (vLLM, SGLang)와 호환된다는 사실은 이 모델이 단순한 연구 산출물이 아니라 즉시 사용 가능한 도구임을 의미합니다.

자기회귀 (Autoregressive) 방식의 Gemma 4와 비교했을 때 발생하는 품질 격차는 실재하며 진지하게 고려할 가치가 있습니다. 하지만 단일 GPU에서 초당 1,000개의 토큰 생성을 목표로 하는 상호작용형 저지연 (low-latency) 로컬 추론 (local inference)이라는 특정 사용 사례의 경우, DiffusionGemma는 설계 공간 (design space) 내에서 의미 있게 다른 지점을 제공합니다. 추가적인 학습과 아키텍처 개선을 통해 확산 (diffusion) 방식이 품질 격차를 줄일 수 있을지는 아직 미지수이며, 이제 오픈 웨이트 (open weights)가 공개됨에 따라 이를 탐구하기가 훨씬 쉬워졌습니다.

_주요 출처: Google DeepMind의 DiffusionGemma 관련 블로그 포스트

_모델 카드: Hugging Face — google/diffusiongemma-26B-A4B-it

_배포 가이드: Spheron — GPU 클라우드에 DiffusionGemma 배포하기

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0