LLM의 토큰 확률과 비전 모델을 활용한 구조화된 데이터 추출 방법
A single function Jev-like wrapper for LLMs, including vision models
Hacker NewsLLM의 토큰 확률(logprobs)을 활용하고 이미지 첨부 기능을 결합한 새로운 프레임워크가 등장했습니다. 이는 구조화된 질문 형식으로 여러 항목에 대한 단일 답변을 추출하는 방식입니다.
- 이 기술은 웹캠 프레임 같은 비디오 데이터를 실시간으로 분석할 수 있게 합니다. 각 질문마다 출력을 강제하여, 복잡한 입력에서도 높은 효율로 정형화된 정보를 얻습니다.
- 가장 큰 장점은 조건 설정의 유연성입니다. 별도의 코딩 없이 일반 텍스트 설명만으로 AI 분석 조건을 쉽게 정의하고 변경할 수 있습니다.
- 다만 성능은 모델과 환경에 따라 차이가 크며, 특히 상용 API 사용 시 연결 과정의 오버헤드로 인해 로컬 구동 대비 속도 저하가 발생할 수 있습니다.
본 기술은 의 확률(logprobs)을 활용하여 복잡한 입력에서도 정형화된 단일 답변을 추출하는 프레임워크를 제시합니다. 사용자는 '상태(State)'와 여러 개의 구조화된 질문('Question')으로 구성된 를 작성하며, 요청 시 `max_completion_tokens: 1`과 `logprobs: true` 등의 를 설정하여 모델이 단일 토큰만 생성하도록 강제합니다. 이를 통해 답변의 선택지별 확률 분포를 얻을 수 있으며, 이 방식은 기존에 알려진 트릭이지만 구조화된 데이터 추출에 유용하게 활용됩니다.
이 프레임워크는 텍스트 기반 질문 외에도 이미지 첨부 기능을 확장하여 비전 모델과 연동할 수 있습니다. 예를 들어 웹캠 프레임을 베이스64 JPEG로 인코딩하여 전송하고, '사람 존재 여부', '실내/외 환경' 등 여러 항목에 대해 분석을 요청할 수 있습니다. 실제 실험 사례에서는 Gemma 4 12B 모델을 사용하여 RTX 3090에서 프레임당 약 1 FPS의 처리 속도를 기록했습니다. 이 방식은 별도의 코딩 없이 일반 텍스트 설명만으로 AI 분석 조건을 정의하고 변경할 수 있는 유연성을 제공합니다.
구현 측면에서, 사용자는 JSON 형식으로 '질문'을 정의하며 각 질문에 대해 `choice`(선택지), `noul`(참/거짓), `score`(점수) 등 유형별 지침과 기준(criteria)을 설정할 수 있습니다. API 호출 시에는 이 구조화된 데이터를 바탕으로 프롬프트를 구성하고, 모델이 반환한 토큰 확률 분포를 분석하여 각 질문에 대한 최종 답변(선택지, 참/거짓 여부, 점수 등)을 계산합니다. 이러한 과정은 여러 개의 독립적인 질문에 대해 일관성 있게 구조화된 결과를 얻는 데 초점을 맞춥니다.
용어 풀이
- LLM
- 방대한 글을 학습해 문장을 이해하고 만들어 내는 AI 모델. ChatGPT, Claude, Gemini가 여기에 속해요.
- 토큰
- AI 모델이 글을 처리하는 단위. 단어보다 작은 조각이며 사용량과 요금을 셀 때 기준이 돼요.
- 프롬프트
- AI에게 주는 지시나 질문 글.
- API
- 프로그램끼리 기능을 주고받는 약속된 창구. AI 모델은 보통 API로 불러 써요.
- 매개변수
- 모델이 학습하면서 조정한 내부 숫자. 개수가 많을수록 대체로 모델이 크고 무거워요.