BERT의 등장: 자연어 처리의 '아이폰 모멘트'를 이해하다
언어 모델의 역사를 바꾼 양방향 문맥 학습의 마법
📋 한눈에 리뷰
핵심 기여
- 양방향 문맥 학습을 가능하게 하는 '마스크드 언어 모델' 개념 도입
- 사전 학습된 모델을 다양한 NLP 과제에 즉시 활용 가능한 구조 제시
- 11개 이상의 주요 언어 처리 과제에서 압도적인 성능 달성
강점
- 기존 모델 대비 월등한 문맥 이해 능력
- 모델 구조 수정 없이 다양한 작업에 적용 가능한 범용성
한계
- 모델 크기가 커서 학습과 운영에 많은 컴퓨팅 자원이 필요함
- 학습 시의 [MASK] 토큰이 실전에서는 등장하지 않는 데이터 불일치 문제
미리 알면 좋은 것
- 딥러닝 기초
- 언어 모델의 기본 개념
- Transformer 모델 구조에 대한 기초 지식
💬 이런 게 궁금하다면 — 눌러서 AI에게 물어보세요
들어가며
혹시 외국어를 배울 때, 문장 전체를 다 읽지 않고 앞에서부터 단어 하나씩만 끊어서 해석해 본 적 있나요? 아마 뒷내용을 모르면 문장 전체의 뉘앙스를 놓치기 십상일 겁니다. 놀랍게도 2018년 이전의 수많은 인공지능 언어 모델들도 딱 그렇게 공부하고 있었습니다. 왼쪽에서 오른쪽으로만 글을 읽는 방식이었죠.
이런 답답한 상황을 단번에 해결하며 등장한 것이 바로 'BERT'입니다. 구글 연구진이 발표한 이 모델은 등장하자마자 자연어 처리(NLP) 분야의 거의 모든 기록을 갈아치웠습니다. 도대체 BERT는 무엇이 달랐기에 '언어 이해의 혁명'이라 불리는 걸까요?
풀려는 문제: 한쪽 눈만 뜨고 세상을 본다면?
기존의 언어 모델들은 주로 '다음 단어가 무엇일까?'를 예측하는 방식으로 학습했습니다. 문제는 이 방식이 대부분 '왼쪽에서 오른쪽으로' 흐르는 단방향이었다는 점입니다.
예를 들어 "나는 사과를 먹고 [ ]에 갔다"라는 문장이 있다면, 단방향 모델은 "나는, 사과를, 먹고"까지만 보고 빈칸을 채워야 합니다. 하지만 사람이 문맥을 파악할 때는 뒤에 나오는 단어들도 함께 고려하죠. 기존 모델들은 문장의 앞뒤 맥락을 동시에 고려하지 못했기 때문에, 복잡한 문장이나 질문에 답하는 능력에 한계가 있었습니다.
핵심 아이디어: 양방향으로 동시에 읽기
BERT의 핵심은 단순합니다. **'양방향으로 동시에 문맥을 보겠다'**는 것이죠. 하지만 이게 말처럼 쉽진 않습니다. 양방향으로 다 보여주면 모델이 정답을 미리 보고 '컨닝'을 해버릴 테니까요.
그래서 연구진은 기가 막힌 묘수를 냈습니다. 문장의 단어 중 15% 정도를 무작위로 가려버린 뒤(Masking), 모델이 가려진 단어를 문맥을 통해 맞히게 한 것입니다. 이를 마스크드 언어 모델마스크드 언어 모델문장의 일부 단어를 [MASK]라는 기호로 가리고, 문맥을 통해 원래 단어가 무엇인지 맞히게 하는 학습 방법입니다.이라고 합니다.
flowchart TD A[가려진 문장] --> B[양방향 Transformer] B --> C[가려진 단어 예측] C --> D[언어 이해력 향상]
어떻게 동작하나
BERT의 학습은 크게 두 단계로 나뉩니다.
첫 번째는 **사전 학습(Pre-training)**입니다. 엄청나게 많은 위키피디아 데이터를 활용해 언어의 전반적인 규칙을 배웁니다. 이때 두 가지 과제를 수행하는데, 하나는 앞서 말한 '마스크드 언어 모델'이고, 다른 하나는 다음 문장 예측다음 문장 예측두 문장이 실제로 이어지는 내용인지, 아니면 무작위로 섞인 문장인지를 판별하게 하여 문맥적 연결성을 학습시키는 과제입니다.입니다. 두 문장이 실제로 이어지는 문장인지 아닌지를 판단하게 하여, 문장 간의 관계까지 이해하게 만들죠.
두 번째는 **미세 조정(Fine-tuning)**입니다. 사전 학습으로 '언어의 달인'이 된 BERT 위에, 우리가 풀고 싶은 문제(질문 답변, 감성 분석 등)를 위한 얇은 층 하나만 덧붙여서 살짝 훈련시키는 겁니다. 이미 언어의 기초가 탄탄하기 때문에, 아주 적은 데이터로도 최첨단 성능을 낼 수 있습니다.
결과: 왜 이게 중요한가
BERT는 이전 모델들이 낑낑대며 풀던 문제들을 아주 가볍게 해결했습니다. GLUE라는 언어 이해력 테스트에서 인간의 능력을 뛰어넘는 점수를 기록했죠.
가장 중요한 의의는 '범용성'입니다. 이전까지는 질문 답변용 모델, 번역용 모델을 따로 만들어야 했다면, 이제는 BERT 하나를 가져다가 살짝 튜닝만 하면 거의 모든 언어 문제를 해결할 수 있게 되었습니다. 덕분에 개발자들은 밑바닥부터 모델을 설계할 필요 없이, 이미 잘 학습된 BERT를 가져다 쓰는 '전이 학습' 시대가 열렸습니다.
한계점
물론 BERT가 완벽한 건 아닙니다. 모델의 크기가 매우 커서 일반적인 컴퓨터에서 돌리기엔 무겁다는 단점이 있습니다. 또한, 학습할 때 15%의 단어를 가리는 방식이 실제 문장을 읽을 때는 일어나지 않는 상황이라, 사전 학습과 실제 사용 시의 데이터 형태가 조금 다르다는 '불일치' 문제도 존재하죠. 하지만 이러한 사소한 단점을 덮을 만큼, BERT가 보여준 성능 향상은 압도적이었습니다.
용어 노트
- 마스크드 언어 모델전문용어
- 문장의 일부 단어를 [MASK]라는 기호로 가리고, 문맥을 통해 원래 단어가 무엇인지 맞히게 하는 학습 방법입니다.
- 다음 문장 예측전문용어
- 두 문장이 실제로 이어지는 내용인지, 아니면 무작위로 섞인 문장인지를 판별하게 하여 문맥적 연결성을 학습시키는 과제입니다.
- Transformer핵심 개념
- 문장 내 단어들 사이의 관계를 '주의(Attention)'라는 메커니즘을 통해 파악하는 인공지능 모델 구조입니다.
- 사전 학습핵심 개념
- 특정 목적 없이 방대한 데이터를 미리 학습시켜 언어의 기본적인 규칙과 문맥을 익히는 과정입니다.
- 미세 조정핵심 개념
- 사전 학습된 모델을 특정 작업에 맞춰 적은 양의 데이터로 추가 학습시키는 과정입니다.
- 전이 학습핵심 개념
- 한 분야에서 학습된 지식을 다른 분야로 옮겨와 활용하는 학습 기법입니다.