개요
BERT(Bidirectional Encoder Representations from Transformers)는 Google 연구진이 2018년에 공개한 언어 표현 모델이다. 모든 층에서 왼쪽과 오른쪽 문맥을 함께 조건으로 사용해 깊은 양방향 표현을 사전학습하는 방식을 제시했다.[1]
학습과 활용
BERT는 Transformer의 인코더 구조를 바탕으로 하며, 사전학습 뒤 비교적 작은 과제별 출력층을 붙여 질문응답·문장 관계 추론 같은 여러 자연어 처리 과제에 미세조정할 수 있도록 설계됐다.[1]
의미
BERT는 대규모 사전학습 모델을 여러 하위 과제에 적응시키는 흐름을 대표하는 모델 중 하나다. 생성형 자동회귀 모델인 GPT와는 Transformer를 활용하는 방식과 학습 목표가 다르다.
사전학습 목표
원 논문에서 BERT는 입력 일부를 가린 뒤 원래 토큰을 맞히는 masked language modeling과 두 문장의 관계를 학습하는 next sentence prediction을 함께 사용했다.[1] 이 설계는 왼쪽에서 오른쪽으로만 다음 토큰을 예측하는 자동회귀 언어 모델과 다른 학습 관점을 보여준다.
인코더 모델로서의 특징
BERT는 주어진 입력 전체를 바탕으로 각 토큰의 문맥 표현을 만드는 데 강점이 있는 인코더 계열이다. 그래서 문장 분류, 토큰 분류, 질의응답처럼 입력을 이해하고 판별하는 과제에 자연스럽게 연결된다. 반대로 긴 문장을 순차적으로 생성하는 용도에서는 GPT 같은 자동회귀 구조와 목적이 다르다.
활용할 때 확인할 점
실제 BERT 계열 모델을 비교할 때는 모델 크기뿐 아니라 사전학습 데이터, 토크나이저, 입력 길이, 미세조정 방식과 평가 데이터가 같은지 확인해야 한다. 같은 'BERT 계열'이라는 이름만으로 동일한 성능이나 비용을 가정하기 어렵다.
마스킹 비율을 예측 대상과 입력 치환으로 나누기
BERT 원 논문 ↗은 WordPiece 토큰 위치의 15%를 예측 대상으로 선택하고, 선택한 위치를 80% 확률로 [MASK], 10%로 무작위 토큰, 10%로 원래 토큰을 유지하는 절차를 설명한다.[1] 따라서 '전체 입력의 15%를 모두 [MASK]로 바꾼다'는 설명은 원 절차와 다르다.
설명용으로 예측 후보 1,000개에 이 비율을 적용하면 예측 대상 150개, [MASK] 치환 120개, 무작위 치환 15개, 그대로인 대상 15개의 기대값이 된다. 표본 하나에서 반드시 이 개수가 나오는 것은 아니며 반올림·선택 규칙도 구현에 따라 확인해야 한다. 목표는 각 대상의 원래 토큰을 맞히는 것이다. 토큰 수를 글자나 단어 수와 같게 계산하지 않고, 원 BERT의 MLM·NSP 목표가 모든 후속 변형에도 같다고 가정하지 않는다.
업무를 분류·토큰 판별·답 위치 추출로 구체화하기
가상의 문의 분류라면 입력에서 표현을 만들고 '배송·반품·기타' 같은 고정 라벨을 예측하도록 출력층을 학습할 수 있다. 토큰 판별은 문장 속 위치마다 라벨을 예측하고, 발췌형 질의응답은 제공한 본문에서 답의 시작·끝 위치를 찾는다. 원 논문은 이처럼 과제별 출력층을 연결한 미세조정을 평가했다.
이 작업과 자유로운 순차 생성은 출력 조건이 다르다. 매일 바뀌는 제품 규정을 과거 가중치만으로 답하게 하는 것은 또 다른 문제이므로 현행 자료 검색이나 구조화된 규칙을 검토한다. 모델 계열 이름보다 입력·라벨·실패 처리와 실제 업무의 성공 조건을 먼저 적는다.
계산 예제: 정확도 88%와 반품 재현율 60%
다음은 BERT 제품 성능이 아닌 가상 이진 분류 결과다. 반품 문의 20개 중 12개를 맞히고 8개를 놓쳤으며, 반품 아닌 문의 80개 중 76개를 맞히고 4개를 반품으로 잘못 분류했다. 전체 정확도는 (12 + 76) / 100 = 88%다. 반품 재현율은 12 / 20 = 60%, 반품이라고 예측한 16개 중 정밀도는 12 / 16 = 75%다.
분모가 다르므로 높은 전체 정확도가 중요한 문의를 잘 찾아낸다는 보장은 없다. 판단 임계값을 바꿀 때 놓치는 문의와 잘못 넘어오는 문의를 같이 보고, 설정 선택에 쓴 자료와 별도 평가 자료를 나눈다. 다른 평가 지표와 연결해 클래스별 개수·정밀도·재현율을 남긴다.
한국어 적용과 배포 전에 남길 기록
모델·토크나이저 버전, 한국어 학습 자료의 확인 범위, 입력 제한, 라벨 정의, 중복 문의 처리, 문서·작성자 단위 분할을 기록한다. 같은 문의의 표현만 바꾼 항목이 학습과 평가에 동시에 있으면 결과가 부풀 수 있다. 자료 중복과 언어별 실패를 따로 확인하고 영어 원 연구의 점수를 한국어 업무의 점수로 옮겨 쓰지 않는다.