BERT (language model) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

BERT (Bidirectional Encoder Representations from Transformers, 트랜스포머로부터의 양방향 인코더 표현) — 2018년 Google 연구진이 개발하여 발표한 자연어 이해를 위한 대형 언어 모델(LLM)입니다. BERT는 광범위한 과제에서 전례 없는 성능을 보여주며 NLP의 새로운 시대를 열었고, '사전학습 + 미세조정(pre-train & fine-tune)' 패러다임을 업계 표준으로 확립하였습니다.

BERT의 핵심 혁신은 깊은 양방향 아키텍처로, 이를 통해 모델이 네트워크의 모든 레이어에서 단어의 왼쪽과 오른쪽 문맥을 동시에 고려할 수 있습니다. 이는 새로운 사전학습 과제인 Masked Language Modeling (MLM)을 통해 달성됩니다.

명칭 및 작동 원리

약어 BERTBidirectional Encoder Representations from Transformers의 줄임말입니다.

  • Bidirectional (양방향): 모델의 핵심 특징을 나타내며, 단어의 문맥을 양방향(왼쪽에서 오른쪽, 오른쪽에서 왼쪽)으로 동시에 처리하는 능력을 의미합니다. 단어를 처리할 때 앞선 문맥만 볼 수 있는 단방향 모델(예: GPT)과 달리, BERT는 전체 시퀀스를 한꺼번에 바라보므로 단어의 의미를 더욱 깊고 정확하게 이해할 수 있습니다.
  • Encoder (인코더): BERT가 Transformer 아키텍처의 인코딩 부분만을 사용한다는 것을 의미합니다. 인코더의 역할은 입력 텍스트 시퀀스를 읽고 각 토큰에 대해 풍부한 문맥적 표현(벡터)을 생성하는 것입니다. BERT는 디코더 모델처럼 자유로운 형태의 텍스트를 생성하도록 설계되지 않았습니다.
  • Representations (표현): 모델은 단어와 문장에 대한 고품질의 수치 표현(벡터 또는 embedding)을 생성하도록 학습되며, 이는 다양한 NLP 과제를 해결하는 데 활용될 수 있습니다.
  • from Transformers: 모델의 아키텍처가 완전히 Transformer를 기반으로 한다는 것을 나타냅니다.

개발 역사

BERT의 개발은 NLP 분야의 몇 가지 핵심적인 돌파구의 결과였습니다:

  1. 문맥적 embedding: Word2vec이나 GloVe 같은 모델은 문맥을 고려하지 않는 정적 벡터를 단어에 부여했습니다. ELMo 모델(2018)은 양방향 LSTM 네트워크를 사용하여 문맥 의존적 표현을 생성함으로써 한 걸음 앞으로 나아갔지만, 이 양방향성은 두 단방향 모델의 연결에 불과한 '피상적인' 것이었습니다.
  2. 전이학습과 GPT: 2018년 중반, OpenAI는 GPT 모델을 발표했습니다. 이 모델은 레이블이 없는 데이터로 대형 트랜스포머 모델을 사전학습한 뒤, 특정 과제에 대해 미세조정(fine-tuning)하는 방식의 효과를 입증했습니다. 그러나 GPT는 엄격하게 단방향(왼쪽에서 오른쪽)이었기 때문에 전체 문맥 이해가 필요한 과제에서는 능력이 제한되었습니다.

이러한 한계를 인식한 Jacob Devlin을 비롯한 Google 연구진은 진정한 의미의 깊은 양방향 모델을 만들기 위해 BERT를 개발했습니다. BERT 논문은 2018년 10월 arXiv에 게재되었으며, 코드와 사전학습된 모델이 공개 공개됨으로써 학술 커뮤니티에서 폭발적인 관심을 불러일으켰습니다. BERT는 GLUE와 SQuAD를 포함한 11개의 주요 NLP 벤치마크에서 기록을 경신하였으며, 하나의 범용 모델이 다양한 과제에 손쉽게 적용될 수 있다는 점에서 NLP의 'ImageNet 순간'으로 불렸습니다.

아키텍처

BERT는 Transformer 아키텍처의 인코딩 부분(인코더)을 완전히 기반으로 합니다. 여러 개의 동일한 레이어가 쌓인 구조로 이루어져 있으며, 두 가지 주요 버전이 있습니다:

  • BERT-Base: 레이어 12개, 어텐션 헤드 12개, 은닉 상태 크기 768, 총 파라미터 수 약 1억 1천만 개.
  • BERT-Large: 레이어 24개, 어텐션 헤드 16개, 은닉 상태 크기 1024, 총 파라미터 수 약 3억 4천만 개.

