Kili와 HuggingFace AutoTrain을 활용한 의견 분류
Hugging Face는 데이터 중심 AI 교육 플랫폼인 Kili와 HuggingFace AutoTrain을 통합하여 텍스트 분류를 위한 액티브 러닝 파이프라인을 구축하는 워크플로우를 상세히 설명합니다. 이 접근 방식은 개발자가 최소한의 코딩으로 데이터를 반복적으로 라벨링하고 모델을 학습시킬 수 있게 하여, 원시 데이터에서 프로덕션 수준의 분류기로 전환하는 데 필요한 시간을 크게 단축합니다.
액티브 러닝 파이프라인 개요
액티브 러닝은 라벨이 지정된 데이터가 데이터셋에 추가되고 모델이 재학습되어 성능을 향상시키는 반복적인 과정입니다. 이 구현에서는 파이프라인을 Google Play 스토어의 Medium 앱에 대한 약 40,000개의 사용자 리뷰에 적용하여 의견을 분류하고 감성 분석을 수행했습니다.
Kili를 활용한 데이터 라벨링
Kili는 고품질 학습 데이터를 생성하기 위한 엔드‑투‑엔드 플랫폼으로 사용됩니다. 워크플로우는 다음과 같습니다:
- 프로젝트 구성: 웹 인터페이스 또는 Python API를 통해 다중 클래스 텍스트 분류 프로젝트를 생성합니다.
- 라벨 정의: Medium 리뷰 데이터셋의 경우, 구독, 콘텐츠, 인터페이스, 사용자 경험이라는 네 가지 주요 카테고리를 정의했습니다. "기타"와 "멀티 라벨" 라벨을 추가로 사용하여 예외 상황을 처리했습니다.
- API 통합: Kili Python API를 사용하면 프로그래밍 방식으로 프로젝트를 생성하고, 데이터를 100개씩 배치로 업로드하며, 자산 속성을 업데이트할 수 있습니다(예: 라벨링 오류나 편향을 수정하기 위해 샘플을 "검토 필요" 상태로 이동).
- 라벨링 인터페이스: Kili는 내장된 키보드 단축키와 간소화된 UI를 제공하여 라벨링 과정을 가속화합니다.
AutoTrain을 활용한 자동 모델링
AutoTrain은 데이터 정제, 모델 선택, 하이퍼파라미터 최적화를 포함한 머신러닝 파이프라인을 자동화합니다. transformers, datasets, inference-api 라이브러리를 기반으로 구축되었습니다.
- 기능: AutoTrain은 이진 및 멀티 라벨 텍스트 분류, 토큰 분류, 추출형 질문 응답, 텍스트 요약, 다국어 텍스트 스코어링을 지원합니다.
- 성능: 제공된 예시에서 AutoTrain은 약 20분 학습으로 거의 89% 정확도를 달성했으며, 전체 설정 과정은 약 30분이 소요되었습니다.
수동 모델링 및 하이퍼파라미터 최적화
비교를 위해 Hugging Face Trainer API와 Ray Tune을 사용한 수동 모델링 접근 방식을 구현했습니다.
기술 구현
- 기본 모델:
cardiffnlp/twitter-roberta-base-sentiment모델을 파인튜닝 대상으로 선택했습니다. - 최적화 스택: 파이프라인은 스케줄러로 Async Successive Halving Algorithm (ASHA)을, 탐색 알고리즘으로 HyperOpt을 사용했습니다.
- 데이터셋 처리: 라벨을 인덱스로 매핑하고 AutoTokenizer를 통해 토크나이징을 처리하기 위해 커스텀
TextClassificationDataset클래스를 만들었습니다.
결과 및 관찰
20회와 40회 시도에서 수동 튜닝을 수행한 결과, 모델 성능이 데이터셋 품질에 매우 민감함을 확인했습니다. 저자는 라벨링 단계에서 편향을 도입하면 성능이 떨어지고, 이후 데이터셋 버전에서 샘플 변동성이 증가함에 따라 성능이 회복된다고 언급했습니다.
최종 분석 및 인사이트
파인튜닝된 모델을 전체 데이터셋에 적용하고 감성 분석과 결합함으로써 Medium 모바일 애플리케이션에 대해 다음과 같은 인사이트를 도출했습니다:
- Subscription: 구독에 관한 대부분의 리뷰가 부정적이며, 이는 유료 콘텐츠가 모바일 앱에서 일반적으로 환영받지 못한다는 것을 나타냅니다.
- Interface: 특히 버전 4.5에서 인터페이스에 대한 부정적인 리뷰가 많이 발견되어, 특정 기능에 대한 버그나 사용자 혼란이 존재함을 시사합니다.
- Content and Experience: 사용자들은 전반적으로 기사와 플랫폼에 대한 경험에 긍정적인 감정을 표현합니다.
결론
Kili의 라벨링 도구와 AutoTrain을 통합하면 텍스트 분류기를 배포하는 데 매우 효율적인 경로를 제공합니다. Ray Tune을 통한 수동 튜닝은 더 많은 제어를 제공하지만, AutoTrain의 모델 선택 및 하이퍼파라미터 최적화 자동화 능력은 베이스라인을 설정하고 데이터 중심 AI 프로젝트를 반복하는 데 훨씬 빠릅니다.