본문 바로가기
ML & DL/논문리뷰

[BERT] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

by 공부하는 무니 2024. 4. 11.
반응형

Abstract

BERT는 복잡하게 들릴 수 있는데, 실제로는 언어를 이해하는 데 큰 도움이 되는 간단한 아이디어에 기반을 두고 있습니다. BERT는 기본적으로 대량의 텍스트 데이터를 사용하여 컴퓨터가 언어의 구조를 학습할 수 있게 해주는 모델입니다. 이 모델의 핵심은 양방향성을 가진다는 것입니다. 즉, BERT는 문장을 처리할 때, 단어 앞뒤의 문맥을 모두 고려합니다. 이전의 많은 모델들은 문장을 한 방향(왼쪽에서 오른쪽 또는 그 반대)으로만 처리했기 때문에, BERT가 가져온 큰 변화 중 하나 입니다.

이런 방식 덕분에, BERT는 문장 안에서 단어의 의미를 더 정확하게 파악할 수 있게 되고, 이는 다양한 언어 처리 작업에서 더 좋은 성능을 낼 수 있게 해주게 됩니다. 예를 들어, 사람이 질문에 답하는 것처럼 컴퓨터가 텍스트에 담긴 질문에 답하거나, 글의 주장이나 의도를 이해하는 등의 작업이 있습니다.

BERT는 이렇게 학습된 지식을 바탕으로, 특정 작업을 위한 추가적인 학습 없이도 바로 사용될 수 있습니다. 그럼에도 불구하고, 특정한 작업에 대해 더 특화된 성능을 내고 싶을 때는 조금 더 학습을 진행해야 합니다. 이 과정을 '미세조정(finetuning)'이라고 하며, 이를 통해 BERT는 다양한 언어 처리 작업에서 SOTA 성능을 달성할 수 있었습니다.

 

1 Introduction

언어 모델 사전학습(pre-training)이란, 컴퓨터가 대량의 텍스트를 통해 언어의 구조와 패턴을 학습하는 과정을 말 합니다 . 이 방법은 자연어 처리(NLP)의 여러 작업들에서 성능을 향상시키는 데 효과적이라고 입증되었습니다. 문장 수준의 작업(예: 문장 사이의 관계 예측)과 토큰 수준의 작업(예: 개체명 인식, 질문 답변) 모두에 유용하죠.

사전학습된 언어 표현을 사용하는 데는 두 가지 전략이 있습니다. 기능 기반(feature-based)과 미세조정(fine-tuning)인데요. 기능 기반 방법은 사전학습된 표현을 추가적인 기능으로 사용하며, 작업 특정 구조를 포함합니다. 반면, 미세조정 방법은 최소한의 작업 특정 파라미터를 도입하고, 사전학습된 파라미터들을 단순히 미세조정하여 다운스트림 작업에 적용합니다.

하지만, 기존의 방법들은 언어 모델이 일방향(한 방향으로만 문맥을 이해)인 제한 때문에 사전학습된 표현의 힘을 제대로 발휘하지 못했습니다. 특히, 이런 일방향 모델은 문장 수준 작업이나 토큰 수준 작업에서 최적이 아니었스니다.

이러한 문제를 해결하기 위해, 우리는 BERT를 제안 합니다 . BERT는 '마스크된 언어 모델'(MLM) 사전학습 목표를 사용하여 언어 모델의 일방향 제한을 해결합니다. 이 방식은 문장에서 일부 단어를 무작위로 가리고, 그 가려진 단어를 문맥만으로 예측하게 함으로써 양방향 문맥을 통합할 수 있게 해줍니다. 추가로, '다음 문장 예측' 작업을 통해 문장 쌍의 표현을 함께 사전학습합니다.

BERT의 기여 포인트는 다음과 같습니다.
- 양방향 사전학습이 언어 표현에 중요하다는 것을 보여줍니다. BERT는 기존의 일방향 사전학습 모델들과 달리, 양방향 문맥을 통합할 수 있게 해줌으로써 더 깊고 풍부한 언어 표현을 학습할 수 있습니다.
- 사전학습된 표현이 많은 작업 특정 구조의 필요성을 줄인다는 것을 입증합니다. BERT는 다양한 문장 수준과 토큰 수준 작업에서 최고의 성능을 달성하는 첫 번째 미세조정 기반 표현 모델입니다.
- BERT는 11개의 NLP 작업에서 최고 성능을 달성함으로써, 자연어 처리 분야에서 새로운 기준을 설정했습니다.

2 Related Work

2.1 Unupervised Feature-based Approaches

언어를 컴퓨터가 이해하게 하는 연구는 오랜 역사를 가지고 있습니다. 이 연구는 크게 두 가지 방식으로 발전해왔습니다. 단어, 문장 또는 문단처럼 언어의 요소를 벡터(수치로된 정보)로 바꾸는 방법과, 이러한 벡터들을 사용해 특정 작업을 수행하는 방법입니다. 여기서 말하는 '사전학습된 단어 임베딩'은 단어의 의미를 컴퓨터가 이해할 수 있는 수치로 바꾸는 과정이에요. 이 과정을 통해 얻은 벡터는 다양한 언어 처리 작업에서 중요한 기초 자료로 사용됩니다.

