피드로 돌아가기
Hugging Face BlogAI/ML
원문 읽기
Witty Works가 Sentence Transformers와 SetFit 도입으로 문맥 의존적 편향 단어 분류기 구축 시 학습 데이터를 100-200개에서 15-20개로 감소
How Hugging Face Accelerated Development of Witty Works Writing Assistant
AI 요약
Context
Witty Works의 포함적 언어 작성 보조 도구는 기본 spaCy 기반 접근법으로 85% 어휘만 처리 가능했으며, 문맥에 따라 의미가 달라지는 약 2,300개의 편향된 단어와 숙어를 처리하지 못했다. 단어의 실제 의미는 문맥에 따라 달라지는데(예: "old fossil"의 "fossil" vs "fossil fuels"의 "fossil"), 이를 구분하기 위해 문맥 인식 분류기 구축이 필수적이었다.
Technical Solution
- Vanilla Transformers에서 Sentence Transformers로 전환: 토큰 임베딩 대신 문장 전체의 의미론적 임베딩 생성으로 단어의 문맥적 표현 확보
- Siamese 네트워크와 Triplet 네트워크 구조 활용: BERT 기반 사전학습 모델을 수정하여 "의미론적으로 의미있는" 문장 임베딩 생성
- SetFit 라이브러리를 활용한 Few-shot 미세조정: 대조학습(contrastive learning)과 의미론적 문장 유사도를 결합하여 단 15-20개 라벨링된 문장으로 높은 정확도 달성
- mpnet-base-v2 + KNN/로지스틱 회귀 조합: 미세조정된 문장 임베딩을 입력으로 하는 고전적 분류기 적용
- Azure 배포: 초기 Google Colab 테스트 후 Azure에 배포하여 3분 이상의 지연 없이 실시간 추천 제공
Impact
- 단어별 학습 문장 수 감소: 100-200개 → 15-20개 (85~95% 감소)
- 분류 정확도: 0.92 달성
- 모델 배포 복잡도: Azure 배포 시 최적화 불필요할 정도의 충분한 성능
Key Takeaway
Few-shot 학습 가능한 Sentence Transformers 기반 아키텍처는 대규모 라벨링 비용을 감당할 수 없는 스타트업에서도 문맥 의존적 자연어 처리 작업을 효율적으로 구현 가능하게 하며, 사전학습 모델 평가-선택-반복의 Hugging Face 방식은 복잡한 텍스트 분류 문제 해결에 실질적인 가치를 제공한다.
실천 포인트
문맥 의존적 편향 탐지나 애매한 의미를 갖는 단어/구문을 분류해야 하는 NLP 프로젝트에서 SetFit 라이브러리와 Sentence Transformers를 조합하면 단 15-20개의 라벨링된 샘플로도 0.92 정확도의 분류기를 구축할 수 있으므로, 라벨링 비용과 모델 훈련 시간을 대폭 절감할 수 있다.