캐글필사 - LLM - Detect AI Generated Text

Sooin Yoon·2025년 3월 30일

google colab link : 링크텍스트

Overview

: LLM이 생성한 텍스트와 사람이 쓴 텍스트를 구분하는 모델을 만드는 문제, OpenAI 등에서 생성된 AI 텍스트가 실제 사람의 글과 구별되지 않는 수준에 도달함에 따라 이를 판별할 수 있는 메커니즘 개발의 중요성이 커지고 있는 현실적 문제
목표: 테스트 데이터셋에서 AI로 생성된 텍스트와 사람이 작성한 텍스트를 얼마나 잘 구별하는지 측정

Evaluation

  • 평가지표: ROC-AUC (Receiver Operating Characteristic - Area Under Curve)
  • ROC-AUC는 확률 예측 기반 지표이기 때문에, 모델의 확신 정도와 순서의 정확성이 핵심

문제 정의 및 평가 Matrix

  • Input: 에세이 형태의 텍스트와 해당 prompt 정보
  • Output: generated라는 0~1 사이의 확률값 (1에 가까울수록 AI가 생성했다고 판단)
  • 문제 유형: Binary Classification (with probabilistic output)
  • 평가 방식:
    submission.csv: {id, generated} 형태 제출
    AI-generated text를 1로 labeling하여 ROC-AUC 평가

EDA

  • 문장 길이, prompt 별 특징, AI와 인간 텍스트의 확률 분포 차이 등을 중심으로 분석
  • 텍스트 구조나 표현 스타일보다는 모델의 불확실성(discrepancy), logprob, entropy 등을 기반으로 한 분포 분석이 핵심
  • 일반적인 토픽 분포나 키워드 보다는 모델이 얼마나 확신했는가에 주목해야 효과적

Dataset

  • train.csv: text, prompt_id, prompt_name, generated(0/1)
  • test.csv: 정답 없는 text, prompt_id만 제공
  • 외부 데이터 사용 여부: 일부 허용 (ex. 공개된 모델 결과, open source tokenizer 등)

Baseline 모델 앙상블

  • Naive Bayes, SGD, LGBM, CatBoost, VotingRegressor 등

LLM 기반 Feature 추출

  • Mistral, DeBERTa 등을 사용해 logits, logprob, entropy 등 불확실성 정보 추출

Custom Tokenizer + TF-IDF

  • 직접 학습한 BPE 토크나이저로 토큰화 후 n-gram TF-IDF 추출 및 중요도 기반 feature selection

Pseudo Label 생성 및 Stacking

  • 모델 예측을 기반으로 pseudo label 생성 후, 추가 회귀 모델로 앙상블

최종 예측 앙상블

  • 여러 모델의 예측을 가중 평균해 최종 예측 확률 산출

Lesson Leanned

  • 단순한 텍스트 분류 문제가 아니라, 모델의 불확실성(discrepancy)을 수치화하는 것이 훨씬 효과적임
  • LLM 기반 추론값(logits)의 활용은 지금까지 해왔던 feature engineering과 다른 차원의 접근을 요구함
  • VotingRegressor, Stacking 등 다단계 앙상블 구조를 통해 성능을 점진적으로 개선할 수 있었음
  • TF-IDF 기반 전통 ML 기법과 LLM 기반 추론을 결합하는 하이브리드 방식이 강력함
  • 전체 파이프라인을 직접 구현하며 모델 설계 → feature 설계 → 앙상블 → 제출까지의 흐름을 체계적으로 연습할 수 있었음

0개의 댓글