각 레이어에는 두 가지 주요 서브레이어가 포함됩니다:

  1. 다중 헤드 자기 어텐션 메커니즘 (Multi-Head Self-Attention): 입력 시퀀스의 각 토큰이 자신의 문맥적 의미를 결정하기 위해 다른 모든 토큰에 '주의를 기울이고' 그 중요도를 가중치로 부여할 수 있게 합니다.
  2. 완전 연결 신경망 (Feed-Forward Network): 각 토큰에 개별적으로 적용됩니다.

입력 데이터

BERT가 올바르게 작동하려면 입력 데이터의 특별한 형식이 필요합니다. 입력으로 들어오는 토큰 시퀀스는 항상 전체 텍스트 분류 과제에 사용되는 특수 토큰 `[CLS]` (classification)로 시작합니다. 두 개의 문장이 입력으로 들어오는 경우(예: 질의응답 과제), 두 문장은 `[SEP]` (separator) 토큰으로 구분됩니다.

입력에서 각 토큰의 최종 표현은 세 가지 embedding의 합입니다:

  • 토큰 embedding: 어휘에서 특정 토큰에 해당하는 벡터 (BERT는 WordPiece 토크나이제이션을 사용합니다).
  • 세그먼트 embedding: 토큰이 첫 번째 문장에 속하는지 두 번째 문장에 속하는지를 나타냅니다.
  • 위치 embedding: Transformer 아키텍처 자체는 단어의 순서를 고려하지 않으므로, 시퀀스에서 토큰의 위치를 나타냅니다.

사전학습 과제

깊은 양방향성을 확보하기 위해 BERT는 두 가지 고유한 과제를 동시에 학습합니다.

Masked Language Modeling (MLM)

이것이 BERT의 핵심 혁신입니다. 표준 언어 모델처럼 다음 단어를 예측하는 대신, BERT는 문장에서 무작위로 '마스킹'된 단어들을 예측합니다. 과정은 다음과 같습니다:

  • 입력 시퀀스에서 15%의 토큰이 무작위로 선택됩니다.
  • 이 15% 중:
    • 80%는 특수 토큰 `[MASK]`로 교체됩니다.
    • 10%는 어휘에서 무작위 토큰으로 교체됩니다.
    • 10%는 변경 없이 유지됩니다.
  • 모델의 과제는 주변(왼쪽 및 오른쪽) 문맥을 바탕으로 이 15% 토큰의 원래 값을 예측하는 것입니다.

이러한 방식은 모델이 단어 간의 깊은 의미적·통사적 관계를 학습하도록 강제하며, 진정한 양방향성을 가능하게 합니다.

Next Sentence Prediction (NSP)

이 과제는 BERT가 문장 간의 관계를 이해하도록 훈련하기 위해 설계되었으며, 이는 질의응답 시스템이나 자연어 추론(NLI) 분석 같은 과제에서 매우 중요합니다. 모델에는 두 문장(A와 B)이 입력으로 주어지며, 모델은 문장 B가 문장 A의 논리적 이어지는 내용인지 예측해야 합니다.

  • 50%의 경우에서 B는 원본 텍스트에서 실제로 이어지는 다음 문장입니다.
  • 50%의 경우에서 B는 코퍼스의 다른 곳에서 가져온 무작위 문장입니다.

이후 연구(예: RoBERTa 모델)에서 NSP 과제가 MLM보다 덜 중요하며 더 효율적인 학습 방식을 위해 생략할 수 있다는 점이 밝혀졌지만, 원본 BERT에서는 중요한 역할을 했습니다.

적용 및 미세조정 (Fine-Tuning)

BERT의 강점은 전이학습 패러다임에 있습니다. 거대한 코퍼스(Wikipedia + BooksCorpus)에서 대규모의 비용이 드는 사전학습을 마친 후, 사전학습된 모델을 특정 응용 과제 해결을 위해 손쉽고 빠르게 미세조정(fine-tune)할 수 있습니다.

미세조정 과정은 일반적으로 다음과 같습니다: 1. 사전학습된 BERT 아키텍처에 과제에 특화된 소규모의 미학습 레이어(예: 감성 분석을 위한 분류기)가 추가됩니다. 2. 전체 모델(BERT 가중치와 새로운 레이어 포함)이 해당 특정 과제를 위한 소규모의 레이블이 있는 데이터셋으로 학습됩니다.

BERT가 적용되는 과제의 예시:

  • 텍스트 분류 (감성 분석, 스팸 필터): `[CLS]` 토큰의 출력에 분류기가 추가됩니다.
  • 질의응답 시스템 (예: SQuAD): 모델이 주어진 텍스트에서 답변의 시작 및 끝 토큰을 예측하도록 학습됩니다.
  • 개체명 인식 (NER): 각 토큰의 출력에 분류기가 추가되어 해당 토큰이 이름, 조직, 날짜 등의 일부인지 판별합니다.

변형 및 파생 모델

