BERT 101: Understanding the Bidirectional Encoder Representations from Transformers
BERT (Bidirectional Encoder Representations from Transformers)는 자연어 처리(NLP)를 위한 기계 학습 모델로, 11개 이상의 일반적인 언어 작업에 대한 다재다능한 솔루션 역할을 합니다. 2018년 Google AI Language에서 개발된 BERT는 단일 모델을 제공하여 다양한 애플리케이션에서 이전 작업별 모델보다 성능을 뛰어넘음으로써 해당 분야에 혁신을 가져왔습니다.
핵심 기능 및 사용 사례
BERT는 감정 분석부터 복잡한 독해 이해까지 다양한 NLP 작업을 처리하도록 설계되었습니다. 주요 응용 분야는 다음과 같습니다:
- 감정 분석: 영화 리뷰와 같은 텍스트의 극성(긍정 또는 부정)을 결정합니다.
- 질문 answering: 챗봇을 구동하여 사용자 쿼리에 정확한 답변을 제공합니다.
- 텍스트 예측 및 생성: 이메일(Gmail 등)에서 후속 텍스트를 예측하거나 짧은 입력으로부터 기사 생성.
- 요약: 법적 계약과 같은 긴 문서를 짧은 요약으로 압축합니다.
- 다의어 해결: 주변 맥락을 기반으로 다의어(예: "bank)) 간의 차이를 구분합니다.
2020년 11월부터 BERT는 Google Search에 통합되어 영어 쿼리 이해를 향상시켰습니다. 예를 들어, 처방전 관련 검색에서 "for someone"이라는 표현이 단순히 처방을 채우는 것이 아니라 다른 사람을 위해 약을 받는 것을 의미한다는 것을 검색 엔진이 인식할 수 있게 합니다.
기술 아키텍처 및 훈련
BERT의 성능은 Transformer 아키텍처 사용과 두 단계 훈련 프로세스에 기인합니다: massive unlabeled 데이터에 대한 비지도 사전 훈련, 그 후에 소량의 인간 주석 데이터에 대한 파인 튜닝.
훈련 데이터 및 인프라
BERT는 Wikipedia(25억 단어)와 Google의 BooksCorpus(8억 단어)를 포함한 33억 단어 데이터셋으로 훈련되었습니다. 이 양의 데이터를 처리하기 위해 Google은 Tensor Processing Units(TPUs)를 사용했습니다. BERTbase는 4개의 TPUs에서 4일 동안 훈련되었으며, BERTlarge는 16개의 TPUs에서 4일 동안 훈련되었습니다.
마스크 언어 모델 (MLM)
BERT는 양방향 학습을 강제하기 위해 마스크 언어 모델(MLM)을 사용합니다. 훈련 중에 토큰화된 단어의 무작위 15%가 숨겨짐(마스킹)되고, 모델은 마스크 양쪽의 좌우 문맥을 사용하여 이러한 단어를 예측해야 합니다. 이는 일반적으로 텍스트를 선형으로 읽는 이전 모델과 다릅니다.
다음 문장 예측 (NSP)
문장 간의 관계를 이해하기 위해 BERT는 다음 문장 예측(NSP)을 사용합니다. 모델은 올바른 문장 쌍(두 번째 문장이 첫 번째 문장을 따르는 경우)과 무작위 문장 쌍의 50/50 혼합으로 훈련되어 주어진 문장이 다른 문장 논리적으로 이어지는지 예측합니다.
트랜스포머 인코더
BERT는 트랜스포머 아키텍처의 인코더 부분을 사용하며, 이는 주의 메커니즘을 사용하여 단어에 differential 가중치를 부여하여 중요한 정보에 집중하고 관련 없는 데이터를 무시합니다. 일부 다른 트랜스포머 모델과 달리, BERT는 디코더를 사용하지 않습니다.
모델 변형 및 사양
BERT는 성능과 계산 요구 사항 사이의 균형을 맞추기 위해 다양한 크기로 제공됩니다.
| 모델 | 트랜스포머 레이어 | 히든 사이즈 | 어텐션 헤드 | 파라미터 | 처리 | 훈련 기간 |
|---|---|---|---|---|---|---|
| BERTbase | 12 | 768 | 12 | 110M | 4 TPUs | 4일 |
| BERTlarge | 24 | 1024 | 16 | 340M | 16 TPUs | 4일 |
모바일 전화와 같은 더 작은 계산 환경의 필요성을 해결하기 위해 2020년 3월에 23개의 더 작은 BERT 모델이 출시되었습니다. 또한, DistilBERT는 BERT 성능의 95% 이상을 유지하면서 60% 더 빠르게 실행되는 경량 버전을 제공합니다.
성능 벤치마크
BERT는 11개의 일반적인 NLP 작업에서 최첨단 정확도를 달성했으며, 여러 벤치마크에서 인간 수준의 성능을 처음으로 초과했습니다:
- SQuAD (Stanford Question Answering Dataset): 108k 질문의 독해 이해 데이터셋. BERT는 이전 최첨단 모델과 인간 모두를 초과했습니다.
- SWAG (Situations With Adversarial Generations): 113k 다중 선택 질문의 상식 추론 데이터셋. 여기서도 BERT는 인간 수준의 성능을 초과했습니다.
- GLUE (General Language Understanding Evaluation): 언어 모델을 비교하여 측정하고 분석하기 위해 사용되는 nueve 개의 어려운 작업으로 구성된 벤치마크.
오픈 소스 영향 및 윤리적 고려 사항
BERT의 소스 코드는 GitHub에서 공개적으로 접근 가능하여 개발자는 초기 사전 훈련의 massive 비용 없이 특정 사용 사례에 대해 모델을 파인 튜닝할 수 있습니다. 이러한 민주화는 Twitter 감정 분석, 임상 노트 분석, 유해 댓글 탐지 등을 포함한 수천 개의 특화된 오픈 소스 모델로 이어졌습니다.
환경 영향
대규모 모델 훈련은 계산 비용이 많이 들고 상당한 탄소 발자국을 갖습니다. 사전 훈련된 모델의 오픈 소스 공유는 AI 커뮤니티의 전체 계산 비용과 환경 영향을 줄이는 주요 방법으로 제시됩니다.
모델 편향
BERT는 훈련 데이터에 내재된 편향을 나타냅니다. 예를 들어, "The man worked as a [MASK]" 프롬프트에 대한 직업을 예측할 때, BERT는 목수와 정비사와 같은 역할을 제안했습니다. "The woman worked as a [MASK]" 프롬프트에 대해서는 간호사, 웨이트리스, 하녀와 같은 역할을 제안하여 직업에서의 명확한 성별 편향을 보여줍니다.
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch