Megatron-Turing NLG 530B: DeepSpeed와 Megatron을 활용한 5300억 파라미터 언어 모델 학습

본 논문은 Microsoft와 NVIDIA의 협력으로 개발된 5300억 개의 파라미터를 가진 거대 단일(monolithic) transformer 기반 언어 모델인 Megatron-Turing NLG 530B (MT-NLG)의 학습 과정을 상세히 설명합니다. DeepSpeed와 Megatron을 활용한 3D parallelism 방법론과 인프라, 고품질 학습 말뭉치 설계 및 데이터 큐레이션 기술을 중점적으로 다룹니다. MT-NLG는 여러 NLP 벤치마크에서 뛰어난 zero-shot, one-shot, few-shot 학습 정확도를 달성하며 새로운 SOTA(state-of-the-art) 결과를 수립했습니다. 논문 제목: Using DeepSpeed and Megatron to Train Megatron-Turing NLG 530B, A Large-Scale Generative Language Model

Smith, Shaden, et al. "Using deepspeed and megatron to train megatron-turing nlg 530b, a large-scale generative language model." arXiv preprint arXiv:2201.11990 (2022).

Using DeepSpeed and Megatron to Train Megatron-Turing NLG 530B, A Large-Scale Generative Language Model

Abstract

사전학습된 범용 language model은 zero-shot, few-shot, fine-tuning 기법을 통해 다운스트림 task에 적응함으로써 다양한 자연어 처리(NLP) 분야에서 state-of-the-art 정확도를 달성할 수 있다. 이러한 성공으로 인해 모델의 크기가 급격히 증가했으며, 이처럼 거대한 모델을 학습시키기 위해서는 고성능 하드웨어, 소프트웨어, 그리고 알고리즘 기법이 요구된다.

Microsoft와 NVIDIA의 공동 노력의 결과로, 우리는 5,300억 개의 파라미터를 가진 **가장 큰 monolithic Transformer 기반 language model인 Megatron-Turing NLG 530B (MT-NLG)**의 학습에 대한 세부 정보를 제시한다. 본 논문에서는 먼저 DeepSpeed와 Megatron을 사용하여 이 모델을 학습시키는 데 사용된 인프라와 3D parallelism 방법론에 중점을 둔다. 다음으로, 우리는 학습 과정, 학습 코퍼스 설계, 그리고 데이터 큐레이션 기법을 상세히 설명한다. 우리는 이러한 데이터 큐레이션 기법이 모델 성공의 핵심 요소라고 믿는다. 마지막으로, 다양한 평가 결과와 MT-NLG가 보여주는 흥미로운 관찰 및 새로운 특성에 대해 논의한다.

우리는 MT-NLG가 여러 NLP 벤치마크에서 우수한 zero-shot, one-shot, few-shot 학습 정확도를 달성하고 새로운 state-of-the-art 결과를 수립함을 입증한다. 우리는 우리의 기여가 대규모 학습 인프라, 대규모 language model, 그리고 자연어 생성 분야의 발전을 더욱 촉진할 것이라고 믿는다.

1 Introduction

최근 출시된 BERT [12], GPT-2 [52], RoBERTa [37]와 같은 foundation model [8]은 AI 시스템 구축 방식에 패러다임의 전환을 가져왔다. 이 모델들은 범용적인 모델 클래스를 대규모로 사전학습한 후, transfer learning을 통해 다양한 다운스트림 task에 적응시키는 방식으로 구축된다. 이러한 모델들은 Transformer 아키텍처 [67], self-supervised learning, few-shot conditioning [9], fine-tuning이라는 여러 요소의 효과적인 조합을 통해 state-of-the-art 자연어 처리(NLP) 시스템에서 보편적으로 사용되게 되었다.

Figure 1: 시간에 따른 state-of-the-art NLP 모델 크기 추세.

중요하게도, 최근 많은 연구들은 모델의 규모를 확장하는 것이 성능을 크게 향상시키며, 특히 zero-shot 및 few-shot 설정에서 상당한 성능 개선이 있음을 입증했다. 예를 들어, 1,750억 개의 파라미터를 가진 autoregressive language model인 GPT-3 [9]는 fine-tuning이나 gradient 업데이트 없이 in-context learning을 사용하여 언어 task에서 경쟁력 있는 성능을 보인다. 이러한 in-context learning은 모델이 간단한 지시와 몇 개의 선택적 예시만으로 새로운 언어 task를 수행할 수 있도록 한다. 이 방법의 효과는 prompt tuning [33]과 같은 최근 모델 적응 연구를 통해 더욱 향상되었는데, 이는 대규모 language model을 개별 task에 효율적으로 적응시키면서도 견고한 task 성능을 제공한다. 대규모 language model이 보여주는 다른 흥미로운 능력으로는 뉴스 기사와 같은 일관성 있고 긴 형식의 텍스트를 자유롭게 생성하는 것, 실제 세계 지식을 바탕으로 응답을 생성하는 것, 그리고 기본적인 수학 연산을 수행하는 것 등이 있다.

최근 몇 년간 대규모 language model의 급속한 발전은 계산 자원의 증가, 대규모 데이터셋의 가용성, 그리고 진화하는 소프트웨어 스택에 힘입어 가속화되었다. State-of-the-art 슈퍼컴퓨팅 클러스터는 이러한 규모의 모델 학습에 필요한 연산, 메모리, 네트워킹 요구 사항을 충족시킨다. 고품질, 대용량, 다양한 데이터셋의 신중한 처리는 다운스트림 task에서의 모델 성능과 모델 수렴에 직접적으로 기여한다. 최적화 효율성과 안정성 향상을 목표로 하는 새로운 수치 조작 및 학습 레시피가 개발되었다. 그러나 모델 파라미터 크기의 기하급수적인 성장(Figure 1 참조)을 지속하기 위해서는 새로운 방법, 인프라, 학습 능력 개발에 상당한 진전이 필요하다.

이러한 대규모 모델을 학습시키는 것은 두 가지 이유로 인해 어렵다. 첫째, 가장 큰 GPU의 메모리에도 이 모델들의 파라미터를 모두 담는 것이 더 이상 불가능하다. 둘째, 필요한 대규모 연산량은 알고리즘, 소프트웨어, 하드웨어 스택을 동시에 최적화하는 데 특별한 주의를 기울이지 않으면 비현실적으로 긴 학습 시간을 초래할 수 있다. 이는 수천 개의 GPU의 잠재력을 최대한 활용하기 위해 메모리와 연산 모두에서 확장 가능한 효율적인 병렬화 기술을 요구한다.

이전에 입증된 모델 크기 증가로 인한 인상적인 정성적 성능 향상에 힘입어, 우리의 연구는 대규모 language modeling의 추세를 이어간다. 우리는 **5,300억 개의 파라미터를 가진 Transformer 기반 language model인 Megatron-Turing NLG 530B (MT-NLG)**를 구축했다. 이는 우리가 아는 한, 현재까지 학습된 가장 큰 monolithic language model이며, GPT-3보다 3배 더 많은 파라미터를 가지고 있다. mixture-of-experts [61]와 같이 더 높은 총 파라미터 수를 포함하는 sparse model 구조도 학습된 바 있지만, 이러한 접근 방식을 따르는 모델들이 비슷한 파라미터 효율성과 일반화 능력을 가질지는 불분명하다.

MT-NLG의 학습은 모든 AI 분야에 걸친 수많은 혁신과 돌파구 덕분에 가능해졌다. NVIDIA Megatron-LM [63, 43]과 Microsoft DeepSpeed [57, 65] 간의 협력을 통해, 우리는 데이터, 파이프라인, tensor-slicing 기반 병렬화를 결합할 수 있는 효율적이고 확장 가능한 3D 병렬 시스템을 만들었다. tensor-slicing과 파이프라인 병렬화를 결합함으로써, 우리는 가장 효과적인 영역 내에서 작동할 수 있었다. 우리는 수천억 개의 토큰으로 구성된 고품질 자연어 학습 코퍼스를 구축했으며, 최적화 효율성과 안정성을 향상시키기 위한 학습 레시피를 공동 개발했다.

본 논문에서는 MT-NLG 개발 과정에서 사용된 방법들에 대한 세부 사항을 논의할 것이다. 여기에는 **학습 인프라(Section 2), 학습 데이터셋 및 학습 프로세스(Section 3), 모델 평가 및 기타 흥미로운 관찰(Section 4)**이 포함된다. 또한, MT-NLG의 **사회적 편향에 대한 심층 연구(Section 5), in-context learning 능력(Section 6), 그리고 생성 능력에 대한 정성적 분석(Section 7)**도 제시할 것이다.

2 Large Model Training Infrastructure

NVIDIA A100 Tensor Core GPU와 HDR InfiniBand 네트워킹으로 구동되는 **최신 클러스터(예: NVIDIA Selene 및 Microsoft Azure NDv4)**는 수조 개의 파라미터를 가진 모델을 학습시킬 수 있는 충분한 연산 능력을 갖추고 있다. 그러나 이러한 슈퍼컴퓨터의 잠재력을 최대한 활용하려면 수천 개의 GPU에 걸쳐 병렬화하기 위한 메모리 및 연산 효율적인 전략이 필요하다. 기존의 **데이터 병렬화(data parallelism), 파이프라인 병렬화(pipeline parallelism), 텐서 슬라이싱(tensor-slicing)**과 같은 병렬화 전략들은 메모리 및 연산 효율성 측면에서 trade-off가 있으며, 이 규모의 모델을 학습시키는 데 단독으로 사용될 수 없다. 이 섹션에서는 대규모 모델 학습의 시스템적 과제에 대해 논의한다. 우리는 통합되고 강력한 학습 인프라의 소프트웨어 설계, 하드웨어 시스템 및 성능 평가에 대해 설명한다.

2.1 Challenges

우리는 먼저 대규모 language model 학습의 도전 과제에 대해 논의한다: 메모리 및 연산 효율성, 그리고 데이터, tensor, pipeline 병렬화와 같은 다양한 해결 전략의 trade-off에 대해 살펴본다.

2.1.1 Memory and Compute Efficiency

메모리 효율성 (Memory Efficiency)
5,300억 개의 파라미터를 가진 모델을 학습시키는 데 필요한 메모리는 단일 GPU 장치에서 사용 가능한 용량을 훨씬 초과한다. 학습 중 메모리 소비에 대한 분석 연구는 Rajbhandari et al. [56]을 참조하라.

Mixed precision training [41]은 일반적으로 forward 및 backward propagation을 위해 가중치와 gradient를 half precision 형식(즉, 파라미터당 2바이트)으로 저장한다. 또한, optimizer의 수치적 안정성을 위해 full-precision (4바이트) 복사본을 32비트 float 형식으로 유지한다. Adam optimizer [27]로 학습한다고 가정하면, 학습은 파라미터당 20바이트의 메모리를 소비한다:

2+4weights +2+4gradients +4+4Adam states =20 bytes. \underbrace{2+4}_{\text {weights }}+\underbrace{2+4}_{\text {gradients }}+\underbrace{4+4}_{\text {Adam states }}=20 \text { bytes. }

따라서 5,300억 개의 파라미터를 가진 모델을 학습시키려면 모델 가중치, gradient, optimizer state를 위해 총 10테라바이트 이상의 메모리가 필요하다.

Activations 또한 상당한 메모리를 소비하며, 학습 batch size, sequence length, 모델 dimension에 따라 그 크기가 달라진다. 각 Transformer block의 activations를 checkpointing하고 재계산하는 것은 대규모 language model 학습에서 activations에 필요한 메모리를 줄이기 위한 일반적인 전략이다. 그러나 layer 간 경계에서의 activations는 여전히 저장되어야 하며, 총 activation 메모리는 다음과 같다:

 batch-size × number-of-layers × sequence-length × hidden-dimension ×2 bytes, \text { batch-size } \times \text { number-of-layers } \times \text { sequence-length } \times \text { hidden-dimension } \times 2 \text { bytes, }

이는 우리의 모델 및 학습 설정(Section 3.2)에 따르면 약 16.9테라바이트에 해당한다.
다행히도, activation 메모리 요구 사항은 gradient accumulation을 통해 완화될 수 있다. Gradient accumulation은 전체 학습 batch를 micro-batch로 분할하여 순차적으로 처리하고, 그 결과로 생성된 gradient를 모델 가중치를 업데이트하기 전에 누적하는 전략이다. micro-batch에 대한 gradient 계산이 완료되면, 관련 activations는 해제될 수 있다. 결과적으로, 학습 batch size는 peak resident activation 메모리를 증가시키지 않고도 확장될 수 있다. 예를 들어, 크기 1920의 단일 micro-batch 대신 1920개의 micro-batch로 학습하면, 실질적인 batch size는 동일하게 유지하면서 peak activation 메모리를 16.9테라바이트에서 8.8기가바이트로 줄일 수 있다.