초기 연구들은 주로 단어 벡터를 학습하는 데 집중했습니다. 이후, 이 개념은 더 큰 단위인 문장이나 문단까지 확장되었습니다. 예를 들어, 문장 벡터를 학습하기 위해 다음 문장을 예측하는 작업이나, 주어진 문장으로부터 다음 문장의 단어를 생성하는 방법 등이 사용되었습니다.

ELMo는 이러한 발전에 중요한 이정표 중 하나입니다. ELMo는 단어의 '문맥적인 특성'을 추출해내는 모델이에요. 이는 문장에서 같은 단어라도 주변 단어에 따라 의미가 달라질 수 있다는 점을 반영한 것이죠. ELMo는 좌우 양방향에서 단어의 문맥을 고려해, 한 단어에 대한 더 풍부한 정보를 제공합니다. 이를 통해, 질문 응답, 감정 분석, 개체명 인식 같은 여러 언어 처리 작업에서 더 좋은 성능을 낼 수 있게 되었습니다.

이외에도, LSTMs를 사용해 주어진 문맥에서 단어를 예측하는 모델도 개발되었는데, ELMo와 비슷하게 문맥에 기반한 특성을 학습하지만, ELMo처럼 깊은 양방향 모델은 아닙니다. 또한, 'cloze task'(빈칸 채우기)를 통해 텍스트 생성 모델의 견고함을 향상시킬 수 있다는 연구도 있습니다. 이 모든 연구와 발전은 컴퓨터가 언어를 더 잘 이해하고 처리할 수 있게 하는 데 중요한 기여를 하고 있습니다.

2.2 Unsupervised Fine-tuning Approaches

미세조정 방식의 비지도 학습은 컴퓨터가 언어의 구조를 배우는 데 있어서 또 다른 접근 방식입니다. 기능 기반 접근법처럼, 이 방식도 먼저 레이블이 없는 텍스트에서 단어 임베딩 파라미터를 사전학습하는 것에서 시작합니다. 하지만 최근에는 문장이나 문서를 인코딩하여, 문맥에 따라 단어의 표현을 생성하는 모델이 개발되었습니다. 이런 모델들은 레이블이 없는 텍스트로부터 사전학습되고, 특정 감독된(downstream) 작업에 미세조정될 수 있습니다.

이 방식의 큰 장점은 대부분의 파라미터가 처음부터 새로 학습될 필요가 없다는 것입니다. 이런 이점 덕분에, OpenAI GPT와 같은 모델은 GLUE 벤치마크에서 다양한 문장 수준의 작업들에 대해 이전의 최고 성능을 달성했습니다.

사전학습에서는, 언어 모델링이나 오토인코더 같은 목표를 사용해 모델을 학습합니다. 그리고 미세조정 단계에서는, 사전학습된 모델을 특정 작업에 맞게 조정하빈다. 예를 들어, BERT는 사전학습에서 '다음 문장 예측'이나 '마스크된 언어 모델링'(문장에서 임의의 단어를 가리고 그 단어를 예측)과 같은 작업을 수행합니다. 이후, 미세조정에서는 사전학습된 모델을 바탕으로, 질문 답변이나 개체명 인식과 같은 구체적인 작업에 모델을 조정합니다.

이 과정에서 중요한 점은, 미세조정 단계에서 모든 파라미터가 조정된다는 것입니다. 즉, 사전학습된 모델을 바탕으로 시작하지만, 특정 작업에 최적화되도록 전체 모델을 미세 조정합니다. BERT와 같은 모델은 이 방식을 통해 다양한 언어 처리 작업에서 뛰어난 성능을 보여줍니다.

2.3 Transfer Learning from Supervised Data

전이 학습은 기존에 학습된 모델을 새로운, 비슷한 문제에 적용하는 방법입니다. 이 방식은 컴퓨터 비전뿐만 아니라, 언어 처리 분야에서도 효과적이라는 것이 입증되었습니다. 예를 들어, 자연어 추론이나 기계 번역 같은 작업에서 이미 큰 데이터셋으로 학습된 모델을 가져와, 다른 언어 처리 작업에 적용할 수 있습니다.

컴퓨터 비전에서는, 이미지넷(ImageNet) 같은 대규모 데이터셋으로 사전학습된 모델들을 새로운 이미지 관련 작업에 미세조정하는 것이 일반적인 방법으로 자리 잡았습니다. 이 방법은 모델이 이미지를 인식하고 이해하는 데 필요한 일반적인 패턴을 학습할 수 있게 해줍니다. 그리고 나서, 미세조정을 통해 특정 작업에 맞게 모델을 조정합니다.

