하나의 인코더와 일곱 개의 헤드: 마스크 손실을 사용한 통합 보안 분류기 학습에서 배운 점
요약
하나의 mmBERT-small 인코더와 7개의 태스크 헤드를 결합한 다중 헤드 보안 분류기 모델의 학습 및 배포 경험을 공유합니다. 마스크 손실을 활용해 누락된 태스크의 기울기를 제어하는 방법과 양자화된 엣지 모델 배포 결과를 다룹니다.
핵심 포인트
- 단일 인코더와 다중 헤드 구조를 통한 추론 효율성 증대
- 마스크 손실을 활용한 다중 태스크 학습 시 기울기 버그 방지
- ONNX INT8/INT4 양자화를 통한 엣지 디바이스 배포 최적화
- 전용 모델 대비 미세한 성능 차이와 효율성 간의 트레이드오프
저희는 지난 몇 달 동안 일곱 개의 개별 시퀀스 분류기를 하나의 다중 헤드 모델, 말하자면 저희의 최고 모델로 통합하는 작업을 진행했습니다. 이제 가중치가 공개되었으므로, 어떤 부분이 효과가 있었고 무엇이 우리를 놀라게 했는지 공유하고자 합니다.
설정: mmBERT-small 인코더와 일곱 개의 태스크 헤드를 공유합니다. 바이너리 주입(BCE), 문서 클래스(7개 방식), 도구 유형(14개 방식), 도구 작업(6개 방식), 도구 데이터 흐름 태그(3× BCE, 다중 레이블), 의도 라우팅(5개 방식), 그리고 위협 유형(7개 방식)을 사용합니다. 주의가 필요했던 부분: 저희의 학습 행은 일부 태스크에 대한 레이블만 포함하므로, 누락된 태스크는 손실 계산에서 완전히 마스킹됩니다. 결국 저희는 누락된 태스크의 기울기(gradient)가 정확히 0인지 확인하는 자체 테스트를 작성했고, 이를 통해 두 가지 미묘한 버그를 잡아낼 수 있었습니다. 유사한 마스킹 작업을 하는 분들께 이 방법을 추천합니다. 약 5천 개의 합성/실제 다중 태스크 행이 헤드들이 공동으로 학습하도록 돕습니다. 테스트 세트는 100% 실제 데이터를 사용합니다.
각 헤드별 홀드아웃 결과: 주입 F1 0.962, 문서 0.980, 도구 유형 0.957, 도구 작업 0.945, 도구 태그 0.958, 라우팅 0.916, 위협 0.952.
양자화(Quantization): 통합 모델과 전용 단일 태스크 변형 모두 양자화된 엣지 빌드(ONNX INT8 + INT4 임베딩, 크기 96 MB)로 배포됩니다. 저장소에는 측정된 패리티 벤치마크가 포함되어 있으며, 최악의 헤드는 FP32 대비 0.012를 손실합니다.
일곱 개의 전용 모델과 비교할 가치가 있었을까요? 저희는 두 가지 변형 모두 출시했으므로 직접 판단하실 수 있습니다. 전용 모델들이 대부분의 태스크에서 미세하게 더 높은 점수를 기록하지만, 통합 모델은 최대 일곱 번까지의 패스 대신 하나의 인코더 패스를 수행합니다.
저희의 약점: 라우팅(0.916)입니다. 의도 클래스들은 의미론적으로 중첩됩니다(
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기