클라우드에서 잘 돌아가는 LLM이 내 컴퓨터에선 왜 이렇게 느릴까요? 단순히 하드웨어 차이가 아닙니다. 구조 자체가 다수 사용자를 위해 설계되어 있기 때문입니다. DiffusionGemma는 그 구조를 뒤집습니다.

Google이 텍스트 디퓨전(text diffusion) 방식을 적용한 실험적 오픈 모델 DiffusionGemma를 공개했습니다. 26B MoE(Mixture of Experts) 아키텍처 기반으로, 기존 자기회귀(autoregressive) LLM과 달리 텍스트를 256토큰 블록 단위로 동시에 생성합니다. 단일 GPU 환경에서 최대 4배 빠른 추론 속도를 제공하며, Apache 2.0 라이선스로 공개됐습니다.
출처: Introducing DiffusionGemma – Google Blog
왜 로컬에서 LLM이 느린가
기존 LLM은 토큰을 하나씩 순서대로 생성합니다. 클라우드 환경에서는 이 방식이 효율적입니다. 수천 명의 요청을 동시에 처리할 때, GPU는 매 스텝마다 가중치를 메모리에서 한 번만 불러오면 되기 때문입니다. 1명을 위해 불러오든 256명을 위해 불러오든 비용이 거의 같으니, 많은 사용자를 묶어서 처리할수록 이득입니다.
문제는 혼자 쓸 때입니다. 단일 사용자 환경에서는 배치(batch)할 대상이 없으니 GPU가 매 토큰마다 기다리고 있는 셈입니다. 고사양 GPU를 가져다 놓아도 메모리 대역폭 병목 때문에 실제 연산 능력의 극히 일부만 씁니다.
256토큰을 한 번에 그린다
DiffusionGemma는 이 비효율을 정반대로 활용합니다. 1명에게 256개 토큰을 동시에 만들어주는 방식으로, 유휴 연산 자원을 단일 사용자에게 집중시킵니다.
작동 흐름은 이렇습니다.
- 캔버스 초기화 — 256개의 무작위 토큰으로 채워진 빈 공간(캔버스)에서 시작합니다.
- 반복 정제 — 모델이 캔버스 전체를 보면서 각 위치에 맞는 토큰을 예측합니다. 확신도가 높은 토큰부터 확정되고, 불확실한 자리는 다시 노이즈 처리됩니다.
- 자기 교정 — 이전 스텝의 예측 결과를 다음 스텝에 전달해, 앞서 잘못 확정된 토큰도 다음 패스에서 바꿀 수 있습니다.
- 수렴 — 캔버스가 충분히 안정되면 조기 종료합니다. 최대 스텝 수를 채울 필요가 없습니다.
이미지 생성 AI가 노이즈에서 그림을 점점 뚜렷하게 만들어나가는 것과 같은 원리입니다. 토큰 하나씩 이어붙이는 타자기 대신, 문단 전체를 한 번에 찍는 인쇄기에 가깝습니다.
양방향 어텐션(bidirectional attention)을 쓰기 때문에 모든 토큰이 서로를 참조할 수 있어, 코드 자동 완성이나 마크다운 괄호 닫기처럼 앞뒤 맥락이 동시에 필요한 작업에서도 일관성이 유지됩니다.
언제 쓰고, 언제 쓰지 말아야 하나
DiffusionGemma가 빛나는 환경이 있고, 반대로 쓰지 않는 게 나은 환경도 있습니다.
로컬 추론, 실시간 인터랙션, 단일 사용자 환경에 적합합니다. 인라인 편집, 빠른 반복 생성, 코드 자동 완성처럼 응답 속도가 핵심인 작업에서 강점을 발휘합니다. 논문은 스도쿠 풀기처럼 자기회귀 모델이 구조적으로 어려워하는 작업(미래 토큰에 의존하는 생성)도 양방향 어텐션 덕분에 파인튜닝으로 가능하다고 소개합니다.
반면 클라우드 서빙이나 고품질 출력이 우선인 경우에는 적합하지 않습니다. 다수 동시 요청 처리 환경에서는 병렬 디코딩의 장점이 희석되고 오히려 비용이 올라갑니다. 전반적인 출력 품질도 표준 Gemma 4보다 낮습니다. Google도 프로덕션 품질이 필요한 용도에는 표준 Gemma 4를 권장합니다.
모델은 18GB VRAM 이하의 소비자용 고사양 GPU(양자화 기준)에서 구동됩니다. NVIDIA RTX 5090 및 H100을 기준으로 각각 초당 700토큰 이상, 1,000토큰 이상을 생성합니다.
기존 LLM 위에 디퓨전을 얹다
DiffusionGemma의 설계에서 눈에 띄는 점은 처음부터 만들지 않았다는 것입니다. 이미 광범위하게 사전학습된 Gemma 4 26B A4B 모델을 기반으로, 같은 모델이 인코더 모드와 디노이저 모드를 동적으로 전환하는 구조입니다. 처음부터 학습하는 데 따르는 불안정성을 피하면서 기존 모델의 지식을 그대로 가져옵니다.
256토큰을 넘는 긴 텍스트는 디퓨전과 자기회귀를 혼합해 처리합니다. 256토큰 블록을 디퓨전으로 채운 뒤, 그 결과를 다음 블록의 입력으로 연결하는 방식입니다. 결과적으로 블록 내부는 병렬, 블록 간 순서는 순차 구조가 됩니다.
텍스트 생성의 기본 구조를 바꾸려는 시도는 지금까지 여러 차례 있었지만, 대규모 모델에 안정적으로 적용한 사례는 드물었습니다. DiffusionGemma는 그 가능성을 실험적으로 열어두고 있습니다. 아키텍처 세부 사항과 파인튜닝 기법은 A Visual Guide to DiffusionGemma에서 시각적으로 자세히 다루고 있습니다.
참고자료: A Visual Guide to DiffusionGemma – Maarten Grootendorst

답글 남기기