허깅페이스에서 SetFit 사용하기

허깅페이스에서 SetFit 사용하기

SetFit는 Sentence Transformers를 few-shot 파인튜닝하기 위한 효율적이고 프롬프트가 필요 없는 프레임워크예요. 적은 라벨 데이터로도 높은 정확도를 달성하는데, 예를 들어 Customer Reviews 감정 데이터셋에서 클래스당 8개 라벨만으로도 전체 3k 예시로 RoBERTa Large를 파인튜닝한 것과 경쟁할 만큼의 성능을 내요 🤯! 프롬프트가 필요 없고, 학습이 빠르며, 다국어를 지원한답니다.

출처: 문서

본문

SetFit는 Sentence Transformers의 few-shot 파인튜닝을 위한 효율적이고 프롬프트가 필요 없는 프레임워크예요. 적은 라벨 데이터로 높은 정확도를 달성해요 — 예를 들어 Customer Reviews 감정 데이터셋에서 클래스당 8개 라벨만으로도, 전체 3k 예시의 학습 세트로 RoBERTa Large를 파인튜닝한 것과 SetFit이 견줄 만한 성능을 내요 🤯!

다른 few-shot 학습 방법과 비교해 SetFit에는 몇 가지 독특한 특징이 있어요:

  • 🗣 프롬프트나 verbalizer가 없음: 현재 few-shot 파인튜닝 기법들은 예시를 언어 모델에 적합한 형식으로 바꾸기 위해 수작업 프롬프트나 verbalizer를 요구해요. SetFit은 텍스트 예시에서 직접 풍부한 임베딩을 생성해 프롬프트를 완전히 없앴어요.
  • 🏎 학습이 빠름: SetFit은 높은 정확도를 위해 T0이나 GPT-3 같은 대규모 모델이 필요 없어요. 그 결과 학습과 추론 실행이 보통 한 자릿수(또는 그 이상) 더 빠르답니다.
  • 🌎 다국어 지원: SetFit은 Hub의 어떤 Sentence Transformer와도 사용할 수 있어요. 다국어 체크포인트를 파인튜닝하기만 하면 여러 언어의 텍스트를 분류할 수 있답니다.

Hub에서 SetFit 탐색하기

모델 페이지의 왼쪽 필터에서 SetFit 모델을 찾을 수 있어요.

Hub의 모든 모델에는 다음과 같은 유용한 기능이 함께 제공돼요:

  1. 간단한 설명이 포함된 자동 생성 모델 카드
  2. 브라우저에서 모델을 직접 가지고 놀 수 있는 인터랙티브 위젯
  3. 추론 요청을 할 수 있는 Inference Providers 위젯

설치

시작하려면 SetFit 설치 가이드를 따라할 수 있어요. pip를 통한 한 줄 설치는 다음과 같아요:

pip install -U setfit

기존 모델 사용하기

모든 setfit 모델은 Hub에서 쉽게 로드할 수 있어요.

from setfit import SetFitModel

model = SetFitModel.from_pretrained("tomaarsen/setfit-paraphrase-mpnet-base-v2-sst2-8-shot")

로드한 뒤에는 SetFitModel.predict로 추론을 수행할 수 있어요.

model.predict("Amelia Earhart flew her single engine Lockheed Vega 5B across the Atlantic to Paris.")
['positive', 'negative']

특정 SetFit 모델을 로드하고 싶다면 Use in SetFit을 클릭하면 바로 사용할 수 있는 스니펫이 주어져요!

추가 자료

더 알아보기 (Learn more)

  • SetFit은 프롬프트 없이 적은 라벨 데이터로 높은 정확도를 내는 few-shot 파인튜닝 프레임워크예요.
  • Hub의 모델 카드에서 Use in SetFit을 클릭하면 바로 쓰는 스니펫을 얻을 수 있어요.