언어 처리 분야에서도 비슷한 개념이 적용돼요. 이미 어떤 특정 작업(예를 들어, 자연어 추론)에 대해 학습된 모델을 가져와서, 새로운 언어 처리 작업(예를 들어, 감정 분석)에 적용할 수 있습니다. 이 때, 모델을 새 작업에 맞게 조금 조정하는 과정을 거치게 되죠. 이런 방식으로, 사전에 학습된 지식을 다른 작업으로 전이하는 것은 많은 학습 자원을 절약할 수 있게 해주고, 작업의 성능을 향상시킬 수 있습니다.

3 BERT

BERT는 크게 두 단계로 구성된 프레임워크를 가지고 있습니다. 사전학습(pre-training)과 미세조정(fine-tuning)이죠.

1. 사전학습 단계: 여기서 BERT는 레이블이 붙지 않은 대량의 텍스트 데이터로부터 학습합니다. 다양한 사전학습 작업을 통해, BERT는 문맥을 이해하고, 단어, 문장의 의미를 파악하는 방법을 배워요. 이 과정은 BERT가 다양한 언어 처리 작업에 기본적인 언어 모델을 구축할 수 있게 해줘요.

2. 미세조정 단계: 사전학습된 BERT 모델을 기반으로, 구체적인 작업에 맞게 모델을 조정합니다. 예를 들어, 질문에 답변하는 작업이라면, 질문과 관련된 데이터로 모델을 조정하는 거죠. 이 단계에서는 레이블이 붙은 데이터를 사용해, 모델이 특정 작업을 수행할 수 있도록 모든 파라미터를 미세조정합니다. 각각의 다운스트림(특정 작업)에는 별도로 미세조정된 모델이 있지만, 모두 같은 사전학습된 파라미터로 시작합니다.

BERT의 독특한 점 중 하나는, 다양한 작업에 걸쳐 통일된 구조를 가지고 있다는 것입니다. 즉, 사전학습된 아키텍처와 최종적인 다운스트림 작업의 아키텍처 사이에 큰 차이가 없습니다 . 이는 BERT를 다른 작업에 적용하기 쉽게 만들며, 다양한 언어 처리 과제에서 높은 성능을 달성할 수 있게 해줍니다.

Model Architecture

BERT 모델의 구조는 '트랜스포머'라는 기술을 기반으로 한다는 걸 알아야 합니다. 트랜스포머는 2017년 Vaswani 등에 의해 소개된, 문장 내의 단어들 사이의 관계를 파악하는 데 탁월한 성능을 보이는 모델 아키텍처에요. BERT는 이 트랜스포머 모델을 여러 층(layer)으로 쌓아 올려, 문장을 양방향(즉, 단어의 왼쪽과 오른쪽 문맥 모두를 고려하는)으로 이해할 수 있도록 설계되었습니다.

BERT 모델은 크게 두 가지 크기로 제공돼요:

- BERTBASE: 12개의 트랜스포머 층(layer), 768의 은닉 크기(hidden size), 그리고 12개의 자기주의 머리(self-attention heads)를 가지며, 총 1억 1천만 개의 파라미터를 가집니다.
- BERTLARGE: 24개의 트랜스포머 층, 1024의 은닉 크기, 그리고 16개의 자기주의 머리를 가지며, 총 3억 4천만 개의 파라미터를 가집니다.

여기서 '층'은 모델이 정보를 처리하는 단계를 의미하고, '은닉 크기'는 모델이 내부적으로 사용하는 벡터의 크기를 말합니. '자기주의 머리'는 모델이 문장 내의 다른 위치에 있는 단어들 사이의 관계를 동시에 여러 방향에서 고려할 수 있게 해주는 구조에요.

중요한 점은, BERT가 '양방향' 자기주의를 사용한다는 것입니다. 이는 단어가 문장 내에서 자기 자신을 기준으로 좌우 양쪽의 문맥을 모두 고려할 수 있다는 뜻이에요. 반면, GPT와 같은 다른 모델들은 '제한된' 자기주의를 사용하여, 단어가 오직 왼쪽의 문맥만 고려할 수 있도록 설계되었습니다 . 이 차이 때문에 BERT는 문장을 더 풍부하게 이해할 수 있습니다 .

Input/Output Representation

BERT가 다양한 작업을 처리할 수 있게 만드는 중요한 부분 중 하나는 입력 표현 방식에 있습니다 . BERT는 단일 문장 또는 문장 쌍(예를 들어, 질문과 대답)을 하나의 토큰 시퀀스로 표현할 수 있도록 설계되었습니다 . 여기서 '문장'이란 실제 언어학적 문장이 아니라, 연속된 텍스트의 임의의 범위를 의미하고, '시퀀스'는 BERT에 입력되는 토큰 시퀀스를 말합니다.

입력 데이터를 처리하기 위해, BERT는 'WordPiece 임베딩'을 사용합니. 이는 전체 단어가 아닌 단어의 일부를 나타내는 토큰으로 문장을 나누고, 30,000개의 토큰 어휘를 사용합니다. 모든 시퀀스의 첫 번째 토큰은 특별한 분류 토큰([CLS])으로 시작합니. 이 토큰에 해당하는 최종 은닉 상태는 분류 작업을 위한 시퀀스 전체의 대표 표현으로 사용돼요.