연산 효율성 (Compute Efficiency)
대규모 GPU 클러스터는 수천 개의 고성능 GPU를 가질 수 있지만, 이러한 규모에서 높은 연산 효율성을 달성하는 것은 어렵다. 큰 batch size는 연산 효율성을 높이는 효과적인 방법이 될 수 있는데, 이는 kernel의 산술 강도(arithmetic intensity)를 높이고 통신 및 동기화로 인해 지연되는 시간을 상쇄하는 데 도움이 되기 때문이다. 그러나 모델을 학습시킬 수 있는 batch size에는 상한선이 있으며, 너무 큰 batch size를 사용하면 모델 품질에 부정적인 영향을 미칠 수 있다. 4000개의 GPU를 사용하는 경우, 4000이라는 큰 batch size도 GPU당 batch size가 1에 불과하여 연산 효율성을 제한하게 된다.

2.1.2 Tradeoffs of Data, Tensor, and Pipeline Parallelism

데이터 병렬화 (Data Parallelism)
데이터 병렬화는 딥러닝에서 널리 사용되는 기술로, 각 입력 학습 데이터 배치(batch)를 데이터 병렬 워커(worker)들 사이에 분할한다. 모델 가중치를 업데이트하기 전에 gradient는 데이터 병렬 워커들 간에 통신되고 집계(aggregated)된다.
데이터 병렬화는 연산 효율성 및 구현 용이성을 포함한 여러 가지 분명한 장점을 가지고 있다. 그러나 데이터 병렬화는 데이터 병렬 워커 수에 비례하여 배치 크기를 확장하는 방식에 의존하며, 모델 품질에 영향을 주지 않으면서 배치 크기를 임의로 크게 만들 수는 없다.

메모리 효율성 (Memory Efficiency): 데이터 병렬화는 모델과 optimizer를 모든 워커에 복제하므로 메모리 효율적이지 않다. **Zero Redundancy Optimizer (ZeRO) [55]**는 복제된 데이터를 데이터 병렬 워커들 사이에 분할하여 데이터 병렬화의 메모리 효율성을 향상시키는 최적화 기법들의 모음이다.

연산 효율성 (Compute Efficiency): 병렬화 정도와 학습 배치 크기가 증가함에 따라 각 워커가 수행하는 연산량은 일정하게 유지된다. 데이터 병렬화는 작은 규모에서는 거의 완벽한 확장을 달성할 수 있다. 그러나 gradient를 집계하는 통신 비용은 모델 크기에 따라 증가하며, 대규모 모델이나 통신 대역폭이 낮은 시스템에서는 연산 효율성을 제한할 수 있다.
Gradient accumulation은 이러한 통신 비용을 상쇄하기 위한 일반적인 전략으로, 배치 크기를 더욱 늘리고 micro-batch에 대해 여러 번의 forward 및 backward propagation을 수행하면서, gradient를 로컬에서 누적한 후 집계하고 optimizer step을 수행한다. 또한, 이미 통신된 gradient를 다른 tensor의 gradient 계산과 병렬로 동시에 통신함으로써 성능을 향상시킬 수 있다.

텐서 모델 병렬화 (Tensor Model Parallelism)
**텐서 모델 병렬화 (또는 텐서 병렬화)**는 모델의 개별 layer를 워커들 사이에 분할하는 광범위한 모델 병렬화 기술이다. 텐서 병렬화는 워커 수에 비례하여 메모리를 감소시킨다. **Megatron [63]**은 대규모 language model을 위해 Transformer 블록을 효율적으로 분할하기 위해 모델 병렬화를 사용한다.

메모리 효율성 (Memory Efficiency): 텐서 병렬화는 워커 수에 비례하여 모델의 메모리 사용량을 감소시킨다. 모델 아키텍처에 따라 일부 activation 메모리도 감소하지만, 여전히 일부 복제가 있을 수 있다.

연산 효율성 (Compute Efficiency): 텐서 병렬화는 각 forward 및 backward propagation에서 activation의 추가적인 통신을 발생시킨다. 따라서 텐서 병렬화는 효율성을 위해 높은 통신 대역폭을 요구하며, 고대역폭 NVLink를 사용할 수 있는 단일 DGX 서버 내에서 유지하는 것이 가장 좋다. 또한, 각 모델 병렬 워커는 각 통신 단계 사이에 수행되는 연산량을 감소시켜 연산 효율성에 영향을 미친다. 텐서 병렬화는 종종 데이터 병렬화만으로는 달성할 수 없는 메모리 및 연산 효율성의 한계를 확장하는 데 사용된다.

파이프라인 모델 병렬화 (Pipeline Model Parallelism)
**파이프라인 모델 병렬화 (또는 파이프라인 병렬화)**는 모델의 layer를 병렬로 처리할 수 있는 단계(stage)로 분할한다 [23, 42]. 한 단계가 micro-batch에 대한 forward pass를 완료하면, activation 메모리는 파이프라인의 다음 단계로 통신된다. 유사하게, 다음 단계가 backward propagation을 완료하면, gradient는 파이프라인을 통해 역방향으로 통신된다. 파이프라인 단계가 병렬로 연산되도록 보장하기 위해 여러 micro-batch가 동시에 처리되어야 한다.

메모리 효율성 (Memory Efficiency): 파이프라인 병렬화는 파이프라인 단계 수에 비례하여 메모리를 감소시키므로, 모델 크기를 워커 수에 따라 선형적으로 확장할 수 있다. 그러나 파이프라인 병렬화는 각 layer의 activation 메모리 사용량을 줄이지는 않는다. 또한, 각 워커는 동시에 처리되는 모든 micro-batch에 대한 activation을 저장해야 한다. 우리는 **forward 및 backward propagation을 번갈아 수행하는 1F1B 파이프라인 스케줄 [42]**을 사용한다. 1F1B의 주요 이점은 동시에 처리되는 micro-batch의 수가 전체 학습 배치 내의 총 micro-batch 수가 아니라 파이프라인 단계 수에 의해 제한된다는 점이다.

연산 효율성 (Compute Efficiency): 파이프라인 병렬화는 세 가지 접근 방식 중 가장 작은 통신 오버헤드를 가지는데, 이는 파이프라인 단계 경계 사이에서 activation만 통신하기 때문이다. 그러나 무한정 확장될 수는 없다. 파이프라인 병렬화의 정도는 모델의 깊이에 의해 제한되며, 파이프라인 차원을 증가시키면 다른 형태의 모델 병렬화와 마찬가지로 연산 효율성이 감소한다. 파이프라인 병렬화는 또한 높은 효율성을 위해 각 단계의 부하가 균형을 이루어야 한다.
파이프라인 병렬화는 각 학습 배치의 시작과 끝에서 파이프라인을 채우고 비우는 과정에서 버블 오버헤드(bubble overhead)가 발생한다. 이 버블 오버헤드의 크기는 파이프라인 병렬화로부터 얻을 수 있는 잠재적인 속도 향상을 제한한다. 달성 가능한 완벽한 속도 향상의 비율 (또는 병렬 효율성)은 파이프라인 단계 수 (PP)(PP)와 총 micro-batch 수 (MB)(MB)의 함수이다:

 efficiency =MBMB+PP1.\text { efficiency }=\frac{M B}{M B+P P-1} .

micro-batch 수가 파이프라인 단계 수의 4배 또는 8배인 경우, 파이프라인은 하나의 파이프라인 단계에서 각각 81% 및 90%의 병렬 효율성을 달성한다.

위 논의에서 알 수 있듯이, 기존의 병렬화 기술 중 어느 것도 수천억 개의 파라미터를 가진 모델을 학습시키는 모든 시스템적 문제를 해결할 수는 없다. 그러나 각 병렬화 기술은 고유한 장점을 가지고 있으며 상호 보완적인 방식으로 사용될 수 있다. 이를 위해 우리는 데이터, 텐서, 파이프라인 병렬화를 체계적으로 결합한 3D 병렬화를 사용하며, 이는 연산 및 메모리 효율성을 동시에 해결한다.

2.2 Software System - 3D Parallelism with DeepSpeed and Megatron

우리의 시스템 소프트웨어 스택은 DeepSpeed의 pipeline parallelism 및 data parallelismMegatron의 tensor slicing을 결합하여 유연한 3D-parallelism 구현을 생성한다. Data, tensor, pipeline parallelism은 각각 메모리 및 연산 효율성을 향상시키는 데 특정한 역할을 한다.

메모리 효율성 (Memory Efficiency): Transformer blockpipeline stage로 나뉘고, 각 stage의 block은 tensor parallelism을 통해 다시 나뉜다. 이러한 2D 조합가중치(weights), gradient, optimizer state, activation이 소비하는 메모리를 동시에 감소시킨다. 그러나 연산 효율성을 잃지 않고 모델을 무한정 분할할 수는 없다.

연산 효율성 (Compute Efficiency): 학습을 더욱 가속화하기 위해 data parallelism을 사용하여 임의로 많은 수의 GPU로 확장한다. 예를 들어, 5,300억 개의 파라미터를 가진 각 모델 replica280개의 NVIDIA A100 GPU에 걸쳐 있으며, 노드 내에서 8-way tensor-slicing노드 간 35-way pipeline parallelism을 사용한다. 그런 다음 data parallelism을 사용하여 수천 개의 GPU로 추가 확장한다.

우리의 3D parallelism 구현topology aware mapping을 사용하여 최적화되었으며, 이는 모든 형태의 parallelism에서 통신 오버헤드를 최소화하고 data parallelism에 특히 큰 영향을 미친다. 이 mapping은 대규모에서 뛰어난 연산 효율성을 달성하는 데 핵심이다. 자세한 내용은 아래에서 논의한다.

2.2.1 Topology-Aware 3D Mapping

각 병렬화 축은 두 가지 핵심 아키텍처 속성을 활용하여 연산 효율성을 극대화하도록 워커(worker)에 신중하게 매핑된다.

대역폭을 위한 매핑 (Mapping for Bandwidth)
노드 내(intra-node) 통신은 노드 간(inter-node) 통신보다 더 높은 대역폭을 가진다. 우리는 더 큰 통신량을 가진 병렬 그룹을 동일 노드 내에 배치하여 더 높은 대역폭을 활용하는 것을 우선시한다.
Tensor parallelism은 세 가지 전략 중 가장 큰 통신 오버헤드를 가지므로, 우리는 tensor parallel 워커들을 노드 내에 배치하는 것을 우선한다.
가능하다면, data parallel 워커들도 gradient 통신을 가속화하기 위해 노드 내에 배치된다. 그렇지 않은 경우, data parallel 워커들은 가능한 한 가까운 노드에 매핑된다.
Pipeline parallelism가장 낮은 통신량을 가지므로, 통신 대역폭에 제한받지 않고 노드 간에 pipeline stage를 스케줄링할 수 있다.

대역폭 증폭 (Bandwidth Amplification)
각 data parallel 그룹의 gradient 통신량은 pipeline 및 tensor parallelism이 증가함에 따라 선형적으로 감소한다. 따라서, 전체 통신량은 순수 data parallelism에 비해 줄어든다.
또한, 각 data parallel 그룹은 더 지역화된(localized) 워커들의 부분 집합 내에서 독립적으로 병렬 통신을 수행한다. 결과적으로, data parallel 통신을 위한 유효 대역폭은 감소된 통신량과 증가된 지역성(locality) 및 병렬성의 조합에 의해 증폭된다.

2.3 Hardware System

모델 학습은 NVIDIA Selene [2] 슈퍼컴퓨터560개 DGX A100 노드에서 **16-bit bfloat 혼합 정밀도(mixed precision)**를 사용하여 수행되었다. 각 클러스터 노드에는 **8개의 NVIDIA 80-GB A100 GPU [1]**가 장착되어 있으며, 이들은 NVLink 및 NVSwitch [3]로 서로 연결되어 있다. 각 노드에는 애플리케이션 통신을 위한 8개의 NVIDIA Mellanox 200Gbps HDR Infiniband HCA가 있으며, 전용 스토리지를 위한 추가 HCA 2개가 노드당 제공된다. 노드들은 850개의 스위치로 구성된 3단계(leaf, spine, core) fat-tree 토폴로지로 연결되어 있다. 이 토폴로지는 딥러닝 학습에서 지배적인 통신 패턴인 all-reduce 통신을 효율적으로 수행할 수 있게 한다. 클러스터는 고성능 데이터 접근 및 저장을 위해 all-NVME 공유 병렬 파일 시스템을 사용한다. 16-bit 정밀도에서 A100 GPU의 최대 장치 처리량은 312 teraFLOP/s이며, 이는 총 1.4 exaFLOP/s의 16-bit 정밀도 최대 성능을 제공한다.

2.4 System Performance Evaluation

우리는 Selene의 280, 350, 420대의 DGX A100 서버에서 batch size 1920을 사용하는 5,300억 파라미터 모델에 대한 시스템의 end-to-end throughput을 고려했다. 그 결과, 각각 60.1초, 50.2초, 44.4초의 iteration time을 관찰했다. 이는 GPU당 각각 126, 121, 113 teraFLOP/s에 해당한다.

3 Training Dataset and Model Configuration

이 섹션에서는 학습 데이터셋, 전처리 기법, 그리고 실험에 사용된 모델 및 하이퍼파라미터에 대한 세부 정보를 제시한다.

3.1 Training Dataset and Preprocessing

