개요

언어 모델 사전 학습으로 성능이 크게 향상되었지만 서로 다른 접근 방식을 주의 깊게 비교하는 것은 어렵습니다. 훈련은 계산 비용이 많이 들고 종종 다른 개인 데이터 세트에서 수행됩니다.
그리고 앞으로 보여주겠지만 하이퍼파라미터 선택은 최종 결과에 상당한 영향을 미칩니다.
우리는 많은 주요 하이퍼파라미터와 훈련 데이터 크기의 영향을 주의 깊게 측정하는 BERT 사전 훈련(Devlin et al., 2019)에 대한 복제 연구를 제시합니다. 우리는 BERT가 상당히 훈련이 부족하다는 것을 발견했습니다.
또는 그 이후에 출시된 모든 모델의 성능을 능가합니다. 우리의 최고의 모델은 GLUE, RACE 및 SQuAD에서 최첨단 결과를 달성합니다. 이러한 결과는 이전에 간과되었던 설계 선택의 중요성을 강조하고 최근 보고된 개선 사항의 출처에 대한 의문을 제기합니다. 우리는 모델과 코드를 공개합니다.

 

1. 서론
ELMo(Peters et al., 2018), GPT(Radford et al., 2018), BERT(Devlin et al., 2019), XLM(Lample and Conneau, 2019), XLNet(Yang et al., 2019)과 같은 자가 훈련 방법은 상당한 성능 향상을 가져왔지만 방법의 어떤 측면이 가장 크게 기여했는지 판단하는 것은 어려울 수 있습니다. 훈련은 계산 비용이 많이 들고 수행할 수 있는 조정의 양이 제한되며 다양한 크기의 개인 훈련 데이터로 수행되는 경우가 많아 모델링 발전의 효과를 측정하는 능력이 제한됩니다.

 

우리는 하이퍼파라미터 튜닝 및 훈련 세트 크기의 효과에 대한 신중한 평가를 포함하는 BERT 사전 훈련(Devlin et al., 2019)에 대한 복제 연구를 제시합니다. 우리는 BERT가 상당히 과소평가되었음을 발견하고 모든 포스트-BERT 방법의 성능과 일치하거나 이를 능가할 수 있는 RoBERTa라고 부르는 BERT 모델 교육을 위한 개선된 레시피를 제안합니다.
수정 사항은 간단합니다. (1) 더 많은 데이터에 대해 더 큰 배치로 모델을 더 오랫동안 훈련합니다. (2) 다음 문장 예측 목표를 제거하는 단계; (3) 더 긴 시퀀스에 대한 훈련; (4) 훈련 데이터에 적용된 마스킹 패턴을 동적으로 변경하는 것. 또한 훈련 세트 크기 효과를 더 잘 제어하기 위해 다른 개인용 데이터 세트와 비슷한 크기의 대규모 새 데이터 세트(CC-NEWS)를 수집합니다.

 

훈련 데이터를 제어할 때 개선된 훈련 절차는 GLUE 및 SQuAD 모두에 게시된 BERT 결과를 개선합니다.
추가 데이터에 대해 더 오랫동안 훈련했을 때 우리 모델은 공개 GLUE 순위표에서 88.5점을 달성했으며 이는 Yang et al (2019). 이 보고한 88.4점과 일치합니다. 우리 모델은 MNLI, QNLI, RTE 및 STS-B와 같은 GLUE 작업의 4/9에 대한 새로운 최첨단 기술을 확립합니다. 또한 SQuAD 및 RACE의 최신 결과도 일치시킵니다.
전반적으로 우리는 BERT의 마스크된 언어 모델 훈련 목표가 교란된 자동 회귀 언어 모델링과 같은 최근 제안된 다른 훈련 목표와 경쟁적이라는 것을 다시 확립했습니다(Yang et al., 2019).

 

요약하면, 이 문서의 기여는 다음과 같습니다. (1) 중요한 BERT 설계 선택 및 교육 전략 세트를 제시하고 더 나은 다운스트림 작업 성능으로 이어지는 대안을 소개합니다. (2) 우리는 새로운 데이터 세트인 CCNEWS를 사용하고 사전 훈련에 더 많은 데이터를 사용하면 다운스트림 작업의 성능이 더욱 향상된다는 것을 확인합니다. (3) 우리의 훈련 개선 사항은 올바른 설계 선택 하에서 마스크된 언어 모델 사전 훈련이 최근에 발표된 다른 모든 방법과 경쟁력이 있음을 보여줍니다. 우리는 PyTorch에서 구현된 모델, 사전 훈련 및 미세 조정 코드를 출시합니다(Paszke et al., 2017).

 

2. 배경
이 섹션에서는 BERT(Devlin et al., 2019) 사전 훈련 접근 방식에 대한 간략한 개요와 다음 섹션에서 실험적으로 검토할 훈련 선택 사항 중 일부를 제공합니다.

 

2.1 설정
BERT는 두 세그먼트(토큰 시퀀스) x1,...,xN 및 y1,...,yM의 연결을 입력으로 사용합니다. 세그먼트는 일반적으로 하나 이상의 자연 문장으로 구성됩니다. 두 개의 세그먼트 이를 구분하는 특수 토큰을 사용하여 BERT에 대한 단일 입력 시퀀스로 제공됩니다.
[CLS], x1, . . . , xN, [SEP], y1, . . . , yM, [EOS]. M과 N은 M + N < T로 제한됩니다. 여기서 T는 훈련 중 최대 시퀀스 길이를 제어하는 ​​매개변수입니다.
모델은 먼저 레이블이 지정되지 않은 대규모 텍스트 코퍼스에서 사전 학습된 후 최종 작업 레이블이 지정된 데이터를 사용하여 미세 조정됩니다.

 