문장 쌍을 다룰 때, 두 문장은 하나의 시퀀스로 합쳐지고, 특별한 토큰([SEP])으로 구분돼요. 또한, 각 토큰에는 이 토큰이 A 문장에 속하는지 B 문장에 속하는지를 나타내는 학습된 임베딩이 추가돼요.

결국, 주어진 토큰의 입력 표현은 해당 토큰의 임베딩, 세그먼트 임베딩(문장 A 또는 B를 나타냄), 그리고 위치 임베딩을 합산해서 만들어져요. 이런 방식으로 BERT는 다양한 유형의 입력을 유연하게 처리하고, 다양한 언어 처리 작업에 적용될 수 있습니다.

3.1 Pre-training BERT

BERT를 사전학습하는 방식은 기존의 언어 모델과는 조금 다른 접근을 사용합니. BERT는 전통적인 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽으로의 언어 모델 대신, 두 가지 비지도 학습 작업을 통해 학습돼요.

1. 마스크된 언어 모델(Masked LM): 이 작업에서는 문장 내 무작위로 선택된 일부 단어를 '마스크'(가려짐)하고, BERT가 이 마스크된 단어를 예측하도록 합니다. 이 방법은 문장의 양방향 문맥(왼쪽과 오른쪽)을 모두 이용할 수 있게 해서, 모델이 더 깊이 있는 언어 이해를 할 수 있게 해줘요. 실제 학습에서는, 선택된 단어의 80%를 [MASK] 토큰으로 대체하고, 10%는 무작위 토큰으로, 나머지 10%는 그대로 둬요. 그리고 나서, 모델이 원래 단어를 예측하도록 합니다.

2. 다음 문장 예측(Next Sentence Prediction, NSP): BERT의 또 다른 사전학습 작업으로, 주어진 두 문장이 실제로 문서에서 연속되는 문장인지를 예측하는 작업이에요. 이는 특히 질문 답변(QA) 작업과 자연어 추론(NLI) 작업에 유용하게 적용될 수 있습니다 .

이런 방식으로 사전학습을 하면, 모델은 문장의 양쪽 문맥을 고려하여 더 정확하게 언어를 이해할 수 있게 되며, 이는 다양한 NLP 작업에서의 성능 향상으로 이어집니다. 하지만, [MASK] 토큰이 미세조정 단계에서는 사용되지 않는다는 점에서 사전학습과 미세조정 사이에 약간의 불일치가 발생할 수 있습니다 . 이를 완화하기 위해, 모든 '마스크된' 단어를 [MASK] 토큰으로 단순히 대체하지 않고, 일부는 랜덤 토큰이나 원래의 토큰으로 남겨둡니다.

Task #1: Masked LM

마스크된 언어 모델(Masked LM, MLM) 작업은 BERT가 문장 전체의 문맥을 이해하도록 도와주는 중요한 사전학습 과정이입니다. 일반적인 언어 모델은 왼쪽에서 오른쪽 또는 그 반대로만 학습되기 때문에, 모든 단어의 양방향 문맥을 동시에 고려할 수 없습니다 . 하지만, BERT는 이를 가능하게 하기 위해 MLM 작업을 사용합니다.

어떻게 작업할까요? 다음 두 단계로 진행됩니다.
1. 마스킹: 문장 내에서 무작위로 선택된 15%의 단어를 '마스크' 처리합니다. 이 마스크 처리된 단어는 모델에 의해 예측되어야 할 대상이 되죠.
2. 예측: 마스크 처리된 단어를 주변 문맥만을 기반으로 모델이 예측하도록 합니다. 이 과정에서 모델은 단어의 양쪽 문맥을 모두 사용할 수 있습니다 .

다양한 마스킹 처리 방법:
- 선택된 단어의 80%는 실제로 [MASK] 토큰으로 대체됩니다.
- 10%는 무작위 토큰으로 대체되어 모델이 너무 쉽게 단어를 맞히는 것을 방지 합니다.
- 나머지 10%는 원래 단어가 그대로 유지됩니다.

이러한 절차는 모델이 단어를 예측할 때 실제 문장에서와 같은 방식으로 문맥을 이해하도록 도와줘요. 하지만, 사전학습과 미세조정(fine-tuning) 과정 사이에 [MASK] 토큰이 미세조정 과정에서 등장하지 않는다는 불일치가 생길 수 있습니다 . 이를 완화하기 위해 마스크 처리된 단어를 항상 [MASK] 토큰으로 대체하지 않는 방식을 채택했죠.

이렇게 하면, BERT는 문장에서 단어의 역할과 의미를 더 잘 이해할 수 있게 되고, 이는 다양한 언어 처리 작업에서의 성능 향상으로 이어집니다.

Task #2: Next Sentence Prediction (NSP)

다음 문장 예측(Next Sentence Prediction, NSP)작업은 BERT가 문장 간의 관계를 이해하는 데 도움을 줘요. 많은 중요한 작업들, 예를 들어 질문 답변(QA)이나 자연어 추론(NLI)은 두 문장 사이의 관계를 파악하는 능력을 필요로 합니다. 이런 관계는 단순한 언어 모델링으로는 직접적으로 포착되지 않죠.