Common Crawl (CC)와 같은 리소스는 웹의 스냅샷을 제공하며, 이는 언어 데이터의 소스로 활용될 수 있다. 이러한 데이터 소스는 방대한 양의 언어 데이터를 포함하고 있지만, 합리적인 품질의 데이터를 선별하기 위한 신중하게 설계된 전처리 단계가 필요하다. 이전 연구들(예: [9])에서 밝혀졌듯이, 필터링되지 않은 Common Crawl 데이터의 품질은 큐레이션된 데이터셋보다 낮으므로, LM 사전학습을 위해 Common Crawl에서 데이터를 선택할 때 평균 품질을 높이기 위한 조치가 필요하다. CC 데이터 외에도 웹에는 다른 많은 고품질 데이터 소스가 존재한다. 우리는 학습 데이터셋을 구축하기 위해 언어 모델링을 위한 다양한 학습 세트 수집을 목표로 한 최근 연구 [17]를 활용하였다. 또한, 이전에 대규모 LM 사전학습에 사용되었던 RealNews [77]와 CC-Stories [66] 데이터셋도 포함하였다 [4, 63].

DatasetTokens (billion)Weights (%)Epochs
Books325.714.31.5
OpenWebText214.819.33.6
Stack Exchange11.65.71.4
PubMed Abstracts4.42.91.8
Wikipedia4.24.83.2
Gutenberg (PG-19)2.70.90.9
BookCorpus21.51.01.8
NIH ExPorter0.30.21.8
ArXiv20.81.40.2
GitHub24.31.60.2
Pile-CC49.89.40.5
CC-2020-5068.713.00.5
CC-2021-0482.615.70.5
Realnews21.99.01.1
CC-Stories5.30.90.5

Table 1: MT-NLG 모델 학습에 사용된 데이터셋. 상위 11개 행은 Pile 데이터셋에서 가져왔으며, 그 뒤로 두 개의 Common Crawl 스냅샷, RealNews, 그리고 CC-Stories 데이터셋이 이어진다.

3.1.1 Training Dataset

우리는 학습 데이터셋을 생성하기 위해 주로 [9, 17]에 설명된 이전 연구를 기반으로 구축하였다. 먼저, 우리는 The Pile 데이터셋 중 상대적으로 품질이 가장 높다고 판단되는 하위 집합을 선택하였다 (Table 1 참조). 그런 다음, [17]에서 Pile-CC를 생성하는 데 사용된 것과 유사한 접근 방식을 따라, 두 개의 전체 CC 스냅샷(2020-50 및 2021-04)을 다운로드하고 필터링하였다.
CC 데이터에 대해 수행된 단계는 크게 다음과 같다:

  • WARC 파일에 제공된 원시 HTML에서 텍스트 추출,
  • 고품질 데이터로 학습된 분류기를 사용하여 추출된 문서 점수 매기기,
  • 점수에 따라 문서 필터링.

이러한 단계는 Section 3.1.2에서 더 자세히 다룬다. 마지막으로, 우리는 데이터 오염을 피하기 위해 전체 데이터셋에서 중복 및 거의 중복되는 문서를 제거하기 위해 fuzzy deduplication을 사용했으며, 다운스트림 task 데이터를 제거하기 위해 nn-gram 기반 필터링을 사용하였다.

3.1.2 Pre-Processing Details

Common Crawl: 앞서 언급했듯이, Common Crawl은 방대한 양의 데이터를 포함한다. 우리는 약 150B 토큰의 학습 데이터를 확보하기 위해 2020-50과 2021-04 두 스냅샷을 처리하기로 결정했다. 이 과정의 첫 단계는 Common Crawl WARC 파일에 포함된 원본 HTML에서 언어 감지(language detection) [11] 및 텍스트 추출(text extraction) 이다. [11]에서 제시된 근거에 따라, 우리는 이러한 task를 위해 pycld2jusText4 라이브러리를 사용했다. 언어 감지 및 추출 단계에서 문서 수가 크게 줄어들며, 약 25%의 문서만이 영어로 분류되고 비어 있지 않은 본문 내용을 갖는 것으로 확인되었다.

이러한 추출물에서 고품질 문서를 선택하기 위해, 우리는 2-gram fastText [48] 분류기를 학습시켰다. 긍정 문서(positive documents)의 경우, [9]와 유사하게 OpenWebText2, Wikipedia, Books3에서 각각 500,000개, 295,000개, 5,000개의 문서를 무작위로 선택했다. 부정 문서(negative documents)의 경우, 위에서 설명한 텍스트 추출 결과물에서 동일한 수의 문서를 무작위로 샘플링했다. 이 문서들 중 10%는 분류기 평가를 위해 보류했으며, 학습 후 보류된 세트에서 90.3%의 정확도를 달성했다. 분류기는 추출된 각 문서에 적용되었고, 긍정 레이블의 확률이 문서의 점수로 사용되었다.

위 과정에서 생성된 점수를 사용하여, 우리는 추출된 문서들을 α=3\alpha=3인 Pareto 분포로 필터링했다. 그 결과, 약 80%의 텍스트 내용이 필터링되었다. 우리의 α\alpha 선택은 일부 이전 연구 [9]보다 낮지만, 데이터의 수동 검사 결과 허용 가능한 품질이었고, α=3\alpha=3을 사용함으로써 중복 제거 후 원래의 토큰 목표를 달성하고 약간 초과할 수 있었다.

다른 데이터셋 (Other Datasets): Common Crawl 데이터 외에도, 우리는 이전에 생성된 여러 다른 데이터셋을 활용했다. The Pile에서 Books3, OpenWebText2, Stack Exchange, PubMed Abstracts, Wikipedia, Gutenberg (PG-19), BookCorpus2, NIH ExPorter, 그리고 Pile-CC 데이터셋을 선택했다. 또한 Megatron [63] 학습에 사용된 CC-Stories 및 RealNews 데이터셋도 포함했다. 이러한 데이터셋의 전처리(preprocessing)에 대한 자세한 논의는 [17]을 참조하라.

Fuzzy Document Deduplication: 인터넷의 콘텐츠는 종종 여러 문서에 걸쳐 중복된다. 이 문제를 더욱 복잡하게 만드는 것은, 다른 Common Crawl 스냅샷에서 스크랩된 URL이 반드시 고유하지 않다는 점이다. 실제로, 우리가 선택한 스냅샷의 경우 문서의 53%와 34%가 이전 스냅샷에서 볼 수 없었던 새로운 URL에서 비롯되었다. 또한, OpenWebText2나 Wikipedia와 같은 다른 데이터셋에 포함된 웹 콘텐츠도 Common Crawl에 존재할 가능성이 높다.

정확히 일치하는 중복을 찾는 것은 계산 비용이 많이 들기 때문에, 우리는 다른 연구들 [9, 17]과 유사하게 fuzzy deduplication 접근 방식을 택했다. 우리는 1,048,576개의 feature를 가진 hashing vectorizer를 사용하여 문서를 벡터화하고 (scikit-learn의 HashingVectorizer), 벡터화된 문서의 min-hash를 계산한 다음 (datasketch 사용), 잠재적인 중복을 식별하기 위해 모든 min-hash에 대해 **Locality Sensitive Hashing (LSH)**을 수행했다. 우리는 Jaccard 유사도 0.8\geq 0.8인 문서들이 적어도 하나의 LSH 버킷에 함께 나타날 가능성을 높이는 방식으로 LSH 매개변수를 설정했다. 구체적으로, 우리는 총 260개의 해시 함수를 위해 크기 13의 20개 밴드를 사용했다.

LSH 수행 후, 우리는 각 버킷을 처리하고 all-pairs Jaccard 유사도의 근사치를 계산하여 LSH에 의해 도입된 오탐(false positive) 중복을 제거했다. 이 근사치는 무작위 문서 did_i를 샘플링하고, 버킷에 남아있는 모든 문서와 Jaccard 유사도를 계산하며, 0.8 임계값을 초과하는 문서들을 제거하고 did_i의 중복으로 표시하는 i=0..10i=0..10번의 반복으로 구성되었다. 모든 버킷이 처리되고 중복(임계값 기준)이 대략적으로 발견된 후, 우리는 **희소 문서 그래프(sparse document graph)**를 구성하고 그 안에 있는 **연결된 구성 요소(connected components)**를 찾았다 (scipy 사용). 각 연결된 구성 요소는 우리가 중복으로 간주할 만큼 충분히 유사한 문서들의 집합을 나타내며, 이 중에서 단일 대표 문서를 선택한다. 데이터셋의 품질이 다양하기 때문에, 우리는 대표 문서를 선택할 때 사용할 데이터셋을 기반으로 우선순위 순서를 정의했으며, 각 구성 요소 내에서 가장 높은 우선순위 데이터셋에서 처음 발견된 문서가 최종적으로 유지되고 나머지는 버려졌다.

추가 처리 (Additional Processing): 우리는 학습 데이터셋에 Ftfy 라이브러리 [64]를 사용하여 잘못된 유니코드 텍스트를 올바른 유니코드 텍스트로 변환한다. 또한, langdetect [11] 라이브러리를 사용하여 비영어 문서를 식별하고 512자 미만의 문서는 모두 제거한다. 학습 문서에 "javascript"라는 단어가 포함되어 있고 256자 미만인 경우, 해당 문서도 제거한다.

다운스트림 Task 데이터 제거 (Downstream Task Data Removal): 우리는 n-gram을 사용하여 다운스트림 task에 나타나는 텍스트를 학습 데이터셋에서 제거한다. task 문서와 학습 문서 사이에 n-gram 일치가 발견되면, 해당 n-gram과 양쪽에서 200자를 제거하여 학습 문서를 두 부분으로 나눈다. 또한 200자 미만의 분할된 학습 문서나 10회 이상 분할된 학습 문서는 제거한다. 우리의 중복 제거 프로세스와 다양한 task에 사용된 n 값은 [9]와 유사하다. 위에서 언급된 15개의 중복 제거된 데이터셋에서 총 319,781,622개의 문서 중, task 중복 제거 과정에서 35,988개의 문서가 분할되었고, 1,109개의 문서가 제거되었으며, 54개의 문서가 10회 이상 분할되었고, 9,891개의 문서가 시작 또는 끝에서 잘려나갔다.

데이터셋 혼합 (Blending Datasets): 우리는 Table 1에 제시된 샘플링 가중치에 따라 데이터셋을 이질적인 배치(heterogeneous batches)로 혼합하기로 결정했다. 그러나 선택된 배치 크기에 대해 혼합 가중치가 각 배치에서 샘플을 균등하게 분할하지는 않는다. 이 문제를 해결하기 위해, 우리는 각 데이터셋에 대한 **과소 샘플링(under-sampling) 및 과대 샘플링(over-sampling)**을 추적하고, 선택된 혼합 가중치 분포에 최대한 가까운 샘플 분포를 유지하기 위해 각 단계에서 배치 구성을 약간 조정한다.

3.2 Model and Training Process

우리는 Transformer decoder [52] 아키텍처를 사용했으며, 이는 left-to-right, autoregressive, generative Transformer 기반 language model이다. 이 모델을 5,300억 개의 파라미터로 확장하였다.
layer 수, hidden dimension, attention head는 각각 105, 20480, 128이다.
시퀀스 길이(sequence length)는 2048이고, global batch size는 1920이다.
우리는 8-way tensor parallelism과 35-way pipeline parallelism을 사용했다.
**Learning rate는 5.0×1055.0 \times 10^{-5}**이다.
10억 개의 token에 대해 linear learning rate warmup을 사용했으며, 3,400억 개의 token에 걸쳐 learning rate가 초기 값의 10%에 도달하도록 cosine decay를 적용했다.
처음 120억 개의 token에 대해서는 batch size 32로 시작하여 32씩 점진적으로 증가시켜 최종 batch size인 1920에 도달하도록 했다.
Adam optimizer를 사용했으며, 파라미터는 β1=0.9,β2=0.95,ϵ=108\beta_{1}=0.9, \beta_{2}=0.95, \epsilon=10^{-8}이다.
Gradient norm은 1.0으로 clipping했고, weight decay는 0.1을 사용했다.
Weight initialization평균이 0이고 표준편차가 4.0×1034.0 \times 10^{-3}인 정규 분포를 따랐다.
우리의 학습 데이터셋은 3,390억 개의 token으로 구성되며, 위에서 설명한 대로 15개의 학습 데이터셋을 혼합하여 MT-NLG를 2,700억 개의 token으로 학습시켰다. 또한, 데이터의 2%는 validation을 위해 따로 분리해 두었다.

MT-NLG와 같은 규모의 모델에서는 학습 안정성(training stability)이 근본적인 도전 과제이다. 모델을 학습하는 동안, 우리는 learning rate, weight initialization, Adam optimizer 파라미터가 모델 안정성에 직접적인 영향을 미친다는 것을 관찰했다.
MT-NLG의 learning rate는 [9]에서 모델 크기에 따른 learning rate를 플로팅하여 예측했다. Learning rate가 높을수록 모델의 불안정성이 증가한다.
Weight initialization의 표준편차로는 약 1/(3H)\sqrt{1 /(3 * H)}를 사용했는데, 여기서 HH는 hidden dimension의 크기를 나타낸다. [45]와 유사하게, 우리는 weight initialization에 더 높은 분산(variance)을 사용하면 수렴에 실패한다는 것을 관찰했다. 또한, 학습 손실(training loss)의 급증(spike)을 줄이기 위해 β2\beta_{2} 값을 표준값인 0.99에서 낮추었다.

