DLLM: 기존 LLM과의 차이점과 새로운 가능성

DLLM(Diffusion Large Language Model)은 확산 방식으로 텍스트를 생성하는 대규모 언어 모델이다. LLM과 별개의 종류라는 뜻이 아니라, 다음 토큰을 순서대로 생성하는 자기회귀 방식 외에도 언어 모델을 만들 수 있다는 접근이다.

이 글은 2025년 3월에 주목한 개념을 설명하되, 구체적인 작동 방식은 2025년 2월 공개된 LLaDA의 마스크 확산 방식을 기준으로 한다. 확산 언어 모델 전체가 하나의 구조나 생성 전략을 쓰는 것은 아니다.

이미지 확산을 그대로 텍스트에 옮길 수 있을까

이미지에서 픽셀 값은 연속적인 수치로 다룰 수 있지만 텍스트의 토큰 ID는 어휘를 가리키는 이산적인 번호다. 토큰 ID에 작은 수를 더한다고 의미가 조금 변한 단어가 되는 것은 아니다.

따라서 확산 언어 모델이라고 해서 모두 문장에 가우시안 노이즈를 더하는 것은 아니다. LLaDA는 일부 토큰을 [MASK]로 가리고 복원하도록 학습한다. LLaDA 연구팀의 방법 설명

DLLM 작동 원리 확산 언어 모델의 복원 과정에 대한 개념 이미지. 구체적인 노이즈와 생성 전략은 모델에 따라 다르다.

비교 대상을 먼저 나누자

GPT 계열의 자기회귀 모델은 앞선 토큰을 조건으로 다음 토큰을 예측한다. 보통 생성에서는 토큰을 차례로 확정하지만, 학습 때는 정답 문장이 주어지므로 여러 위치의 예측을 병렬 계산할 수 있다. 생성 순서와 학습의 병렬성은 다른 이야기다. GPT-3 논문

BERT는 일부 토큰을 가린 뒤 앞뒤 문맥으로 복원하는 학습을 한다. 그래서 양방향 문맥을 쓴다는 점은 비슷하지만, 원래 BERT가 곧바로 LLaDA와 같은 반복 생성 모델인 것은 아니다. 학습 목표와 실제 생성 절차를 함께 봐야 한다. BERT 논문

비교 자기회귀 생성 모델 BERT의 마스크 언어 모델링 LLaDA 방식
학습에서 예측할 대상 다음 토큰 가려진 토큰 여러 마스킹 비율에서 가려진 토큰
복원·예측에 쓰는 문맥 해당 위치보다 앞선 토큰 앞뒤 문맥 앞뒤의 관측·생성 중인 문맥
기본 활용 방식 순차적 텍스트 생성 문맥 표현 학습과 과제별 활용 반복적인 마스크 복원을 통한 생성
주의할 해석 학습까지 한 토큰씩 한다는 뜻은 아님 그 자체가 대화 생성 절차는 아님 한 번의 계산으로 완성된다는 뜻은 아님

LLaDA는 어떻게 학습하고 생성할까

학습에서는 문장에 적용할 마스킹 비율을 고르고, 가려진 위치의 원래 토큰을 예측하게 한다. 구현이 매 학습 샘플마다 모든 중간 노이즈 단계를 차례로 만들어야 한다는 의미는 아니다.

생성할 때는 프롬프트를 조건으로 두고, 응답 영역을 마스크에서 시작해 여러 단계에 걸쳐 채운다. 한 단계에서 여러 위치를 예측할 수 있고, 생성 전략에 따라 일부를 다시 마스킹하며 복원한다. 아래는 실제 모델 출력이 아니라 순서를 설명하기 위한 가상 예시다.

단계 응답 영역의 예시 의미
시작 [MASK] [MASK] [MASK] [MASK] 아직 응답 토큰이 정해지지 않음
중간 작은 [MASK] 먼저 [MASK] 떨어진 여러 위치를 채울 수 있음
중간 작은 실험을 먼저 [MASK] 나머지 문맥을 함께 보며 복원
완료 작은 실험을 먼저 해보자 선택한 생성 절차가 응답을 완성