NSP 작업은 매우 간단한 방식으로 이루어져요. 각 사전학습 예시에 대해 두 문장 A와 B를 선택할 때, 50%의 확률로 B는 A 뒤에 실제로 오는 다음 문장(이 경우 'IsNext'로 라벨링)이고, 나머지 50%의 경우에는 코퍼스에서 무작위로 선택된 문장('NotNext'로 라벨링)이에요.

이 작업의 목표는 모델이 두 문장이 서로 관련이 있는지, 즉 실제로 연속된 문장인지 아닌지를 예측하게 만드는 것입니다 . 이 간단한 작업에도 불구하고, 이러한 사전학습은 QA와 NLI 작업에 큰 이점을 제공한다는 걸 발견했습니다 .

BERT의 입력 표현 방식에서는, [CLS] 토큰이 이 NSP 작업에 사용되는데요, 문장 A와 B 사이에는 특별한 [SEP] 토큰이 들어가고, 각 토큰에는 토큰 자체의 임베딩, 문장 A인지 B인지를 나타내는 세그먼트 임베딩, 그리고 토큰의 위치를 나타내는 위치 임베딩이 합산되어 최종 입력이 됩니다.

이 NSP 작업은 과거 연구에서 사용된 문장 표현 학습 목표와 유사하지만, BERT는 이전 연구와 달리 모든 파라미터를 다운스트림 작업의 초기 모델 파라미터로 전달한다는 차이점이 있습니다 . 이는 BERT가 더 유연하고 다양한 언어 처리 작업에 적용될 수 있게 만들어줍니다

 

Pre-training data

BERT를 사전학습하기 위해서, 크게 두 가지 대규모 텍스트 데이터셋을 사용합니다.
- BooksCorpus: 약 8억 개의 단어로 구성된 데이터셋으로, 다양한 책에서 추출된 텍스트를 포함하고 있습니다 .
- 영어 위키백과: 약 25억 개의 단어를 포함하고 있는데, 여기서는 순수한 텍스트 내용만을 추출해서 사용합니다. 즉, 리스트, 테이블, 헤더 등은 제외하고 텍스트만을 뽑아내죠.

이 데이터들은 BERT가 다양한 주제와 맥락에서 언어의 구조와 패턴을 학습할 수 있는 풍부한 정보를 제공합니다. 중요한 점은, 이 데이터를 처리할 때 문서 수준에서 연속적인 시퀀스를 유지한다는 것입니다. 즉, 문장들이 실제 문서 내에서 어떻게 배열되어 있는지 그 순서를 유지하는 거죠. 이는 BERT가 문장 간의 관계를 더 잘 이해할 수 있게 하며, 특히 다음 문장 예측(NSP) 같은 작업에 중요합니다. 문장들을 무작위로 섞은 데이터셋을 사용하는 것보다 문서 수준의 데이터를 사용하는 것이 모델이 더 긴 문맥을 학습하는 데 도움을 준다는 뜻이에요.

3.2 Fine-tuning BERT

미세조정은 BERT를 구체적인 작업에 맞게 조정하는 과정이에요. BERT의 자기주의 메커니즘 덕분에, 단일 텍스트 또는 텍스트 쌍을 다루는 다양한 다운스트림 작업을 모델링할 수 있습니다 . 이는 적절한 입력과 출력을 교체함으로써 이루어집니다.

텍스트 쌍을 다루는 작업에서는 보통 텍스트 쌍을 독립적으로 인코딩한 후, 양방향 크로스 어텐션을 적용하는 방식이 사용되곤 합니다. 하지만 BERT는 이 두 단계를 통합해, 연결된 텍스트 쌍에 자기주의를 적용함으로써 효과적으로 두 문장 사이의 양방향 크로스 어텐션을 포함시켜요.

구체적인 작업에 대해, 우리는 작업 특정 입력과 출력을 BERT에 적용하고 모든 파라미터를 끝까지 미세조정합니다. 입력에서는 사전학습 단계의 문장 A와 B가 다양한 상황에 대응돼요. 예를 들어, 문장 쌍의 패러프레이징, 가설-전제 쌍의 추론, 질문-지문 쌍의 질문 답변, 그리고 텍스트 분류나 시퀀스 태깅에서의 단일 텍스트와 빈 쌍과 같은 역할을 할 수 있습니다. 출력에서는 토큰 수준 작업에 대해 토큰 표현이 출력층으로 전달되고, 분류 작업에는 [CLS] 표현이 출력층으로 전달돼요.

미세조정은 사전학습에 비해 비용이 적게 듭니다 . 논문에 나온 모든 결과는 단일 클라우드 TPU에서 최대 1시간, 또는 GPU 몇 시간 안에, 같은 사전학습된 모델에서 시작하여 재현할 수 있습니다 . 작업 특정 세부 사항은 섹션 4의 해당 하위 섹션에서 설명돼요. 더 자세한 정보는 부록 A.5에서 찾아볼 수 있습니다.

