하나의 패키지로 주요 Transformer 구조를 다뤄
Hugging Face의 transformers 라이브러리는 주요 NLP, 비전, 오디오, 멀티모달 Transformer를 같은 방식으로 다룰 수 있게 해. 추상화는 위에서 아래로 세 층으로 나뉘어:
- 파이프라인:
pipeline("sentiment-analysis")나pipeline("summarization")처럼 한 줄로 작업을 실행하는 API야. 시제품과 일회성 스크립트에 가장 좋아. - Auto* 클래스:
AutoTokenizer,AutoModel,AutoModelForSequenceClassification등이 있어. 체크포인트 이름에서 구조를 알아내 알맞은 클래스를 만들어 줘. 모델과 학습 반복문을 직접 제어하고 싶을 때 적당한 수준이야. - 특정 모델 클래스:
BertModel,GPT2LMHeadModel등이야. Auto 계층이 숨기는 구조별 기능이 꼭 필요할 때만 사용해.
토크나이저와 모델은 한 쌍이야
모든 Transformers 모델에는 짝이 맞는 토크나이저가 있어. 토크나이저는 텍스트를 토큰 ID와 어텐션 마스크로 바꾸고 모델은 이를 입력으로 받아. 둘은 반드시 일치해야 하므로 같은 체크포인트 이름으로 불러와.
작업별 '헤드' 선택
같은 기본 모델 구조도 작업에 따라 여러 헤드 변형을 제공해:
AutoModel: 기본 모델로, 은닉 상태를 반환해.AutoModelForSequenceClassification: 분류 헤드를 붙여 로짓을 반환해.AutoModelForTokenClassification: NER처럼 토큰마다 레이블을 예측해.AutoModelForCausalLM: GPT 계열의 인과 언어 모델링에 사용해.AutoModelForSeq2SeqLM: T5 같은 인코더-디코더 모델에 사용해.AutoModelForQuestionAnswering: 추출형 질의응답에서 시작과 끝 위치를 예측해.
작업에 맞는 클래스를 고르면 라이브러리가 알맞은 출력 헤드를 자동으로 붙여 줘.