TL;DR
산업 현장의 티켓 라우팅과 문서 태깅처럼 유효한 답의 집합이 정해진 업무에서는 Small Language Model에 자유 텍스트를 생성시킨 뒤 파싱하는 방식보다 후보 라벨의 로짓을 직접 비교하는 편이 효율적입니다. 이 방식은 한 번의 forward pass에서 라벨 첫 토큰의 점수만 추려 argmax를 적용하므로, 출력 토큰을 여러 개 순차 생성하지 않고 허용되지 않은 답도 구조적으로 배제합니다. Qwen/Qwen2.5-0.5B-Instruct로 600개 티켓을 처리한 실험에서 자유 생성은 134초가 걸렸고, constrained scoring은 약 30% 짧은 시간이 걸렸으며 파싱 불가 결과는 구조상 0건이었습니다. 라벨의 첫 토큰이 겹치거나 공백 포함 여부를 잘못 처리하면 점수가 왜곡되므로 토큰화 조건을 확인하고, 낮은 confidence 결과는 사람 검토로 보내야 합니다.
섹션별 상세
- 자유 텍스트 생성 방식은 600개 티켓을 처리하는 데 134초가 걸렸다. — 자유 텍스트 방식의 Output 블록에 기록된 'Free-form generation took' 결과와 본문 실행 시간 설명
- 제한된 라벨 점수화 방식은 자유 생성보다 약 30% 짧은 시간이 걸렸다. — Constrained Output Space 절의 실행 결과와 'about 30% less time' 문장
- 후보 라벨의 첫 토큰 로짓만 비교하면 허용된 라벨 밖의 결과를 구조적으로 차단할 수 있다. — Constrained Output Space 절의 logits[0, -1, :] 설명과 label_first_ids, argmax 코드
- 제한된 로짓에 softmax를 적용하면 후보 라벨 간 confidence를 계산할 수 있다. — Constrained Output Space 절의 softmax 코드와 confidence 출력 예시
- 두 라벨이 첫 토큰을 공유하면 전체 라벨 시퀀스를 점수화하거나 서로 다른 단일 토큰 라벨을 사용해야 한다. — 토큰화 주의사항에서 refund_request와 refund_status 사례 및 대안 제시
용어 해설
- 소형 언어 모델(Small Language Model (SLM))
- — 대규모 언어 모델보다 작은 파라미터 규모로 실행되는 언어 모델입니다. 이 글에서는 한 개 GPU에 탑재하거나 CPU에서도 구동할 수 있고, 수 밀리초 안에 제한된 분류 결과를 반환하는 모델을 뜻합니다. 호출량이 많은 좁은 자동화 업무에서 비용과 지연을 줄이는 선택지로 활용됩니다.
- 로짓(Logits)
- — 언어 모델이 다음 토큰마다 부여하는 정규화 전 점수입니다. 글에서는 전체 어휘의 로짓 중 후보 라벨에 해당하는 토큰만 골라 비교하고, 제한된 점수에 softmax를 적용해 후보 간 confidence를 계산합니다. 생성 없이 한 번의 추론으로 분류할 수 있는 핵심 값입니다.
- 바이트 수준 BPE 토크나이저(Byte-level BPE Tokenizer)
- — 텍스트를 바이트 단위와 부분 단어 단위의 토큰으로 나누는 토크나이저입니다. 공백이 포함된 문자열과 그렇지 않은 문자열을 서로 다른 토큰으로 처리할 수 있으므로, 모델이 실제로 출력할 형태에 맞춰 라벨을 인코딩해야 올바른 로짓을 비교할 수 있습니다.
- Softmax
- — 여러 점수를 합이 1인 확률 분포로 바꾸는 함수입니다. 이 글에서는 전체 어휘가 아니라 유효한 라벨의 로짓에만 적용해 후보 집합 안의 confidence를 구합니다. 정한 임계값보다 낮은 결과를 사람 검토 대기열로 보낼 때 활용할 수 있습니다.
- 다음 토큰 분포(Next-token Distribution)
- — 현재 입력 뒤에 올 각 토큰의 예측 점수 분포입니다. 자유 텍스트를 여러 토큰 생성하는 대신 마지막 위치의 분포에서 사전에 정한 라벨 토큰만 선택하면, 허용되지 않은 출력이 구조적으로 배제됩니다. 고정된 답 집합을 가진 분류 업무에 적합합니다.
기술
- Qwen/Qwen2.5-0.5B-Instruct
- Hugging Face Transformers
- PyTorch
- Accelerate
- Python
- M2 Macbook Air
- Neural Engine
활용 사례
- 지원 티켓을 billing, technical, account로 라우팅
- 양식에서 특정 필드 추출
- 문서 태깅
- 사람 검토 대상 레코드 선별
- 낮은 confidence 결과를 사람 검토 대기열로 전달
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.