4 Experiments

4.1 GLU

 

GLUE 벤치마크는 다양한 자연어 이해 작업을 모아 놓은 것으로, 이를 통해 모델의 언어 이해 능력을 평가할 수 있습니다. BERT는 이 GLUE 작업에 대해 미세조정을 거쳐, 각각의 작업에 맞게 조정된 후 성능을 평가받습니다.

 

미세조정 과정에서의 주요 단계
1. 입력 표현: 단일 문장이나 문장 쌍을 BERT에 입력할 때, 특별한 [CLS] 토큰으로 시작하는 시퀀스를 사용합니다. 이 [CLS] 토큰에 해당하는 최종 은닉 벡터를 사용하여 전체 입력 시퀀스의 대표 표현으로 활용합니다.
2. 분류층: 작업에 따라 분류를 위한 새로운 파라미터(가중치)가 도입되며, [CLS] 토큰의 최종 은닉 벡터와 이 가중치를 사용해 분류 작업을 수행합니다.
3. 학습: GLUE 작업에 대해 3 에폭 동안 미세조정을 수행하며, 개발 세트에서 최적의 학습률을 선택합니다.

결과:
- BERT는 GLUE 벤치마크의 모든 작업에서 기존 시스템들을 큰 차이로 능가합니다. 특히, BERTLARGE 모델은 더 큰 모델 크기 덕분에, 특히 학습 데이터가 매우 적은 작업에서 BERTBASE 모델보다 훨씬 더 우수한 성능을 보여줍니다.
- 이는 BERT가 다양한 자연어 처리 작업에서 뛰어난 언어 이해 능력을 가지고 있음을 입증 합니다. BERT의 성공은 주로 양방향 문맥을 효과적으로 활용할 수 있는 구조와, 다양한 작업에 쉽게 적용할 수 있는 유연성 때문입니다.

4.2 SQuAD v1.1

SQuAD(Stanford Question Answering Dataset)는 위키백과에서 추출한 지문과 이에 대한 질문으로 구성된 데이터셋이에요. 여기서 목표는 주어진 질문에 대한 답을 지문 내에서 텍스트 스팬으로 예측하는 것입니다.

BERT를 이 작업에 적용할 때는 질문과 지문을 하나의 연속된 시퀀스로 처리 합니다. 질문 부분에는 A 임베딩을, 지문 부분에는 B 임베딩을 사용하죠. 미세조정 과정에서는 시작 벡터(S)와 종료 벡터(E)만 새로 도입 합니다 . 답의 시작과 끝을 예측하기 위해 각 단어에 대해 S와 E와의 내적을 계산하고, 이를 통해 가장 높은 점수를 가진 스팬을 답으로 선택 합니다 .

미세조정은 3 에폭 동안 진행되며, 학습률은 5e-5, 배치 크기는 32로 설정 합니다. BERT는 SQuAD 리더보드 상위 시스템들과 비교했을 때, 높은 성능을 보여주며, 특히 BERTLARGE 모델은 싱글 모델로서도, 트리비아QA 데이터로 먼저 미세조정한 후 SQuAD 데이터로 미세조정할 때도, 최고 성능을 달성 합니다.

결과적으로, BERT는 이 작업에서 인간의 성능에 근접하거나 심지어는 뛰어넘는 경우도 있습니다. 이는 BERT가 문맥을 깊이 이해하고, 복잡한 자연어 처리 작업을 효과적으로 수행할 수 있음을 보여줍니다.

4.3 SQuAD v2.0

SQuAD 2.0은 SQuAD 1.1의 문제를 확장해, 제공된 문단에 짧은 답이 존재하지 않을 수도 있다는 가능성을 포함시켜, 문제를 더 현실적으로 만들습니다 .

이 작업에 BERT 모델을 적용하기 위한 접근 방식은 간단 합니다 . 답이 없는 질문은 [CLS] 토큰에서 시작하고 끝나는 답의 범위를 가진다고 처리 합니다 . 이는 답의 시작과 끝 위치를 예측할 때 [CLS] 토큰의 위치도 포함시킨다는 의미예요. 예측 과정에서는, 답이 없는 경우의 점수와 가장 좋은 답이 있는 범위의 점수를 비교 합니다 . 만약 답이 있는 범위의 점수가 답이 없는 경우의 점수보다 특정 임계값(τ)보다 크다면, 답이 있다고 예측합니다. 이 임계값은 개발 세트에서 F1 점수를 최대화하는 값을 찾아 결정 합니다 .

이 모델을 미세조정할 때는 TriviaQA 데이터를 사용하지 않았으며, 2 에폭 동안 학습률 5e-5와 배치 크기 48로 미세조정을 진행했습니다 .

결과적으로, BERT는 이전에 가장 좋은 시스템보다 F1 점수에서 +5.1 포인트의 개선을 보여줘요. 이는 BERT가 답이 존재하지 않는 질문을 포함한 더 복잡한 질문 답변 작업에서도 뛰어난 성능을 발휘할 수 있음을 보여줍니다.

