Hugging Face 전문가 가속 프로그램: Witty Works 사례 연구

Witty Works는 Hugging Face 전문가 가속 프로그램과 협력하여 규칙 기반 언어 분석 도구에서 문맥 의존적인 포괄적 언어를 위한 ML 분류기로 전환했습니다. 이 전환을 통해 작문 도우미는 어휘 목록에만 의존하지 않고 주변 문맥을 기반으로 비포괄적 단어를 정확히 식별할 수 있게 되었습니다.

언어 분석에서 문맥 분류로의 전환

Witty Works는 처음에 사전 학습된 spaCy 모델을 활용한 전이 학습으로 작문 도우미를 개발했습니다. 이 기본 접근 방식은 형태소 분석, 언어 분석 및 품사 태그, 성별, 단어 의존성 등과 같은 특징을 추출하여 영어와 독일어의 약 2,300개 단어와 관용구로 구성된 지식 베이스와 비교해 비포괄적 단어를 강조했습니다.

이 방법은 어휘의 85%에 대해 효과적이었지만, 문맥 의존적인 단어를 처리하지 못했습니다. 예를 들어, "Fossil fuels are not renewable resources"에서 "fossil"은 포괄적인 의미이지만, "He is an old fossil"에서는 비포괄적입니다. 이를 해결하기 위해 Witty Works는 단어의 의미적 문맥을 이해하기 위해 Hugging Face 트랜스포머로 전환했습니다.

SetFit을 활용한 Few-Shot 학습 구현

Witty Works는 큰 데이터 병목 현상에 직면했습니다: 일반 BERT 모델을 미세 조정하려면 카테고리당 수백 개의 라벨링된 샘플이 필요했으며, 이는 비용과 시간이 너무 많이 소요되는 과정이었습니다. 이를 해결하기 위해 Hugging Face 전문가들은 다음과 같은 기술적 전환을 권장했습니다:

단어 임베딩에서 문장 임베딩으로

특정 단어에 대한 토큰 임베딩을 추출하는 대신, 팀은 Sentence Transformers 아키텍처를 사용해 문맥화된 문장 임베딩으로 전환했습니다. 이 접근 방식은 시암 네트워크와 트리플렛 네트워크 구조를 활용해 의미적으로 유사한 문장이 벡터 공간에서 더 가깝게 배치되도록 하며, 결과 임베딩을 K-Nearest Neighbors(KNN) 또는 로지스틱 회귀와 같은 고전 분류기의 입력으로 사용할 수 있게 합니다.

SetFit을 활용한 Few-Shot 미세 조정

Witty Works는 SetFit(Sentence Transformer Fine-tuning)이라는 대조 학습과 의미적 문장 유사성을 결합한 프레임워크를 채택했습니다. 이를 통해 팀은 이전에 추정된 100-200개에 비해 특정 단어당 15-20개의 라벨링된 문장만으로도 높은 정확도를 달성할 수 있었습니다.

모델 선택 및 배포

실시간 브라우저 확장 프로그램의 낮은 지연 시간을 보장하기 위해, Witty Works와 Hugging Face는 여러 문장 트랜스포머 모델을 테스트했습니다. 그들은 로지스틱 회귀와 KNN을 결합한 mpnet-base-v2를 선택했습니다.

주요 배포 결과는 다음과 같습니다:

  • 인프라: 모델은 Azure에 배포되었습니다.
  • 성능: 모델은 0.92의 정확도를 달성했습니다.
  • 효율성: 학습 데이터 감소로 인해 학습 세트의 편향을 적극적으로 관리하기 위해 필요한 수동 검토 작업이 최소화되었습니다.

ML 워크플로에 대한 전문가 인사이트

이 협업은 ML 워크플로를 구축하기 위한 구체적인 반복 방법론을 강조했습니다. Hugging Face의 수석 전도사 Julien Simon이 설명한 바와 같이:

"워크플로를 구축하는 Hugging 방식: 오픈소스 사전 학습 모델을 찾고, 즉시 평가하며, 무엇이 작동하는지, 무엇이 작동하지 않는지를 확인합니다. 반복함으로써 즉시 배움을 시작하게 됩니다."

Witty Works에게 이 접근 방식은 데이터 라벨링 및 배포에 드는 비용과 시간을 줄이는 동시에 스타트업 개발 과정에서 기술적인 스파링 파트너를 제공했습니다.

Sources