발견 출처 Hacker News/발행

LLM Classification Is Feature Engineering

LLM 분류는 피처 엔지니어링이다 — LLM을 분류기가 아니라 피처 추출기로 쓰라

LLM을 프롬프트로 직접 분류기처럼 쓰는 방식은 캘리브레이션, 임계값 조절, 구조화 데이터 통합, 해석 가능성에서 구조적 한계가 있다는 지적입니다. 저자는 LLM의 판정을 로지스틱 회귀 같은 고전 ML 모델의 입력 피처로 바꿔 쓰면 이 문제들이 해소된다고 주장하며, SemEval 2018 아이러니 탐지 데이터셋에서 하드 라벨 F1 0.747을 피처 기반 접근으로 0.779까지 끌어올린 실험을 보여줍니다.

본문

LLM을 분류기로 쓰는 방식, 즉 컨텍스트에 프롬프트를 적용해 라벨을 돌려받는 방식은 다루기가 괴롭습니다. 특히 성능이 꽤 괜찮게 나오는 경우가 많아서 더 골치 아픕니다. 저자는 좋은 분류기에 기대하는 세 가지 덕목을 기준으로 LLM-as-classifier를 평가합니다. 첫째, 캘리브레이션과 임계값 조절입니다. LLM의 판정은 대개 하드 라벨이고, 토큰 log probability를 얻을 수는 있지만 그것이 잘 캘리브레이션되어 있다고 믿을 근거가 없습니다. 모델에게 신뢰도를 물어봐도 마찬가지이며, 그 결과 precision과 recall을 원칙 있게 트레이드오프하기가 어렵습니다. 둘째, 가용 정보의 통합입니다. LLM은 비정형 데이터에 강하지만 구조화 데이터를 프롬프트에 붙여 넣어도 실제로 사용한다는 보장이 없고, 심지어 산문 부분이 반영됐는지도 알 수 없습니다. 게다가 LLM에 내장된 사전 지식은 우리 데이터 분포와 맞지 않을 수 있는데, 양성 클래스가 희한 모집단인지 농축된 모집단인지를 일일이 프롬프트에 넣어도 제대로 반영된다고 확신할 수 없습니다. 셋째, 해석 가능성입니다. 프롬프트는 산문이라 읽기 쉽지만 LLM 내부에서 어느 부분이 올바르게 따랐는지는 알 수 없습니다. 이는 LLM의 잘못이 아니라, 애초에 분류기로 설계된 도구가 아니기 때문입니다.

로지스틱 회귀로 감싸기: LLM 판정을 피처로

해법은 관점 전환입니다. LLM의 판정을 최종 결정이 아니라 피처로 취급해 p(y=1|x) = σ(α + β·LLM(x)) 형태의 로지스틱 회귀로 감싸는 것입니다. β→∞이면 원래 LLM 분류기를 복원하지만, 그건 어리석은 파라미터 선택이고 학습 데이터로 추정하는 것이 정석입니다. 이렇게 하면 판정별로 경험적 비율의 확률을 얻어 기대값 기준으로 캘리브레이션되고, 실제 확률이 나오므로 운용 임계값으로 precision-recall을 조절할 수 있습니다. 다른 공변량도 자유롭게 추가할 수 있고, 학습 데이터에 맞춰 베이스라인에 적응하며, 사례 재가중으로 다른 분포를 겨냥할 수도 있습니다. LLM 판정 자체의 해석 문제는 남지만 최종 결정에 어떻게 기여하는지는 훨씬 잘 파악할 수 있습니다.

성능이 아쉬울 때: 프롬프트 조작이 아니라 ML의 표준 도구를

LLM-as-classifier에서는 성능을 개선하려면 프롬프트를 만지작거리는 수밖에 없고, 이는 인터넷에 조언은 넘치지만 지혜는 드문 신비로운 작업입니다. 반면 ML 관점에서는 네 가지 표준 레버가 있습니다. 데이터를 더 모으고(어차피 성능 측정용 테스트셋은 필요하므로 학습용 조금 더가 큰 부담은 아닙니다), 피처를 개선하고(피처가 항상 양성을 유도해야 한다는 가정을 경험적으로 검사해 디버깅하거나, 피처 자체를 이차 타깃으로 평가할 수 있습니다), 피처를 늘리고(판정 토큰의 logprob, 복수 실행, 하위 판정 질문 등), 모델 아키텍처를 바꿉니다. 로지스틱 회귀가 싫으면 XGBoost, 신경망, 규칙 기반 시스템 무엇이든 플러그 앤 플레이입니다.