2.2 아키텍처
BERT는 현재 유비쿼터스적인 변환기 아키텍처(Vaswani et al., 2017)를 사용하는데, 이에 대해서는 자세히 검토하지 않겠습니다. 우리는 L 레이어가 있는 변환기 아키텍처를 사용합니다. 각 블록은 A self-attention 헤드와 숨겨진 차원 H를 사용합니다.

 

2.3 교육 목표
사전 훈련 중에 BERT는 마스크된 언어 모델링과 다음 문장 예측이라는 두 가지 목표를 사용합니다.

 

마스크된 언어 모델(MLM) 입력 시퀀스에서 토큰의 무작위 샘플이 선택되고 특수 토큰 [MASK]로 대체됩니다. MLM 목표는 마스킹된 토큰 예측에 대한 교차 엔트로피 손실입니다. BERT를 균일하게 가능한 교체를 위해 입력 토큰의 15%를 선택합니다. 선택된 토큰 중 80%는 [MASK]로 대체되고, 10%는 변경되지 않고 남아 있으며, 10%는 무작위로 선택된 어휘 토큰으로 대체됩니다.
원래 구현에서는 무작위 마스킹 및 교체가 처음에 한 번 수행되고 훈련 기간 동안 저장되지만 실제로는 데이터가 복제되므로 마스크가 모든 훈련 문장에 대해 항상 동일하지는 않습니다(섹션 4.1 참조).

 

NSP(Next Sentence Prediction) NSP는 두 문장이 일치하는지 예측하기 위한 이진 분류 손실입니다.
세그먼트는 원본 텍스트에서 서로 이어집니다.
긍정적인 예는 텍스트 코퍼스에서 연속된 문장을 취하여 생성됩니다. 부정적인 예는 서로 다른 문서의 세그먼트를 쌍으로 만들어 생성됩니다. 긍정적인 예와 부정적인 예는 동일한 확률로 샘플링됩니다.
NSP 목표는 문장 쌍 간의 관계에 대한 추론이 필요한 자연어 추론(Bowman et al., 2015)과 같은 다운스트림 작업의 성능을 향상하도록 설계되었습니다.

 

2.4 최적화
BERT는 다음 매개변수를 사용하여 Adam(Kingma and Ba, 2015)으로 최적화되었습니다: β1 = 0.9, β2 = 0.999, τ = 1e-6 및 L2 가중치 감쇠 0.01. 학습률은 처음 10,000단계에 걸쳐 최대값 1e-4까지 예열된 다음 선형적으로 감소합니다. BERT는 모든 레이어와 Attention Weight에서 0.1의 드롭아웃과 GELU 활성화 함수를 사용하여 훈련합니다 (Hendrycks and Gimpel, 2016).

모델은 S = 1,000,000 업데이트에 대해 사전 학습되었으며, 미니 배치에는 최대 길이 T = 512개 토큰의 B = 256개 시퀀스가 ​​포함되어 있습니다.


2.5 데이터
BERT는 BOOKCORPUS(Zhu et al., 2015)와 영어 WIKIPEDIA(총 16GB의 비압축 텍스트)의 조합으로 훈련되었습니다.

 

3 실험 설정
이 섹션에서는 BERT의 복제 연구를 위한 실험 설정을 설명합니다.

 

3.1 구현
FAIRSEQ에서 BERT를 다시 구현합니다(Ott et al., 2019). 각 설정에 대해 개별적으로 조정되는 최대 학습 속도와 준비 단계 수를 제외하고는 주로 섹션 2에 제공된 원래 BERT 최적화 하이퍼 매개변수를 따릅니다. 우리는 또한 훈련이 Adam 엡실론 항에 매우 민감하다는 것을 발견했으며 어떤 경우에는 조정 후 더 나은 성능이나 안정성을 얻었습니다. 마찬가지로, 큰 배치 크기로 훈련할 때 안정성을 향상시키기 위해 β2 = 0.98을 설정하는 것을 발견했습니다.
우리는 최대 T = 512개의 토큰 시퀀스로 사전 훈련합니다. Devlin et al. (2019), 우리는 짧은 시퀀스를 무작위로 주입하지 않으며 업데이트의 처음 90%에 대해 줄어든 시퀀스 길이로 훈련하지 않습니다. 우리는 전체 길이의 시퀀스로만 훈련합니다.
우리는 Infiniband로 상호 연결된 8 × 32GB Nvidia V100 GPU를 갖춘 DGX-1 시스템에서 혼합 정밀 부동 소수점 연산을 사용하여 교육합니다(Micikevicius et al., 2018).

 

3.2 데이터
BERT 스타일 사전 훈련은 대량의 텍스트에 결정적으로 의존합니다. Baevskiet al. (2019)은 데이터 크기가 증가하면 최종 작업 성능이 향상될 수 있음을 보여줍니다. 원래 BERT보다 더 크고 다양한 데이터 세트에 대한 여러 가지 노력이 이루어졌습니다(Radford et al., 2019; Yang et al., 2019; Zellers et al., 2019). 불행하게도 모든 추가 데이터 세트가 공개적으로 공개될 수는 없습니다. 우리 연구에서는 실험을 위해 최대한 많은 데이터를 수집하는 데 중점을 두어 전반적인 품질과
각 비교에 적합한 데이터의 양.
우리는 크기와 도메인이 다양한 5개의 영어 말뭉치(총 160GB가 넘는 비압축 텍스트)를 고려합니다. 우리는 다음과 같은 텍스트 말뭉치를 사용합니다:

• BOOKCORPUS(Zhu et al., 2015) 및 영어 WIKIPEDIA. BERT 학습에 사용된 원본 데이터입니다. (16 기가 바이트).
• CommonCrawl News 데이터세트의 영어 부분에서 수집한 CC-NEWS(Nagel, 2016). 해당 데이터에는 2016년 9월부터 2019년 2월 사이에 크롤링된 6,300만 개의 영어 뉴스 기사가 포함되어 있습니다. (필터링 후 76GB)
• OPENWEBTEXT(Gokaslan 및 Cohen, 2019), Radford et al.에 설명된 WebText 코퍼스를 오픈 소스로 재현한 것입니다. (2019). 텍스트는 최소 3개의 찬성표를 얻은 Reddit에서 공유된 URL에서 추출된 웹 콘텐츠입니다. (38GB).
• STORIES는 Winograd 스키마의 스토리 스타일과 일치하도록 필터링된 CommonCrawl 데이터의 하위 집합을 포함하는 Trinh and Le(2018)에 소개된 데이터세트입니다. (31GB).

 

3.3 평가
이전 작업에 이어 다음 세 가지 벤치마크를 사용하여 다운스트림 작업에 대한 사전 훈련된 모델을 평가합니다.

 

GLUE GLUE(General Language Understanding Evaluation) 벤치마크(Wang et al., 2019b)는 평가를 위한 9개 데이터세트 모음입니다.
자연어 이해 시스템. 작업은 단일 문장 분류 또는 문장 쌍 분류 작업으로 구성됩니다. GLUE 조직자는 교육 및 개발 데이터 분할은 물론 참가자가 비공개 테스트 데이터를 통해 자신의 시스템을 평가하고 비교할 수 있는 제출 서버와 리더보드를 제공합니다.
섹션 4의 복제 연구에서는 해당 단일 작업 훈련 데이터(즉, 다중 작업 훈련이나 앙상블링 없이)에 대해 사전 훈련된 모델을 미세 조정한 후 개발 세트에 대한 결과를 보고합니다. 우리의 미세 조정 절차는 원본 BERT 논문(Devlin et al., 2019)을 따릅니다.
섹션 5에서는 공개 리더보드에서 얻은 테스트 세트 결과를 추가로 보고합니다. 이러한 결과는 섹션 5.1에서 설명하는 여러 작업별 수정에 따라 달라집니다.

 

SQuAD SQuAD(Stanford Question Answering Dataset)는 컨텍스트 단락과 질문을 제공합니다. 작업은 컨텍스트에서 관련 범위를 추출하여 질문에 대답하는 것입니다.
우리는 SQuAD의 두 가지 버전인 V1.1과 V2.0을 평가합니다(Rajpurkar et al., 2016, 2018). V1.1에서는 컨텍스트에 항상 답변이 포함되어 있는 반면, V2.0에서는 제공된 컨텍스트에서 일부 질문에 대한 답변이 제공되지 않아 작업이 더욱 어려워집니다.


SQuAD V1.1에서는 BERT와 동일한 범위 예측 방법을 채택합니다(Devlin et al., 2019). SQuAD V2.0의 경우 질문에 답할 수 있는지 예측하기 위해 추가 이진 분류기를 추가하고 분류 및 범위 손실 항을 합산하여 공동으로 훈련합니다. 평가 중에는 응답 가능한 것으로 분류된 쌍의 범위 지수만 예측합니다.

 

RACE RACE(ReAding Comprehension from Examinations)(Lai et al., 2017) 작업은 대규모 독해 데이터세트입니다.
28,000개가 넘는 구절과 거의 100,000개의 질문이 있습니다. 데이터 세트는 중, 고등학생을 대상으로 설계된 중국의 영어 시험에서 수집되었습니다. RACE에서는 각 구절이 여러 질문과 연결되어 있습니다. 모든 질문에 대한 작업은 네 가지 옵션 중에서 하나의 정답을 선택하는 것입니다. RACE는 다른 인기 있는 독해 데이터 세트보다 훨씬 더 긴 맥락을 갖고 있으며 추론이 필요한 질문의 비율이 매우 큽니다.

 

4 훈련 절차 분석
이 섹션에서는 BERT 모델을 성공적으로 사전 훈련하는 데 중요한 선택 사항을 탐색하고 정량화합니다. 우리는 모델 아키텍처를 고정된 상태로 유지합니다. 구체적으로 BERTBASE와 동일한 구성(L = 12, H = 768, A = 12, 110M 매개변수)으로 BERT 모델을 훈련하는 것으로 시작합니다.

 

4.1 정적 마스킹과 동적 마스킹
섹션 2에서 설명한 것처럼 BERT는 토큰을 무작위로 마스킹하고 예측하는 데 의존합니다. 원래 BERT 구현은 마스킹을 수행했습니다.
데이터 전처리 중에 한 번, 단일 정적 마스크가 생성됩니다. 모든 에포크의 각 훈련 인스턴스에 동일한 마스크를 사용하지 않기 위해 훈련 데이터를 10번 복제하여 40개의 훈련 에포크 동안 각 시퀀스가 ​​10가지 다른 방식으로 마스크되었습니다. 따라서 각 훈련 시퀀스는 훈련 중에 동일한 마스크를 4번 사용하는 것으로 나타났습니다.
우리는 이 전략을 모델에 시퀀스를 제공할 때마다 마스킹 패턴을 생성하는 동적 마스킹과 비교합니다. 이는 더 많은 단계나 더 큰 데이터 세트를 위해 사전 훈련할 때 중요합니다.