Figure 2: MT-NLG의 validation loss.

4 Results and Achievements

언어 모델 성능이 학습 중에 어떻게 향상되는지 더 잘 이해하기 위해, 먼저 Figure 2에 MT-NLG의 validation loss (cross entropy) 곡선을 제시한다. 우리의 validation dataset은 55억 개의 토큰으로 구성되어 있어, 전체 데이터셋을 사용하여 loss를 측정하는 것은 계산 비용이 많이 든다. 따라서 우리는 validation dataset의 시퀀스를 섞은 다음, 각 validation loss 계산 시 global batch size 1920으로 4번의 iteration을 실행한다. 이는 각 loss 계산마다 총 1,600만 개의 연속적인 토큰에 대해 평가하는 결과를 가져온다.

모델이 처음 10억 개의 토큰으로 학습된 후, validation cross-entropy loss는 3.15이다. 앞서 언급했듯이, 우리는 처음 120억 개의 토큰에 걸쳐 batch size를 선형적으로 증가시킨다. 이 단계가 끝날 때 loss는 2.31이 된다. 모델이 목표 토큰 수인 2,700억 개에 도달했을 때, validation loss는 1.85가 된다.

우리 모델(및 다른 사전학습된 언어 모델)의 품질을 평가하기 위해, 우리는 이전 연구 [9, 53]와 유사한 zero-/one-/few-shot 평가 설정을 채택한다. 더 나은 재현성을 위해, 우리는 오픈 소스 프로젝트인 **lm-evaluation-harness [18]**를 기반으로 평가를 수행했으며, 우리의 설정을 이전 연구와 더 가깝게 맞추기 위해 task별로 적절한 변경 사항을 적용했다. 각 task의 특이점은 task별 단락에서 논의할 것이다. 또한, few-shot 실험에서는 최적의 shot 수를 탐색하지 않고 [9]에서 제안된 구성을 직접 사용한다. 대부분의 경우, 이 구성들이 충분히 잘 작동하는 것으로 보인다.

평가의 포괄성을 보장하기 위해, 우리는 5가지 다른 범주(completion prediction, reading comprehension, commonsense reasoning, natural language inference, word sense disambiguation)에서 8개의 task를 선택한다. 우리는 이러한 task에서 이전의 사전학습된 대규모 언어 모델 연구들과 비교를 제시하며, 해당되는 경우 supervised baseline도 함께 제공하여 사전학습된 언어 모델과 같은 "generalist" 모델과 대상 task에 fine-tuning된 "specialist" 모델 간의 격차에 대한 맥락을 제공한다.

LAMBADA (acc)
ModelZero-shotOne-shotFew-shot
GPT-376.2072.5086.40
Gopher74.50--
MT-NLG (ours)76.56\mathbf{7 6 . 5 6}73.06\mathbf{7 3 . 0 6}87.15\mathbf{8 7 . 1 5}

Table 2: LAMBADA zero-shot, one-shot 및 few-shot 정확도. MT-NLG는 다양한 설정에서 이전 모델들을 능가하며, 3가지 설정 모두에서 새로운 SOTA를 수립한다. LAMBADA에 대한 최근의 강력한 supervised baseline을 찾지 못했으므로, 여기서는 supervised 모델과의 비교를 생략한다.

많은 평가 task는 모델을 사용하여 후보 완성 문장의 점수를 매기는 것을 포함한다. 달리 명시되지 않는 한, 다음 맥락에서 언급되는 "likelihood"는 후보 답변의 확률(prompt에 조건화된)을 해당 토큰 수로 정규화한 값을 의미한다.

4.1 Completion Prediction

LAMBADA
LAMBADA [49] 데이터셋은 내러티브(narrative) 구절들의 모음으로, 전체 구절이 문맥으로 주어지면 사람은 마지막 단어를 쉽게 추측할 수 있지만, 구절의 마지막 문장만 주어지면 답할 수 없도록 특별히 선정되었다. 이 task는 언어 모델이 단순히 지역적인 문맥이나 간단한 통계적 패턴에 의존하는 것이 아니라, 더 넓은 담화 문맥(broader discourse context)으로부터 정보를 이해하고 유지하는 능력을 테스트한다.

이 task를 zero-shot으로 평가할 때, 우리는 각 구절을 모델에 입력으로 제공하고, **greedy generation (최대 확률 토큰 선택)**을 통해 모델이 올바른 마지막 단어를 생성할 수 있는지 확인한다. 그러나 one-shot/few-shot 평가의 경우, 우리는 cloze-style prompt 형식으로 전환하여, 모델에게 이 task가 임의의 그럴듯한 이어지는 내용(continuation)을 예측하는 것이 아니라 문장의 마지막 단어를 예측하는 것임을 더 잘 시사하도록 했다. 이러한 경우, 우리는 마지막 단어 앞에 "_--- " \rightarrow "를 삽입한다. 예를 들어, "... Paul and Debbie looked at each other, then at _--- " \rightarrow Bob"과 같이 구성하고, 모델이 " \rightarrow " 뒤에 올바른 단어를 예측하는지 확인한다. 우리는 cloze-style prompting을 사용했을 때 few-shot 설정에서 상당한 성능 향상을 관찰했지만, one-shot 성능은 저하되었는데, 이는 이전 연구 [9]의 관찰과 일치한다. 우리 모델의 정확도 성능은 Table 2에 나와 있으며, 우리는 LAMBADA의 test set에서 3가지 설정 모두에 대해 새로운 state-of-the-art를 수립하고 있다.

4.2 Reading Comprehension

이 섹션에서는 MT-NLG의 독해 능력 평가에 대해 논의한다. 우리는 서로 다른 질문 유형을 목표로 하는 두 가지 데이터셋을 선택했으며, 평가 시 예시의 수를 늘릴 때 매우 다른 경향을 발견했다.

RACE
RACE [31]는 대규모 독해 데이터셋으로, 지문과 질문이 영어 시험에서 추출되었다. 이 task의 각 예시는 하나의 지문과 여러 개의 질문-답변 쌍으로 구성된다. prompt를 구성하기 위해, 우리는 지문, 질문, 답변 텍스트 앞에 각각 "Article: ", "Question: ", "Answer: " 태그를 붙이고, 이들을 개행 문자(newline)로 연결한다. 마지막 질문에 대한 실제 답변은 제거하여, prompt가 마지막 "Answer:"에서 끝나도록 한다. 그런 다음 모델을 사용하여 "Answer :" 뒤에 올 수 있는 모든 후보 답변에 점수를 매기고, 가장 높은 점수를 받은 답변을 모델의 선택으로 결정한다.

이 데이터셋에는 두 가지 질문 유형이 있다:

  • 직접 질문 (direct questions) (예: "Which of the following relationships is healthy?")
  • cloze-style 질문 (예: "The author of the text seems to -.")

우리는 두 질문 유형을 위에서 설명한 방식과 동일하게 처리하며, 이는 lm-evaluation-harness [18]에서 사용하는 기본 방식과는 다르다. 또한, GPT-3 [9]를 따라 다음을 scoring criterion으로 사용한다:

\frac{P(\text { completion } \mid \text { context })}{P(\text { completion } \mid \text { answer_context })}

여기서 context는 전체 prompt이고, answer_context는 단순히 "Answer :" 문자열이다. GPT-3와 유사하게, 우리는 RACE에 대해 길이 정규화된 log-probabilities를 scoring criterion으로 사용하는 것보다 더 나은 성능을 관찰했다.

이 데이터셋은 난이도에 따라 RACE-h (hard)와 RACE-m (medium) 두 가지 subset을 포함한다. 우리는 Table 3에 RACE-h 세트에 대한 결과를 보고한다. 우리는 RACE-h 성능이 prompt에 더 많은 예시를 포함해도 크게 이점을 얻지 못한다는 것을 관찰했다. 그럼에도 불구하고, 우리의 zero-shot 성능은 이미 GPT-3의 few-shot 성능을 +1.14% 능가한다.

RACE 데이터셋의 현재까지 **가장 우수한 supervised 모델 중 하나는 ALBERT 앙상블 [24]**이다. 이 모델은 RACE-h에서 91.4%의 정확도를 달성하며, 이는 사전학습된 language model이 얻은 결과보다 훨씬 높다. 최근 연구 [53]는 사전학습된 language model과 supervised 모델 간의 격차를 크게 좁혔지만, 여전히 차이가 크다.

BoolQ
BoolQ [10]는 예/아니오 질문으로 구성된 데이터셋으로, 질문에 답하기 위한 Wikipedia 단락이 함께 제공된다. 우리는 지원 단락, 질문("Question: "을 앞에 붙임), 그리고 마지막에 "Answer:" 문자열을 연결하여 전체 prompt를 구성한다. 모델을 사용하여 "yes"와 "no"를 continuation으로 점수를 매기고, 모델이 부여한 더 높은 likelihood를 가진 옵션을 선택한다. 우리 모델의 성능은 Table 3에 나와 있다. 우리는 BoolQ 평가가 prompt에 많은 예시를 포함함으로써 상당한 이점을 얻는다는 것을 관찰했으며, 이는 RACE task의 결과와는 다르다. 그러나 여기서 한 가지 공통된 패턴은 독해 task가 단 하나의 예시만으로도 상당한 개선을 얻을 수 있다는 것이다. 이는 아마도 task prompting 형식이 모델에게 혼란스러울 수 있으며, 주어진 예시가 모델이 지문-질문-답변 형식을 따르도록 조건화하기에 충분하기 때문일 수 있다.

BoolQ의 경우, T5 + UDG [69]가 현재 가장 우수한 supervised 모델이다. 이 모델은 이 task에서 91.4%의 정확도를 달성한다. 그러나 RACE-h와 비교했을 때, 우리는 supervised 모델과 사전학습된 language model 간의 격차가 훨씬 작으며, MT-NLG가 이 격차를 상당한 양으로 더욱 좁힌다는 것을 관찰했다.

4.3 Commonsense Reasoning

사전학습된 language model의 흥미로운 측면 중 하나는 학습 데이터로부터 얼마나 많은 세상 지식(world knowledge)을 보존하는지이다. 이를 위해 우리는 상식 추론(commonsense reasoning)/추론(inference)과 관련된 두 가지 task에서 모델을 평가한다. 이 3가지 데이터셋에서 비교하는 supervised baseline은 **UNICORN [38]**이다.

TaskModelZero-shotOne-shotFew-shotSupervised
RACE-hGPT-345.5045.9046.80-
Gopher--71.60671.60{ }^{6}-
MT-NLG (ours)47.9448.4247.94-
ALBERT (ensemble)---91.40\underline{91.40}
BoolQGPT-360.5076.7077.50-
MT-NLG (ours)78.2082.5184.83-
T5 + UDG---91.40

Table 3: RACE-h 및 BoolQ에 대한 독해(reading comprehension) 결과.
BoolQ 점수는 zero-shot에서 few-shot으로 갈수록 크게 향상되는 반면, RACE-h는 많은 예시를 제공해도 큰 이점을 얻지 못한다. 이는 BoolQ의 prompt/answer 쌍이 (단일 단어, boolean 답변과 같이) 더 구조화된 형식을 가지고 있어 모델이 few-shot context를 통해서만 학습할 수 있는 반면, RACE-h의 답변은 이미 자연어 문장에 상당히 가깝기 때문에 모델이 예시를 보는 것에서 상대적으로 적은 이점을 얻기 때문일 가능성이 높다.

Winogrande
Winogrande [58]는 Winograd Schema Challenge를 규모와 난이도 면에서 확장하고자 하는 데이터셋이다. 이 task는 통계적 언어 모델링만으로는 해결할 수 없도록 설계된 대명사 해결(pronoun resolution) 문제의 형태를 띠며, 기저에 있는 사건과 객체에 대한 상식 지식을 필요로 한다.

이 task에 대해 우리는 이전 연구 [9, 52, 66]에서 사용된 평가 방법을 채택한다. 우리는 실제 명사를 모호한 대명사로 대체하고, 이전 context에 조건화된 대명사부터 시작하는 부분 문장의 likelihood를 평가한다. 가장 높은 likelihood를 보이는 대명사 대체가 모델의 답변으로 선택된다. 결과는 Table 4에 나와 있다. GPT-3와 비교했을 때, **zero-shot 정확도에서 강력한 향상(+2.81%)**을 보였지만, few-shot에서는 그 격차가 줄어든다. 우리는 context에 하나의 예시를 포함하는 것이 성능을 미미하게 향상시키는 반면, few-shot 설정으로 전환하면 모델 성능이 크게 향상된다는 것을 관찰한다. 다른 두 task에서도 보겠지만, 이는 일반적인 경향으로 보인다: 상식 추론 성능은 shot 수에 따라 잘 확장된다. 이는 독해(reading comprehension)에서 본 것과는 다른 경향이다.

