dLLM과 Structured Output 제약

마지막 수정:

dllmdiffusionstructured-outputdecoding

Structured output은 보통 token-by-token 제약 decoding과 잘 맞는다.

예를 들어 JSON을 생성한다고 하자.

현재 prefix가 "{"
다음 token 후보는 key string이나 "}"로 제한한다.

autoregressive decoding에서는 prefix가 항상 하나의 확정된 문자열이다. 그래서 다음 token 후보를 문법 상태에 맞춰 제한하기 쉽다.

dLLM에서는 왜 어려운가

dLLM은 canvas 여러 위치를 병렬적으로 denoise한다.

position 1, 2, 3, 4를 동시에 갱신

하지만 JSON 같은 structured output은 앞 token이 확정되어야 뒤 token의 허용 범위를 정하기 쉽다.

앞쪽 token이 아직 denoising 중이면,
뒤쪽 position의 문법 상태도 불확실하다.

즉 dLLM의 parallel canvas update는 left-to-right grammar constraint와 긴장이 있다.

serving 관점

이 제약은 단순 기능 누락이 아니다.

generation 방식 자체가 다르기 때문에, 기존 structured output validator를 그대로 붙이기 어렵다.

autoregressive:
확정 prefix -> next token constraint

dLLM:
불확정 canvas -> 여러 position 동시 갱신

그래서 dLLM 지원을 볼 때는 “일반 LLM 기능이 그대로 다 될까?”보다 “generation semantics가 바뀌면 어떤 기능이 다시 설계되어야 할까?”를 물어야 한다.

연결

확인

  • structured output이 autoregressive decoding과 잘 맞는 이유는 무엇인가?
  • dLLM에서 앞 token이 확정되지 않았을 때 뒤 position의 constraint가 어려워지는 이유는 무엇인가?
  • 이 문제가 단순 implementation gap이 아니라 generation semantics 문제인 이유는 무엇인가?