디코드 타임 문법: 문법 파편의 정제 순서에 따른 제약 조건이 있는 LLM 생성
요약
LLM이 도메인 특화 언어나 저자원 API를 사용할 때 발생하는 잘못된 참조 문제를 해결하기 위한 '디코드 타임 문법(decode-time grammars)' 기술을 제안합니다. 런타임 환경의 정보를 실시간으로 반영하여 문법적·의미론적 정확성을 보장하는 새로운 디코딩 프레임워크를 소개합니다.
핵심 포인트
- 런타임 환경 정보를 활용한 문법 파편(grammar fragments) 도입
- 정의되지 않은 심볼 참조를 방지하여 의미론적 정확성 확보
- gproj 프레임워크를 통한 오프라인 유도 및 온라인 정책 결정 구현
- SQL, P4 등 다양한 환경에서 고스트 참조 제거 성능 입증
대규모 언어 모델(Large language models)은 이제 전 세계 코드의 점점 더 많은 비중을 작성하고 있으며, 생성된 코드를 한 줄씩 검토하지 않고 컴파일, 실행 또는 배포하는 에이전트 및 서비스 시스템 내부에서 그 역할이 커지고 있습니다. 이는 주류 언어에는 잘 작동하지만, 도메인 특화 언어(domain-specific languages), 커스텀 라이브러리 API, 명령줄 도구(command-line tools)와 같은 저자원 프로그래밍 인터페이스(low-resource programming surfaces)에 대해서는 여전히 취약합니다. 문법 제약 디코딩(grammar-constrained decoding) 환경에서도 모델은 현재 환경에서 유효하지 않은 참조를 생성할 수 있습니다. 예를 들어, 선언되지 않은 버퍼, 스키마에 없는 컬럼, 라이브러리가 제공하지 않는 함수, 또는 지원되지 않는 CLI 옵션 등이 이에 해당합니다.
본 논문은 디코드 타임 문법(decode-time grammars)을 소개합니다. 이는 런타임 환경 $\Gamma$로부터 생성 중에 인스턴스화되는 문법 파편(grammar fragments)입니다. 영역 특화 정책(region-specific policy)이 각 홀(hole)에 대해 파편을 선택하며, 조임 연산자(tightening operator)는 열린 참조 위치를 해당 시점에 사용 가능한 이름, 필드, API 또는 옵션과 정확히 일치하는 후보를 가진 $\Gamma$-타입 슬롯($\Gamma$-typed slots)으로 교체합니다. 새로 생성된 선언은 이후 영역이 디코딩되기 전에 $\Gamma$에 진입하므로, 제약 문법은 이미 생성된 접두사(prefix)에 의존할 수 있습니다. 이를 통해 정의되지 않은 심볼에 대한 참조를 방지함으로써 문법적 정확성뿐만 아니라 의미론적 정확성(semantic correctness)을 보장합니다.
우리는 문법 파편을 정제(refinement)에 의해 순서가 정해진 환경 인덱스 문법(environment-indexed grammars)으로 공식화하고, $\Gamma$-슬롯이 지정된 파편에 대해 No-Ghost 건전성(soundness)을 증명하며, 정제가 이러한 지원 집합(support-set) 보장을 유지함을 보여주고, 마스크 강제 가능 속성(mask-enforceable properties)의 경계를 규정합니다. 우리는 오프라인 문법 유도(offline grammar induction) 및 온라인 정책 결정(online policy resolution)을 포함하는 gproj에 이 접근 방식을 구현했습니다. TileLang, SQL, P4에 대해 0.6B에서 236B 파라미터 규모의 모델을 사용하여 실험한 결과, gproj는 표준 제약 디코딩 대비 적절한 오버헤드로 구성 단계에서 고스트 참조(ghost references)를 제거함을 확인했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기