표 1: BERTBASE의 정적 마스킹과 동적 마스킹 비교. SQuAD에 대해서는 F1을 보고하고 MNLI-m 및 SST-2에 대해서는 정확도를 보고합니다. 보고된 결과는 5번의 무작위 초기화(시드)에 대한 중앙값입니다. 참고 결과는 Yang et al. (2019).

 

결과 표 1은 Devlin et al.(2019)에서 게시된 BERTBASE 결과를 정적 또는 동적 마스킹을 사용한 재구현과 비교합니다. 정적 마스킹을 사용한 재구현은 원래 BERT 모델과 유사하게 수행되며 동적 마스킹은 정적 마스킹과 비슷하거나 약간 더 우수하다는 것을 확인했습니다.
이러한 결과와 동적 마스킹의 추가 효율성 이점을 고려하여 나머지 실험에서는 동적 마스킹을 사용합니다.

 

4.2 모델 입력 형식과 다음 문장 예측
원래 BERT 사전 학습 절차에서 모델은 동일한 문서(p = 0.5) 또는 서로 다른 문서에서 연속적으로 샘플링되는 두 개의 연결된 문서 세그먼트를 관찰합니다. 마스킹된 언어 모델링 목표 외에도 모델은 보조 NSP(다음 문장 예측) 손실을 통해 관찰된 문서 세그먼트가 동일한 문서에서 왔는지 아니면 별개의 문서에서 왔는지 예측하도록 훈련됩니다.
NSP 손실은 원래 BERT 모델을 훈련하는 데 중요한 요소인 것으로 가정되었습니다. Devlin et al.(2019)은 NSP를 제거하면 성능이 저하되고 QNLI, MNLI 및 SQuAD 1.1에서 상당한 성능 저하가 발생한다는 사실을 관찰했습니다. 그러나 최근 일부 연구에서는 NSP 손실의 필요성에 의문을 제기했습니다(Lample and Conneau, 2019; Yang et al., 2019; Joshi et al., 2019).
이러한 불일치를 더 잘 이해하기 위해 몇 가지 대체 교육 형식을 비교합니다.

 

• SEGMENT-PAIR+NSP: 이는 BERT(Devlin et al., 2019)에서 사용되는 원래 입력 형식을 따르며 NSP 손실이 있습니다. 각 입력에는 한 쌍의 세그먼트가 있으며 각 세그먼트에는 여러 개의 자연산이 포함될 수 있습니다.
문장이지만 총 결합 길이는 토큰 512개 미만이어야 합니다.

 

표 2: BOOKCORPUS 및 WIKIPEDIA를 통해 사전 훈련된 기본 모델에 대한 개발 세트 결과. 모든 모델은 배치 크기가 256개 시퀀스인 1M 단계에 대해 학습되었습니다. SQuAD의 경우 F1을 보고하고 MNLI-m, SST-2 및 RACE의 정확도를 보고합니다. 보고된 결과는 5번의 무작위 초기화(시드)에 대한 중앙값입니다. BERTBASE 및 XLNetBASE에 대한 결과는 Yang et al.(2019)에서 가져온 것입니다.

 

• SENTENCE-PAIR+NSP: 각 입력에는 한 문서의 인접한 부분이나 별도의 문서에서 샘플링된 자연 문장 쌍이 포함됩니다. 이러한 입력은 512개 토큰보다 훨씬 짧기 때문에 총 토큰 수가 SEGMENT-PAIR+NSP와 유사하게 유지되도록 배치 크기를 늘립니다. 우리는 NSP 손실을 유지합니다.
• 전체 문장: 각 입력은 하나 이상의 문서에서 연속적으로 샘플링된 전체 문장으로 구성됩니다. 즉, 총 길이는 최대 512개 토큰입니다. 입력 내용이 문서 경계를 넘을 수 있습니다. 한 문서의 끝에 도달하면 다음 문서에서 문장 샘플링을 시작하고 문서 사이에 추가 구분 기호 토큰을 추가합니다. NSP 손실을 제거합니다.
• DOC-SENTENCES: 입력은 문서 경계를 넘을 수 없다는 점을 제외하면 FULL-SENTENCES와 유사하게 구성됩니다. 문서 끝부분에서 샘플링된 입력은 512개 토큰보다 짧으므로 이러한 경우 FULLSENTENCES와 비슷한 총 토큰 수를 달성하기 위해 배치 크기를 동적으로 늘립니다. NSP 손실을 제거합니다.

 

결과 표 2는 네 가지 다른 설정에 대한 결과를 보여줍니다. 먼저 Devlin et al. (2019)의 원래 SEGMENT-PAIR 입력 형식을 SENTENCE-PAIR 형식과 비교합니다. 두 형식 모두 NSP 손실을 유지하지만 후자는 단일 문장을 사용합니다. 개별 문장을 사용하면 다운스트림 작업의 성능이 저하된다는 사실을 발견했습니다. 이는 모델이 장거리 종속성을 학습할 수 없기 때문이라고 가정합니다.

 