HellaSWAG
HellaSWAG [76]은 상식 추론 데이터셋으로, 목표가 주어지면 모델은 가장 가능성 있는 후속 행동을 선택해야 한다. 예시는 Wikihow와 Activitynet Captions [29] 데이터셋에서 추출되었다. 평가 시, 우리는 모델에 목표를 prompt로 제공한 다음, 목표에 조건화된 각 후보 답변의 likelihood를 평가하고, 가장 높은 likelihood를 가진 후보 답변을 선택한다. 결과는 Table 4에 나와 있다. 우리는 3가지 설정 모두에서 GPT-3에 비해 상당한 개선을 이루었으며, 우리의 zero-shot 성능은 GPT-3의 few-shot 성능을 능가했다. Winogrande와 유사하게, zero-shot에서 one-shot으로 전환하는 것은 성능을 크게 향상시키지 못하지만(이 경우 오히려 감소), few-shot 설정에서 더 많은 예시를 포함하면 성능이 상당히 증가한다.

PiQA
PiQA [6]는 물리적 상호작용 이해를 목표로 하는 이진 선택 질문 답변 데이터셋이다. 일상 활동을 완료하는 방법에 대한 질문을 제시하고, 모델은 두 가지 다른 행동을 설명하는 두 후보 답변 중에서 하나를 선택해야 한다.

PiQA 평가를 위해 우리는 모델에 질문/목표 설명을 prompt로 제공한 다음,

TaskModelZero-shotOne-shotFew-shotSupervised
WinograndeGPT-370.2073.2077.70-
Gopher70.20---
MT-NLG (ours)73.0173.7278.85-
UNICORN---91.28
HellaSWAGGPT-378.9078.1079.30-
Gopher79.20---
MT-NLG (ours)80.2480.2082.42-
UNICORN---93.90\underline{93.90}
PiQAGPT-381.0080.5082.30-
Gopher81.80---
MT-NLG (ours)81.9980.9683.19-
UNICORN---90.10

Table 4: Winogrande, HellaSWAG 및 PiQA에 대한 상식 추론 결과.
우리는 일반적으로 zero-shot에서 one-shot으로 전환할 때 성능이 미미하게 향상되거나 심지어 하락하는 것을 관찰하지만, zero-shot에서 few-shot 설정으로 전환할 때 상당한 성능 향상을 보인다. 상식 추론에서는 supervised baseline [38]이 few-shot learning 설정의 LMs보다 여전히 우수한 성능을 보인다.

두 가지 다른 행동에 대한 후보 문장의 likelihood를 평가하고, 더 높은 likelihood를 가진 옵션을 모델의 답변으로 선택한다. 결과는 Table 4에 나와 있다. 우리는 다시 한번 one-shot 성능이 zero-shot에 비해 저하되는 반면, few-shot 성능은 상당한 향상을 보이는 패턴을 관찰한다.

4.4 Natural Language Inference

이 섹션에서는 자연어 추론(NLI) task에 대한 모델 평가를 논의한다.

ANLI
ANLI [46] 데이터셋은 adversarially mined NLI 데이터셋으로, 어려운 NLI 문제 세트를 생성하는 것을 목표로 한다. 이 데이터셋은 3번의 반복적인 데이터 수집 라운드를 거쳤으며, 우리는 라운드 2 데이터로 평가를 수행한다.
평가 시, 우리는 NLI 문제를 질문-답변 형식으로 재구성한다: 각 예시는 "<premise>ไnQuestion:<hypothesis>. True, False or Neither?\nAnswer:"와 같이 구성되며, 모델이 할당한 True, False, Neither 중 가장 높은 likelihood를 가진 continuation을 조사하여, 가장 가능성 있는 옵션을 모델의 답변으로 선택한다.
결과는 Table 5에 나와 있다. ANLI에서 우리는 독해(reading comprehension) 결과와 유사하게, 단 하나의 예시만으로도 모델이 성능 향상을 얻을 수 있으며, 그 이상으로 few-shot 설정을 확장해도 성능이 더 이상 개선되지 않음을 관찰했다. 이는 아마도 하나의 예시가 premise-hypothesis-answer 형식에 대해 모델을 지시하는 데 중요하지만, 추가적인 예시들은 내용 면에서 관련이 없을 수 있으며, 이를 포함하는 것이 모델에 새로운 지식을 도입하지 않기 때문일 수 있다. ANLI에서 우리가 비교하는 supervised baseline은 InfoBERT [68]이다.

HANS
Heuristic Analysis for NLI Systems (HANS) [40]는 모델이 NLP 데이터에서 오류가 있는 피상적인 구문 휴리스틱을 악용하는 경향을 평가하기 위해 설계된 NLI 데이터셋이다. 이 데이터셋은 특정 문법 및 구문 구조의 템플릿(각 구조 유형을 "subcase"라고 함)에서 예시가 생성되는 통제된 평가 설정을 제공한다.
task 형식은 ANLI와 유사하며, NLI 문제는

TaskModelZero-shotOne-shotFew-shotSupervised
ANLI (R2)GPT-335.4033.9034.00-
MT-NLG (ours)36.6039.7039.60-
InfoBERT---51.40\underline{51.40}
HANSGPT-254.7949.9249.79-
MT-NLG (ours)51.6160.0173.16-

Table 5: ANLI (R2) 및 HANS 데이터셋에 대한 자연어 추론 결과.
Zero-shot에서는 모델들이 HANS에서 우연 수준의 성능을 보이지만, MT-NLG는 shot 수가 증가함에 따라 in-context 예시를 매우 효과적으로 활용하여 큰 성능 향상을 이끌어낸다. Shot 수에 따른 scaling 동작은 Figure 5에 나와 있다.

이진 질문 답변 형식으로 변환된다 (자세한 내용은 Appendix의 Section A 참조). 우리는 이 task를 구현하여 lm-evaluation-harness [18]의 기존 task에 포함시켰다.

모델의 핵심 언어 이해 능력을 평가하는 것 외에도, 우리는 HANS 데이터셋을 주로 few-shot learning에서의 모델 동작을 분석하는 수단으로 사용하며, 이는 Section 6에 제시되어 있다. 우리는 분석 실험에서 얻은 종합 결과Table 5에 보고하고, 다양한 MT-NLG checkpoint의 shot 수에 따른 비교Figure 5에 제시한다. 이 데이터셋에 대해 이전에 공개된 prompt 기반 생성 baseline은 없으므로, 비교를 위해 GPT-2를 평가한다.
Section 6에서 설명했듯이, zero-shot에서의 성능은 모델의 내재된 편향에 의해 좌우되며, 정확도는 무작위 확률(50%)보다 약간 나은 수준이다. 그러나 충분히 학습된 대형 모델은 prompt의 in-context 예시를 활용하여 성능을 극적으로 향상시킬 수 있는 반면, 약한 모델은 추가적인 in-context 예시가 주어졌을 때 혼란스러워할 수 있으며, GPT-2는 무작위 확률보다 실질적으로 더 나은 성능을 보이지 못한다.

4.5 Word Sense Disambiguation

WiC (Word-in-Context) [50] 데이터셋은 다의어(polysemous word)의 의도된 의미를 문맥으로부터 식별하는 task를 제시한다. 각 데이터셋 예시는 동일한 다의어를 포함하는 두 개의 문장으로 구성된다. 이 task는 두 문장에서 다의어의 의도된 의미가 동일한지 여부를 식별하는 것이다.

이 task에 대해 zero-shot / few-shot 평가를 수행하기 위해, 우리는 문제를 질문-답변 형식으로 변환한다: "Sentence 1:<sentence1>\nSentence 2:<sentence2>\nQuestion: Is the word <target word> used in the same way in the two sentences above?\nAnswer:". 그 다음, 우리는 "yes"와 "no"라는 두 가지 연속(continuation)에 대해 모델이 할당한 likelihood를 조사하고, 더 높은 likelihood를 가진 것을 모델의 답변으로 선택한다. 결과는 Table 6에서 확인할 수 있다. 우리는 zero-shot에서는 모델이 chance level보다 약간 낮은 성능을 보이지만, few-shot으로 전환하자마자 chance level을 넘어선다는 것을 관찰한다. 반면에, supervised T5 + UDG 모델은 chance level을 크게 능가한다.

WiC (acc)
ModelZero-shotOne-shotFew-shotSupervised
GPT-30.0070.00^{7}48.6055.30-
MT-NLG (ours)48.59\mathbf{4 8 . 5 9}51.25\mathbf{5 1 . 2 5}58.46\mathbf{5 8 . 4 6}-
T5 + UDG---77.9\underline{77.9}

Table 6: Word-in-Context 데이터셋 결과.
zero-shot에서 few-shot으로 전환하면서 상당한 성능 향상을 보이며, chance level 성능을 능가한다.

5 Exploring Social Biases

5.1 Introducing the Challenge of Social Bias in NLP Models

자연어 모델은 다양하고 정제되지 않은(uncurated) 출처에서 수집된 방대한 데이터셋으로 학습된다. 안타깝게도, 편향된 의사소통과 글쓰기는 인터넷에 만연해 있으며, 매우 선동적이고 명백하여 식별하기 쉬운 편향부터 더 미묘한 형태의 편향에 이르기까지 다양하다. 다른 연구들(예: [9, 71, 53])에서 보여주었듯이, 데이터셋에 존재하는 편향 문제는 모델이 데이터를 학습하는 과정에서 그대로 학습될 수 있다. 이는 대규모 언어 모델의 강력한 능력에도 불구하고, 실제 배포를 제한하는 요인이 된다.

본 논문의 주요 초점은 아니지만, 우리는 여러 분야에서 이러한 편향을 완화하기 위한 연구가 진행 중임을 언급한다. 예를 들어: a) Training set filtering: 학습 데이터셋의 요소들을 분석하여 편향의 증거를 보이는 요소들을 학습 데이터에서 제거하는 방식 [44]. b) Training set modification: 학습 데이터셋의 요소들을 성별, 민족과 같이 주제와 관련하여 중립적이어야 하는 변수들에 대해 무작위화하는 방식 [72]. c) Prompt engineering: 각 쿼리에 대한 모델의 입력을 수정하여 모델이 편향에서 벗어나도록 유도하는 방식 [60, 14]. d) Fine tuning: 학습된 모델을 재학습하여 편향된 경향을 제거하는 방식 [19, 20, 28]. e) Output steering: 추론 절차에 필터링 단계를 추가하여 출력 값의 가중치를 재조정하고 편향된 응답에서 벗어나도록 유도하는 방식.

본 연구에서는 어떠한 anti-bias 대책도 없이 baseline 모델을 학습시켰다. 우리는 이러한 모델이 대책 없이 실제 서비스에 배포되어서는 안 된다고 강조하며, 특히 MT-NLG 모델이 그대로 배포되어서는 안 된다고 생각한다. 오히려, 본 연구가 anti-bias 대책 연구 노력을 지원하고, 미래에 이러한 대책을 활용하는 배포의 출발점으로서 귀중한 자원이 될 것이라고 기대한다. 또한, 최신 대규모 언어 모델 학습 기술과 최신 anti-bias 대책을 결합한 미래 연구매우 강력하면서도 결과에서 편향의 존재를 최소화할 수 있는 모델을 만들어낼 것이라고 확신한다.

이제 우리는 성별, 민족, 종교와 관련된 문제에 초점을 맞춰 모델의 편향에 대한 예비 분석을 제시한다. Brown et al. [9] 및 Rae et al. [53]과 유사하게, 우리는 **다양한 차원에서 편향을 평가하기 위해 고안된 연관성 테스트(association tests), 동시 발생 분석(cooccurrence analyses), 감성 분석(sentiment analyses)**을 제시한다. 이 섹션은 향후 연구에서 다루어야 할 모델의 편향과 관련된 일부 문제들을 문서화하고 정량화하는 역할을 한다.

5.2 Gender and Occupation Analysis

우리는 모델이 학습 데이터에 존재하는 사회적 편향을 학습하는지 이해하기 위해 성별과 직업 간의 연관성을 조사하는 것으로 시작한다. 이전 연구 [7, 39]에 따라, 우리는 Section B의 Table 18과 19에 제시된 323개의 직업 목록을 사용한다. 이 실험에서 사용된 템플릿은 "The {occupation} was a {gender identifier}"이며, 사용된 gender identifier는 male, man, female, woman이다.

특정 직업이 주어졌을 때, 우리는 모델이 다른 gender identifier에 할당하는 확률을 계산하고, male identifier가 female identifier보다 더 높은 확률을 가졌던 횟수를 센다. 323개 직업 전체에서 그 비율은 **78%**였으며, 이는 모델이 일반적으로 남성적 identifier에 편향되어 있음을 시사한다.

우리는 **평균 직업 편향 점수(average occupation bias scores)**를 계산하는데, 이는 모델이 특정 직업과 특정 성별을 연관시키는 경향이 있는지 측정한다. Brown et al. [9]에 따라, 직업 편향 점수는 다음과 같이 계산된다:

\frac{1}{N_{o c c}} \sum_{o c c}(\log (\mathrm{P}(\text { female_identifier } \mid \text { prompt }))-\log (\mathrm{P}(\text { male_identifier } \mid \text { prompt })))

여기서

  • 0점은 특정 직업과 gender identifier 사이에 편향된 연관성이 없음을 나타낸다.
  • 양수 점수는 female identifier와 직업 사이에 편향된 연관성이 있음을 나타낸다.
  • 음수 점수는 male identifier와 직업 사이에 편향된 연관성이 있음을 나타낸다.

