마스크 언어 모델링(Masked Language Modeling)

•
2026년 11월 15일 발행•2026년 11월 15일 수정
요약

입력 토큰 일부를 가리고 주변 문맥으로 원래 토큰을 예측하게 하는 양방향 언어 모델 사전 학습 방식

중급
트랜스포머 인코더 구조와 언어 모델 사전 학습, 교차 엔트로피 손실에 대한 이해가 필요하다.

#개념

마스크 언어 모델링(Masked Language Modeling, MLM)은 입력 문장의 일부 토큰을 가린 뒤, 가려진 위치의 원래 토큰을 주변 문맥으로 예측하도록 모델을 학습시키는 자기 지도 사전 학습 목표이다. Devlin 등(2019)이 BERT(Bidirectional Encoder Representations from Transformers)에서 제안했으며, 별도의 레이블 없이 대량의 텍스트만으로 양방향 문맥 표현을 학습할 수 있어 트랜스포머 인코더 계열 모델의 표준 사전 학습 방식이 되었다.
기존의 언어 모델은 앞 토큰들로 다음 토큰을 예측하는 방식이라 각 위치에서 왼쪽 문맥만 볼 수 있었다. 양방향 문맥을 그대로 쓰면 다층 어텐션을 거치며 예측 대상 토큰이 자기 자신을 간접적으로 보게 되어 학습이 무의미해진다. MLM은 예측 대상 위치의 입력을 가려 이 문제를 피하고, 모든 층에서 왼쪽과 오른쪽 문맥을 동시에 활용하도록 만든다.
입력 시퀀스를 $x$, 마스킹으로 손상된 시퀀스를 $\tilde{x}$, 가려진 위치의 집합을 $M$이라 하면 MLM의 손실은 $\mathcal{L}_{MLM} = -\sum_{i \in M} \log P_\theta(x_i \mid \tilde{x})$로 쓸 수 있다. 즉, 손상된 전체 문장을 조건으로 가려진 위치의 원래 토큰에 대한 교차 엔트로피를 최소화한다. 가려지지 않은 위치는 손실 계산에서 제외되며, 출력층은 어휘 전체에 대한 소프트맥스 분류기로 구성된다.
BERT는 각 시퀀스에서 WordPiece 토큰의 15%를 무작위로 골라 예측 대상으로 삼고, 선택된 토큰을 다음 규칙에 따라 바꾼다. 이를 흔히 80/10/10 규칙이라 부르며, 15%라는 비율은 학습 신호의 양과 문맥 손상 정도 사이의 절충으로 정해졌다. 가리는 비율이 너무 낮으면 학습 효율이 떨어지고, 너무 높으면 예측에 필요한 문맥이 부족해진다.
BERT의 마스킹 규칙
  • [MASK] 치환(80%): 선택된 토큰의 80%는 특수 토큰 [MASK]로 바꾼다.
  • 무작위 토큰 치환(10%): 10%는 어휘에서 무작위로 뽑은 다른 토큰으로 바꾼다.
  • 원래 토큰 유지(10%): 나머지 10%는 바꾸지 않고 그대로 둔다. 세 경우 모두 모델은 원래 토큰을 예측해야 한다.
모든 선택 토큰을 [MASK]로 바꾸지 않는 이유는 사전 학습과 미세 조정 사이의 불일치 때문이다. [MASK] 토큰은 미세 조정이나 추론 단계의 입력에는 나타나지 않으므로, 일부를 원래 토큰이나 무작위 토큰으로 남겨 두면 모델이 [MASK] 위치뿐 아니라 모든 위치의 표현을 충실히 만들도록 유도할 수 있다.
원 논문에서 BERT는 BooksCorpus(8억 단어)와 영어 위키백과(25억 단어)로 사전 학습되었다. BERT-Base는 12개 층, 은닉 크기 768, 어텐션 헤드 12개로 약 1억 1,000만 개의 파라미터를, BERT-Large는 24개 층, 은닉 크기 1,024, 헤드 16개로 약 3억 4,000만 개의 파라미터를 가진다.
MLM은 GPT 계열이 사용하는 인과 언어 모델링(Causal Language Modeling, CLM)과 자주 비교된다. 두 방식은 같은 트랜스포머 구조를 쓰더라도 어텐션 마스크와 손실 계산 위치가 달라, 학습된 모델의 성격과 적합한 과제가 크게 달라진다. 두 목표의 차이는 다음과 같다.
마스크 언어 모델링과 인과 언어 모델링 비교
  • 참조 문맥: MLM은 가려진 위치의 좌우 문맥을 모두 보고, CLM은 이전 토큰만 본다.
  • 학습 신호: MLM은 가려진 일부 토큰에서만 손실을 얻고, CLM은 시퀀스의 모든 위치에서 다음 토큰 예측 손실을 얻는다.
  • 주된 용도: MLM은 분류·개체명 인식·검색 임베딩 같은 이해 과제에 강하고, CLM은 왼쪽에서 오른쪽으로 텍스트를 생성하는 과제에 적합하다.