다음으로 NSP 손실 없는 훈련과 단일 문서(DOC-SENTENCES)의 텍스트 블록을 사용한 훈련을 비교합니다. 우리는 이 설정이 원래 게시된 BERTBASE 결과보다 성능이 뛰어나고 Devlin et al.(2019)과 달리 NSP 손실을 제거하면 다운스트림 작업 성능이 일치하거나 약간 향상된다는 것을 발견했습니다. 원래 BERT 구현은 SEGMENT-PAIR 입력 형식을 유지하면서 손실 항만 제거했을 가능성이 있습니다.
마지막으로 우리는 단일 문서(DOC-SENTENCES)에서 시퀀스를 제한하는 것이 여러 문서(FULL-SENTENCES)에서 시퀀스를 패킹하는 것보다 약간 더 나은 성능을 발휘한다는 것을 발견했습니다.
그러나 DOC-SENTENCES 형식으로 인해 배치 크기가 다양해지기 때문에 관련 작업과 더 쉽게 비교할 수 있도록 나머지 실험에서는 FULLSENTENCES를 사용합니다.

 

4.3 대규모 배치를 사용한 훈련
신경 기계 번역의 과거 연구에 따르면 매우 큰 미니 배치를 사용한 교육은 학습 속도가 적절하게 증가할 때 최적화 속도와 최종 작업 성능을 모두 향상시킬 수 있는 것으로 나타났습니다(Ott et al., 2018). 최근 작업에는 BERT는 대규모 배치 훈련에도 적합하다는 것을 보여주었습니다(You et al., 2019).
Devlin et al.(2019)은 원래 배치 크기가 256개 시퀀스인 1M 단계에 대해 BERTBASE를 교육했습니다. 이는 그라디언트 누적을 통한 계산 비용 측면에서 배치 크기가 2K 시퀀스인 125K 단계 또는 배치 크기가 8K인 31K 단계에 대한 교육과 동일합니다.

표 3: 다양한 배치 크기(bsz)를 사용하여 BOOKCORPUS 및 WIKIPEDIA를 통해 훈련된 기본 모델에 대한 보유 훈련 데이터(ppl) 및 개발 세트 정확도에 대한 혼란. 각 설정에 대해 학습률(lr)을 조정합니다.
모델은 데이터(에포크)에 대해 동일한 수의 패스를 수행하고 동일한 계산 비용을 갖습니다.


표 3에서는 훈련 데이터를 통과하는 횟수를 제어하면서 배치 크기를 늘리면서 BERTBASE의 복잡성과 최종 작업 성능을 비교합니다. 우리는 대규모 배치를 사용한 교육이 마스크된 언어 모델링 목표에 대한 복잡성과 최종 작업 정확도를 향상시키는 것을 관찰했습니다. 또한 대규모 배치는 분산 데이터 병렬 훈련을 통해 병렬화하기가 더 쉽고, 이후 실험에서는 8K 시퀀스 배치로 훈련합니다.
특히 You et al.(2019)은 최대 32K 시퀀스의 훨씬 더 큰 배치 크기로 BERT를 교육합니다. 대규모 배치 훈련의 한계에 대한 추가 탐구는 향후 작업에 맡깁니다.

 

4.4 텍스트 인코딩
바이트 쌍 인코딩(BPE)(Sennrich et al., 2016)은 자연어 말뭉치에서 흔히 볼 수 있는 대규모 어휘를 처리할 수 있는 문자 수준 표현과 단어 수준 표현 간의 하이브리드입니다. 전체 단어 대신 BPE는 훈련 코퍼스의 통계 분석을 수행하여 추출된 하위 단어 단위에 의존합니다.
BPE 어휘 크기는 일반적으로 10K-100K 하위 단어 단위입니다. 그러나 유니코드 문자는 이 작업에서 고려되는 것과 같이 크고 다양한 말뭉치를 모델링할 때 이 어휘의 상당 부분을 차지할 수 있습니다.
Radfordet al. (2019)에서는 유니코드 문자 대신 바이트를 기본 하위 단어 단위로 사용하는 영리한 BPE 구현을 소개합니다. 바이트를 사용하면 "알 수 없는" 토큰을 도입하지 않고도 입력 텍스트를 인코딩할 수 있는 적당한 크기(50K 단위)의 하위 단어 어휘를 학습할 수 있습니다.

 

원래 BERT 구현(Devlin et al., 2019)은 30K 크기의 문자 수준 BPE 어휘를 사용합니다.
경험적 토큰화 규칙을 사용하여 입력을 전처리한 후 Radford et al.(2019)에 이어, 대신 입력의 추가 전처리나 토큰화 없이 50K 하위 단어 단위가 포함된 더 큰 바이트 수준 BPE 어휘로 BERT를 교육하는 것을 고려합니다. 이는 BERTBASE 및 BERTLARGE에 대해 각각 약 15M 및 20M의 추가 매개변수를 추가합니다.
초기 실험에서는 이러한 인코딩 간에 약간의 차이만 나타났으며 Radford et al.(2019) BPE는 약간의 달성을 보였습니다.
일부 작업에서는 최종 작업 성능이 저하됩니다. 그럼에도 불구하고 우리는 범용 인코딩 체계의 장점이 성능 저하보다 더 크다고 믿고 나머지 실험에서는 이 인코딩을 사용합니다. 이러한 인코딩에 대한 보다 자세한 비교는 향후 작업에 남아 있습니다.

 

