AI VIDEO BRIEFING

BERT 구조와 사전학습 방식 정리 — 마스킹 예측과 다음 문장 예측이 만든 자연어처리 전이학습

찰머스 공과대학 딥러닝 강의가 BERT를 정리한 회차다. 컴퓨터 비전보다 몇 해 늦게 열린 자연어처리 전이학습의 배경과, 마스킹 예측·다음 문장 예측이라는 두 사전학습 과제의 작동 방식, 그리고 미세조정이 빠른 이유를 짚는다.

BERT는 어떻게 자연어처리에 전이학습의 문을 열었나 영상 대표 이미지

핵심 메시지

  • 전이학습은 큰 데이터로 모델을 미리 학습해 두고 작은 데이터로 목적에 맞게 미세조정하는 방식이다. 컴퓨터 비전에서는 2014년 무렵 사실상 기본 전략이 됐다.
  • 자연어처리는 이미지넷에 해당하는 사전학습 과제를 찾지 못해 몇 해를 헤맸고, 2018년에야 세 편 이상의 논문이 돌파구를 냈다. 그중 BERT는 미세조정을 가장 적게 요구하면서 가장 좋은 결과를 냈다.
  • 자연어처리의 사전학습은 자기지도 방식이라 사람이 데이터에 라벨을 붙일 필요가 없다. 덕분에 인터넷을 긁어모아 거대한 학습 데이터를 만들 수 있었다.
  • BERT의 사전학습 과제는 두 가지다. 입력 단어의 15%를 가리고 무엇이었는지 맞히기, 그리고 주어진 두 문장이 원문에서 실제로 이어지는지 맞히기다.
  • 미세조정 단계에서 새로 늘어나는 파라미터는 행렬 하나와 편향 하나뿐이다. 인코더 전체의 파라미터 수에 비하면 미미해서, 미세조정은 사전학습보다 훨씬 빠르게 끝난다.

쉽게 이해하기

이 영상은 스웨덴 찰머스 공과대학의 딥러닝 강의에서 BERT를 다룬 회차다. BERT는 트랜스포머 인코더를 기반으로 한 언어 모델로, 대규모 말뭉치에서 자기지도 방식으로 사전학습된다. 강의의 핵심 주장은 간명하다. 자연어처리에서도 전이학습이 강력하게 통하며, 새로운 과제를 풀 때 아주 적은 미세조정만으로 충분할 수 있다는 것이다.

전이학습의 기본 발상은 먼저 큰 데이터셋으로 대형 신경망을 사전학습한 뒤, 풀고 싶은 특정 과제의 작은 데이터셋으로 미세조정하는 것이다. 이 방식이 통하면 차이가 크다. 인터넷에서 사전학습된 가중치를 내려받아 쓰면 되니, 각자의 과제를 위해 대규모 데이터셋을 따로 모을 필요가 없어지기 때문이다. 컴퓨터 비전에서는 2014년 무렵 이 전략이 기본이 됐고, 이미지넷 분류로 사전학습한 모델이 널리 쓰였다.

문제는 자연어처리였다. 이미지넷처럼 매력적인 성질을 가진 사전학습 과제와 데이터셋을 찾으려는 시도가 몇 해 동안 이어졌지만 성과가 없었다. 전환점은 2018년으로, 최소 세 편의 논문이 자연어처리에서도 전이학습이 가능함을 보였다. 강의자는 그중 BERT가 가장 깔끔했다고 평가한다. 작은 데이터셋에서의 미세조정을 가장 적게 요구했고, 전체 성능도 가장 좋았기 때문이다. 여기서 눈여겨볼 대목은 자연어처리의 사전학습 전략이 자기지도 방식이라는 점이다. 데이터에 사람이 주석을 달 필요가 없으니 인터넷을 크롤링해 거대한 데이터셋을 모을 수 있었다.

구조는 트랜스포머 인코더를 따라 입력 요소를 임베딩으로 바꾼 뒤 멀티헤드 어텐션과 정규화, 순전파 층으로 이뤄진 인코더 블록을 여러 번 통과시킨다. 원 논문이 제시한 BERT base는 인코더 블록 12개, 임베딩 차원 768, 어텐션 헤드 12개로 약 1억 1천만 개의 파라미터를 갖고, BERT large는 층과 벡터 길이, 헤드 수를 늘려 약 3억 4천만 개에 이른다. 입력 구성에도 특징이 있는데, 학습 시 입력은 두 개의 하위 시퀀스로 이뤄지고 그 사이와 끝에 구분 토큰이, 맨 앞에는 분류용 토큰이 붙는다. 다른 토큰들이 문맥을 반영한 임베딩을 얻는 데 목표를 둔다면 이 분류 토큰은 시퀀스 전체를 요약하는 임베딩을 얻는 것이 목표다. 최종 입력 벡터는 단어 자체를 나타내는 토큰 임베딩, 위치 임베딩, 그리고 그 단어가 어느 쪽 문장에 속하는지를 알려 주는 임베딩을 모두 더해 만든다.

