AsyncLane: 확산 언어 모델 (DLM) 디코딩에서 정교화와 진행의 분리
요약
AsyncLane은 확산 언어 모델(DLM)의 디코딩 과정에서 정교화와 진행을 분리하여 처리량을 높이는 새로운 비동기 스케줄러입니다. 재학습 없이 기존 블록 단위 디코딩 방식을 대체하며, LLaDA 및 Dream 모델에서 최대 3배 이상의 속도 향상을 달성했습니다.
핵심 포인트
- 정교화와 진행을 분리하여 비동기적 디코딩 수행
- 재학습이 필요 없는 training-free 방식의 스케줄러
- 공유 접두사 배치 및 캐시 갱신을 통한 효율적 연산
- LLaDA 및 Dream 모델에서 최대 3배 이상의 TPS 향상
블록 단위의 준-자기회귀 (semi-autoregressive) 디코딩은 확산 대규모 언어 모델 (Diffusion Large Language Models, DLMs)의 표준 추론 패러다임이지만, 블록 간의 엄격한 의존성을 부여합니다. 즉, 현재 블록이 완전히 디코딩되거나 디노이징 예산 (denoising budget)이 소진될 때까지 다음 블록을 시작할 수 없습니다. 우리는 블록이 신뢰할 수 있는 구분자 경계 (delimiter boundary) 또는 안정적인 의미론적 접두사 (semantic prefix)를 노출하면, 연속적인 생성이 모든 잔차 토큰 (residual token)이 해결될 때까지 기다릴 필요가 없다는 점을 관찰했습니다. 우리는 정교화 (refinement)와 진행 (advancement)을 분리하는 학습이 필요 없는 (training-free) 디코딩 스케줄러인 AsyncLane을 제안합니다. AsyncLane은 관찰된 구분자 경계에서 생성 레인 (generate lane)을 정교화 레인 (refine lane)과 연속 생성 레인 (continuation generate lane)으로 분기합니다. 이를 통해 접두사는 편집 가능한 상태로 유지되는 동시에, 접두사의 정교화가 끝나기 전에 연속 생성이 진행됩니다. 결과적으로 생성된 레인 트리 (lane tree)는 디코딩 의존성과 출력 순서를 기록하며, 실행은 활성 레인 세트 (active lane set)를 통해 진행됩니다. 양방향 어텐션 (bidirectional attention) 환경에서 이 비동기 스케줄을 효율적으로 만들기 위해, AsyncLane은 공유 접두사 레인 배치 (shared-prefix lane batching), 예측 초안 재사용 (lookahead draft reuse), 계층적 종료 (cascading termination), 그리고 refresh-logit 재사용을 포함한 컴팩트 캐시 갱신 (compact cache refresh)을 결합하여 모델 호출 비용이 레인 수에 따라 직접적으로 증가하는 것을 방지합니다. AsyncLane은 블록 단위 DLM 샘플러를 즉시 대체할 수 있는 (drop-in replacement) 방식이며 재학습이 필요하지 않습니다. 수학적 추론 및 코드 생성에 대한 실험 결과, AsyncLane은 경쟁력 있는 품질을 유지하면서 처리량 (throughput)을 지속적으로 향상시킴을 보여주었습니다. LLaDA 및 Dream 백본 전반에 걸쳐 AsyncLane은 평가된 모든 벤치마크 길이 설정에서 가장 높은 TPS를 달성했습니다. 가장 빠른 경쟁 베이스라인과 비교했을 때, LLaDA에서는 2.95배, Dream에서는 3.04배의 최대 속도 향상을 기록했으며, 특히 생성 예산이 길어질수록 큰 이득을 보였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.CL (NLP)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기