실험: SemEval 2018 아이러니 탐지

저자는 SemEval 2018 Task 3 데이터셋(전문 어노테이터가 라벨링한 트윗 4,618건, 학습 3,834/테스트 784)으로 검증합니다. gemini-3.1-flash-lite에 트윗을 'Ironic'/'Not'으로 판정시키는 원샷 프롬프트만으로 F1 0.747을 얻지만, Brier score 0.259로 캘리브레이션이 나쁩니다(랜덤 추측이 0.25). 판정만 피처로 쓴 로지스틱 회귀는 'Ironic'에 0.687, 'Not'에 0.188의 적합 확률을 부여해 Brier를 0.175로 개선합니다(순서는 같아 F1은 동일). 이어 오분류 사례를 살펴본 뒤 유머 여부, 맥락 필요성, 정서 불일치, 자기비하, 대조 구문, 수사적 질문, 겉치레 칭찬, 가짜 놀람, 과장된 열광, 말장난, 정치/연예/일상 주제 등 19개 하위 질문을 프롬프트에 추가해 LLM 피처를 뽑고, 답글 여부·URL·길이·해시태그·느낌표·대문자 단어·줄임표·인용 시작·이모지 같은 결정적 피처도 더합니다. 결과는 verdict만 0.175/0.747, +LLM 피처 0.131/0.768, +규칙 기반 피처 0.127/0.779(Brier/F1)로 단계마다 개선됩니다.

문헌과의 비교와 시사점

같은 데이터셋의 발표 결과와 비교하면 랜덤 0.373, SVM+tf-idf 0.589, 대회 우승 THU_NGN 0.705, 사후 최고 성능 NTUA-SLP 0.786인데, LLM 하드 라벨만으로 0.747(대회 우승을 상회), 피처 엔지니어링 접근은 0.779로 사후 SOTA와 신뢰구간이 겹칩니다. 로지스틱 회귀 하나만 얹어 달성한 수치입니다. 저자는 'How People Use ChatGPT' 연구나 Hugging Face 사건 조사처럼 LLM 분류에 의존하는 연구가 늘고 있다며, Han et al.(ICML 2024), Balek et al.(2024), FELIX(ECML PKDD 2024) 등 같은 방향의 논문들을 소개합니다. 마지막으로 고정 피처셋 대신 LLM이 스스로 조사하게 하고 조사 과정의 엄밀성을 피처로 쓰는 '에이전틱 분류기'에 관심을 표합니다.

Hacker News 반응

  • @ltbarcly3 — 저자가 말하려는 요점을 이해하지 못하겠습니다. 범용적인 것이 특정 문제도 푸는 경우는 흔합니다(항상?). 정렬 알고리즘은 min()의 구현이고, 파서는 문법 검사기이고, 경로 플래너는 도달 가능성 검사기입니다. LLM 출력을 다른 분류기의 입력으로 쓸 수 있는 건 어떤 분류기든 마찬가지이고, 직접 LLM 분류 대비 개선 폭도 상대적으로 작다고 생각합니다.
  • @michi883 — 요점을 이렇게 받아들였습니다: LLM을 분류기로 만들지 말라는 것. 지저분한 입력을 유용한 피처로 바꾸는 데 쓰고, 실제 결정은 일반 모델에 맡기면 검사 가능한 임계값과 캘리브레이션을 얻습니다. 다만 기반 LLM이나 모델 버전을 바꿨을 때 그 피처들이 얼마나 안정적일지는 확실하지 않습니다.
  • @Terr_ — LLM에게 (반복적이고 논리적인) 문제를 직접 풀라고 하는 대신, 검사하고 테스트하고 고치고 재사용할 수 있는 코드를 생성하게 프롬프트해야 한다는 원칙과 비슷합니다.
  • @softwaredoug — LLM-as-judge 작업에서 저는 LLM의 판정을 하류의 고전 ML 모델의 피처로 써서 최종 결정을 내리는 방식을 선호합니다. 아주 잘 작동합니다.
  • @xerlait — 왜 먼저 'ironic'인지 아닌지 라벨을 붙이게 하고 그다음에 피처 질문에 답하게 할까요? 순서를 뒤집는 편이 더 낫지 않을까요?

원문: minimallysufficient.com / 번역·요약: Trawling