왜 Micro F1=0.94가 쓸모없는 분류기를 감출 수 있는가: 멀티 레이블 문제 분석
DeepPavlov
Discord의 AI 모더레이션 예시를 통해, 집계된 micro F1 지표가 드물지만 중요한 클래스에서의 실패를 가릴 수 있음을 보여줍니다. 저자는 멀티 레이블 작업에서 KISS 원칙을 맹목적으로 따르는 것에 대해 경고하며, 클래스 불균형, 손실 함수 선택, 체크포인트 선택 지표가 실제 모델 품질에 어떤 영향을 미치는지 설명합니다.
저자는 ruBERT tiny2 모델을 기반으로 Discord용 AI 모더레이션을 개발했으며, 15개 레이블(SAFE, TOXIC, ADVERTISEMENT, SPAM, SCAM, THREAT, EVASION, FLOOD 등)을 가진 다중 레이블 분류를 위해 미세 조정했습니다. 데이터셋에는 약 100만 개의 레이블이 지정된 예제가 포함되어 있습니다. 훈련 후 모델은 테스트 마이크로 F1=0.9358, 매크로 F1=0.8396을 달성했습니다. 이 두 값의 차이가 거의 0.1에 달하는 것은 각 클래스별 지표를 개별적으로 확인해야 한다는 신호였습니다. 희귀 클래스(예: 35,000개 샘플의 EVASION)는 빈번한 클래스(400,000개의 SAFE)의 대량에 묻혀 버리고, 마이크로 F1은 이러한 클래스에서의 오류를 반영하지 않는다는 것이 밝혀졌습니다. 불균형을 해결하기 위해 BCEWithLogitsLoss에서 pos_weight가 사용되었습니다. 상세 분석 결과, TOXIC의 재현율은 약 0.78로, 모델이 유해 메시지의 상당 부분을 놓치고 있음을 의미합니다. FLOOD와 IMAGE_SCAM 클래스는 테스트 분할에 거의 없지만, 이들의 처리는 텍스트 분류기가 아닌 다른 시스템 구성 요소에 위임됩니다. 저자는 또한 훈련 손실을 기반으로 최상의 체크포인트를 선택하면 과적합으로 이어진다는 점을 지적합니다. 최적의 변형은 손실이 아닌 매크로 F1을 사용하여 발견되었습니다. 주요 시사점: KISS 원칙은 구현에는 적용되지만 작업 자체에는 적용되지 않습니다. 클래스 불균형, 지표 차이, 각 클래스에 대한 별도의 정밀도/재현율, 오류 비용은 무시할 수 없습니다. 다음 단계는 각 클래스에 대해 임계값을 개별적으로 조정하는 것입니다.
출처: Habr — хаб NLP —
원문