사전학습은 두 과제로 이뤄진다. 첫째는 입력 단어의 15%를 무작위로 가린 뒤 그 자리의 출력 벡터를 단층 신경망과 소프트맥스에 넣어 원래 단어를 맞히는 것이다. 다만 마스크 토큰은 학습 때만 등장해 학습과 시험 데이터 사이에 불일치가 생기므로, 저자들은 선택된 단어를 80%만 마스크 토큰으로 바꾸고 10%는 무작위 단어로, 나머지 10%는 원래 단어 그대로 두었다. 둘째 과제는 두 문장이 원문에서 실제로 이어지는지를 맞히는 이진 분류로, 분류 토큰의 출력에 단층 신경망과 소프트맥스를 붙여 풀며 학습 데이터의 절반은 실제로 이어지는 쌍, 절반은 말뭉치 어딘가에서 가져온 무관한 쌍으로 만든다.

미세조정은 간단하다. 문장 단위 분류라면 분류 토큰의 출력 벡터에 행렬을 곱하고 편향을 더한 뒤 소프트맥스를 통과시켜 클래스 확률을 얻고, 주석이 달린 데이터셋에서 교차 엔트로피 손실을 최소화한다. 새로 도입되는 파라미터는 행렬 하나와 스칼라 하나뿐이라 인코더 전체 규모에 비하면 극히 작고, 그래서 미세조정은 사전학습에 비해 매우 빠르게 끝난다. 원 논문은 아홉 개 과제로 이뤄진 GLUE 벤치마크에서 BERT를 다른 모델들과 비교했고, 표에 실린 과제 전반에서 당시 최고 성능을 기록했다.

주요 인사이트

  • 라벨링 비용이 연구 방향을 결정한다. 이미지넷 기반 전이학습이 지도학습에 기댔던 것과 달리, 자연어처리는 라벨 없이 문장 자체에서 학습 신호를 뽑아내는 자기지도 방식으로 활로를 찾았다.
  • 사전학습 과제를 어떻게 설계하느냐가 모델이 무엇을 배우는지를 결정한다. 두 문장의 연결 여부를 맞히게 한 단순한 과제가, 시퀀스 전체를 요약하는 임베딩을 만들어 내는 장치로 작동했다.
  • 학습과 추론의 조건이 어긋나는 문제는 생각보다 흔하다. 마스크 토큰이 학습 때만 나타난다는 불일치를 80대 10대 10 비율로 완화한 처리는, 작은 설계 결정이 성능에 미치는 영향을 보여 준다.
  • 전이학습의 실용적 가치는 성능뿐 아니라 진입 장벽에 있다. 사전학습된 가중치를 내려받고 행렬 하나만 새로 학습하면 되니, 대규모 데이터와 연산을 갖추지 못한 쪽도 좋은 성능을 낼 수 있다.
  • BERT의 영향은 자연어처리 안에 머무르지 않았다. 강의는 최근의 자기지도 학습 기법들이 컴퓨터 비전에서도 뛰어난 성능을 보였고, 그중 일부는 BERT에서 강한 영향을 받았다고 짚는다.

자주 묻는 질문

BERT의 사전학습에는 어떤 과제가 쓰이나요?

두 가지입니다. 입력 단어의 15%를 무작위로 가린 뒤 그 단어를 맞히는 과제와, 주어진 두 문장이 원문에서 실제로 이어지는 문장인지를 맞히는 이진 분류 과제입니다.

BERT base와 BERT large는 무엇이 다른가요?

BERT base는 인코더 블록 12개, 임베딩 차원 768, 어텐션 헤드 12개로 약 1억 1천만 개의 파라미터를 갖습니다. BERT large는 층 수와 벡터 길이, 헤드 수를 모두 늘려 약 3억 4천만 개의 파라미터를 갖습니다.

미세조정은 왜 사전학습보다 빠른가요?

문장 분류 과제에서 새로 추가되는 파라미터가 행렬 하나와 편향 하나뿐이기 때문입니다. 트랜스포머 인코더가 이미 갖고 있는 파라미터 수에 비하면 매우 적어서, 주석이 달린 작은 데이터셋만으로 빠르게 끝납니다.

입력 시퀀스 맨 앞의 분류 토큰은 어떤 역할을 하나요?

다른 토큰들이 문맥을 반영한 각자의 임베딩을 얻는 것과 달리, 이 토큰은 시퀀스 전체를 요약하는 임베딩을 얻는 것을 목표로 합니다. 그래서 문장 단위 분류를 할 때 이 토큰의 출력을 그대로 분류기에 넣습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식