피드로 돌아가기
Active Learning with AutoNLP and Prodigy
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face의 AutoNLP와 Explosion의 Prodigy를 결합한 능동학습 파이프라인으로 BBC 뉴스 분류 및 개체명 인식 모델 구축

Active Learning with AutoNLP and Prodigy

2021년 12월 23일8intermediate

Context

기존 머신러닝 모델 개발은 적절한 모델 선택, 하이퍼파라미터 튜닝, 데이터 전처리 등 여러 단계가 필요하며, 특히 능동학습에서는 반복적으로 데이터 레이블링과 모델 재훈련을 수행해야 한다. BBC 뉴스 데이터셋에 대해 개체명 인식(NER) 레이블이 없어 수동으로 구축해야 했다.

Technical Solution

  • AutoNLP를 활용한 자동 모델 훈련: BBC 뉴스 분류 데이터셋에 대해 15개의 다중분류 모델을 자동으로 훈련하고 하이퍼파라미터 튜닝 수행
  • Prodigy 웹 기반 annotation 도구로 NER 레이블링: prodigy ner.manual bbc blank:en BBC_News_Train.csv --label PERSON,ORG,PRODUCT,LOCATION 명령으로 4개 개체 유형에 대한 레이블 생성
  • 능동학습 반복 프로세스: 약 20개 샘플로 초기 모델 훈련 후, 약 250개 샘플까지 점진적으로 데이터 추가하며 모델 재훈련
  • AutoNLP의 spaCy tokenizer 연동: blank:en 토크나이저를 통해 영어 텍스트 처리

Impact

  • 다중분류 모델의 정확도: 98.67%
  • NER 모델의 정확도: 약 95.9% (약 250개 샘플 기준)
  • NER 모델의 정밀도(Precision): 0.73
  • NER 모델의 재현율(Recall): 0.79
  • 모델 훈련 소요 시간: 약 15분 (15개 모델)

Key Takeaway

AutoNLP와 Prodigy 같은 저코드 도구를 활용하면 데이터 레이블링에만 집중할 수 있으며, 모델 선택·훈련·평가·튜닝은 자동화되어 코딩 배경이 없는 사용자도 프로덕션 수준의 transformer 기반 모델을 구축할 수 있다.


NLP 분류 및 NER 작업이 필요한 팀에서 Prodigy를 통해 단계적으로 데이터를 레이블링하고, AutoNLP로 매 반복마다 자동 모델 훈련을 수행하면, 약 20개 샘플부터 유의미한 결과를 얻을 수 있으며 250개 샘플 정도에서 95% 이상의 정확도에 도달할 수 있다.

원문 읽기