5 RoBERTa
이전 섹션에서 우리는 최종 작업 성능을 향상시키는 BERT 사전 훈련 절차에 대한 수정을 제안했습니다. 이제 이러한 개선 사항을 집계하고 결합된 영향을 평가합니다.
강력하게 최적화된 BERT 접근 방식을 위해 이 구성을 RoBERTa라고 부릅니다. 특히 RoBERTa는 동적 마스킹으로 훈련되었습니다.
(섹션 4.1), NSP 손실 없는 FULL-SENTENCES(섹션 4.2), 대규모 미니 배치(섹션 4.3) 및 더 큰 바이트 수준 BPE(섹션 4.4).
또한 이전 작업에서 덜 강조된 두 가지 중요한 요소인 (1) 사전 훈련에 사용되는 데이터와 (2) 데이터를 통과하는 훈련 횟수를 조사합니다. 예를 들어 최근 제안된 XLNet 아키텍처(Yang et al., 2019)는 원래 BERT(Devlin et al., 2019)보다 거의 10배 더 많은 데이터를 사용하여 사전 학습되었습니다. 또한 최적화 단계의 절반에 대해 8배 더 큰 배치 크기로 훈련되므로 BERT에 비해 사전 훈련에서 4배 더 많은 시퀀스를 볼 수 있습니다.

 

이러한 요소의 중요성을 다른 모델링 선택(예: 사전 훈련 목표)과 분리하는 데 도움이 되도록 BERTLARGE 아키텍처(L = 24, H = 1024, A = 16, 355M 매개변수)에 따라 RoBERTa를 훈련하는 것으로 시작합니다. 우리는 Devlin et al. (2019)에서 사용된 것과 유사한 BOOKCORPUS 및 WIKIPEDIA 데이터세트에 대해 100,000단계에 대해 사전 훈련합니다. 우리는 약 하루 동안 1024개의 V100 GPU를 사용하여 모델을 사전 훈련했습니다.

표 4: 더 많은 데이터(16GB~160GB 텍스트)를 사전 학습하고 더 오랫동안(100K! 300K! 500K 단계) 사전 학습한 RoBERTa의 개발 세트 결과. 각 행에는 위 행의 개선 사항이 누적됩니다. RoBERTa는 BERTLARGE의 아키텍처 및 교육 목표와 일치합니다. BERTLARGE 및 XLNetLARGE에 대한 결과는 Devlin et al. (2019) 및 Yang et al. (2019) 각각. 모든 GLUE 작업에 대한 전체 결과는 부록에서 확인할 수 있습니다.

 

결과 표 4에 결과를 제시합니다. 훈련 데이터를 제어할 때 RoBERTa가 원래 보고된 BERTLARGE 결과에 비해 큰 개선을 제공하는 것을 관찰하여 섹션 4에서 살펴본 설계 선택의 중요성을 재확인했습니다.
다음으로, 이 데이터를 섹션 3.2에 설명된 세 가지 추가 데이터 세트와 결합합니다. 이전과 동일한 수(100K)의 훈련 단계를 사용하여 결합된 데이터에 대해 RoBERTa를 훈련합니다.
전체적으로 우리는 160GB가 넘는 텍스트를 사전 학습합니다. 우리는 모든 다운스트림 작업에서 성능이 더욱 향상되는 것을 관찰하여 사전 훈련에서 데이터 크기와 다양성의 중요성을 검증했습니다.
마지막으로 RoBERTa를 훨씬 더 오랫동안 사전 훈련하여 사전 훈련 단계 수를 100K에서 300K, 그리고 500K로 늘렸습니다. 다운스트림 작업 성능이 크게 향상되었으며 300K 및 500K 단계 모델이 대부분의 작업에서 XLNetLARGE보다 성능이 뛰어났습니다. 가장 오랫동안 훈련된 모델이라도 데이터에 과적합되지 않는 것으로 보이며 추가 훈련을 통해 이점을 얻을 가능성이 높습니다.
나머지 문서에서는 GLUE, SQuaD 및 RACE의 세 가지 벤치마크에서 최고의 RoBERTa 모델을 평가합니다. 구체적으로 우리는 RoBERTa가 섹션 3.2에 소개된 5개 데이터세트 모두에 대해 500K 단계에 대해 훈련되었다고 생각합니다..

 

5.1 GLUE 결과
GLUE의 경우 두 가지 미세 조정 설정을 고려합니다. 첫 번째 설정(단일 작업, 개발)에서는 해당 작업에 대한 훈련 데이터만 사용하여 각 GLUE 작업에 대해 별도로 RoBERTa를 미세 조정합니다. 제한된 하이퍼파라미터를 고려합니다.
각 작업에 대한 스윕(배치 크기 2 {16, 32} 및 학습률 2 {1e−5, 2e−5, 3e−5}), 단계의 처음 6%에 대한 선형 준비 후 0으로 선형 감소 10개의 에포크 동안 미세 조정하고 개발 세트에 대한 각 작업의 평가 지표를 기반으로 조기 중지를 수행합니다. 나머지 하이퍼파라미터는 사전 훈련과 동일하게 유지됩니다.
이 설정에서는 모델 앙상블 없이 5번의 무작위 초기화를 통해 각 작업에 대한 중앙값 개발 세트 결과를 보고합니다.
두 번째 설정(앙상블, 테스트)에서는 GLUE 리더보드를 통해 RoBERTa를 테스트 세트의 다른 접근 방식과 비교합니다.

