← 최신 논문
💬 NLP

DreamOn: Diffusion Language Models For Code Infilling Beyond Fixed-size Canvas

DreamOn은 동적 길이 제어 상태를 도입함으로써 기존 확산 언어 모델의 고정 길이 생성 한계를 극복하고, 구조적 변경 없이도 최첨단 자기회귀 모델에 필적하는 성능을 달성하며 유연한 가변 길이 코드 인필링을 가능하게 하는 새로운 확산 프레임워크이다.

원저자: Zirui Wu, Lin Zheng, Zhihui Xie, Jiacheng Ye, Jiahui Gao, Shansan Gong, Yansong Feng, Zhenguo Li, Wei Bi, Guorui Zhou, Lingpeng Kong

게시일 2026-02-03
📖 3 분 읽기☕ 가벼운 읽기

원저자: Zirui Wu, Lin Zheng, Zhihui Xie, Jiacheng Ye, Jiahui Gao, Shansan Gong, Yansong Feng, Zhenguo Li, Wei Bi, Guorui Zhou, Lingpeng Kong

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

이야기나 코드의 빈칸을 채우는 상황을 상상해 보세요. 당신에게는 앞부분(접두사)과 뒷부분(접미사)이 있고, 그 사이에 들어갈 내용을 써야 합니다.

오랫동안 가장 똑똑한 컴퓨터 프로그램들(이를 **자기회귀 모델(Autoregressive Models)**이라고 부릅니다)은 사람이 문장을 타이핑하는 것처럼 왼쪽에서 오른쪽으로 한 번에 한 단어씩 써 내려가는 방식으로 이 일을 해왔습니다. 이들은 이 작업에 매우 능숙합니다.

그 후, **확산 언어 모델(Diffusion Language Model, DLM)**이라는 새로운 유형의 프로그램이 등장했습니다. 이들은 마치 조각가와 같습니다. 단어를 하나씩 써 내려가는 대신, 중간 부분이 완전히 가려진(마스킹된) 찰흙 덩어리에서 시작합니다. 이들은 가려진 부분을 깎아내며 형태를 다듬고, 완벽한 단어들이 나타날 때까지 정교하게 만들어갑니다. 이는 모델이 왼쪽에서 오른쪽 방향에 국한되지 않고, 어떤 순서로든 실수를 바로잡을 수 있기 때문에 매우 유용합니다.

문제점: "고정된 크기의 캔버스" 함정
하지만 이 조각가들에게는 중대한 결함이 있었습니다. 그들은 오직 당신이 지정해 준 정확한 크기의 찰흙 덩어리 안에서만 작업할 수 있었습니다.

  • 만약 당신이 작은 덩어리(예: 숨겨진 단어 4개)를 주었는데 정답이 20단어라면, 모델은 공간이 부족하여 부서지거나 불완전한 답을 내놓게 됩니다.
  • 만약 당신이 거대한 덩어리(예: 숨겨된 단어 64개)를 주었는데 정답이 단 4단어뿐이라면, 모델은 혼란에 빠져 남은 공간을 무의미하거나 반복적인 쓰레기로 채워버립니다.

논문에서는 이를 "고정된 크기의 캔버스(Fixed-Size Canvas)" 문제라고 부릅니다. 모델은 작업을 시작하기 전에 당신이 정확히 얼마만큼의 구멍(빈 공간)을 만들 것인지 맞추기를 기다리며 갇혀 있는 셈입니다. 만약 당신의 예측이 틀리면 결과는 나빠집니다.

해결책: DREAMON
연구진은 조각가들이 작업하는 동안 찰흙 덩어리의 크기를 어떻게 조절할 수 있는지 가르치는 새로운 방법인 DREAMON을 소개합니다.

그들은 모델의 어휘 사전에 두 가지 특별한 "마법 명령어"를 추가했습니다.

  1. [expand]: "공간이 더 필요해! 이 하나의 숨겨진 지점을 두 개의 숨겨진 지점으로 늘려줘."
  2. [delete]: "공간이 너무 많아! 이 숨겨진 지점을 아예 제거해줘."

작동 방식 (비유)
모델이 프레임 안에서 그림을 그리고 있다고 상상해 보세요.

  • 기존 방식: 당신은 모델에게 "10x10 정사각형 안에 그려라"라고 말합니다. 만약 그림이 20x20 크기가 되어야 한다면, 모델은 찌그러지게 됩니다. 만약 그림이 2x2 크기라면, 공간이 낭비됩니다.
  • DREAMON 방식: 당신은 모델에게 프레임을 주되, 리모컨을 쥐여줍니다. 모델이 그림을 그리다가 그림이 프레임보다 커지고 있다고 판단하면, [expand] 버튼을 누르고 프레임은 마법처럼 커집니다. 반대로 그림이 너무 작고 프레임이 너무 크다고 판단되면, **[delete]**를 눌러 프레임을 줄입니다.

모델은 정답이 어떤 모습이어야 하는지에 대한 자신의 판단에 따라 이 과정을 스스로 수행합니다. 모델은 미리 길이를 알려줄 필요가 없습니다.

결과
연구진은 이 모델을 코딩 작업(컴퓨터 프로그램의 누락된 부분 채우기)에 테스트했습니다.

  • DREAMON 이전: 확산 모델들은 "구멍"의 크기가 정답과 완벽하게 일치하지 않으면 성능이 매우 저조했습니다. 크기가 약간만 어긋나도 성능이 약 38%나 떨어졌습니다.
  • DREAMON 이후: 모델은 최고의 "단어 단위" 작성자들(자기회귀 모델들)만큼 뛰어난 성능을 보였습니다. 모델은 어떤 크기의 구멍이든 처리할 수 있었으며, 정답이 딱 맞을 때까지 답을 키우거나 줄일 수 있었습니다.
  • 효율성: 그들은 또한 "삭제 브로드캐스팅(Deletion Broadcasting)"이라는 기술을 추가했습니다. 만약 모델이 거대한 덩어리를 삭제하기로 결정했다면, 한 번에 하나씩 아주 조금씩 삭제하는 것이 아니라, 덩어리 전체를 즉시 삭제하여 과정을 훨씬 빠르게 만들었습니다.

요약
DREAMON은 강력하지만 경직되어 있던 도구(확산 모델)에 출력의 크기를 늘리고 줄일 수 있는 유연성을 부여합니다. 이 기술은 인간이 완벽한 정답 길이를 예측해야 할 필요를 없애주며, 이러한 모델들이 현재 우리가 가진 최고의 코드 작성 AI들과 대등하게 경쟁할 수 있게 해줍니다. 동시에 어떤 순서로든 수정할 수 있다는 장점도 함께 제공합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →