BERT Transformers 사용 — 파이프라인과 모델
BERT Transformers 사용
사전훈련된 BERT는 Hugging Face Transformers에서 클래스·파이프라인으로 바로 쓸 수 있어요. 출시 시점에서 BERT는 OpenAI GPT·GPT-2 등과 형태가 다른 인코더 전용(Encoder-only) 모델로 분류되는 점을 이해하면 좋아요.
Transformers의 BERT 클래스
Hugging Face 문서의 model_doc/bert에는 모델 클래스가 정리돼 있는데, 대표적인 것들이 이래요.
BertModel— 기본 인코더 (임베딩·컨텍스트화된 표현)BertForMaskedLM— 마스크된 언어 모델링BertForSequenceClassification— 문장 분류BertForTokenClassification— 토큰(개체명) 분류BertForQuestionAnswering— 질의응답BertTokenizer/BertTokenizerFast— WordPiece 토크나이저
모델들은 PreTrainedModel을 상속하고, PyTorch의 torch.nn.Module 서브클래스라 일반적인 PyTorch 사용법을 그대로 따라요.
파이프라인으로 빠르게
가장 쉬운 시작은 Hugging Face의 pipeline이에요. 라벨 없는 우선순위 문장을 예측하는 fill-mask 파이프라인으로 mask 토큰을 채워볼 수 있어요.
from transformers import pipeline
unmasker = pipeline("fill-mask", model="bert-base-uncased")
unmasker("The woman worked as a [MASK].")
파이프라인은 마스크된 위치에 가장 가능성 높은 토큰을 채워 넣어요. RAG나 시맨틱 검색에는 BertModel을 Sentence Transformers처럼 임베딩 추출에 쓰는 방식이 일반적이에요.
참고
- BERT는 2018-10-11에 출시, Transformers에는 2020-11-16에 추가됐어요.
- 모델명은 보통
bert-base-uncased,bert-base-cased,bert-large-uncased등이에요. - 최신 Transformers는 PyTorch SDPA(스케일드 닷-프로덕트 어텐션)도 사용할 수 있어요.