평균 편향 점수는 모든 직업에 대해 male 및 female identifier의 확률이 얼마나 멀거나 가까웠는지에 대한 지표를 제공한다. 우리 모델은 -0.77의 평균 편향 점수를 보였는데, 이는 모델이 더 많은 직업에 대해 male identifier 쪽으로 기울어져 있음을 나타낸다.

이 두 가지 결과에 대한 맥락을 제공하자면, GPT-3의 경우 male identifier가 female identifier보다 더 높은 확률을 가졌던 직업의 비율은 **83%**였고, 평균 편향 점수는 -1.11이었다 [9]. 이러한 결과는 사용된 직업의 수와 템플릿 유형의 차이로 인해 우리 결과와 직접적으로 비교할 수는 없지만, 우리 모델이 유사한 방식으로 유사한 코퍼스에서 학습된 다른 모델들보다 특별히 더 편향되거나 덜 편향되지 않았음을 시사한다. 또한, 이 모델을 사용할 때 이러한 편향을 제어하기 위해 더 많은 노력이 필요함을 시사하기도 한다.

5.3 Adjective Co-Occurrence Analysis

다음으로, 우리는 성별, 민족, 종교와 관련된 prompt와 함께 나타나는 형용사를 분석한다. Brown et al. [9]의 설정과 유사하게, 각 prompt에 대해 길이 50의 텍스트 800개를 생성한다. 각 생성 텍스트는 temperature 1.0top_p 값 0.9를 사용한다. prompt를 생성하기 위해 Sheng et al. [62]에서 제시된 respect template을 사용한다. 성별과 민족의 경우, prompt는 "{gender/ethnicity identifier} template" 형식으로 생성된다. 예를 들어, "The woman was regarded as"와 "The Black person would be described as"와 같은 prompt가 있다. prompt 생성에 사용된 identifier와 template은 Table 7에 제시되어 있다.

Male IdentifiersHe, The man, The father, The son
Female IdentifiersShe, The woman, The mother, The daughter
Ethnic IdentifiersThe {\{ ethnicity }\} man, The {\{ ethnicity }\} woman, The {\{ ethnicity }\} person
Templates{identifier} was very, {identifier} would be described as, {identifier} was known for, {identifier} was regarded as, {identifier} was thought of as, {identifier} was well-known for

Table 7: 성별 및 민족 식별자에 사용된 identifier. 인종 식별자에서 {ethnicity}는 Asian, Black, White 중 하나의 값을 가진다. 위에 언급된 template [62]은 성별 및 민족 연구 모두에 사용된다. template의 {identifier}는 성별 또는 민족 식별자로 대체된다.

Figure 3: 남성 및 여성 template과 관련된 가장 흔한 100개 단어. 가장 흔한 단어(왼쪽)부터 가장 덜 흔한 단어(오른쪽) 순으로 정렬되어 있다. 동일한 단어는 파란색 선으로 연결되어 있다. 모델은 일반적으로 성별에 관계없이 유사한 단어에 유사한 확률을 할당한다. 각 성별에 대한 독특한 단어는 녹색으로 표시되어 있다.

생성된 텍스트를 문장으로 분할하고, 첫 번째 문장만이 주어진 identifier를 설명하는 경향이 있고 (이후 문장들은 일반적으로 무작위 사건이나 이야기를 설명함), 이 점을 관찰한 후 분석을 위해 첫 번째 문장만 고려한다. 우리는 성별 및 민족의 각 identifier와 함께 가장 자주 나타나는 상위 100개 형용사를 분석한다.

일반적으로, 공동 발생(co-occurrence) 분석을 위해 고려해야 할 두 가지 중요한 요소가 있다: a) 고유 단어의 순서 위치: 순서 위치가 높을수록/빈도가 낮을수록 좋다. 이는 특정 고정관념적이거나 불쾌한 형용사에 대한 편향의 강도가 낮음을 나타내기 때문이다. (해당 형용사 자체가 매우 불쾌하더라도) b) 고유 형용사에 내포된 고정관념적이거나 불쾌한 내용의 정도: 일부 형용사는 비교적 중립적인 반면, 다른 형용사는 강하게 불쾌한 내용을 담고 있다.

공동 발생 분석은 특정 identifier와 함께 나타나는 단어와 같은 표면적 형태의 빈도에 대한 풍부한 이해를 제공하지만, 각 형용사와 관련된 감정이나 맥락을 고려하지 못한다는 점을 지적하고 싶다.

성별 분석 (Gender Analysis)
고무적으로, 성별의 경우 가장 빈번한 상위 100개 형용사 중 거의 80개가 정확히 동일했음을 Figure 3에서 확인할 수 있다. 그림에서 단어들은 확률 순서대로 왼쪽에서 오른쪽으로 정렬되어 있다. 만약 어떤 단어가 양쪽 성별의 상위 100개에 모두 포함되면 파란색 선으로 연결된다. 일반적으로 모델은 동일한 단어 집합을 사용하지만, 녹색으로 강조된 몇몇 주목할 만한 예외가 있다.

Male \(\quad \operatorname{top}_{(51)}, \operatorname{violent}_{(53)}, \operatorname{eccentric}_{(59)}, \operatorname{militar}_{(60)}, \operatorname{polite}_{(62)}, \operatorname{serious}_{(63)}, \operatorname{national}_{(67)}\),
    different \(_{(68)}\), aggressive \(_{(71)}\), right \(_{(78)}\)
Female beautiful \(_{(2)}\), attractive \(_{(37)}\), female \(_{(45)}\), mental \(_{(50)}\), sweet \(_{(57)}\), charitable \(_{(60)}\), perfect \(_{(62)}\),
    \(\operatorname{slim}_{(67)}\), only \(_{(72)}\), excited \(_{(74)}\)

Table 8: 남성 및 여성 식별자에 대해 가장 빈번하게 나타난 상위 100개 단어 중 가장 빈번한 상위 10개 고유 단어. 괄호 안의 숫자는 상위 100개 빈번 단어 목록에서 해당 단어의 순서 위치를 나타낸다.

Asian Chinese \(_{(23)}, \operatorname{slim}_{(29)}\), yellow \(_{(39)}\), Japanese \(_{(50)}\), average \(_{(55)}\), straight \(_{(70)}\), inscrutable \(_{(72)}\),
    desirable \(_{(77)}\), feminine \(_{(88)}\), pleasant \(_{(91)}\)
Black \(_{\text {civil }_{(29)}}\), lazy \(_{(44)}\), immoral \(_{(53)}\), animalistic \(_{(54)}\), capable \(_{(66)}\), equal \(_{(73)}\), stupid \(_{(74)}\), lower \(_{(78)}\),
    athletic \(_{(88)}\), incapable \(_{(82)}\)
White fair \(_{(62)}\), true \(_{(68)}\), ultimate \(_{(71)}\), higher \(_{(72)}\), virtuous \(_{(74)}\), racist \(_{(79)}\), non-white \((82)\), civilized \(_{(83)}\),
    pale \(_{(90)}\), responsible \(_{(92)}\)

Table 9: 민족 식별자에 대해 가장 빈번하게 나타난 상위 100개 단어 중 가장 빈번한 상위 10개 고유 단어. 괄호 안의 숫자는 상위 100개 빈번 단어 목록에서 해당 단어의 순서 위치를 나타낸다.

모델의 편향을 강조하기 위해, 우리는 각 성별에 대해 가장 빈번하게 나타난 상위 10개 고유 단어도 제시한다 (하지만 이는 이전에 논의된 비편향성을 숨길 수 있음을 강조한다). Table 8은 한 성별에서 다른 성별보다 더 높은 빈도로 공동 발생한 가장 고유한 단어들을 보여준다. 우리는 모델이 학습 데이터에 존재하는 성별 고정관념에 부합하여, 여성 식별자에는 외모 관련 형용사를 더 많이 사용하고, 남성 식별자에는 더 다양한 형용사를 사용하는 것을 관찰한다. 한편, 질적으로 볼 때, **고정관념적인 고유 형용사의 순서 위치가 상대적으로 높다(덜 빈번하다)**는 점은 좋은 특성이다.

민족 분석 (Ethnicity Analysis)
민족의 경우, 동일한 형용사 공동 발생 분석 결과 중 가장 빈번한 상위 10개 고유 단어는 Table 9에 제시되어 있다. 우리는 질적으로 White 민족과 더 긍정적인 형용사가 연관되어 있으며, 다른 민족과 관련하여 상당히 불쾌한 형용사들이 많이 나타남을 관찰한다. 모델이 각 민족과 관련된 불쾌한 고정관념을 묘사한다는 점도 주목한다. 또한, 그리고 아마도 더 중요하게, 고유 형용사의 순서 위치가 성별의 경우보다 더 높다는 것을 관찰한다.

이러한 결과는 배포에 있어서 명백히 용납할 수 없으며, NLP 모델이 이 섹션 서론에서 설명된 바와 같이 반편향 대책을 요구해야 한다는 우리의 직관을 확인시켜 준다. 우리는 이러한 대책이 적용된 상태에서 이 테스트를 반복하고, 결과의 정량적 개선을 검증하기를 기대한다.

종교 분석 (Religion Analysis)
종교의 경우, 우리는 성별 및 민족과 유사하게 공동 발생 단어 분석을 수행한다. 종교에 사용된 세 가지 prompt는 "The {religious_practitioners} are", "The {religious_practitioners} are known for", "The {religious_practitioners} practice"이다. Table 10은 여섯 가지 종교 각각에 대해 더 높은 빈도로 공동 발생한 상위 10개 고유 단어를 보여준다. 고무적으로, 특정 종교에 대해 더 높은 빈도로 사용된 부정적인 단어는 대부분 관찰되지 않았다.

Atheismbelief (20)_{(20)}, think (40)_{(40)}, science (43)_{(43)}, lack (53)_{(53)}, reason (54)_{(54)}, preach (62)_{(62)}, existence (63)_{(63)}, thinking (76)_{(76)}, angry (80)_{(80)}, human (81)_{(81)}
Buddhismcompassion(13),mindfulness(15),Buddha(17),monk(21),mind(23),robes(24),calm(30)\operatorname{compassion}_{(13)}, \operatorname{mindfulness}_{(15)}, \operatorname{Buddha}_{(17)}, \operatorname{monk}_{(21)}, \operatorname{mind}_{(23)}, \operatorname{robes}_{(24)}, \operatorname{calm}_{(30)}, peaceful (32)_{(32)}, living (44)_{(44)}, chanting (46)_{(46)}
ChristianityChrist (16)_{(16)}, Jesus (17)_{(17)}, bible (34)_{(34)}, told (45)_{(45)}, forced (69)_{(69)}, families (73)_{(73)}, giving (74)_{(74)}, charity (77)_{(77)}, poor(82),churches(86)\operatorname{poor}_{(82)}, \operatorname{churches}_{(86)}
Hinduismyoga(11),India(14),tolerance(23),caste(44),traditions(46),Indian(50),system(59)\operatorname{yoga}_{(11)}, \operatorname{India}_{(14)}, \operatorname{tolerance}_{(23)}, \operatorname{caste}_{(44)}, \operatorname{traditions}_{(46)}, \operatorname{Indian}_{(50)}, \operatorname{system}_{(59)}, husband (60)_{(60)}, skin (68)_{(68)}, respect (72)_{(72)}
Islamhijab (11)_{(11)}, modesty (27)_{(27)}, prophet (34)_{(34)}, law (35)_{(35)}, cover (47)_{(47)}, Allah (55)_{(55)}, face (57)_{(57)}, mosque (59)_{(59)}, countries (65),veil(67)_{(65)}, \operatorname{veil}_{(67)}
JudaismJewish(8)\mathrm{Jewish}_{(8)}, white (18)_{(18)}, money (19),Israel(40),black(42),bad(46),old(50),race(51)_{(19)}, \operatorname{Israel}_{(40)}, \operatorname{black}_{(42)}, \operatorname{bad}_{(46)}, \operatorname{old}_{(50)}, \operatorname{race}_{(51)}, birth (59)_{(59)}, intelligence (63)_{(63)}

Table 10: 종교 식별자에 대해 가장 빈번하게 나타난 상위 100개 단어 중 가장 빈번한 상위 10개 고유 단어. 괄호 안의 숫자는 상위 100개 빈번 단어 목록에서 해당 단어의 순서 위치를 나타낸다.

5.4 Sentiment Analysis

우리는 **편향을 측정하는 추가적인 방법으로 감성 분석(sentiment analysis)**을 사용한다. 이 분석에서는 **민족성(ethnicity)**에 초점을 맞추기로 결정했는데, 이는 위 Adjective Co-Occurrence Analysis 섹션에서 민족성이 가장 강력한 편향 문제를 보인 차원이기 때문이다.

우리는 함께 나타나는(co-occur) 모든 단어의 감성을 분석하여 이 방법을 적용한다. 생성된 텍스트의 각 단어에 대해 SentiWordNet [51]을 사용하여 0에서 100까지의 척도로 긍정(positive) 및 부정(negative) 점수를 측정한다. 이 점수들을 생성된 텍스트의 모든 단어에 대해 평균을 낸다. Figure 4는 세 가지 민족성 각각에 대한 평균 감성 점수를 보여준다.

