마스크 언어 모델링 (masked language modeling)
쉽게 풀면
문장에서 단어 몇 개를 지우고 빈칸을 채우게 하는 시험 문제를 스스로 무한히 만들어 푸는 학습법입니다. 빈칸의 앞뒤를 모두 볼 수 있기 때문에, 모델은 한 방향이 아니라 양쪽 맥락을 동시에 고려하는 표현을 배우게 됩니다. 사람이 정답을 달아 줄 필요가 없어 인터넷의 방대한 글을 그대로 학습 자료로 쓸 수 있습니다.
왜 중요한가
BERT 계열 모델이 자연어처리의 거의 모든 과제 성능을 한꺼번에 끌어올린 비결이며, 사전학습 후 미세조정이라는 오늘날의 표준 절차를 정착시켰습니다. 문장 분류나 개체명인식처럼 문장 전체를 이해해야 하는 과제에서 특히 강점을 보입니다. 이미지·음성 등 다른 분야의 자기지도학습 설계에도 그대로 이식되었습니다.
논문에서는 이렇게 쓰입니다
해당 분야 글로 빈칸 맞히기 학습을 더 시킨 뒤 본 과제에 맞춘 결과 성능이 올랐다는 뜻입니다.
조금 더 깊게 보면
보통 전체 토큰의 15% 정도를 선택해 대부분을 마스크 토큰으로 바꾸고 일부는 무작위 토큰이나 원래 토큰으로 남겨, 학습과 추론 사이의 불일치를 줄입니다. 손실은 가려진 위치에 대해서만 계산하므로 한 문장에서 얻는 학습 신호가 적어 많은 데이터와 연산이 필요합니다. 단어 조각 하나가 아니라 어절 전체를 함께 가리는 전체 단어 마스킹, 연속 구간을 가리는 방식 등이 성능 향상을 위해 제안되었습니다.
주의할 점
대규모 언어 모델 대부분이 채택한 다음 토큰 예측 방식은 왼쪽 맥락만 보고 이어지는 단어를 생성하는 반면, 마스크 언어 모델링은 양방향 맥락을 쓰지만 자유로운 문장 생성에는 바로 쓰이지 않습니다. 목적이 이해냐 생성이냐에 따라 선택이 갈립니다.