GLUE 리더보드에 제출되는 많은 항목은 다중 작업 미세 조정에 의존하지만 우리의 제출은 단일 작업 미세 조정에만 의존합니다. RTE, STS 및 MRPC의 경우 사전 훈련된 기본 RoBERTa보다는 MNLI 단일 작업 모델에서 시작하여 미세 조정하는 것이 도움이 된다는 것을 알았습니다. 부록에 설명된 약간 더 넓은 하이퍼파라미터 공간을 탐색하고 작업당 5~7개 모델 사이의 앙상블을 탐색합니다.

 

표 5: GLUE 결과. 모든 결과는 24레이어 아키텍처를 기반으로 합니다. BERTLARGE 및 XLNetLARGE 결과는 Devlin et al. (2019) 및 Yang et al. (2019) 각각. 개발 세트의 RoBERTa 결과는 5회 실행에 대한 중앙값입니다. 테스트 세트의 RoBERTa 결과는 단일 작업 모델의 앙상블입니다. RTE, STS 및 MRPC의 경우 기본 사전 학습 모델 대신 MNLI 모델부터 미세 조정합니다. 평균은 GLUE 순위표에서 얻습니다.

 

작업별 수정 GLUE 작업 중 두 가지는 경쟁력 있는 리더보드 결과를 달성하기 위해 작업별 미세 조정 접근 방식이 필요합니다.

 

QNLI: GLUE 순위표에 대한 최근 제출은 QNLI 작업에 대한 쌍별 순위 공식을 채택합니다. 여기서 후보 답변은 훈련 세트에서 마이닝되어 서로 비교되고 단일(질문, 후보) 쌍은 긍정적으로 분류됩니다(Liu et al. al., 2019b,a; Yang 외, 2019). 이 공식은 작업을 크게 단순화하지만 BERT와 직접적으로 비교할 수는 없습니다(Devlin et al., 2019). 최근 작업에 따라 테스트 제출에 순위 지정 접근 방식을 채택했지만 BERT와의 직접 비교를 위해 순수 분류 접근 방식을 기반으로 개발 세트 결과를 보고합니다.

 

WNLI: 제공된 NLI 형식 데이터가 작업하기 어렵다는 것을 알았습니다. 대신 우리는 쿼리 대명사와 지시 대상의 범위를 나타내는 Super-GLUE(Wang et al., 2019a)의 형식이 변경된 WNLI 데이터를 사용합니다. Kocijan et al. (2019) 의 마진 순위 손실을 사용하여 RoBERTa를 미세 조정합니다. 주어진 입력 문장에 대해 spaCy(Honnibal and Montani, 2017)를 사용하여 문장에서 추가 후보 명사 문구를 추출하고 모델을 미세 조정하여 생성된 부정 후보 문구보다 긍정적 지시 문구에 더 높은 점수를 할당합니다. 이 공식의 불행한 결과 중 하나는 제공된 훈련 예제의 절반 이상을 제외하는 긍정적인 훈련 예제만 사용할 수 있다는 것입니다.

 

결과 우리는 결과를 표 5에 제시합니다. 첫 번째 설정(단일 작업, 개발)에서 RoBERTa는 9개의 GLUE 작업 개발 세트 모두에서 최첨단 결과를 달성합니다. 결정적으로 RoBERTa는 BERTLARGE와 동일한 마스크된 언어 모델링 사전 학습 목표 및 아키텍처를 사용하면서도 지속적으로 BERTLARGE 및 XLNetLARGE보다 성능이 뛰어납니다. 이는 모델 아키텍처와 사전 학습의 상대적 중요성에 대한 의문을 제기합니다.
이 작업에서 탐색하는 데이터 세트 크기 및 훈련 시간과 같은 보다 일상적인 세부 사항과 비교됩니다.
두 번째 설정(앙상블, 테스트)에서는 RoBERTa를 GLUE 리더보드에 제출하고 9개 작업 중 4개 작업에서 최고 결과와 현재까지 가장 높은 평균 점수를 달성합니다. RoBERTa는 대부분의 다른 상위 제출물과 달리 다중 작업 미세 조정에 의존하지 않기 때문에 특히 흥미롭습니다. 우리는 앞으로의 작업이 더욱 발전할 것으로 기대합니다
보다 정교한 다중 작업 미세 조정 절차를 통합하여 이러한 결과를 개선합니다.

 

5.2 스쿼드 결과
우리는 이전 작업에 비해 SQuAD에 대해 훨씬 간단한 접근 방식을 채택합니다. 특히 BERT(Devlin et al., 2019)와 XLNet(Yang et al., 2019)은 모두 추가 QA 데이터 세트를 사용하여 교육 데이터를 강화하지만 우리는 미세 조정만 합니다.
제공된 SQuAD 훈련 데이터를 사용하는 RoBERTa. Yang et al.(2019)은 XLNet을 미세 조정하기 위해 사용자 정의 레이어별 학습 속도 일정을 사용했으며 모든 레이어에 동일한 학습 속도를 사용했습니다.
SQuAD v1.1의 경우 Devlin et al.(2019)과 동일한 미세 조정 절차를 따릅니다. SQuAD v2.0에서는 주어진 질문에 답변할 수 있는지 여부를 추가로 분류합니다. 분류 및 범위 손실 항을 합산하여 범위 예측기와 함께 이 분류기를 훈련합니다.

