구글 새로운 자연어처리 모델 ‘BERT’와 ‘ALBERT’

구글이 지난 9월 BERT를 보다 가볍고 처리 속도를 높인 새로운 버전 ‘ALBERT’를 공개했다.

구글의 기존 자연어처리 모델인 BERT(Bidirectional Encoder Representations from Transformers)는 방대한 기존의 텍스트 데이터에서 문맥 이해와 감정 분석을 사전 학습 없이도 사용할 수 있는 NLP(Natural Language Processing, 자연어 처리) AI의 최첨단 딥러닝 모델이다.

BERT는 10월에 논문이 공개됐고, 11월에 오픈소스로 코드가 공개됐다. 특히 NLP 11개 태스크에 최고 신기술(state-of-the-art)을 기록하며 최근 가장 뜨거운 분야인 ‘스탠퍼드 질문·답변 데이터셋(SQuAD v1.1)’과 자연어 처리 모델을 훈련시키고, 그 성능을 평가 및 비교 분석하기 위한 데이터셋들로 구성된 GLUE(General Language Understanding Evaluation) 벤치마크의 기록마저 갈아치우며 혜성처럼 등장했다.

BERT는 구글의 셀프 어텐션 신경망 모델인 트랜스포머(Transformer)로 되어있다. 그리고 미리 사전훈련(pre-training)을 한 후 여러 가지 자연어 문제에 파인튜닝(fine-tuning)만 하여 공통으로 적용이 가능하다.

기존에는 특정 모델을 만들 때 해당 문제 데이터를 처음부터 끝까지 학습시켰다. 반면에 사전훈련은 아무런 레이블이 없는 말뭉치(코퍼스)를 특정한 방법으로 비지도 학습을 한다. 그렇게 언어의 패턴이 담긴 모델을 만든 다음 그것을 전이학습이나 파인튜닝을 통해 '질문·답변 데이터로 새롭게 학습을 한다. 

BERT는 사전학습을 위해 위키피디아(25억 단어)와 북스코퍼스(8억 단어), 총 33억 단어를 사용했다. 그리고 학습이 끝난 모델의 마지막에 해당 문제를 위한 간단한 신경망 레이어를 붙여서 추가로 파인튜닝을 한다. 따라서 이미 사전훈련을 통해 언어모델이 만들어졌기 때문에 데이터셋이 적어도 학습이 쉽다는 의미다. 

기존 모델과 달리 하나의 양방향 모델이 문장의 앞뒤 문맥을 동시에 활용해 의미를 해석할 수 있기 때문에 더 높은 정확도를 달성할 수 있다. 앞으로 사전학습이 자연어처리 분야에서 핵심적인 역할로 떠오를 것으로 전망된다.

사람도 사전학습이 중요하다. 예를 들어, 영어를 전혀 모르는 사람이 여행 시 영어 기본을 익힌 다음 질문·답변 문장을 외우면 더 빠르고 정확하게 학습이 가능하다.

하지만 BERT는 이처럼 뛰어난 성능에 비해 최소 416MB의 저장 용량으로 스마트폰 탑재가 어렵고 1억 천개의 연산량(Parameters)으로 서버가 과다하게 사용하기 때문에 모바일 디바이스 적용이 쉽지 않다.

▲RACE 챌린지에서 머신 성능(SAT와 유사한 독해). 랜덤 추측 기준선 점수는 25.0다. 최대 점수는 95.0다. [출처: ai.googleblog.com]

결국 구글은 지난 9월 26일, 기존 BERT를 보다 가볍고 처리 속도를 높인 업그레이드 버전인 ‘ALBERT(A Lite BERT)’를 arXiv에 논문명 ‘ALBERT: A Lite BERT for Self-supervised Learning of Language Representations’으로 공개했다.

논문에 따르면 BERT와 같은 ‘사전학습 언어표현(Pre-trained language representation)’ 모델은 일반적으로 모델의 크기가 커지면 성능이 향상되지만, 모델이 메모리에 비해 큰 경우 학습 시 OOM(Out-Of Memory, 메모리 부족)이 발생한다. 또 학습하는데 오랜 시간이 소요될 뿐만 아니라 모델 성능이 떨어지는 단점이 있다. 

어느 시점에서 GPU/TPU 메모리 한계에 도달한다, 더 긴 학습시간 및 예상치 못한 모델 성능 저하로 인해 계속 모델 사이즈를 늘려가기는 쉽지 않다. 구글은 BERT 모델의 학습시간을 줄이기 위해 여러 장의 TPU를 활용했다. 

버트 베이스(BERT base)의 경우 16개의 TPU로 4일 정도 걸렸고, 버트 라지(BERT large)는 64개의 TPU로 4일 정도 걸렸다. 참고로 GPU를 사용할 때 걸리는 시간은 BERT base의 경우 16개의 V100 GPU 사용 시 5일 이상,  버트 라지 경우 64개의 V100 GPU 사용 시 8일 이상이 소요된다.

ALBERT는 메모리 소비를 80%나 줄이고 BERT의 학습 속도를 증가시키기 위해 두 가지 파라미터 감소 기법을 제시했다. 모델 크기 줄이고 BERT에서의 다음 문장 예측(Next Sentence Prediction, NSP) 대신 두 문장 간 순서를 맞추는 학습 방식으로 성능을 높였다.

결론은 ALBERT는 BERT 모델의 크기를 줄일 수 있고 성능 저하가 BERT xlarge 보다 더 큰 xxlarge 모델에서도 발생하지 않기 때문에 더 높은 성능을 얻을 수 있다. 특히 모델 성능이 향상된 것도 중요하지만 모델의 크기가 현저히 줄어 메모리 제한( Memory Limitation) 문제를 해결한 것이다.

구글리서치(Google Research) 연구원인 라두 소리컷(Radu Soricut)은 12월 23일 ‘ICLR(International Conference on Learning Representations, 표현학습 국제학회) 2020’에서 “ALBERT는 스탠퍼드 질문·답변 데이터셋(Stanford Question Answering Dataset, SQuAD 2.0)와 RACE 벤치마크(RACE 독해 데이터 세트), GLUE 벤치마크 등 12곳의 자연어처리 작업에서 뛰어난 성능을 보였다”고 설명했다.

김들풀 기자 itnews@