[논문 리뷰] One-step Language Modeling via Continuous Denoising
TL;DR
이 논문은 기존 이산 확산(discrete diffusion) 모델의 한계를 극복하고, 단일 스텝으로 고품질 텍스트 생성을 가능하게 하는 연속적 디노이징(continuous denoising) 방법론을 제안합니다. 핵심은 이산적인 토큰을 원-핫 벡터로 변환하여 연속적인 유클리드 공간에서 모델링하고, **플로우 매칭(flow matching)**을 통해 노이즈를 데이터로 변환하는 경로(vector field)를 직접 학습하는 것입니다. 이 방식은 토큰 간 독립성을 가정하여 발생하는 **인수분해 오차(factorization error)**를 원천적으로 제거합니다. 실험 결과, 제안된 FMLM(Flow Map Language Model)은 단일 스텝 생성만으로 기존 이산 확산 모델의 8스텝 생성 품질을 능가하는 성능을 보였습니다.
연구 배경 및 동기
텍스트 생성 모델의 양대 과제는 품질과 속도입니다. 기존의 자기회귀(autoregressive) 모델은 토큰을 하나씩 순차적으로 생성하여 품질은 높지만 속도가 느립니다. 이를 극복하기 위해 병렬 생성이 가능한 비-자기회귀(non-autoregressive) 모델, 특히 이산 확산(discrete diffusion) 모델이 주목받았습니다.
하지만 이산 확산 모델은 생성 스텝 수를 줄이면 품질이 급격히 저하되는 문제가 있습니다. 이는 모델이 각 토큰의 노이즈를 서로 독립적으로 제거한다고 가정하는 **인수분해 근사(factorization approximation)**에 기인합니다. 이 근사는 토큰 간의 복잡한 상관관계를 무시하기 때문에 근본적인 오차를 유발합니다.
본 연구는 이러한 한계를 극복하기 위해, 토큰 공간 자체를 이산적인 공간이 아닌 연속적인 유클리드 공간으로 옮겨 문제를 재정의합니다. 이 접근법을 통해 인수분해 오차를 제거하고, 더 빠르면서도 정확한 텍스트 생성을 달성하고자 합니다.
관련 연구
- 자기회귀 모델 (Autoregressive Models): Transformer, GPT 계열 모델이 대표적입니다. 높은 품질의 텍스트를 생성하지만, 길이의 시퀀스를 생성하는 데 번의 순차적 연산이 필요하여 추론 속도가 느립니다.
- 이산 확산 모델 (Discrete Diffusion Models): D3PM, MaskGIT 등이 있으며, 병렬 디코딩이 가능해 속도 향상 잠재력이 큽니다. 하지만 적은 스텝(few-step) 생성 시 품질 저하가 뚜렷하며, 이는 주로 인수분해 오차 때문입니다.
- 플로우 기반 모델 (Flow-based Models): 연속적인 공간에서 확률 분포를 변환하는 정교한 방법을 학습합니다. 본 연구는 플로우 매칭이라는 최신 기법을 언어 모델링에 적용하여, 간단하면서도 효과적으로 노이즈를 데이터로 변환하는 경로를 학습합니다.
- 증류 (Distillation): 복잡하고 큰 모델(Teacher)의 지식을 작고 빠른 모델(Student)에 전달하는 기법입니다. 본 연구에서는 다중 스텝 생성이 가능한 FLM을 단일 스텝으로 압축한 FMLM을 개발하는 데 증류 기법을 활용합니다.
핵심 기여
- 연속적 디노이징 방법론 제안: 토큰을 원-핫 벡터로 표현하여 연속 공간에서 모델링함으로써, 이산 확산 모델의 근본적인 한계인 인수분해 오차를 해결했습니다.
- FLM과 FMLM 모델 개발:
- FLM (Flow-based Language Model): 플로우 매칭을 통해 연속적 디노이징 과정을 학습하는 다중 스텝 생성 모델.
- FMLM (Flow Map Language Model): FLM을 증류하여, 노이즈에서 데이터로 한 번에 매핑하는 플로우 맵을 학습한 단일 스텝 생성 모델.
- 시간 재매개변수화 (Time Reparameterization): 디노이징 과정에서 학습이 특정 시간대에 편중되는 문제를 해결하기 위해, 디코딩 오류율을 기반으로 시간을 재분배하여 학습 효율을 높이는 기법을 도입했습니다.
- 고속 및 고품질 텍스트 생성: FMLM은 단일 스텝 생성만으로 기존 이산 확산 모델의 8스텝 품질을 능가하는 성능을 입증하여, 속도와 품질의 균형을 효과적으로 달성했습니다.
제안 방법론
본 연구의 핵심은 이산적인 토큰 공간을 연속적인 유클리드 공간으로 확장하여 언어 모델링을 수행하는 것입니다.
1. 텍스트의 연속적 표현
길이 의 시퀀스에 있는 각 토큰을 어휘 크기 의 원-핫 벡터로 표현합니다. 그러면 전체 시퀀스는 차원의 텐서가 되며, 이는 라는 연속 공간의 한 점으로 볼 수 있습니다.
2. 플로우 매칭을 통한 연속적 디노이징
단순한 분포(e.g., 가우시안 노이즈)에서 복잡한 데이터 분포로 점진적으로 변환하는 경로를 학습합니다.
-
경로 정의 (Interpolation): 시간 에 대해 노이즈 와 실제 데이터 (원-핫 시퀀스)를 잇는 직선 경로 를 정의합니다. 여기서 일 때는 순수 노이즈, 일 때는 실제 데이터가 됩니다.
-
속도장 학습 (Velocity Field): 모델은 각 시점 와 해당 시점의 상태 가 주어졌을 때, 데이터 방향으로 얼마나 빠르게 움직여야 하는지를 나타내는 속도(velocity) 를 예측하도록 학습됩니다. 이 속도들의 집합을 속도장(vector field)이라고 합니다. 여기서 는 현재 상태 에서 노이즈를 제거하여 원본 데이터 을 예측하는 디노이저(denoiser) 모델입니다.
-
FLM (Flow-based Language Model): 위 속도장 를 학습하는 모델입니다. 생성 시에는 노이즈 에서 시작하여, 학습된 속도장을 따라 여러 스텝에 걸쳐 조금씩 이동하며 최종적으로 에 가까운 데이터를 생성합니다.
3. 증류를 통한 단일 스텝 생성: FMLM
다중 스텝 추론은 여전히 속도가 느립니다. 이를 해결하기 위해 FLM을 증류하여 **FMLM (Flow Map Language Model)**을 만듭니다. FMLM은 중간 과정 없이 노이즈 를 입력받아 최종 데이터 을 직접 예측하는 플로우 맵(Flow Map) 을 학습합니다.
# 개념적 학습 과정 (PyTorch-like pseudocode)
flm_model = ... # Pre-trained FLM (Teacher)
fmlm_model = ... # FMLM to be trained (Student)
for batch in dataloader:
x1 = one_hot(batch) # 실제 데이터 (B, L, V)
x0 = torch.randn_like(x1) # 가우시안 노이즈
# Teacher 모델(FLM)을 통해 목표 결과 생성
with torch.no_grad():
target = flm_model.generate(x0, steps=1024) # 다중 스텝 생성
# Student 모델(FMLM)이 한 번에 예측하도록 학습
prediction = fmlm_model(x0) # 단일 스텝 예측
loss = cross_entropy(prediction, target)
loss.backward()
optimizer.step()
4. 시간 재매개변수화
디노이징 과정은 모든 시간 에서 동일하게 어렵지 않습니다. 대부분의 변화는 가 0에 가깝거나 1에 가까울 때 집중됩니다. 모델이 어려운 구간에 더 집중하도록, 디코딩 오류율 를 이용해 시간을 재정의하는 를 도입합니다. 오류율이 급격히 변하는 구간에서 시간의 흐름이 느려지도록 만들어, 모델이 해당 구간을 더 세밀하게 학습하도록 유도합니다.
실험 설정
- 데이터셋: LM1B (One Billion Word), OpenWebText(OWT)
- 평가 지표:
- Generative PPL (Perplexity): 생성된 텍스트의 품질을 측정. 낮을수록 좋습니다.
- Entropy: 생성된 텍스트의 다양성을 측정.
실험 결과 분석
실험 결과, FMLM은 단일 스텝 생성만으로도 기존의 강력한 이산 확산 모델의 다중 스텝 생성 성능을 뛰어넘었습니다.
| 모델 | 스텝 수 | Generative PPL (LM1B) | 설명 |
|---|---|---|---|
| FLM | 1,024 | 67.20 | 본 연구의 다중 스텝 Teacher 모델 |
| FMLM | 1 | 95.47 | 본 연구의 단일 스텝 Student 모델 |
| MDLM | 8 | 96.24 | 대표적인 이산 확산 모델 |
| Duo | 16 | 177.75 | 자기회귀 모델 |
주요 결과:
- FMLM은 단 1스텝만으로 8스텝이 필요한 이산 확산 모델 MDLM보다 더 낮은 PPL(더 좋은 품질)을 달성했습니다.
- 이는 연속적 디노이징과 증류 기법이 속도와 품질을 모두 잡는 데 매우 효과적임을 보여줍니다.
Ablation Study
시간 재매개변수화 기법을 제거했을 때 모델의 성능이 크게 하락하는 것을 확인했습니다. 이는 해당 기법이 학습의 어려운 구간에 모델의 "주의"를 집중시켜 전반적인 성능 향상에 크게 기여했음을 의미합니다.
비판적 평가
강점
- 혁신적인 접근: 이산 공간의 언어 모델링 문제를 연속 공간으로 가져와 인수분해 오차라는 근본적인 한계를 해결했습니다.
- 압도적인 속도와 품질: FMLM은 단일 스텝 생성이라는 빠른 속도와 기존 다중 스텝 모델을 능가하는 높은 품질을 동시에 달성했습니다.
- 효율적인 학습 전략: 시간 재매개변수화와 같은 기법을 통해 학습 효율을 높여 모델 성능을 극대화했습니다.
한계점과 개선 방향
- 높은 계산 비용: 토큰을 차원의 원-핫 벡터로 표현하므로, 모델의 입력 텐서 크기는 가 됩니다. 어휘 크기 가 수만 개에 달하므로 이는 엄청난 계산량과 메모리를 요구합니다. 이 문제를 해결하기 위해 저차원 임베딩 공간에서 플로우를 학습하는 등의 후속 연구가 필요합니다.
- 모델의 복잡성: FLM 학습 후 FMLM을 증류하는 2단계 학습 과정은 다소 복잡합니다.
재현성 평가
논문 저자들이 공식 코드 저장소를 공개하여 재현성이 높습니다. 다만, 원-핫 표현으로 인한 높은 VRAM 요구 사양 때문에 일반적인 환경에서 대규모 실험을 재현하기는 어려울 수 있습니다.
향후 연구 방향
- 계산 비용 최적화: 입력의 비효율성을 개선하기 위해, 저차원 연속 공간에서 플로우를 학습하거나, 중요한 토큰에만 집중하는 희소(sparse) 표현을 사용하는 연구가 필요합니다.
- 다양한 태스크 적용: 텍스트 요약, 번역, 코드 생성 등 다른 생성 태스크에 연속적 디노이징 방법론을 적용하여 그 가능성을 탐색할 수 있습니다.
- 모델 경량화: 더 적은 파라미터로 유사한 성능을 내는 경량화된 FMLM 구조에 대한 연구가 필요합니다.
결론
본 연구는 언어 모델링의 패러다임을 이산 공간에서 연속 공간으로 전환하여, 단일 스텝 고품질 텍스트 생성이라는 중요한 이정표를 세웠습니다. FMLM은 기존 이산 확산 모델의 근본적인 한계를 극복하고 속도와 품질 두 마리 토끼를 모두 잡았습니다. 계산 비용이라는 명확한 한계가 존재하지만, 이는 향후 연구를 통해 개선될 여지가 충분하며, 비-자기회귀 언어 모델링 분야에 새로운 방향을 제시한 중요한 연구입니다.
참고 자료
- 논문: Li et al., "One-step Language Modeling with Continuous Denoising", ICLR 2024. (https://arxiv.org/abs/2310.03327)
- 코드 저장소: https://github.com/SHI-Labs/Flow-Map-Language-Model

![[논문 리뷰] One-step Language Modeling via Continuous Denoising](/assets/images/blog/20260221-paper-2602-16813-one-step-language-modeling-via.jpg)