4.4 SWAG

SWAG(Situations With Adversarial Generations) 데이터셋은 일상 상식 추론을 평가하기 위해 만들어진 113k개의 문장 쌍 완성 예제를 포함하고 있습니다 . 주어진 문장에 대해, 네 가지 선택지 중에서 가장 타당한 계속되는 문장을 선택하는 것이 작업의 목표예요.

SWAG 데이터셋에 대한 미세조정을 할 때, 주어진 문장(문장 A)과 가능한 계속되는 문장(문장 B)의 연결로 구성된 네 개의 입력 시퀀스를 만듭니. 이 작업에 특화된 파라미터로는 각 선택지에 대한 점수를 나타내는 [CLS] 토큰 표현 C와의 내적을 softmax 층으로 정규화하는 벡터가 도입됩니다.

모델은 3 에폭 동안 학습률 2e-5와 배치 크기 16으로 미세조정됩니다. BERTLARGE는 저자들의 기준 모델인 ESIM+ELMo 시스템보다 +27.1%, OpenAI GPT보다 8.3% 높은 성능을 보여줘요.

결과적으로, BERT는 이러한 상황에서 일상 상식 추론을 수행하는 데 있어서 우수한 능력을 보여주며, 다른 최신 모델들을 크게 앞서는 성능을 달성 합니다.

5 Ablation Studies

이 섹션에서는 BERT의 여러 구성 요소들이 모델의 성능에 어떤 영향을 미치는지 이해하기 위한 실험들, 즉 제거 연구(ablation studies)를 진행했습니다 . 여기서는 BERTBASE 아키텍처를 사용해, 특정 구성 요소를 제거했을 때 성능에 어떤 변화가 발생하는지 살펴봤습니다 .

- 기본 BERTBASE 모델은 다양한 작업에서 높은 성능을 보여줘요.
- No NSP는 다음 문장 예측(NSP) 작업 없이 학습된 모델로, 일부 작업에서 성능이 약간 감소 합니다 .
- LTR & No NSP는 왼쪽에서 오른쪽으로 학습된 언어 모델이며 NSP 작업도 포함하지 않아요. 이 모델은 OpenAI GPT와 유사한 학습 방식을 따르며, 대부분의 작업에서 성능이 크게 하락 합니다 .
- BiLSTM는 “LTR & No NSP” 모델 위에 무작위로 초기화된 양방향 LSTM을 미세조정 단계에서 추가한 것으로, 특히 문장 관계를 이해하는 데 필요한 작업에서 성능이 향상되지 않았고, 일부에서는 오히려 감소한 것을 볼 수 있습니다 .

이 실험들은 BERT의 성능이 주로 모델 구조 자체와 양방향의 사전 학습 방식 때문에 뛰어난 것임을 보여줍니다. 특히, 다음 문장 예측(NSP) 같은 요소가 어느 정도 중요하지만, 모델의 언어 이해 능력에서 가장 핵심적인 요소는 아니라는 점을 시사 합니다 . 또한, 단순히 모델 위에 추가적인 구조를 쌓는 것이 항상 성능 향상을 보장하지는 않는다는 것을 알 수 있습니다.

5.1 Effect of Pre-training Tasks

이 섹션에서는 사전 학습 작업이 BERT의 성능에 미치는 영향을 조사했습니다 . 구체적으로는 다음 문장 예측(NSP) 작업의 중요성과 모델이 양방향 표현을 학습하는 것이 얼마나 중요한지를 두 가지 실험을 통해 살펴봤습니다.

1. No NSP: "마스크된 언어 모델"(MLM)을 사용해 훈련되지만 "다음 문장 예측"(NSP) 작업 없이 훈련된 양방향 모델입니다. 이 모델을 사용한 실험 결과, QNLI, MNLI, SQuAD 1.1과 같은 작업에서 NSP를 제거하면 성능이 크게 떨어지는 것을 확인할 수 있었습니다 .

2. LTR & No NSP: 표준 왼쪽에서 오른쪽으로(LTR)의 언어 모델을 사용하여 양방향이 아닌 왼쪽 컨텍스트만을 고려하여 훈련된 모델입니다. 또한, 이 모델도 NSP 작업 없이 사전 훈련되었습니다 . LTR 모델은 모든 작업에서 MLM 모델보다 성능이 낮았고, MRPC와 SQuAD에서 큰 성능 하락을 보였습니다.

양방향 표현의 중요성을 더 강조하기 위해, LTR 모델 위에 임의로 초기화된 BiLSTM을 추가해 보았지만, 이는 SQuAD에서는 어느 정도 결과를 개선했지만, 여전히 양방향 모델보다 성능이 떨어졌고 GLUE 작업에서는 성능을 저하시켰습니다 .

결론적으로, 이 실험들은 BERT의 사전 학습 과정에서 양방향 표현(bidirectional representations)과 다음 문장 예측(NSP) 작업이 모델 성능에 중요한 역할을 한다는 것을 보여줍니다. 양방향 표현은 모든 레이어에서 왼쪽과 오른쪽 컨텍스트를 모두 사용할 수 있게 해, 모델이 더 풍부한 언어 이해를 할 수 있게 도와줘요.

