구조화된 출력은 Generative AI 및 Large language model 배포에서 모델의 응답이 사전 정의된 스키마(가장 일반적으로 JSON, 그 외에도 XML, YAML 또는 형식 문법)를 따르도록 제약하는 기법이다. 이 접근 방식은 자유 형식 텍스트 생성의 고유한 변동성을 해결하여 모델 출력이 기계 판독 가능하고 취약한 구문 분석 없이 소프트웨어 애플리케이션, API 또는 데이터베이스에서 직접 소비될 수 있도록 보장한다. 이 기법은 자동 데이터 추출, 도구 사용, 다단계 에이전트 워크플로우와 같은 결정적 인터페이스를 요구하는 프로덕션 시스템에 중요하다.
이 개념은 대규모 언어 모델이 연구 프로토타입에서 프로덕션 시스템으로 전환되면서 등장했으며, 특히 2020년 OpenAI의 GPT-3와 같은 모델 출시 이후 두드러졌다. 초기 채택자들은 프롬프트 엔지니어링을 사용하여 JSON 응답을 요청했지만, 모델이 필드를 누락하거나 불필요한 텍스트를 포함하거나 잘못된 구문을 생성하는 경우가 많아 종종 신뢰할 수 없었다. 2023년까지 제공업체들은 샘플링 프로세스 자체를 변경하여 스키마 준수를 보장하는 제약 디코딩에 대한 네이티브 지원을 구현하기 시작했다.
제약 디코딩
제약 디코딩은 구조화된 출력의 핵심 메커니즘이다. 표준 Transformer (architecture) 기반 디코더에서 모델은 각 단계에서 어휘에 대한 확률 분포에서 샘플링하여 텍스트를 생성한다. 제약 디코딩은 이 샘플링을 사용자 제공 스키마(예: 문법 또는 JSON 스키마)에 따라 유효한 토큰의 하위 집합으로 제한한다. 이는 최종 출력이 구문적으로 올바르고 지정된 구조를 준수하도록 보장한다.
이 접근 방식을 대중화한 초기 라이브러리 중 하나는 David Martin과 동료들이 2023년에 출시한 outlines 라이브러리였다. 이 라이브러리는 유한 상태 기계를 사용하여 정규 문법을 표현하고 디코딩 중에 적용했다. 유사하게, Berkeley AI Research의 guidance는 사용자가 모델 생성과 제어 흐름을 인터리브 방식으로 정의할 수 있는 템플릿 기반 인터페이스를 도입했다. 이러한 오픈 소스 도구들은 제약 디코딩이 효율적이고 실용적일 수 있음을 입증하여 더 넓은 산업 채택으로 이어졌다.
API 지원 및 JSON 모드
2023년까지 주요 클라우드 제공업체들은 LLM API에 구조화된 출력을 통합했으며, 종종 "JSON 모드" 또는 "구조화된 출력"이라는 라벨로 제공했다. 예를 들어, OpenAI는 2023년 6월 GPT-3.5 및 GPT-4 모델에 대해 JSON 모드를 도입하여 유효한 JSON 응답을 가능하게 했지만 특정 스키마를 강제하지는 않았다. 2024년 8월의 후속 업데이트는 엄격한 스키마 강제를 추가하여 개발자가 모델이 충족해야 하는 JSON 스키마 정의를 제공할 수 있게 했다. Anthropic은 2024년에 도구 사용과 명시적 XML 출력 형식을 활용한 자체 구조화된 출력 기능을 따랐다.
Amazon Web Services는 Bedrock 서비스를 통해 구조화된 출력을 제공하며, 여러 모델에서 JSON 및 기타 형식을 지원한다. Microsoft Azure는 OpenAI 호환 엔드포인트와 Azure AI에 호스팅된 모델에 대해 JSON 모드를 제공한다. 이러한 플랫폼은 일반적으로 response_format 또는 guided_json과 같은 매개변수를 노출하여 사용자 지정 코드 없이 기능을 활성화한다.
문법 및 형식 언어
제약 디코딩에서 형식 문법의 사용은 더 표현적이고 이식 가능한 스키마 정의를 가능하게 한다. llama.cpp와 같은 도구는 GBNF(문법적 배커스-나우어 형식)를 구현하여 사용자가 디코딩 프로세스가 따라야 하는 사용자 지정 문법을 지정할 수 있게 한다. 이 기법은 중첩 배열 또는 도메인별 언어와 같은 단순 JSON을 넘어서는 복잡한 데이터 구조가 필요한 애플리케이션에 특히 유용하다.
"구문 유도 생성"이라고 하는 또 다른 접근 방식은 문맥 자유 문법을 사용하여 부분 출력을 구문 분석하고 유효한 다음 토큰을 필터링한다. 이 방법은 Carnegie Mellon University와 Alibaba Damo Academy의 연구자들이 2023년 논문 "Grammar-Constrained Decoding for Structured NLP Tasks without Finetuning"에서 입증한 바와 같이 샘플링 유연성을 유지하면서 출력 유효성을 보장하는 것으로 나타났다.
응용 분야
구조화된 출력은 여러 영역에서 필수적이 되었다. 소프트웨어 엔지니어링에서 GitHub Copilot 및 TabNine과 같은 코드 생성 어시스턴트는 사용자 정의 인터페이스를 준수하는 완전한 함수 또는 클래스를 생성하는 데 사용한다. 데이터 과학에서 분석가는 비정형 텍스트에서 구조화된 정보를 추출하는 데 LLM을 사용하며, 예를 들어 고객 피드백을 감정 범주로 변환하거나 데이터베이스 삽입을 위한 명명된 엔터티를 추출한다.
금융 부문에서 Commure 및 기타 헬스테크 기업은 구조화된 출력을 배포하여 의료 기록을 구문 분석하고 구조화된 임상 노트를 생성한다. 법률 기술 기업은 계약서를 사전 정의된 필드-값 쌍으로 요약하는 데 사용한다. 신흥 에이전트 AI 분야에서 구조화된 출력은 모델이 도구의 API 서명과 일치하는 인수를 생성하여 외부 도구를 안정적으로 호출할 수 있게 하여 자동화 오류를 줄인다.
이 기법은 모델 평가에서도 역할을 하며, BLEU 또는 ROUGE와 같은 지표가 출력을 일관되게 토큰화해야 한다. 특정 형식을 강제함으로써 평가가 더 재현 가능해진다.
파인튜닝과의 비교
구조화된 응답을 달성하는 대안적 접근 방식은 원하는 형식을 따르는 입력-출력 쌍의 데이터 세트로 모델을 파인튜닝하는 것이다. 그러나 이는 수천 개의 예제를 수집하고 라벨링해야 하며 계산 비용이 많이 들 수 있다. 제약 디코딩을 통한 구조화된 출력은 추가 훈련 데이터 없이 사전 훈련된 모델과 함께 작동하는 제로샷 솔루션을 제공한다. 이는 배포가 더 빠르고 업데이트가 더 쉬우며, 스키마 변경은 재훈련이 아닌 제약 조건 업데이트만 필요하다.
이러한 장점에도 불구하고 파인튜닝은 모델이 훈련 중에 형식 규칙을 내재화하기 때문에 복잡한 스키마에서 더 높은 정확도를 얻을 수 있다. 2024년 OpenAI의 연구는 파인튜닝과 구조화된 디코딩의 조합이 최상의 신뢰성을 제공하며 두 접근 방식이 상호 보완적임을 보여주었다.
한계 및 과제
구조화된 출력은 모델의 유창성을 줄이거나 개방형 추론에 어려움을 겪게 할 수 있는 제약을 부과한다. 스키마가 지나치게 제한적일 때 유효한 토큰 공간이 너무 작아져 디코딩 루프나 빈 출력이 발생하여 모델이 유효한 출력을 생성하지 못할 수 있다. 개발자는 종종 대체 자유 텍스트 필드를 허용하거나 초안을 먼저 생성한 다음 필터링하거나 검증하는 2단계 프로세스를 사용하여 이를 완화한다.
또 다른 과제는 구조화된 출력이 의미적 정확성을 보장하지 않는다는 점이다. 모델은 스키마에 대해 검증되지만 사실적으로 잘못되거나 논리적으로 일관되지 않은 데이터를 포함하는 JSON을 생성할 수 있다. 스키마 검증은 구문만 확인하고 의미는 확인하지 않으므로 다운스트림 검증이 여전히 필요하다.
또한 제약 디코딩은 유효한 토큰을 찾기 위해 반복적인 순방향 패스가 필요할 수 있으므로 제약 없는 생성보다 느릴 수 있다. 토큰 마스크 캐싱 또는 조기 거부와 같은 최적화 기술은 도움이 되지만 오버헤드를 제거하지는 않는다. 제공업체는 일반적으로 구조화된 출력이 활성화될 때 10-20%의 작은 지연 시간 증가를 보고한다.
미래 방향
Deep learning 모델이 계속 확장됨에 따라 구조화된 출력은 중첩 조건부 유형 및 재귀 구조를 포함한 더 복잡한 스키마를 지원하도록 진화하고 있다. multi-head attention 개선 및 추측 디코딩과 같은 효율적인 디코딩 방법의 도입은 성능 패널티를 줄일 것으로 기대된다.
연구는 또한 출력이 텍스트와 구조화된 데이터의 조합일 수 있는 다중 모달 모델이나 출력이 파형이지만 운율에 대한 구조화된 제약이 적용될 수 있는 음성 합성에서 구조화된 출력의 사용을 탐구하고 있다. RLHF 파인튜닝과 같은 강화 학습과 구조화된 출력의 통합은 모델이 스키마를 더 자연스럽게 따르도록 가르치는 또 다른 유망한 경로이다.
Artificial intelligence의 더 넓은 맥락에서 구조화된 출력은 neural networks와 기호 시스템 사이의 다리 역할을 하여 LLM이 규칙 기반 추론기로 처리할 수 있는 구조화된 추적을 생성하는 하이브리드 AI 아키텍처를 가능하게 한다. 이는 Joshua Tenenbaum과 Brendan Lake와 같은 연구자들이 옹호하는 신경-기호 AI의 비전과 일치하며, 구조화된 출력이 신뢰할 수 있는 AI 통합을 위한 핵심 지원 기술로 남을 것임을 시사한다.
결론
구조화된 출력은 대규모 언어 모델을 단순한 텍스트 생성기 이상으로 만드는 실용적이고 강력한 기법을 나타낸다. 응답을 사전 정의된 스키마로 제약함으로써 견고한 소프트웨어 시스템에 필수적인 결정적이고 기계 판독 가능한 출력을 가능하게 한다. 신뢰할 수 있는 AI에 대한 수요가 증가함에 따라 구조화된 출력은 거의 모든 LLM 배포에서 표준 기능이 될 가능성이 높으며, 단순 데이터 입력부터 복잡한 자율 에이전트까지 모든 것을 뒷받침할 것이다.