실제 토큰 경계는 표의 어절 경계와 다르다. 또한 한 번 선택한 토큰을 언제 유지하거나 다시 가릴지는 스케줄과 샘플러에 달려 있다. LLaDA 논문 v1의 학습·추론 절차

병렬 생성이면 항상 빠를까

한 단계에서 여러 위치를 계산할 수 있다는 것은 가능성이지, 모든 요청의 지연시간이 더 짧다는 보장은 아니다. 비교하려면 다음 항목을 함께 고정하거나 공개해야 한다.

  • 모델 크기, 하드웨어와 동시 요청 수
  • 입력과 출력 길이
  • 복원 단계 수와 생성 전략
  • 양자화·캐시·배치 등 추론 구현
  • 같은 품질 기준을 만족하는지

예를 들어 출력 위치 512개를 32단계로 채우는 설정을 상상할 수 있다. 하지만 이것을 512번의 토큰 생성과 단순히 나눠 “16배 빠르다”고 계산하면 안 된다. 한 단계가 처리하는 범위와 비용이 다르기 때문이다. 자기회귀 모델의 캐시를 활용한 토큰 생성 비용과 여러 위치를 갱신하는 복원 비용을 실제로 비교해야 한다.

사용자 경험에서 무엇을 빠르다고 부르는지도 다르다. 완성된 결과를 반환하는 분류·편집 작업은 전체 완료 시간이 중요하고, 대화 UI는 읽기 시작할 수 있는 시점과 이후 출력의 안정성도 중요하다. 중간 텍스트가 바뀌는 생성이라면 미완성 내용을 언제 보여줄지도 설계해야 한다. 제품에 따라 블록 단위 생성이나 별도 스트리밍 방식으로 이 문제를 다룰 수 있다.

앞뒤를 본다고 긴 문맥·추론 문제가 해결되지는 않는다

LLaDA처럼 양방향으로 복원하는 방식은 빈칸 채우기나 앞뒤 제약을 이용한 생성에 흥미로운 선택지다. 그러나 문맥 창이 길어지는 것, 멀리 있는 정보를 정확히 사용하는 것, 사실을 잘 검증하는 것은 별도의 능력이다.

LLaDA 8B 논문은 여러 벤치마크에서 경쟁력 있는 결과와 특정 역방향 시 완성 과제의 성과를 보고했다. 이를 “자기회귀 방식보다 모든 추론에 우월하다”거나 “환각이 해결됐다”는 결론으로 확장할 수는 없다. 같은 이름의 8B 모델이라도 학습 데이터·토큰 수·튜닝 조건이 모두 같다는 뜻은 아니다. LLaDA 논문

2025년의 가능성과 지금의 판단

처음 글을 쓸 때는 확산 방식으로 대규모 언어 모델을 학습할 수 있다는 점 자체가 관심사였다. 2026년에는 Inception이 Mercury 2를 API로 제공한다고 밝히는 등 제품화 사례도 확인할 수 있다. 따라서 전체 분야를 계속 “초기 연구만 있는 단계”로 부르는 것은 맞지 않는다. 다만 공급사가 제시한 속도와 품질은 해당 평가 조건의 결과로 읽어야 한다. Inception Mercury 2 소개

실제로 도입을 검토한다면 익숙한 작업 몇 개에서 출발하는 편이 좋다. 예를 들어 짧은 분류, 긴 응답 생성, 기존 텍스트 편집을 나눠 품질과 전체 지연시간을 재고, 대화형 화면에는 첫 표시 시점과 수정되는 중간 출력까지 확인한다. 한국어가 중요한 제품이라면 평가 입력도 한국어여야 한다.

확산 언어 모델에서 흥미로운 점은 기존 모델의 장점을 모두 자동으로 가져온다는 데 있지 않다. 언어를 생성하는 순서와 계산의 배치를 달리할 수 있다는 점이다. 그 차이가 특정 제품에서 품질·지연·비용의 더 좋은 조합을 만드는지는 작업별 검증으로 판단해야 한다.