BERT는 MLM과 함께 다음 문장 예측(Next Sentence Prediction, NSP)도 학습했다. 두 문장 A와 B를 입력하고, 50%는 실제로 이어지는 문장, 50%는 무작위 문장을 넣어 B가 A의 다음 문장인지 이진 분류하게 하는 방식이다. 원 논문은 NSP가 질의응답과 자연어 추론 성능에 도움이 된다고 보고했다.
Liu 등(2019)의 RoBERTa(Robustly Optimized BERT Pretraining Approach)는 BERT의 학습 설정을 체계적으로 재검토했다. NSP 손실을 제거해도 하위 과제 성능이 같거나 약간 좋아졌으며, BERT가 충분히 학습되지 않았다는 결론을 내렸다. RoBERTa는 160GB 이상의 텍스트, 8K 시퀀스 크기의 큰 배치를 사용해 MLM만으로 더 높은 성능을 얻었다.
RoBERTa는 동적 마스킹(Dynamic Masking)도 도입했다. 원래 BERT는 전처리 단계에서 마스크를 한 번 정하는 정적 마스킹을 쓰고, 데이터를 10번 복제해 40 에포크 동안 각 시퀀스가 10가지 방식으로 가려지게 했다. 동적 마스킹은 시퀀스를 모델에 넣을 때마다 새로운 마스크를 생성하며, 정적 마스킹과 비슷하거나 약간 나은 성능을 보였다.
개별 토큰을 독립적으로 가리는 대신 더 큰 단위를 가리는 변형도 여럿 제안되었다. 하위 단어 조각 하나만 가리면 같은 단어의 나머지 조각에서 쉽게 답을 추론할 수 있어, 더 긴 단위를 가릴수록 의미 수준의 문맥 이해가 요구된다. 주요 마스킹 전략은 다음과 같다.
마스킹 단위에 따른 변형
  • 전체 단어 마스킹(Whole Word Masking): 한 단어를 구성하는 WordPiece 조각을 모두 함께 가린다. BERT 공식 저장소는 2019년 이 방식으로 학습한 BERT-Large 모델을 추가로 공개했다.
  • 스팬 마스킹(Span Masking): SpanBERT(Joshi 등, 2019)는 연속된 구간을 가리고 구간 경계 표현으로 내부 토큰을 예측하게 하여 질의응답과 상호 참조 해결에서 성능을 높였다.
  • 스팬 손상(Span Corruption): T5(Raffel 등)는 입력 토큰의 15%를 지우고, 연속으로 지워진 구간을 하나의 센티널 토큰으로 대체한 뒤 디코더가 지워진 구간들을 생성하게 한다.
  • 텍스트 채우기(Text Infilling): BART(Lewis 등, 2019)는 포아송 분포($\lambda=3$)에서 길이를 뽑은 구간을 하나의 마스크 토큰으로 바꾸어, 몇 개의 토큰이 빠졌는지까지 예측하게 한다.