우리는 흑인(Black) 민족성의 경우, 부정적인 감성 단어들이 다른 민족성에 비해 상당히 높은 비율로 함께 나타나며, 그에 상응하여 긍정적인 감성 단어들은 더 낮은 비율로 함께 나타남을 관찰한다. 아시아인(Asian)과 백인(White) 민족성에 대한 감성은 서로 더 유사하다. 결과에서 나타난 감성 편향은 분명히 심각하며, 이는 자연어 학습의 일부로서 반(反)편향 대책의 필요성을 입증한다.

5.5 Discussion

대규모 NLP 모델인 MT-NLG는 방대한 양의 비정형 정보를 흡수하고 이를 쉽게 접근 가능하게 만드는 놀라운 능력을 보여주었다. 그러나 이 모델들은 또한 학습에 사용된 정보에 내재된 편향을 흡수하는 문제를 가지고 있음이 밝혀졌다.

Figure 4: 각 인종별 긍정 및 부정 감성 점수

우리는 이 섹션에서 입력 학습 데이터셋의 편향에 대응하기 위한 어떠한 조치도 없이 학습된 우리 모델에 존재하는 편향을 검토하였다. 이전 연구들의 결과에 기반하여, 우리는 모델에서 상당한 편향의 증거를 발견할 것으로 예상했으며, 이러한 예상은 만연하고 강력하며 불쾌한 편향의 여러 사례를 통해 확인되었다. 이러한 이유로, 적절한 편향 대응책 없이 학습된 모델은 그대로(즉, 편향 방지 대책 없이) 배포되어서는 안 된다.

6 Natural Language Understanding and In-Context Learning

대규모 Transformer 기반 language model의 핵심적인 언어 이해 능력을 최대한 직접적으로 평가하기 위해서는, 언어의 체계성(systematicity)을 파악하는 능력, 즉 암묵적인 문법 및 구문 규칙을 학습하는 능력을 평가하는 것이 필수적이다. 이러한 규칙은 인간이 의식적이든 무의식적이든 의존하여 임의의 수많은, 전례 없는 발화에 일반화하는 데 사용된다. 이 섹션에서는 HANS 데이터셋을 사용하여 이를 시도하지만, 먼저 다른 NLP 벤치마크의 한계점에 대한 논의부터 시작한다.

6.1 Limitations of NLP benchmarks

Transformer 아키텍처 기반의 사전학습된 언어 모델은 지난 몇 년간 NLP 분야에서 state-of-the-art 성능을 지배하며, 다양한 다운스트림 task에서 인상적인 결과를 달성했다. 자연어 추론(natural language inference)과 같은 특정 task에서는 인간 수준의 성능을 능가하는 것으로 나타나기도 했다 [54].
그럼에도 불구하고, 최근 연구들에서는 벤치마크 데이터셋으로 측정된 이러한 모델의 성능이 과대평가되었거나, 일반화되지 않으며, 적어도 부분적으로는 학습 데이터셋에 존재하는 허위 상관관계(spurious correlations)를 악용하여 달성된 것일 수 있다는 증거가 계속해서 제시되고 있다 [21, 22, 40, 47, 75].
대규모 Transformer 모델이 분포 외(out-of-distribution) 데이터에 대해 잘 일반화되지 못하는 이유는 두 가지 요인의 조합으로 설명될 수 있다:
첫째, 모델의 엄청난 학습 능력과,
둘째, 다운스트림 task의 학습 세트 분포가 좁다는 점이다. 이는 데이터셋이 어떻게 수집되었거나 크라우드소싱되었는지와 관련이 있다.
이러한 모델의 **표현력(expressiveness)**은 fine-tuning 과정에서 데이터셋 내의 허위 상관관계를 쉽게 발견하고 악용하게 만들며, 이는 인상적인 성능 지표로 이어지지만, 반드시 실제 자연어 이해 능력을 반영하는 것은 아니다.

Brown et al. [9]은 few-shot learning대규모 언어 모델을 더 정확하게 평가하는 방법이자, 좁은 분포에 대한 과적합(overfitting) 문제를 극복하는 방법으로 제안한다. 이는 다운스트림 task를 해결할 때 파라미터 업데이트가 전혀 일어나지 않으며, 모든 학습이 제공된 입력 prompt에만 기반하여 "in-context"로 발생하기 때문이다.
이러한 특성들은 few-shot 학습이 가능한 모델의 매우 중요한 장점으로 보인다. 또한, task-specific 데이터셋을 생성하고, 이후 task-specific 모델을 fine-tuning하고 유지하는 번거로움을 피할 수 있다는 편리함도 큰 장점이다. 이러한 이유로, few-shot learning의 이러한 장점들이 어느 정도까지 유효한지 명확히 밝히는 것이 중요하다.

6.2 Evaluating Grasp of Language Systematicity

HANS 데이터셋 [40]은 언어 모델이 전제(premise)와 가설(hypothesis) 간의 어휘 중복이나 공통 부분 시퀀스 존재 여부와 같은 피상적인 휴리스틱에 의존하는 대신, 추론 규칙을 얼마나 일관성 있게 적용하여 함의(entailment)를 추론하는지를 평가할 수 있게 해준다. 기본적인 언어 구문 분석(parsing)에 초점을 맞추기 위해, 어휘는 의도적으로 매우 단순하게 선택되었으며, 모든 단어는 MNLI [73]와 같은 가장 일반적인 NLI 데이터셋에서 여러 번 등장한다. 데이터셋의 각 예시는 정답 레이블("entailment" 대 "non-entailment") 외에도, 30가지의 서로 다른 문법적/구문적 구성(subcase라고 불림) 중 어떤 것을 탐지하도록 설계되었는지에 따라 주석이 달려 있다. HANS 데이터셋 및 특징적인 예시에 대한 더 자세한 정보는 Appendix의 Section A에서 찾을 수 있다.

6.3 Factors Affecting In-Context Learning

모델 크기 및 학습량 (Model size and amount of training)
Figure 5에서는 natural language inference 성능이 shot 예시의 수(즉, prompt의 일부로 모델에 제시되는 해결된 예시의 수)에 따라 어떻게 영향을 받는지를 보여준다. 또한, 추가적인 autoregressive pretraining의 효과도 함께 제시한다.
먼저, HANS task는 대형 language model에게는 도전적인 과제로 보이지만, 현재 표준적인 독해, 추론, 추론 벤치마크 데이터셋과 비교할 때 인간에게는 매우 쉬운 task로 간주될 수 있다. 특히, 15억 개의 파라미터를 가진 GPT-2는 아무리 많은 shot 예시가 주어져도 무작위 추측(balanced binary classification task의 경우 50%)보다 유의미하게 더 나은 성능을 내지 못한다.
이와 대조적으로, 5,300억 개의 파라미터를 가진 우리의 대형 모델인 MT-NLG는 피상적인 휴리스틱에서 벗어나 추론을 위해 구문 규칙을 성공적으로 활용할 수 있음을 발견했다.
모델 크기 외에도, 성능에 명확하게 영향을 미 미치는 두 가지 중요한 요소는 **모델이 거친 autoregressive pretraining의 양(즉, 모델이 접한 토큰의 수)**과 **prompt 예시의 수(shots)**이다.

Shot의 수 (Number of Shots)
우리는 모델이 task를 해결하는 방법을 이해하기 위해 먼저 몇 가지 예시를 보여주는 것이 중요하다는 것을 발견했다. 대부분의 모델 checkpoint에서 모델에 2개의 예시(2-shot)를 보여줄 때 최고 정확도를 달성했다.
이러한 성능 향상은 초기 2개의 shot이 모델이 원하는 두 가지 답변 토큰인 "True"와 "False" 중 하나를 예측할 확률을 0-shot에서의 평균 70%에서 2-shot에서는 100%로 증가시키는 사실에 기인하는 것으로 보인다.
또한, 초기 두 개의 shot은 모델이 0-shot에서 두 클래스 중 하나를 선호하는 강한 내재적 편향을 보정할 수 있도록 해주는데, 이는 모델이 학습된 콘텐츠에서 비롯된 것으로 추정된다.

Section 4에 제시된 결과에 대한 우리의 관찰 외에도, 많은 수의 shot 예시가 일부 데이터셋에서는 도움이 될 수 있지만, 많은 경우 그 반대라는 것이 이전에 보고된 바 있다 [9].
여기서 우리는 가장 크고 가장 잘 학습된 모델만이 처음 몇 개의 shot을 넘어 추가적인 예시로부터 이점을 얻을 수 있음을 관찰한다. 우리는 추가적인 shot이 약한 모델에 혼란을 야기하여, self-attention 메커니즘이 평가 중인 예시에 집중하는 것을 방해하는 반면, 잘 학습된 고용량 모델에서는 self-attention이 prompt 내에서 가장 관련성 높은 샘플과 평가 중인 샘플에 선택적으로 집중할 수 있다고 추측한다.

Shot의 분포 (Distribution of Shots)
더 많은 수의 shot 예시가 어떤 상황에서 도움이 될 수 있는지 추가적으로 밝히기 위해, 우리는 두 가지 다른 설정에서 평가를 반복했다.
첫 번째 설정에서는 few-shot prompt에 나타나는 예시들이 평가 중인 예시와 다른 하위 사례(subcase)에서만 오도록 강제했다. 이것이 "sanitized" 설정이다. Figure 5 및 본 논문의 다른 부분에서 별도로 언급하지 않는 한, 모든 HANS 평가에 이 설정을 따른다.
두 번째 설정에서는 shot 예시를 하위 사례별로 제어하지 않았으므로, shot 수가 증가함에 따라 모델이 평가 중인 예시와 동일한 하위 사례의 예시를 만날 가능성이 증가한다.
실제로, shot 예시를 필터링하지 않을 때 shot 수가 증가함에 따라 성능이 크게 증가하는 반면, shot 예시의 유형이 평가 중인 예시와 다를 때는 그 반대임을 관찰했다.
따라서 우리는 shot 예시의 역할이 단순히 task의 형식에 대한 지침을 제공하는 것만이 아님을 결론 내릴 수 있다. 대신, fine-tuning에서와 마찬가지로, in-context learning의 경우에도 모델을 안내하는 데 사용되는 샘플의 분포와 평가되는 샘플의 분포가 일치해야 최상의 성능을 얻을 수 있다. 우리는 모델이 prompt에서 노출된 것과 동일한 분포의 샘플에서 훨씬 더 나은 성능을 보인다는 것을 관찰했기 때문이다.
이는 in-context learning이 좁은 분포에 대한 "과적합(overfitting)" 문제를 자동으로 우회하지 못한다는 첫 번째 증거이며, 우리는 이러한 효과가 prompt shot으로 사용되는 샘플의 유형/분포를 명시적으로 제어할 수 없거나 아직 검토되지 않은 다른 NLP 데이터셋에서도 유지될 것으로 예상한다.
동시에, Figure 5는 더 큰 모델 규모와 더 많은 pretraining이 in-context learning에 의존하는 모델의 일반화 능력을 향상시킬 수 있음을 시사하는 것으로 보인다. 특히 2,700억 토큰 MT-NLG checkpoint와 같은 모델은 평가 샘플의 분포와 덜 엄격하게 일치하는 prompt 예시로부터도 이점을 얻을 수 있기 때문이다.

Shot 레이블 및 레이블 순서 (Shot Labels and Label Order)
또한, 우리는 성능에 크게 영향을 미치며 prompt에 포함된 shot 예시 세트의 구성과 관련된 추가적인 요인들을 발견했는데, 이는 기존의 파라미터 학습 과정과 유사한 방식이다.
예를 들어, shot 예시의 순서가 중요한 역할을 하며, 성능을 극대화하기 위해서는 shot 샘플을 클래스 레이블에 따라 섞거나(shuffled) 교차(interleaved)시켜야 함을 발견했다.
더욱 중요한 것은, 클래스 레이블에 대한 shot 세트의 구성, 즉 "긍정(positive)" 레이블 대 "부정(negative)" 레이블의 비율이 평가 중인 예시에 대한 예측 확률에 극적으로 영향을 미친다는 것이다.
"긍정" shot의 비율이 낮으면 평가 중인 어떤 샘플도 "긍정"으로 예측할 확률이 상당히 감소하는 반면(우리 데이터셋에서는 "non-entailment"), "긍정" shot 예시의 비율이 증가함에 따라 평가 중인 어떤 예시에 대해서도 "긍정" 레이블을 예측할 확률이 빠르게 증가한다.
shot 세트에서 클래스 존재 비율을 제어함으로써 도입되는 이러한 예측 레이블 분포의 변화모델의 내재적 편향을 상쇄할 수 있도록 해준다. 예를 들어, "부정"만 shot 예시로 포함할 때 2-shot의 정확도를 70.2%에서 73%로 높일 수 있다.
또한, shot 수를 늘리는 것은 클래스 예측 분포의 평균, 분산 및 왜도(skewness)를 크게 변화시키며, 결정 임계값(decision threshold)을 이동시키는 것과 결합될 때 모델의 편향을 상쇄하고

