100B 파라미터도 가뿐하게! MoE와 Token Editing으로 AR 모델의 속도를 넘어서다

100B 파라미터도 가뿐하게! MoE와 Token Editing으로 AR 모델의 속도를 넘어서다
Part 3에서 LLaDA가 Masked Diffusion을 8B 스케일로 확장하며 "Diffusion LLM은 가능하다"를 증명했습니다. 하지만 실용적인 문제가 남아 있었습니다: 속도가 AR 모델에 비해 훨씬 느리고, RLHF 같은 정렬 학습이 부재했습니다.
2025년 11월 Ant Group의 InclusionAI가 LLaDA 2.0으로 이 간극을 좁히기 시작했고, 2026년 2월 LLaDA 2.1에서 Token Editing이라는 혁신으로 속도-품질 트레이드오프를 재정의했습니다.
이 글에서는 8B에서 100B로의 스케일링, MoE 아키텍처의 도입, 그리고 Token Editing의 작동 원리를 다룹니다.
LLaDA 2.0: 100B로의 도약
LLaDA 2.0은 두 가지 모델을 출시했습니다:
핵심 변화: MoE(Mixture of Experts) 도입.
원본 LLaDA 8B는 dense 모델이었습니다 -- 모든 파라미터가 매 입력에 대해 활성화됩니다. LLaDA 2.0은 MoE 구조를 채택해 총 파라미터는 크게 키우되, 실제 추론 시에는 소수의 expert만 활성화됩니다.
LLaDA 2.0-flash는 100B 파라미터 중 6.1B만 활성화됩니다. 이것은 Mixtral, DeepSeek 등 AR MoE 모델과 동일한 전략입니다: "모델의 전체 지식은 넓게 유지하되, 추론 비용은 낮게."
MoE + Diffusion: 왜 효과적인가
MoE가 Diffusion 모델에 특히 잘 맞는 이유가 있습니다.
AR 모델에서 MoE: 각 토큰마다 라우터가 적합한 expert를 선택합니다. 순차적으로 토큰을 생성하므로, 매 step마다 1개 토큰에 대해 expert를 선택합니다.
Diffusion 모델에서 MoE: 전체 시퀀스의 모든 토큰이 동시에 처리됩니다. 한 denoising step에서 수천 개 토큰이 동시에 여러 expert에 분배되므로, expert 활용률(utilization)이 자연스럽게 높아집니다.
AR 모델에서는 배치 크기를 키워야 expert 활용률이 올라가지만, Diffusion 모델은 단일 입력에서도 시퀀스 내 다양한 토큰이 서로 다른 expert를 활성화하므로 효율적입니다.
학습 규모
LLaDA 2.0의 학습 규모:
- 학습 데이터: 약 20조(trillion) 토큰
- 학습 프레임워크: dFactory (FSDP2 기반)
- Continual training: Ling2.0 시리즈를 기반으로 지속 학습
원본 LLaDA가 2.3T 토큰으로 학습한 것에 비해, 약 8.7배 더 많은 데이터를 사용했습니다.
LLaDA 2.0 벤치마크
LLaDA 2.0-flash (100B) 주요 결과:
비교: Qwen3-30B-A3B-Instruct(AR MoE 모델)의 전체 평균이 79.47입니다. 거의 동등한 수준입니다.
100B Diffusion 모델이 비슷한 크기의 AR MoE 모델과 대등하다는 것은, Diffusion LLM의 실용성을 보여주는 강력한 증거입니다.
LLaDA 2.0-mini (16B) 주요 결과:
LLaDA 2.1: Token Editing 혁신
LLaDA 2.0은 품질에서 AR과 대등해졌지만, 속도 문제가 남아 있었습니다. 기존 Diffusion 방식은:
- 모든 위치가 [MASK]인 시퀀스에서 시작
- 여러 denoising step에 걸쳐 점진적으로 토큰 복원
- 각 step에서 전체 시퀀스를 다시 처리
LLaDA 2.1은 Token Editing으로 이 과정을 근본적으로 개선합니다.
핵심 아이디어: 기존 Mask-to-Token(M2T) 방식에 Token-to-Token(T2T) editing을 결합.
M2T (기존): [MASK] -> 실제 토큰. 빈칸에서 시작해 토큰을 채워 넣습니다.
T2T (신규): 이미 생성된 토큰 -> 더 나은 토큰. 이전 step에서 생성한 토큰이 틀렸을 수 있으므로, 이를 감지하고 수정합니다.
이것이 AR 모델과의 결정적 차이입니다. AR 모델은 한번 생성한 토큰을 되돌릴 수 없습니다. "The capital of France is Berlin"에서 "Berlin"이 틀렸다는 것을 깨달아도, 이미 출력된 토큰을 고칠 방법이 없습니다. 초반의 잘못된 토큰이 이후 모든 생성에 전파됩니다 -- error propagation 문제입니다.
LLaDA 2.1의 Token Editing은 이것을 근본적으로 해결합니다. 이미 생성된 토큰이라도, 다음 denoising step에서 모델이 "이 토큰은 context와 맞지 않는다"고 판단하면 다른 토큰으로 교체합니다. 생성이 곧 편집이고, 편집이 곧 생성입니다. 인간의 글쓰기에 비유하면: AR은 절대 지울 수 없는 펜으로 왼쪽에서 오른쪽으로만 쓰는 것이고, LLaDA 2.1은 연필로 쓰면서 동시에 지우개로 수정하는 것입니다.
S-Mode와 Q-Mode
Token Editing의 강도를 조절하는 두 가지 모드:
S-Mode (Speed Mode):
- threshold: 0.5 (M2T를 공격적으로 진행)
- editing_threshold: 0.0 (T2T editing으로 품질 보완)
- 속도 우선. 더 적은 denoising step으로 빠르게 생성
Q-Mode (Quality Mode):
- threshold: 0.7 (M2T를 보수적으로 진행)
- editing_threshold: 0.5 (높은 확신이 있는 토큰만 유지)
- 품질 우선. 더 많은 정제 단계를 거침
S-Mode는 LLaDA 2.0 대비 TPF를 2배 이상 높이면서 약간의 품질 하락만 있습니다. Q-Mode는 품질을 유지하면서도 20% 이상 빠릅니다.
추론 속도: Diffusion이 AR을 이긴다?
LLaDA 2.1-flash (100B)의 코딩 벤치마크 속도:
892 TPS(Tokens Per Second)는 놀라운 수치입니다. 100B 모델에서 이 속도가 나온다는 것은, Token Editing + MoE의 시너지가 작동하고 있음을 보여줍니다.
비교 맥락: 비슷한 크기의 AR MoE 모델은 speculative decoding 같은 최적화 없이는 이 속도에 도달하기 어렵습니다. Diffusion의 병렬 생성 + Token Editing의 선택적 정제가 결합되어 AR의 순차 생성을 속도에서 이길 수 있는 시나리오가 만들어지고 있습니다.
Diffusion LLM을 위한 RL Framework
LLaDA 2.1의 또 다른 기여는 Diffusion LLM을 위한 최초의 대규모 RL(Reinforcement Learning) framework입니다.
AR 모델에서 RLHF는:
- 모델이 응답을 생성
- 보상 모델이 품질을 평가
- Policy gradient로 모델을 업데이트
이것이 Diffusion 모델에서는 더 복잡합니다:
- 생성이 순차적이 아닌 반복적 denoising으로 이루어짐
- 중간 step의 gradient를 어떻게 추정할 것인가?
- Masking/unmasking의 이산적 특성이 gradient 계산을 어렵게 함
LLaDA 2.1은 이 문제를 위한 전용 기법들을 개발했습니다:
- 안정적인 gradient 추정을 위한 특수화된 기법
- 확장된 context window
- Reasoning precision 향상
- Instruction-following fidelity 개선
이 RL framework 덕에 LLaDA 2.1은 이전 버전들보다 더 정교한 추론과 지시 수행 능력을 갖추게 되었습니다.
LLaDA 2.1 벤치마크 심층 분석
LLaDA 2.1-mini (S-Mode vs Q-Mode vs 2.0):
주목할 결과:
GPQA: Q-Mode가 2.0 대비 +5.52 향상. RL framework의 효과가 가장 드러나는 벤치마크.
ZebraLogic: Q-Mode가 2.0 대비 +12.9 향상 (64.20 -> 77.10). 논리적 추론에서 RL의 효과가 극대화.
AIME 2025: Q-Mode에서 36.67 -> 43.33으로 수학 경시대회 수준의 문제도 개선.
실행 코드
LLaDA 2.1을 사용하는 Python 코드:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_path = "inclusionAI/LLaDA2.1-mini"
model = AutoModelForCausalLM.from_pretrained(
model_path, trust_remote_code=True, device_map="auto"
)
model = model.to(torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
prompt = "Explain the concept of diffusion in language models."
input_ids = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
)
# S-Mode (Speed)
generated = model.generate(
inputs=input_ids,
gen_length=512,
block_length=32,
threshold=0.5,
editing_threshold=0.0,
temperature=0.0,
)
print(tokenizer.decode(generated[0]))
# Q-Mode (Quality)
generated = model.generate(
inputs=input_ids,
gen_length=512,
block_length=32,
threshold=0.7,
editing_threshold=0.5,
temperature=0.0,
)
print(tokenizer.decode(generated[0]))SGLang으로 서버 배포:
python3 -m sglang.launch_server \
--model-path inclusionAI/LLaDA2.1-flash \
--dllm-algorithm JointThreshold \
--tp-size 4 \
--trust-remote-code \
--mem-fraction-static 0.8전체 타임라인 정리
Diffusion LLM의 미래
LLaDA 시리즈가 보여준 것은 Diffusion LLM이 단순한 학술적 호기심이 아니라, 실용적인 대안이 될 수 있다는 것입니다.
현재 Diffusion LLM의 장점:
- 양방향 context (Reversal Curse 완화)
- 병렬 생성 (Token Editing과 결합 시 속도 이점)
- 반복적 수정 (생성 후에도 토큰 교정 가능)
- MoE와의 자연스러운 시너지
아직 남은 과제:
- AR 대비 작은 생태계 (fine-tuning 도구, 양자화 기법 등)
- 멀티모달 확장 (LLaDA-V가 시작했지만 초기 단계)
- 더 긴 context window (현재 32K)
- 더 많은 실세계 배포 사례
하지만 방향은 분명합니다. 1년 만에 8B dense 모델에서 100B MoE + Token Editing + RL까지 도달했습니다. Diffusion LLM은 AR의 독점에 첫 번째 균열을 내고 있습니다.
핵심 정리
참고 문헌
- InclusionAI. "LLaDA 2.0 Technical Report." arXiv:2512.15745, 2025.
- InclusionAI. "LLaDA 2.1: Speeding Up Text Diffusion via Token Editing." arXiv:2602.08676, 2026.
- Nie et al. "Large Language Diffusion Models." arXiv:2502.09992, 2025.
- Fedus et al. "Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity." JMLR 2022.