MLM에는 한계도 있다. 한 시퀀스에서 손실을 얻는 위치가 약 15%에 불과해 계산량 대비 학습 신호가 적고, [MASK] 토큰 때문에 사전 학습과 미세 조정의 입력 분포가 다르다. 또한 가려진 토큰들을 서로 독립적으로 예측하므로, 긴 텍스트를 순차적으로 생성하는 용도에는 적합하지 않다.
Clark 등(2020)의 ELECTRA는 첫 번째 한계를 겨냥해 대체 토큰 탐지(Replaced Token Detection)를 제안했다. 작은 생성기가 MLM 방식으로 일부 토큰을 그럴듯한 다른 토큰으로 바꾸고, 판별기가 모든 위치에 대해 원래 토큰인지 대체된 토큰인지를 판별한다. 모든 토큰에서 학습 신호를 얻으므로, 같은 모델 크기·데이터·계산량에서 BERT보다 높은 성능을 보였다.
MLM의 발상은 비전 분야로도 확장되었다. He 등(2022)의 마스크드 오토인코더(Masked Autoencoder, MAE)는 이미지를 패치로 나눈 뒤 75% 정도의 높은 비율을 가리고, 보이는 패치만 인코더에 넣어 가려진 패치의 픽셀을 복원한다. 인코더가 일부 패치만 처리하므로 학습을 3배 이상 가속할 수 있다고 보고되었다.
한국어에서도 MLM 기반 사전 학습 모델이 공개되어 있다. 예를 들어 SKT Brain의 KoBERT는 한국어 위키백과의 약 500만 문장, 5,400만 단어로 학습되었으며, SentencePiece 토크나이저와 8,002개 크기의 어휘를 사용한다. 교착어인 한국어는 형태소와 하위 단어 분절 방식이 마스킹 단위와 성능에 큰 영향을 준다.
실무에서는 Hugging Face Transformers의 DataCollatorForLanguageModeling으로 MLM 학습 데이터를 쉽게 구성할 수 있다. mlm_probability=0.15를 지정하면 배치를 만들 때마다 토큰을 무작위로 가리는 동적 마스킹이 적용되고, 예측 대상이 아닌 위치의 레이블은 손실에서 제외되도록 처리된다. 이를 AutoModelForMaskedLM과 함께 Trainer에 넘기면 된다.
MLM은 범용 사전 학습뿐 아니라 도메인 적응에도 자주 쓰인다. 공개된 사전 학습 모델을 의료 기록, 법률 문서, 상품 설명처럼 특정 도메인 텍스트로 MLM 추가 학습하면, 레이블 없이도 해당 도메인의 어휘와 문맥에 맞는 표현을 얻을 수 있다. 이후 소량의 레이블 데이터로 미세 조정하면 분류·검색 성능을 효율적으로 높일 수 있다.

#관련 용어

인과 언어 모델링(CLM)
이전 토큰만 보고 다음 토큰을 예측하는 자기 회귀 방식의 언어 모델 학습 목표
다음 문장 예측(NSP)
두 문장이 실제로 이어지는 문장인지 이진 분류하는 BERT의 보조 사전 학습 과제
동적 마스킹
시퀀스를 모델에 입력할 때마다 가릴 토큰을 새로 정하는 마스킹 방식
대체 토큰 탐지
생성기가 바꾼 토큰을 판별기가 모든 위치에서 찾아내도록 학습하는 ELECTRA의 사전 학습 목표
트랜스포머
셀프 어텐션으로 시퀀스를 처리하는 신경망 구조로, MLM 기반 인코더 모델의 기반 구조
인코더-디코더
입력을 표현으로 인코딩한 뒤 디코더가 출력 시퀀스를 생성하는 구조로, T5·BART의 스팬 복원 학습에 사용

#직무 연관도

DA
Data Analyst
낮음
MLM으로 학습된 임베딩 모델을 텍스트 분류·유사도 분석에 활용
DS
Data Scientist
밀접
마스킹 비율·단위 같은 사전 학습 목표를 설계하고 하위 과제 성능에 미치는 영향을 연구
DE
Data Engineer
높음
도메인 텍스트로 MLM 추가 학습을 수행하고 사전 학습 모델을 미세 조정해 서비스에 배포

#사용 사례

인터넷 서비스전자상거래금융의료법률
개요
마스크 언어 모델링은 레이블 없는 대량의 텍스트로 문맥 표현을 학습할 수 있어, 검색·분류·개체명 인식 등 텍스트 이해 기능의 기반 모델을 만드는 데 활용된다. 금융·의료·법률처럼 전문 용어가 많은 산업에서는 도메인 문서로 MLM 추가 학습을 수행해 범용 모델보다 높은 성능을 얻는다.
사례
전자상거래 플랫폼에서 공개 BERT 모델을 상품명·상품 설명 텍스트로 MLM 추가 학습한 뒤, 소량의 레이블로 미세 조정해 상품 카테고리 분류와 검색 질의 의도 분류 정확도를 향상

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.