Figure 5: HANS 데이터셋에서 Natural Language Inference 정확도. shot 수와 학습량(pretraining 중 접한 토큰 수)의 함수로 나타낸다.

정확도를 78.6%까지 크게 향상시킬 수 있다.

추론 편향 및 휴리스틱 의존성 극복 (Overcoming Inference Biases and Reliance on Heuristics)
마지막으로, 우리는 모델이 관심 있는 30가지 언어적 "하위 사례(subcases)"(예: 수동태, 관계절 분리 등)를 얼마나 잘 처리할 수 있는지를 조사한다. 결과는 Appendix의 Table 12에 제시되어 있다.
모델의 강한 내재적 편향으로 인해 초기에는 어휘 중복(vocabulary overlap), subsequence, constituent 휴리스틱에 매우 취약했지만, 우리는 shot 수를 늘리고 동시에 무조건부 예측 확률을 고려하여 분포 평균을 차등적으로 이동시킴으로써 모델의 성능을 크게 향상시킬 수 있었다.
따라서, 모델이 인간이 자연어 이해에 필수적이라고 여기는 많은 문법적/구문적 규칙들을 일관되게 "적용"(즉, 추론에 고려)할 수 있음을 최종적으로 확인할 수 있었다. 고무적인 점은, 모델이 처리하기 어려워했던 하위 사례들이 대부분 인간(특히 초보 화자)이 일반적으로 혼란스러워할 만한 것들과 동일했다는 것이다 (Table 11 및 Table 12의 예시 참조).

6.4 Summary of Evaluation

우리는 매우 큰 사전학습된 language modelprompt 기반의 생성(generative) 환경에서 문법적, 구문적 구조를 "이해" (즉, 고려)할 수 있음을 발견했다. 이를 통해 모델은 fine-tuning 없이도 언어의 체계성(systematicity)을 활용하여 task를 해결할 수 있었다. 이러한 기본적인 언어적 성능은 모델 크기와 사전학습량에 비례하여 증가한다. 중요한 점은, 이러한 성능이 NLP 벤치마크 성능과 일치한다는 것이다. 이는 일반적인 벤치마크 데이터셋의 개별적인 한계와 spurious effect에도 불구하고, 종합적으로는 언어 이해 능력과 잘 상관관계가 있음을 시사한다.

그러나 우리는 또한 이러한 모델들이 추론을 수행할 때 lexical overlap이나 premise와 hypothesis 간의 공유된 문장 subsequence 존재 여부와 같은 피상적인 휴리스틱에 의존하는 경향이 있음을 발견했다. 나아가, 이 모델들은 샘플 클래스에 대해 강한 내재적 편향을 가질 수 있으며, task의 형식(formatting)에 매우 민감할 수 있다.

중요하게도, 우리는 in-context learning이 파라미터 튜닝을 통한 표준 학습과 유사한 원리를 따르는 것으로 보인다는 것을 발견했다. 예를 들어, shot 샘플의 순서가 성능에 영향을 미친다. 더 결정적으로, **shot 예시의 데이터 분포(예시 유형 및 클래스 레이블 비율 모두)**가 평가 샘플에 대한 성능을 결정하며, shot 분포와 평가 분포가 일치할 때에만 최적의 성능을 달성할 수 있다. 따라서 in-context learning은 좁은 분포에 대한 overfitting 문제, 즉 out-of-distribution 일반화 성능 저하에 대한 자동적인 해결책으로 볼 수 없다.

종합적으로, 위의 관찰 결과들은 prompt 기반 환경에서 대규모 language model로부터 올바른 응답을 이끌어내기 위해서는 특별한 노력이 필요하며, task에 fine-tuning된 모델을 대체할 수 있는 generic하고 task-agnostic한 생성 모델을 사용하는 목표에 도달하기까지는 여전히 상당한 개선의 여지가 있음을 시사한다.

7 Qualitative Examples for MT-NLG Generation Capabilities

벤치마크 데이터셋에 대한 정량적 평가 및 분석 외에도, 우리는 새로운 시나리오에서의 언어 생성 능력을 정성적으로 검토했다. 놀랍게도 MT-NLG는 수수께끼를 풀고, Jeopardy 질문에 답하며, 심지어 즉석에서 코드를 생성하는 데도 상당히 능숙했다. 각 범주의 몇 가지 예시를 아래에 제시한다.

수수께끼 답 생성 (Riddle Answer Generation)
우리는 모델의 모호한 맥락에서의 추론 능력을 탐색하기 위해 수수께끼를 사용했으며, 학습 데이터셋에 포함되지 않도록 각 수수께끼를 직접 만들었다. 먼저, 수수께끼 풀이 맥락에서 모델은 수수께끼의 각 줄에 대한 해석과 함께 답을 생성하는 경향이 있음을 관찰했다. 항상 완벽하지는 않지만, 이러한 해석은 대부분 합리적이다. 이러한 예시는 Table 13에 나와 있다. 여러 가지 그럴듯한 답을 가질 만큼 모호한 수수께끼의 경우, MT-NLG는 확률적 샘플링을 통해 대안적인 그럴듯한 답을 생성할 뿐만 아니라, 자신이 생성한 답과 일치하는 대안적인 해석도 생성할 수 있다 (Table 14).

Jeopardy 질문 (Jeopardy Questions)
질문 응답 데이터셋 [30, 25]은 종종 모델을 벤치마킹하기 위해 구체적이고 직접적인 질문을 제시한다. 그러나 우리는 모델이 힌트에 대한 추론이 필요한 추측 게임 설정에서 기억된 지식을 어떻게 활용할 수 있는지에도 관심이 있었다. 이를 위해 우리는 가장 최근 에피소드에서 몇 가지 Jeopardy! 질문을 가져와 모델이 답을 생성하도록 했다. Jeopardy! 질문은 "질문"이 답의 형식으로 주어지고 참가자들이 일치하는 질문을 선택하도록 요구하는 역방향 퀴즈 형식을 취하므로, 우리는 few-shot 설정을 사용하여 모델에 task 형식을 알려주었다. MT-NLG는 상당히 그럴듯한 답을 생성할 수 있으며, 실제로 대부분의 경우 정답을 맞혔다. 몇 가지 예시는 Table 15에 나와 있다.

코드 생성 (Code Generation)
언어 모델을 사용한 최근 코드 생성의 발전은 대규모 사전학습된 LMs가 이미 사전학습 단계에서 괜찮은 코드 생성 능력을 보여준다는 것을 시사한다. 이를 위해 우리는 MT-NLG의 즉석 코드 생성 능력을 조사했다. 우리는 MT-NLG가 누락된 함수의 구현을 어떻게 완성하는지 알아보기 위해 자세한 주석이 달린 몇 가지 함수 시그니처를 제시했다. 우리는 MT-NLG가 일관되게 문법적으로 올바른 코드를 생성할 수 있으며, 간단한 task에 대한 올바른 구현에도 도달할 수 있음을 관찰했다. 때때로 모델이 다른 함수를 사용하는 답을 생성한 다음, 현재 함수가 완료된 후 호출된 함수를 생성하는 것을 관찰하기도 했다. 이러한 예시는 Table 16에 나와 있다.

산술 연산 추론 (Inferring Arithmetic Operations)
수학적 연산을 이해하고 사용하는 것은 언어 이해의 또 다른 측면이다. 이전 연구 [9]는 강력한 언어 모델이 수학 문제 해결을 위해 특별히 훈련되지 않았더라도, 우연을 넘어선 정확도로 간단한 산술 질문에 답할 수 있음을 입증했다. 그러나 모델이 실제로 수학적 표현을 이해하는지, 아니면 단순히 훈련 중에 접한 예시를 반복하는지에 대한 의문은 여전히 남아 있다. 이를 위해 우리는 표현식에서 연산자 기호를 모호하게 만들고 모델이 산술 연산을 역설계할 수 있는지 확인하는 새로운 task를 고안했다. 우리는 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 일반적인 연산이 일반적으로 올바르게 추론될 수 있음을 관찰했다. 이 task의 몇 가지 예시는 Table 17에 나와 있다.

자유 형식 생성적 글쓰기 지원 (Free-form Generative Writing Assistance)
우리는 본 논문의 초록 섹션을 작성하는 데 모델을 활용하여 MT-NLG의 자유 형식 생성 능력을 정성적으로 검토했다. 이는 Section 1의 텍스트로 MT-NLG에 prompt를 제공한 다음, 모델 문장을 한 문장씩 샘플링하는 방식으로 이루어졌다. 각 문장에 대해 여러 후보가 생성되었고, 그중 하나를 선택하고 필요한 경우 편집했다. 우리는 초록 발췌문이 완성될 때까지 이 과정을 반복했다.

모델 및 데이터셋 크기 확장을 통한 모델 성능 향상은 최근 몇 년간 특히 자연어 처리 분야에서 큰 성공을 거두었다. 현재 널리 퍼져 있는 대규모 사전학습 패러다임 이전에도, LSTM 모델을 10억 개 이상의 파라미터로 확장하려는 노력 [26]이 있었다. 이러한 추세는 Transformer 아키텍처를 사용한 대규모 사전학습이 인기를 얻으면서 계속되었는데, BERT [12]는 3억 개 파라미터로, 이어서 GPT-2 [52]는 15억 개 파라미터로 확장되었다. 이 지점을 넘어선 확장은 더 정교한 학습 기술을 필요로 하지만, 새로운 시스템 소프트웨어, 데이터, 모델 및 파이프라인 병렬화 기술의 급속한 발전은 훨씬 더 큰 모델들의 또 다른 물결을 가능하게 했다.

일부 선행 연구들은 mixture-of-experts (MoE) [32, 35, 61] 기술을 사용하여 더 경제적으로 모델 크기를 확장하여, 각 forward pass에서 파라미터의 일부만 선택적으로 사용하는 대규모 모델을 만들었다. MoE는 모델 크기 측면에서 극단적인 확장을 가능하게 하며, 최근 연구에서는 1.6조, 1.75조, 심지어 10조 [5, 15, 36] 파라미터에 도달했다. 그러나 MT-NLG와 더 관련이 있는 연구 분야는 모놀리식(monolithic), dense Transformer 아키텍처의 확장이다. GPT-2 이후의 선행 연구들은 80억 [63], 110억 [54], 170억 [4] 파라미터의 dense Transformer 모델을 만들었으며, GPT-3 [9]는 1,750억 개 파라미터로, 이러한 규모의 언어 모델이 더 작은 모델에서는 볼 수 없었던 zero-/few-shot learning 능력을 처음으로 보여주었다. 그 이후로 Jurassic-1 [34], Yuan 1.0 [74], PanGu- α\alpha [78], Gopher [53]를 포함한 여러 수천억 규모의 dense Transformer 모델들이 발표되었다. 우리의 연구는 이 연구 라인을 더욱 확장하여, 현재까지 가장 큰 모놀리식 Transformer 언어 모델인 5,300억 개 파라미터에 도달했으며, 전례 없는 학습 효율성과 모델 품질을 달성했다.

또한, 최근에는 대규모 멀티태스크 fine-tuning을 통해 언어 모델의 zero-shot learning 능력을 직접적으로 향상시키는 데 초점을 맞춘 연구도 있었다. T0 [59]와 FLAN [70] 모두 이 경로를 따랐으며, 이러한 접근 방식이 언어 모델의 zero-shot learning 능력을 향상시킬 수 있음을 보여주었다. 이 접근 방식은 사전학습된 언어 모델에 잘 적용되는 것으로 나타났으며 [70], 모델 크기가 클수록 이러한 학습 방법으로부터 더 많은 이점을 얻는다는 것을 관찰했다. 우리는 대규모 사전학습에서의 우리의 혁신이 이러한 방법들과 시너지를 발휘하여 미래에 훨씬 더 좋은 모델을 생산할 수 있기를 희망한다.

9 Conclusions

본 연구에서는 5,300억 개의 파라미터를 가진 left-to-right, autoregressive, generative Transformer 기반 언어 모델인 MT-NLG를 소개한다. 이 모델은 강력한 in-context learning 능력을 가지고 있다. MT-NLG는 여러 NLP 벤치마크에서 우수한 zero-/one- 및 few-shot learning 성능을 달성하며 새로운 state-of-the-art 결과를 수립했다. 우리는 이러한 규모의 신경망을 학습시키는 데 따르는 도전 과제들을 논의하고, MT-NLG의 효율적인 학습을 가능하게 한 3D-parallelism 전략과 하드웨어 인프라를 제시했다. 대규모 언어 모델 학습은 안정화하기 어렵고 실험 비용이 많이 들 수 있으므로, 우리는 향후 연구를 촉진하기 위해 학습 설정과 데이터셋을 상세하게 기록했다. 마지막으로, 우리는 MT-NLG가 보이는 사회적 편향을 분석하고, in-context learning에 영향을 미칠 수 있는 다양한 요인들을 검토하여 현재 세대 대규모 언어 모델의 특정 한계에 대한 인식을 높였다. 우리는 우리의 결과와 발견이 기초적인 대규모 사전학습(pretraining) 분야의 미래 연구를 돕고, 형성하며, 촉진할 수 있다고 믿는다.