토큰 분류 사용법
토큰 분류 사용법 (Token Classification Usages)
토큰 분류(token classification)는 시퀀스 전체를 하나로 분류하는 대신, 입력 시퀀스 안의 각 토큰마다 분류 결과를 내놓는 pooling 태스크예요. 토큰 단위로 판단해야 하는 작업(예: 토큰별 리워드, NER 스타일의 태깅)에 쓰이죠. 시퀀스 분류와 어떻게 다른지부터 차근히 알아볼게요.
한눈에 보는 요약 (Summary)
- 모델 사용 방식: 토큰 분류
- 풀링 태스크:
token_classify - 오프라인 API:
LLM.encode(..., pooling_task="token_classify")
- 온라인 API:
- Pooling API (
/pooling)
- Pooling API (
(시퀀스) 분류와 토큰 분류의 핵심 차이는 출력의 세분화(granularity) 에 있어요. 시퀀스 분류는 입력 시퀀스 전체에 대해 단일 결과를, 토큰 분류는 시퀀스 안의 각 토큰마다 하나의 결과를 냅니다.
많은 분류 모델이 시퀀스 분류와 토큰 분류를 동시에 지원해요. 시퀀스 분류에 대한 자세한 내용은 이 페이지를 참고하세요.
참고: v0.21부터 pooling 멀티태스크 지원이 제거됐어요. 기본 풀링 태스크(
classify)가 원하는 값이 아니라면, 오프라인에서는PoolerConfig(task="token_classify")로, 온라인에서는--pooler-config.task token_classify로 직접 지정해야 해요.
오프라인 추론 (Offline Inference)
풀링 파라미터 (Pooling Parameters)
다음 풀링 파라미터를 지원해요.
use_activation: bool | None = None
LLM.encode
encode 메서드는 모든 pooling 모델에서 사용할 수 있어요.
토큰 분류 모델에서 LLM.encode를 쓸 때는 pooling_task="token_classify"로 설정해요.
온라인 서빙 (Online Serving)
Pooling API를 참고하고, 요청에 "task":"token_classify"를 사용하면 돼요.
더 많은 예제 (More examples)
더 많은 예제는 examples/pooling/token_classify에서 찾을 수 있어요.
지원 기능 (Supported Features)
토큰 분류 기능은 (시퀀스) 분류와 일관돼요. 자세한 내용은 이 페이지를 참고하세요.