TypeLLM/TypeLLM

TypeLLM: LLMs with type-safe generation

해결하는 문제

TypeLLM을 사용하면 자기회귀 LLM이 모델의 아키텍처나 가중치를 변경하지 않고도 사전 정의된 JSON Schema를 엄격하게 준수하는 출력을 생성할 수 있습니다. 선택지를 허용된 값 내로 제한함으로써 스키마를 벗어나는 환각(hallucination)을 제거하고, 범주형 선택 및 경계가 있는 숫자 디코딩의 토큰 비용을 절감합니다.

작동 원리

SGLang을 기반으로 구축된 TypeLLM은 제약 조건 디코딩(constrained decoding)을 구현하여 모델이 특정 타입(문자열, 정수, 숫자, 불리언, 열거형, 객체, 배열)을 생성하도록 강제합니다. 의존성을 인식하는 실행 그래프를 지원하여 필드가 이전 필드의 결과에 의존(depends_on)할 수 있으며, 조건부 필드(when)는 해당 의존성에 기반한 특정 조건이 충족될 때만 트리거될 수 있습니다. 또한 최종적인 제약 조건이 있는 답변을 제공하기 전에 모델이 추론할 수 있는 '생각 모드(thinking mode)'와 열거형 및 불리언 확률의 편향을 줄이기 위한 순열 평균화(permutation averaging) 기능을 갖추고 있습니다.

대상 사용자

SGLang 또는 TypeLLM API를 통해 제공되는 오픈 자기회귀 모델에서 구조화된 타입 안전 데이터 추출이나 의사결정이 필요한 LLM 애플리케이션을 구축하는 개발자.

주요 특징

  • 스키마 보장 출력: 중첩된 객체와 배열을 포함한 광범위한 타입을 지원합니다.
  • 의존성 그래프: depends_on을 사용하여 필드를 선언함으로써 순차적인 타입 기반 워크플로우를 생성할 수 있습니다.
  • 조건부 로직: 이전 답변의 값이나 신뢰도 수준에 따라 필드를 건너뛰거나 실행할 수 있습니다.
  • 생각 모드: 필드별로 선택적인 추론 예산을 설정할 수 있으며, 필요한 노력 수준을 결정하는 '자동' 모드를 제공합니다.
  • 시각 언어 지원: 호환되는 모델에 이미지를 전달하여 시각 데이터에서 타입 기반 추출을 수행할 수 있습니다.
  • 효율성: KV 캐싱과 공유 접두사 재사용을 통해 컨텍스트 재처리를 최소화합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트