5.2 Effect of Model Size

이 섹션에서는 모델 크기가 미세조정 작업의 정확도에 미치는 영향을 탐구했습니다 . 레이어 수, 은닉 유닛, 그리고 주의 헤드 수가 다른 여러 BERT 모델을 같은 하이퍼파라미터와 훈련 절차를 사용하여 학습시켰습니다.

선택된 GLUE 작업에 대한 결과는 모델이 클수록 모든 네 데이터셋에서 정확도가 개선되었음을 보여줘요. 심지어 MRPC와 같이 레이블이 붙은 학습 예시가 3,600개뿐이고 사전 학습 작업과 상당히 다른 경우에도 마찬가지예요. 이미 상대적으로 큰 모델들 위에서 이렇게 큰 개선을 달성할 수 있다는 것이 놀랍습니다.

예를 들어, Vaswani et al. (2017)에서 탐색한 가장 큰 트랜스포머 모델은 인코더에 100M 파라미터를 가진 (L=6, H=1024, A=16)이고, 문헌에서 찾을 수 있는 가장 큰 트랜스포머는 235M 파라미터를 가진 (L=64, H=512, A=2)입니다. 반면, BERTBASE는 110M 파라미터, BERTLARGE는 340M 파라미터를 포함하고 있습니다 .

기계 번역과 언어 모델링과 같은 대규모 작업에서 모델 크기를 늘리면 지속적으로 성능이 향상된다는 것은 오래전부터 알려져 왔습니다. 하지만, 이 연구는 극단적인 모델 크기로 확장하는 것이 충분히 사전 학습된 경우, 매우 작은 규모의 작업에서도 큰 개선을 이끌어낼 수 있음을 설득력 있게 보여주는 첫 번째 작업입니다. 이전 연구들은 사전 학습된 양방향 언어 모델 크기를 늘리는 것이 다운스트림 작업에 미치는 영향에 대해 혼합된 결과를 보였지만, BERT는 미세조정을 통해 직접 다운스트림 작업에 적용될 때 큰, 더 표현력 있는 사전 학습된 표현에서 이점을 볼 수 있음을 보여줍니다.

5.3 Feature-based Approach with BERT

지금까지 보여준 BERT의 모든 결과는 미세조정 방식을 사용했습니다 . 여기서는 사전 학습된 모델에 간단한 분류층을 추가하고, 모든 파라미터를 특정 작업에 맞게 함께 조정합니다. 그러나, 사전 학습된 모델에서 고정된 특성을 추출하는 특성 기반 접근 방식도 장점이 있습니다 . 모든 작업이 트랜스포머 인코더 구조로 쉽게 표현될 수 없는 경우가 있고, 작업 특정 모델 구조를 추가해야 할 필요가 있기 때문이죠. 또한, 한 번 비용이 많이 드는 표현을 계산한 후, 이 표현 위에 더 저렴한 모델을 여러 번 실험하는 것은 큰 계산상의 이점을 제공합니다.

CoNLL-2003 Named Entity Recognition(NER) 작업에 BERT를 적용하여 이 두 접근 방식을 비교했습니다. BERT에 입력할 때는 case-preserving WordPiece 모델을 사용하고, 데이터가 제공하는 최대 문서 컨텍스트를 포함시켰습니다 . 표준 관행에 따라, 이를 태깅 작업으로 형식화했지만, 출력에 CRF 계층을 사용하지 않았습니다 .

미세조정 접근 방식과 비교하기 위해, BERT의 어떤 파라미터도 조정하지 않고 하나 이상의 레이어에서 활성화를 추출하는 특성 기반 접근 방식을 적용했습니다. 이 컨텍스트 임베딩은 분류층 이전에 무작위로 초기화된 두 층짜리 768차원의 BiLSTM으로의 입력으로 사용됩니다.

결과를 보면, BERTLARGE는 최신 방법과 경쟁력 있는 성능을 보여줍니다. 가장 좋은 성능을 내는 방법은 사전 학습된 트랜스포머의 상위 네 개의 숨겨진 레이어에서 토큰 표현을 연결하는 것이었고, 이는 전체 모델을 미세조정하는 것다 F1 점수가 0.3만큼 낮았습니다. 이는 BERT가 미세조정 접근 방식과 특성 기반 접근 방식 모두에 효과적임을 보여줍니다.

6 Conclusion

언어 모델을 이용한 전이 학습 덕분에 얻은 최근의 경험적 개선은 풍부한 비지도 사전 학습이 많은 언어 이해 시스템의 중요한 부분임을 보여주었습니다. 특히, 이러한 결과는 자원이 부족한 작업조차도 깊은 단방향 구조로부터 혜택을 받을 수 있게 해줘요. 우리의 주요 기여는 이러한 발견을 깊은 양방향 구조로 더 일반화하여, 같은 사전 학습된 모델이 다양한 NLP 작업을 성공적으로 해결할 수 있게 한 것입니다.

반응형

댓글