표 6: SQuAD 결과. †은 추가 외부 훈련 데이터에 의존하는 결과를 나타냅니다. RoBERTa는 개발 및 테스트 설정 모두에서 제공된 SQuAD 데이터만 사용합니다. BERTLARGE 및 XLNetLARGE 결과는 각각 Devlin et al.(2019) 및 Yang et al.(2019)에서 가져온 것입니다.

 

결과 우리는 결과를 표 6에 제시합니다. SQuAD v1.1 개발 세트에서 RoBERTa는 XLNet의 최첨단 세트와 일치합니다. SQuAD v2.0 개발 세트에서 RoBERTa는 XLNet에 비해 0.4포인트(EM) 및 0.6포인트(F1) 향상되는 새로운 최첨단 기술을 설정합니다.
또한 공개 SQuAD 2.0 리더보드에 RoBERTa를 제출하고 다른 시스템과 비교하여 성능을 평가합니다. 대부분의 최고 시스템은 BERT(Devlin et al., 2019) 또는 XLNet(Yang et al., 2019)을 기반으로 구축되며, 둘 다 추가 외부 교육 데이터에 의존합니다. 대조적으로, 우리의 제출물은 추가 데이터를 사용하지 않습니다.
우리의 단일 RoBERTa 모델은 단일 모델 제출 중 하나를 제외한 모든 모델보다 성능이 뛰어나며 데이터 증강에 의존하지 않는 모델 중에서 최고 점수 시스템입니다.

 

5.3 레이스 결과
RACE에서는 시스템에 텍스트 구절, 관련 질문 및 4개의 후보 답변이 제공됩니다.
네 가지 후보 답변 중 어느 것이 올바른지 분류하려면 시스템이 필요합니다.
우리는 각 후보 답변을 해당 질문 및 구절과 연결하여 이 작업을 위해 RoBERTa를 수정합니다. 그런 다음 이 네 가지 시퀀스를 각각 인코딩하고 정답을 예측하는 데 사용되는 완전 연결 레이어를 통해 결과 [CLS] 표현을 전달합니다. 128개 토큰보다 긴 질문-답변 쌍을 자르고 필요한 경우 전체 길이가 최대 512개 토큰이 되도록 통로를 자릅니다.
RACE 테스트 세트의 결과는 표 7에 나와 있습니다. RoBERTa는 중학교와 고등학교 환경 모두에서 최첨단 결과를 달성합니다.

표 7: RACE 테스트 세트의 결과. BERTLARGE 및 XLNetLARGE 결과는 Yang et al. (2019).

 

6 관련 작업
사전 훈련 방법은 언어 모델링(Dai and Le, 2015; Peters et al., 2018; Howard and Ruder, 2018), 기계 번역(McCann et al., 2017), 마스크된 언어 모델링(McCann et al., 2017)을 포함한 다양한 훈련 목표로 설계되었습니다. Devlin 외, 2019; Lample 및 Conneau, 2019). 최근의 많은 논문에서는 각 최종 작업에 대해 모델을 미세 조정하는 기본 방법을 사용했으며(Howard and Ruder, 2018; Radford et al., 2018), 마스크된 언어 모델 목표의 일부 변형을 사용하여 사전 학습했습니다. 그러나 새로운 방법은 다중 작업 미세 조정(Dong et al., 2019), 엔터티 임베딩(Sun et al., 2019), 범위 예측(Joshi et al., 2019) 및 자동 회귀의 여러 변형을 통합하여 성능을 향상했습니다. 사전 훈련(Song et al., 2019; Chan et al., 2019; Yang et al., 2019). 또한 일반적으로 더 많은 데이터에 대해 더 큰 모델을 훈련함으로써 성능이 향상됩니다(Devlin et al., 2019; Baevski et al., 2019; Yang et al., 2019; Radford et al., 2019). 우리의 목표는 이러한 모든 방법의 상대적 성능을 더 잘 이해하기 위한 기준점으로 BERT 교육을 복제, 단순화 및 더 잘 조정하는 것이었습니다.

 

7 결론
우리는 BERT 모델을 사전 훈련할 때 여러 가지 설계 결정을 신중하게 평가합니다. 우리는 더 많은 데이터에 대해 더 큰 배치를 사용하여 모델을 더 오랫동안 훈련함으로써 성능이 크게 향상될 수 있음을 발견했습니다. 다음 문장 예측 목표를 제거하는 단계; 더 긴 시퀀스에 대한 훈련; 훈련 데이터에 적용된 마스킹 패턴을 동적으로 변경하는 단계를 포함한다. RoBERTa라고 하는 개선된 사전 훈련 절차는 GLUE에 대한 다중 작업 미세 조정이나 SQuAD에 대한 추가 데이터 없이 GLUE, RACE 및 SQuAD에 대한 최첨단 결과를 달성합니다. 이러한 결과는 이전에 간과된 설계 결정의 중요성을 보여주고 BERT의 사전 훈련 목표가 최근 제안된 대안과 경쟁력을 유지하고 있음을 시사합니다.
우리는 또한 새로운 데이터 세트인 CC-NEWS를 사용하고 사전 훈련 및 미세 조정을 위한 모델과 코드를 다음 위치에 공개합니다.
https://github.com/pytorch/fairseq

표 8: RoBERTa의 다양한 구성에 대한 GLUE 작업에 대한 개발 세트 결과.

 

표 9: RoBERTaLARGE 및 RoBERTaBASE 사전 훈련을 위한 하이퍼파라미터.

 

표 10: RACE, SQuAD 및 GLUE에서 RoBERTaLARGE를 미세 조정하기 위한 하이퍼파라미터.

+ Recent posts