BERT의 성공은 그 아이디어를 기반으로 한 모델 군을 탄생시켰습니다:

  • RoBERTa (Facebook AI 제공): '견고하게 최적화된 BERT'. 새로운 아키텍처가 아니라, 더 많은 데이터로, NSP 과제 없이, 동적 마스킹을 적용하여 더 세심하고 오랜 기간 BERT를 학습시킨 결과입니다. RoBERTa는 원본 BERT가 '과소학습'되었음을 보여주었고 모든 주요 벤치마크에서 이를 능가했습니다.
  • DistilBERT (Hugging Face 제공): 지식 증류 기법을 사용하여 만든 BERT의 경량화 버전. DistilBERT는 크기가 40% 작고 속도가 60% 빠르면서도 BERT 성능의 97%를 유지하여, 프로덕션 환경 및 리소스가 제한된 기기에서 사용하기에 이상적입니다.
  • ALBERT (A Lite BERT, Google 제공): 파라미터 수 감소에 최적화된 버전. embedding 행렬 인수분해레이어 간 파라미터 공유(cross-layer parameter sharing)라는 두 가지 핵심 기법을 사용합니다. 이를 통해 훨씬 적은 파라미터 수로 훨씬 큰 모델을 만들 수 있습니다.
  • mBERT (Multilingual BERT): 104개 언어로 동시에 사전학습된 BERT 버전. 언어 간 지식 전이 능력에서 놀라운 결과를 보여주었습니다.
  • 도메인 특화 모델: 생물의학 분야의 BioBERT, 과학 텍스트의 SciBERT, 금융 분야의 FinBERT 등 특정 분야의 데이터로 미세조정된 다양한 모델들이 있습니다.
  • ModernBERT (2024-2025): Answer.AI와 LightOn이 개발한 차세대 BERT 계열 모델로, RoPE(Rotary Position Embeddings) 및 더 긴 컨텍스트 지원(최대 8192 토큰)과 같은 최신 아키텍처 개선 사항을 포함하면서도 BERT의 기본 원칙을 유지합니다.

다른 모델과의 비교

BERT와 다른 주요 아키텍처의 비교
모델 개발사 아키텍처 문맥 방향 주요 과제
BERT Google 인코더 양방향 텍스트 이해, 분류, 추출
GPT OpenAI 디코더 단방향 (왼쪽에서 오른쪽) 텍스트 생성, 시퀀스 연속
XLNet Google / CMU 자기회귀(순열 기반) 양방향 (이론상) 텍스트 이해 (MLM의 대안)
T5 Google 인코더-디코더 양방향 (인코더) + 단방향 (디코더) 범용 '텍스트-투-텍스트' 변환

영향

BERT는 NLP 분야에 진정한 혁명을 가져왔으며 이후 많은 발전의 토대를 마련했습니다:

  1. '사전학습 + 미세조정' 패러다임을 NLP의 지배적 접근법으로 확립하였습니다.
  2. 언어 이해를 위한 깊은 양방향 문맥의 중요성을 입증하였습니다.
  3. 연구자와 개발자들이 더 이상 각 과제마다 처음부터 복잡한 아키텍처를 구축할 필요가 없어져 고성능 NLP 시스템 구축의 진입 장벽을 낮췄습니다.
  4. Google 검색에 통합되었으며, 이는 검색 엔진 역사상 가장 큰 업데이트 중 하나가 되어 모델의 실용적 가치를 명확히 보여주었습니다.
  5. 파생 모델, 도구, 연구('BERTology')로 이루어진 생태계 전체를 탄생시키며 AI 분야에서 가장 많이 인용되는 연구 중 하나가 되었습니다.

GPT-3 및 GPT-4와 같은 더 새롭고 큰 모델들이 많은 벤치마크(특히 생성 과제)에서 BERT를 능가했지만, BERT와 그 변형 모델들은 여전히 텍스트에 대한 깊은 이해가 필요한 과제에서 강력하고 널리 사용되는 도구로 남아 있습니다.

외부 링크

  • GitHub의 BERT 공식 저장소
  • Google AI 블로그의 BERT 발표문
  • The Illustrated BERT — BERT 아키텍처의 시각적 설명

참고 문헌

  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. arXiv:1802.05365.
  • Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv:1907.11692.
  • Lan, Z. et al. (2020). ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. arXiv:1909.11942.
  • Sanh, V. et al. (2020). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv:1910.01108.
  • Yang, Z. et al. (2019). XLNet: Generalized Autoregressive Pretraining for Language Understanding. arXiv:1906.08237.
  • Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
  • Lee, J. et al. (2020). BioBERT: a pre-trained biomedical language representation model for biomedical text mining. arXiv:1901.08746.
  • Warner, B. et al. (2024). Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference. arXiv:2412.13663.