GLM-130B: 오픈소스 이중 언어(영어/중국어) 사전 학습 모델
GLM-130B는 1,300억 개의 파라미터를 가진 오픈소스 이중 언어(영어, 중국어) Large Language Model(LLM)이다. GPT-3(davinci) 이상의 성능을 목표로 개발되었으며, GPT 스타일의 단방향 아키텍처 대신 양방향 attention을 활용하는 GLM(General Language Model)을 기반으로 한다. 이 모델은 DeepNorm, Embedding Gradient Shrink 등 독자적인 학습 안정화 전략을 통해 훈련 중 발생하는 loss spike 문제를 해결했다. 특히, 사후 학습 없이 INT4 quantization을 성공적으로 적용하여 4개의 RTX 3090 GPU에서도 추론이 가능하게 함으로써 100B 규모 모델의 접근성을 크게 낮춘 것이 핵심적인 특징이다. 논문 제목: GLM-130B: An Open Bilingual Pre-Trained Model
Zeng, Aohan, et al. "Glm-130b: An open bilingual pre-trained model." arXiv preprint arXiv:2210.02414 (2022).
GLM-130B: An Open Bilingual Pre-Trained Model
Abstract
우리는 1,300억 개의 파라미터를 가진 이중 언어(영어 및 중국어) 사전학습 언어 모델인 GLM-130B를 소개한다. 이 모델은 GPT-3 (davinci)에 필적하거나 그 이상의 성능을 가진 100B 규모의 모델을 오픈 소스화하고, 이러한 규모의 모델이 어떻게 성공적으로 사전학습될 수 있는지를 밝히려는 시도이다. 이 과정에서 우리는 **손실 스파이크(loss spikes) 및 발산(divergence)**과 같은 수많은 예상치 못한 기술적 및 공학적 문제에 직면했다. 본 논문에서는 GLM-130B의 설계 선택, 효율성 및 안정성을 위한 학습 전략, 그리고 공학적 노력을 포함한 GLM-130B의 학습 과정을 소개한다.
그 결과, GLM-130B 모델은 OPT-175B 및 BLOOM-176B에서는 관찰되지 않는, GPT-3 175B (davinci)에 비해 광범위한 인기 영어 벤치마크에서 상당한 우위를 보인다. 또한, 가장 큰 중국어 언어 모델인 ERNIE TITAN 3.0 260B를 관련 벤치마크 전반에서 일관되고 크게 능가한다.
마지막으로, 우리는 GLM-130B의 고유한 스케일링 속성을 활용하여 post training 없이 INT4 양자화를 달성했으며, 성능 손실이 거의 없다. 이는 100B 규모 모델 중 최초이며, 더 중요하게는 4 RTX 3090 (24G) 또는 8 RTX 2080 Ti (11G) GPU에서 효율적인 추론을 가능하게 한다. 이 GPU들은 100B 규모 모델을 사용하는 데 필요한 가장 저렴한 GPU이다.
GLM-130B 모델 가중치는 공개적으로 접근 가능하며, 코드, 학습 로그, 관련 툴킷 및 학습된 교훈은 https://github.com/THUDM/GLM-130B/ 에서 오픈 소스로 제공된다.
1 Introduction
대규모 언어 모델(LLM), 특히 1000억(100B) 개 이상의 파라미터를 가진 모델들(Brown et al., 2020; Thoppilan et al., 2022; Rae et al., 2021; Chowdhery et al., 2022; Wang et al., 2021)은 매력적인 스케일링 법칙(scaling laws) (Wei et al., 2022b)을 보여주며, zero-shot 및 few-shot 능력이 갑자기 나타났다. 그중 175B 파라미터를 가진 GPT-3 (Brown et al., 2020)는 다양한 벤치마크에서 32개의 labeled example만으로도 fully-supervised BERT-Large 모델보다 뛰어난 성능을 생성함으로써 100B 규모 LLM 연구의 선구자 역할을 했다. 그러나 GPT-3 (및 다른 많은 비공개 100B 규모 모델들) 자체와 학습 방식은 지금까지 대중에게 불투명했다. 이러한 규모의 고품질 LLM을 모델과 학습 과정을 모두 공개하여 학습시키는 것은 매우 중요한 가치를 지닌다.
따라서 우리는 윤리적 고려사항을 염두에 두고 개방적이고 매우 정확한 100B 규모 모델을 사전학습하는 것을 목표로 한다. 이러한 시도 과정에서 우리는 10B 규모 모델을 학습하는 것과 비교하여, 이러한 규모의 dense LLM을 사전학습하는 것이 사전학습 효율성, 안정성, 수렴성 측면에서 예상치 못한 수많은 기술적 및 공학적 도전 과제를 야기한다는 것을 깨달았다. 유사한 어려움은 OPT-175B (Zhang et al., 2022) 및 BLOOM-176B (Scao et al., 2022) 학습에서도 동시에 관찰되었으며, 이는 선구적인 연구로서 GPT-3의 중요성을 더욱 입증한다.
Figure 1: 성능 평가 및 윤리 연구 요약.
Table 1: GLM-130B와 다른 100B 규모 LLM 및 PaLM 540B 비교. (LN: layer norm.; FPF: floating-point format; MIP: multi-task instruction pre-training; CN : Chinese)
| Model | Opensource | Architecture & Data | Training | Inference | ||||
|---|---|---|---|---|---|---|---|---|
| Objective | LN | Major Lang. | FPF | Stabilization | Quantization | GPU Needed | ||
| GPT-3 175B | English | FP16 | undisclosed | undisclosed | undisclosed | |||
| OPT-175B | GPT | Pre-LN | English | FP16 | Manual Adjusting | INT8 | ||
| BLOOM-176B | Multi-lingual | BF16 | Embedding Norm | INT8 | ||||
| PaLM 540B | GPT | Pre-LN | English | BF16 | Manual Adjusting | undisclosed | undisclosed | |
| GLM-130B | GLM (Blank Infilling & MIP) | DeepNorm | Bilingual (EN & CN) | FP16 | Embedding Gradient Shrink | INT4 | or |
본 연구에서는 100B 규모 모델인 GLM-130B의 사전학습에 대해 공학적 노력, 모델 설계 선택, 효율성 및 안정성을 위한 학습 전략, 그리고 합리적인 추론을 위한 양자화(quantization) 측면에서 소개한다. 100B 규모 LLM 학습을 위한 모든 가능한 설계를 경험적으로 열거하는 것이 계산적으로 비현실적이라는 점이 널리 인식됨에 따라, 우리는 GLM-130B 학습의 성공적인 부분뿐만 아니라 실패한 많은 옵션과 얻은 교훈도 제시한다. 특히, 학습 안정성은 이러한 규모의 모델 학습 성공에 결정적인 요소이다. OPT-175B에서 학습률을 수동으로 조정하거나 BLOOM-176B에서 성능을 희생하면서 embedding norm을 사용하는 것과 같은 관행과 달리, 우리는 다양한 옵션을 실험하고 embedding gradient shrink 전략이 GLM-130B의 학습을 크게 안정화할 수 있음을 발견했다.
구체적으로, GLM-130B는 1300억 개의 파라미터를 가진 이중 언어(영어 및 중국어) 양방향 dense 모델로, 2022년 5월 6일부터 7월 3일까지 96개의 NVIDIA DGX-A100 () GPU 노드 클러스터에서 4000억 개 이상의 토큰으로 사전학습되었다. GPT 스타일 아키텍처 대신, 우리는 General Language Model (GLM) 알고리즘 (Du et al., 2022)을 채택하여 양방향 attention의 장점과 autoregressive blank infilling objective를 활용한다. Table 1은 GLM-130B, GPT-3, 그리고 다른 두 개의 오픈소스 노력인 OPT-175B 및 BLOOM-176B, 그리고 4배 더 큰 모델인 PaLM 540B (Chowdhery et al., 2022)를 참고로 비교한 요약이다.
종합적으로, 개념적 독창성과 공학적 노력 덕분에 GLM-130B는 광범위한 벤치마크(총 112개 task)에서 GPT-3 수준을 능가하는 성능을 보이며, 많은 경우 PaLM 540B보다도 우수하다. 반면 OPT-175B 및 BLOOM-176B에서는 GPT-3를 능가하는 성능이 관찰되지 않았다 (Figure 1 왼쪽 참조). zero-shot 성능의 경우, GLM-130B는 LAMBADA (Paperno et al., 2016)에서 GPT-3 175B (), OPT-175B (), BLOOM-176B ()보다 우수하며, Big-bench-lite (Srivastava et al., 2022)에서는 GPT-3보다 3배 더 나은 성능을 달성한다. 5-shot MMLU (Hendrycks et al., 2021) task에서는 GPT-3 175B () 및 BLOOM-176B ()보다 우수하다. 또한 중국어 이중 언어 LLM으로서, 가장 큰 중국어 LLM인 ERNIE TITAN 3.0 260B (Wang et al., 2021)보다 7개의 zero-shot CLUE (Xu et al., 2020) 데이터셋에서 (), 5개의 zero-shot FewCLUE (Xu et al., 2021) 데이터셋에서 () 현저히 더 나은 결과를 제공한다. 중요하게도, Figure 1 오른쪽에서 요약된 바와 같이, GLM-130B는 오픈 모델로서 100B 규모의 다른 모델들보다 편향(bias) 및 생성 독성(generation toxicity)이 현저히 적다.
마지막으로, 우리는 가능한 한 많은 사람들이 100B 규모 LLM 연구를 수행할 수 있도록 GLM-130B를 설계했다. 첫째, OPT 및 BLOOM처럼 175B+ 파라미터를 사용하는 대신, 130B 크기는 단일 A100 () 서버에서 추론을 지원할 수 있는 크기이기 때문에 결정되었다. 둘째, GPU 요구 사항을 더욱 낮추기 위해, 우리는 GLM-130B를 학습 후 처리 없이 INT4 정밀도로 양자화했으며, OPT 및 BLOOM은 INT8까지만 가능하다. GLM 아키텍처의 고유한 특성 덕분에, GLM-130B의 INT4 양자화는 무시할 만한 성능 저하를 가져온다. 예를 들어, LAMBADA에서는 , MMLU에서는 심지어 로, 압축되지 않은 GPT-3보다 여전히 우수하다. 이를 통해 GLM-130B는 RTX 3090 () 또는 RTX () 서버에서 성능 보장과 함께 빠른 추론을 가능하게 하며, 이는 현재까지 100B 규모 LLM을 사용하는 데 필요한 가장 저렴한 GPU이다.
Figure 3: GLM-130B 학습을 위한 다양한 LayerNorm 시도. DeepNorm이 가장 안정적인 것으로 나타났는데, 이는 gradient norm이 작고 초기 단계 학습에서 급증하지 않기 때문이다.
우리는 모델 체크포인트, 코드, 학습 로그, 관련 툴킷 및 얻은 교훈을 오픈소스로 공개한다.
2 The Design Choices of GLM-130B
머신러닝 모델의 아키텍처는 **귀납적 편향(inductive bias)**을 정의한다. 그러나 LLM의 경우, 다양한 아키텍처 설계를 탐색하는 것이 계산적으로 감당하기 어렵다는 사실이 밝혀졌다. 우리는 GLM-130B의 독특한 설계 선택을 소개하고 설명한다.
2.1 GLM-130B's Architecture
Backbone으로서의 GLM
GPT-3, PaLM, OPT, BLOOM과 같은 최근의 100B 규모 LLM들은 대부분 decoder-only autoregressive language modeling이라는 전통적인 GPT-스타일 (Radford et al., 2019) 아키텍처를 따른다. 그러나 GLM-130B에서는 bidirectional GLM (General Language Model) (Du et al., 2022)을 backbone으로 활용하여 그 잠재력을 탐구하고자 시도한다.
GLM은 autoregressive blank infilling을 학습 목표로 활용하는 Transformer 기반 language model이다. 간단히 설명하면, 텍스트 시퀀스 에서 텍스트 스팬(text span) 이 샘플링된다. 각 는 연속적인 토큰 의 스팬을 나타내며, 이는 단일 mask token으로 대체(즉, 손상)되어 를 형성한다. 모델은 이들을 autoregressive하게 복구하도록 학습된다. 손상된 스팬들 간의 상호작용을 허용하기 위해, 이들 간의 가시성(visibility)은 무작위로 샘플링된 순열(permutation)에 의해 결정된다.
GLM의 unmasked (즉, 손상되지 않은) context에 대한 bidirectional attention은 단방향 attention을 사용하는 GPT-스타일 LLM과 GLM-130B를 구별하는 특징이다. 이해(understanding)와 생성(generation)을 모두 지원하기 위해, GLM은 두 가지 corruption objective를 혼합하며, 각각은 특별한 mask token으로 표시된다:
- [MASK]: 입력의 특정 부분에 해당하는 짧은 문장 내 빈칸.
- [gMASK]: 접두사(prefix) context가 제공되는 문장 끝의 임의 길이 긴 빈칸.
개념적으로, bidirectional attention을 사용한 blank infilling objective는 GPT-스타일 모델보다 context를 더 효과적으로 이해할 수 있게 한다: [MASK]를 사용할 때, GLM-130B는 BERT (Devlin et al., 2019) 및 T5 (Raffel et al., 2020)처럼 동작하며, [gMASK]를 사용할 때, GLM-130B는 PrefixLM (Liu et al., 2018; Dong et al., 2019)과 유사하게 동작한다.
경험적으로, GLM-130B는 Figure 2에서 GPT-3와 PaLM 540B를 모두 능가하며 zero-shot LAMBADA에서 80.2%라는 기록적인 정확도를 제공한다. attention mask를 설정함으로써, GLM-130B의 단방향(unidirectional) 변형은 GPT-3 및 OPT-175B와 비교할 만한 성능을 보인다. 우리의 관찰은 기존 연구 결과 (Liu et al., 2018; Dong et al., 2019)와 일치한다.
Figure 2: zero-shot LAMBADA language modeling에서 GLM-130B와 유사 규모 LLM들의 성능. GLM의 bidirectional attention에 대한 자세한 내용은 Du et al. (2022)에 제공되어 있다.
Layer Normalization (LN, Ba et al. (2016))
학습 불안정성은 LLM 학습의 주요 과제 중 하나이다 (Zhang et al., 2022; Scao et al., 2022; Chowdhery et al., 2022) (여러 100B 규모 모델 학습 중 발생하는 붕괴 현상은 Appendix의 Figure 10 참조). 적절한 LN 선택은 LLM 학습의 안정화에 도움을 줄 수 있다. 우리는 기존의 방식들, 예를 들어 Pre-LN (Xiong et al., 2020), Post-LN (Ba et al., 2016), Sandwich-LN (Ding et al., 2021) 등을 실험했지만, 아쉽게도 이들은 GLM-130B의 테스트 실행을 안정화시키지 못했다 (자세한 내용은 Figure 3 (a) 및 Appendix B.2 참조).
우리의 탐색은 예비 실험에서 Post-LN이 downstream 결과에서 유리한 성능을 보였기 때문에, GLM-130B를 안정화시키지는 못했지만 Post-LN에 집중되었다. 다행히도, 새롭게 제안된 DeepNorm (Wang et al., 2022b)으로 초기화된 Post-LN 시도 중 하나가 유망한 학습 안정성을 보여주었다. 구체적으로, GLM-130B의 layer 수 이 주어졌을 때, 우리는 **DeepNorm LayerNorm **를 채택했으며, 여기서 이다. 또한, 및 out_proj에 스케일링 팩터 를 적용한 Xavier normal initialization을 사용했다. 추가적으로, 모든 bias 항은 0으로 초기화되었다. Figure 3은 이러한 방식이 GLM-130B의 학습 안정성에 크게 기여함을 보여준다.
Positional Encoding 및 FFNs
우리는 학습 안정성과 downstream 성능 측면에서 Positional Encoding (PE) 및 FFN 개선을 위한 다양한 옵션들을 경험적으로 테스트했다 (자세한 내용은 Appendix B.3 참조). GLM-130B의 PE로는 ALiBi (Press et al., 2021) 대신 **Rotary Positional Encoding (RoPE, Su et al. (2021))**을 채택했다. Transformer의 FFN을 개선하기 위해, 우리는 GeLU (Hendrycks & Gimpel, 2016) 활성화 함수를 사용한 GLU를 대체제로 선택했다.
2.2 GLM-130B's Pre-Training Setup
최근 연구들(Aribandi et al., 2022; Wei et al., 2022a; Sanh et al., 2022)에서 영감을 받아, GLM-130B의 사전학습(pre-training) objective는 self-supervised GLM autoregressive blank infilling뿐만 아니라, 소수의 token에 대한 multi-task learning도 포함한다. 이는 다운스트림 zero-shot 성능을 향상시키는 데 도움이 될 것으로 기대된다.
Self-Supervised Blank Infilling (95% tokens)
GLM-130B는 이 task를 위해 [MASK]와 [gMASK]를 모두 사용한다. 각 학습 시퀀스에는 이 둘 중 하나가 독립적으로 적용된다. 구체적으로, [MASK]는 학습 시퀀스의 30%에서 연속적인 span을 마스킹하여 blank infilling에 사용된다. span의 길이는 Poisson 분포()를 따르며, 입력의 15%를 차지한다. 나머지 70% 시퀀스의 경우, 각 시퀀스의 prefix는 context로 유지되고, [gMASK]는 나머지 부분을 마스킹하는 데 사용된다. 마스킹되는 길이는 Uniform 분포에서 샘플링된다.
사전학습 데이터는 1.2T 규모의 Pile (train split) (Gao et al., 2020) 영어 데이터, 1.0T 규모의 중국어 WudaoCorpora (Yuan et al., 2021), 그리고 **웹에서 크롤링한 250G 규모의 중국어 코퍼스(온라인 포럼, 백과사전, QA 포함)**로 구성되어 있으며, 이는 영어와 중국어 콘텐츠의 균형 잡힌 구성을 이룬다.
Multi-Task Instruction Pre-Training (MIP, 5% tokens)
T5 (Raffel et al., 2020) 및 ExT5 (Aribandi et al., 2022)는 사전학습 단계에서의 multi-task learning이 fine-tuning보다 더 유용할 수 있음을 시사한다. 이에 우리는 GLM-130B의 사전학습에 언어 이해, 생성, 정보 추출을 포함한 다양한 instruction prompted dataset을 포함할 것을 제안한다.
zero-shot task transfer 성능 향상을 위해 multi-task prompted fine-tuning을 활용하는 최근 연구들(Wei et al., 2022a; Sanh et al., 2022)과 비교할 때, MIP는 전체 token의 5%만을 차지하며, LLM의 다른 일반적인 능력(예: unconditional free generation)을 손상시키지 않기 위해 사전학습 단계에서 설정된다. 구체적으로, 우리는 (Sanh et al., 2022; Wang et al., 2022a)에서 가져온 74개의 prompted dataset을 포함하며, 이는 Appendix C 및 Table 12에 나열되어 있다. GLM-130B 사용자는 Section 5에 설명된 기준에 따라 이 데이터셋에 대한 zero-shot 및 few-shot 능력 평가를 피하는 것이 권장된다.
2.3 Platform-Aware Parallel Strategies and Model Configurations
GLM-130B는 96대의 DGX-A100 GPU () 서버 클러스터에서 60일간의 접근 권한으로 학습되었다. 최근 연구(Hoffmann et al., 2022)에서 대부분의 기존 LLM이 크게 under-trained 상태임을 시사하므로, 가능한 한 많은 토큰을 통과시키는 것을 목표로 했다.
3D 병렬 전략 (The 3D Parallel Strategy)
데이터 병렬화(Valiant, 1990)와 텐서 모델 병렬화(Shoeybi et al., 2019)는 수십억 규모 모델 학습의 사실상 표준 관행이다 (Wang & Komatsuzaki, 2021; Du et al., 2022). GLM-130B 학습에는 80G A100 대신 40G A100이 사용되므로, 노드 간 텐서 병렬화를 적용할 때 발생하는 막대한 GPU 메모리 요구 사항과 전반적인 GPU 활용도 감소 문제를 추가로 해결하기 위해, 우리는 파이프라인 모델 병렬화를 다른 두 전략과 결합하여 3D 병렬 전략을 구성했다.
파이프라인 병렬화는 모델을 각 병렬 그룹에 대해 순차적인 단계로 나눈다. 파이프라인으로 인해 발생하는 버블(bubble)을 최소화하기 위해, 우리는 DeepSpeed (Rasley et al., 2020)의 PipeDream-Flush (Narayanan et al., 2021) 구현을 활용하여 GLM-130B를 학습시켰다. 이 방식은 상대적으로 큰 global batch size (4,224)를 사용하여 시간 및 GPU 메모리 낭비를 줄인다. 수치적 및 경험적 검토를 통해, 우리는 4-way 텐서 병렬화와 8-way 파이프라인 병렬화를 채택했다 (자세한 내용은 Appendix B.4 참조). (Chowdhery et al., 2022)의 계산 방식에 따라, 우리는 re-materialization으로 인해 **하드웨어 FLOPs 활용률(HFU) 43.3%**와 **모델 FLOPs 활용률(MFU) 32.5%**를 보고한다.
GLM-130B 구성 (GLM-130B Configurations)
우리의 목표는 100B 규모의 LLM이 단일 DGX-A100 (40G) 노드에서 FP16 정밀도로 실행될 수 있도록 하는 것이다. GPT-3에서 채택한 hidden state dimension 12,288을 기반으로, 결과 모델 크기는 130B 파라미터를 넘지 않아야 하므로, GLM-130B로 명명되었다. GPU 활용도를 극대화하기 위해, 우리는 플랫폼과 그에 상응하는 병렬 전략에 기반하여 모델을 구성했다. 양 끝단에 추가되는 word embedding으로 인해 중간 단계에서 메모리 활용도가 불충분해지는 것을 방지하기 위해, 우리는 해당 부분에서 한 레이어를 제거하여 파이프라인 파티션을 균형 있게 조정했다. 그 결과 GLM-130B는 개의 Transformer layer를 갖게 되었다.
60일간의 클러스터 접근 기간 동안, 우리는 GLM-130B를 **4천억 토큰 (중국어와 영어 각각 약 2천억 토큰)**으로 학습시켰으며, 샘플당 고정된 시퀀스 길이 2,048을 사용했다. [gMASK] 학습 목표의 경우, 2,048 토큰의 context window를 사용했다. [MASK] 및 multi-task 목표의 경우, 512 토큰의 context window를 사용하고 2,048 시퀀스 길이를 맞추기 위해 4개의 샘플을 연결했다. 우리는 처음 2.5%의 샘플에 걸쳐 batch size를 192에서 4224로 warm-up했다. 옵티마이저로는 AdamW (Loshchilov & Hutter, 2019)를 사용했으며, 과 는 각각 0.9와 0.95로 설정하고, weight decay 값은 0.1로 설정했다. 학습률(learning rate)은 처음 0.5%의 샘플에 걸쳐 에서 로 warm-up한 다음, cosine schedule에 따라 감소시켰다. dropout rate는 0.1을 사용했으며, clipping value 1.0을 사용하여 gradient를 clip했다 (전체 구성은 Table 11 참조).
3 The Training Stability of GLM-130B
GLM-130B의 품질에 있어 학습 안정성은 결정적인 요소이며, 이는 모델이 통과하는 토큰의 수에 크게 영향을 받는다 (Hoffmann et al., 2022). 따라서 컴퓨팅 사용량 제약이 있는 상황에서, 부동 소수점(FP) 형식과 관련하여 효율성과 안정성 사이에 trade-off가 발생한다. 즉, **낮은 정밀도의 FP 형식(예: 16비트 정밀도-FP16)**은 컴퓨팅 효율성을 향상시키지만, 오버플로우(overflow) 및 언더플로우(underflow) 오류에 취약하여 학습 붕괴(training collapse)를 초래할 수 있다.
Mixed-Precision. 우리는 GPU 메모리 사용량을 줄이고 학습 효율성을 높이기 위해 mixed-precision (Micikevicius et al., 2018) 전략(Apex O2), 즉 순방향 및 역방향 계산에는 FP16을, optimizer 상태 및 master weights에는 FP32를 사용하는 일반적인 관행을 따른다. OPT-175B 및 BLOOM-176B와 유사하게 (Appendix의 Figure 10 참조), GLM-130B의 학습은 이러한 선택으로 인해 잦은 loss spike에 직면하며, 이는 학습이 진행될수록 점점 더 빈번해지는 경향이 있다. 이러한 정밀도 관련 spike는 종종 명확한 이유 없이 발생한다: 일부는 스스로 회복되지만, 다른 일부는 gradient norm이 갑자기 치솟는 전조와 함께 결국 loss spike 또는 심지어 NaN으로 이어진다. OPT-175B는 수동으로 데이터를 건너뛰고 하이퍼파라미터를 조정하여 문제를 해결하려 했고, BLOOM-176B는 embedding norm 기법을 통해 이를 수행했다 (Dettmers et al., 2021). 우리는 수개월 동안 spike를 경험적으로 조사한 결과, Transformer가 확장될 때 몇 가지 문제가 발생한다는 것을 깨달았다:
첫째, Pre-LN을 사용하는 경우 Transformer main branch의 value scale이 깊은 layer에서 극도로 커질 수 있다. GLM-130B에서는 DeepNorm 기반 Post-LN (Section 2.1 참조)을 사용하여 value scale이 항상 제한되도록 이 문제를 해결한다.
둘째, attention score가 너무 커져 FP16의 한계를 초과한다.
Figure 4: EGS는 gradient scale과 variance를 줄여 LLM의 사전학습을 안정화한다.
gradient accumulation을 사용해야 하며, 더 중요하게는 다른 GPU 플랫폼(예: NVIDIA Tesla V100)에서는 지원되지 않아, 생성된 LLM의 접근성을 제한한다. BLOOM-176B의 또 다른 옵션은 BF16과 함께 embedding norm을 적용하는 것이지만, 이는 모델 성능에 상당한 페널티를 감수해야 한다. 그들은 embedding norm이 모델의 zero-shot learning에 해를 끼칠 수 있음을 발견했다 (Scao et al., 2022의 Section 4.3 참조).
Embedding Layer Gradient Shrink (EGS). 우리의 경험적 탐색 결과, gradient norm이 학습 붕괴의 유용한 지표가 될 수 있음을 확인했다. 구체적으로, 학습 붕괴는 gradient norm의 "spike" 이후 몇 단계 뒤에 발생하는 경향이 있음을 발견했다. 이러한 spike는 주로 embedding layer의 비정상적인 gradient로 인해 발생하는데, GLM-130B의 초기 학습 단계에서 embedding layer의 gradient norm이 다른 layer들의 gradient norm보다 몇 배 더 큰 경향이 있음을 관찰했다 (Figure 4 (a) 참조). 또한, 초기 학습 단계에서는 극심하게 변동하는 경향이 있다. 이 문제는 vision model (Chen et al., 2021)에서는 patch projection layer를 고정(freezing)하는 방식으로 처리된다. 안타깝게도, 언어 모델에서는 embedding layer의 학습을 고정할 수 없다.
마지막으로, 우리는 embedding layer에 대한 gradient shrink가 loss spike를 극복하고 GLM-130B의 학습을 안정화할 수 있음을 발견했다. 이 기법은 멀티모달 Transformer인 CogView (Ding et al., 2021)에서 처음 사용되었다. 를 shrinking factor라고 할 때, 이 전략은 word_embedding = word_embedding * $\alpha$ + word_embedding.detach() * (1-$\alpha$)를 통해 쉽게 구현될 수 있다. Figure 4 (b)는 로 설정하면 대부분의 spike를 제거할 수 있으며, 지연 시간은 무시할 수 있는 수준임을 경험적으로 보여준다.
실제로 최종 GLM-130B 학습 실행에서는 하드웨어 오류로 인해 여러 번 실패했음에도 불구하고, 단 세 번의 후기 단계 loss divergence 사례만 경험했다. 이 세 번의 예상치 못한 spike에 대해서는 embedding gradient를 추가로 줄이는 것이 GLM-130B 학습을 안정화하는 데 여전히 도움이 된다는 것이 밝혀졌다. 자세한 내용은 코드 저장소의 학습 노트 및 Tensorboard 로그를 참조하라.
4 GLM-130B Inference on RTX 2080 Ti
GLM-130B의 주요 목표 중 하나는 효율성과 효과성 측면에서 불이익 없이 100B 규모 LLM에 접근하기 위한 하드웨어 요구 사항을 낮추는 것이다. 앞서 언급했듯이, 130B의 모델 크기는 OPT-175B 및 BLOOM-176B에 필요한 고사양 A100 () 장비 대신, 단일 A100 () 서버에서 전체 GLM-130B 모델을 실행할 수 있도록 결정되었다. GLM-130B 추론 속도를 높이기 위해, 우리는 FasterTransformer (Timonin et al., 2022)를 활용하여 GLM-130B를 C++로 구현했다. Huggingface의 BLOOM-176B PyTorch 구현과 비교했을 때, GLM-130B의 디코딩 추론은 동일한 단일 A100 서버에서 7-8.4배 더 빠르다. (자세한 내용은 Appendix B.5 참조).
RTX 3090s/2080s를 위한 INT4 Quantization
대중화된 GPU를 더욱 지원하기 위해, 우리는 성능 우위를 유지하면서 GLM-130B를 최대한 압축하려고 시도했다. 특히 **quantization (Zafrir et al., 2019; Shen et al., 2020; Tao et al., 2022)**을 통해 이를 달성했는데, 이는 생성형 언어 모델에 대해 task-agnostic 성능 저하를 거의 유발하지 않는다.
일반적으로는 모델 가중치와 activation을 모두 INT8로 양자화하는 것이 관례이다. 그러나 Appendix B.6의 분석에 따르면, LLM의 activation에는 극단적인 outlier가 포함될 수 있다. 동시에 OPT-175B 및 BLOOM-176B에서도 새로운 outlier가 발견되었는데 (Dettmers et al., 2022), 이는 약 0.1%의 feature dimension에만 영향을 미치므로, outlier dimension에 대한 행렬 곱셈 분해(matrix multiplication decomposition)를 통해 해결된다. 이와 달리, GLM-130B의 activation에는 약 30%의 outlier가 존재하여, 위 기술의 효율성이 훨씬 떨어진다. 따라서 우리는 activation에 대해서는 FP16 정밀도를 유지하면서 모델 가중치(주로 linear layer)의 양자화에 집중하기로 결정했다. 양자화된 모델은 런타임에 동적으로 FP16 정밀도로 변환되며, 이는 약간의 계산 오버헤드를 발생시키지만 모델 가중치를 저장하는 데 필요한 GPU 메모리 사용량을 크게 줄여준다.
Figure 5: (왼쪽) attn-dense 및 w2의 가중치 분포; (오른쪽) GLM-130B의 INT4 가중치 양자화 스케일링 법칙.
Table 2: 왼쪽: 양자화된 GLM-130B의 여러 벤치마크에서의 성능; 오른쪽: INT4 양자화된 GLM-130B의 FasterTransformer를 사용한 추론 속도 (encode 및 decode).
| Model Precision | GLM-130B | GPT-3 | GPU Type | 128 Enc./Dec. 512 Enc./Dec, | |||||
|---|---|---|---|---|---|---|---|---|---|
| FP16 | INT8 | INT4 | FP16 | 8 | 0.15 s | 4.29s | 0.18s | 17.7 s | |
| MMLU (acc, ) | 44.75 | 44.71 | 44.80 | 43.9 | 8 | 0.31 s | 6.97 s | 0.67 s | 28.1 s |
| LAMBADA (acc, ) | 80.21 | 80.21 | 79.47 | 76.2 | 4 | 0.37 s | 8.16s | 1.30s | 32.3 s |
| Pile (a part, BPB, ) | 0.634 | 0.638 | 0.641 | 0.74 | 8 | 0.39s | 6.77 s | 1.04s | 27.3 s |
놀랍게도, 우리는 GLM-130B에 대해 INT4 가중치 양자화를 달성했으며, 기존의 성공 사례는 지금까지 INT8에만 머물러 있었다. 메모리 측면에서, INT8과 비교했을 때, INT4 버전은 필요한 GPU 메모리를 70GB로 절반 더 절약하여, RTX 3090 Ti (24G) 또는 RTX 2080 Ti (11G)에서 GLM-130B 추론을 가능하게 한다. 성능 측면에서, Table 2 왼쪽은 post-training 없이도 INT4 버전 GLM-130B가 거의 성능 저하를 겪지 않으며, 따라서 일반적인 벤치마크에서 GPT-3에 대한 성능 우위를 유지함을 보여준다.
GLM의 INT4 가중치 양자화 스케일링 법칙
우리는 Figure 5 오른쪽에서 나타나는 이 독특한 INT4 가중치 양자화 스케일링 법칙의 근본적인 메커니즘을 조사한다. Figure 5 왼쪽에는 가중치 값 분포가 그려져 있으며, 이는 양자화 품질에 직접적인 영향을 미치는 것으로 밝혀졌다. 구체적으로, 더 넓게 분포된 linear layer는 더 큰 bin으로 양자화되어야 하므로, 더 많은 정밀도 손실을 초래한다. 따라서 넓게 분포된 attn-dense 및 w2 행렬은 GPT-style BLOOM에 대한 INT4 양자화 실패를 설명한다. 반대로, GLM은 유사한 크기의 GPT보다 훨씬 좁은 분포를 가지는 경향이 있으며, GLM 모델 크기가 커질수록 INT4와 FP16 버전 간의 격차는 더욱 줄어든다. (자세한 내용은 Appendix의 Figure 15 참조).
5 The Results
우리는 GPT-3 및 PaLM과 같은 LLM의 일반적인 설정에 따라 GLM-130B의 영어 성능을 평가한다. 중국어를 포함하는 이중 언어 LLM으로서 GLM-130B는 중국어 벤치마크에서도 평가된다.
GLM-130B의 Zero-Shot Learning 범위에 대한 논의. GLM-130B는 MIP로 학습되었으므로, 여기서는 zero-shot 평가의 범위를 명확히 한다. 사실 "zero-shot"은 커뮤니티 내에서 합의되지 않은 논란의 여지가 있는 해석을 가지고 있는 것으로 보인다. 우리는 영향력 있는 관련 설문조사 중 하나(Xian et al., 2018)를 따르는데, 이 설문조사는 "테스트 시, zero-shot learning 설정에서 목표는 테스트 이미지를 보지 못한 클래스 레이블에 할당하는 것"이라고 말하며, 여기서 보지 못한 클래스 레이블을 포함하는 것이 핵심이다. 따라서 우리는 GLM-130B의 zero-shot (및 few-shot) 데이터셋을 선택하는 기준을 다음과 같이 도출한다:
- 영어:
- 고정된 레이블을 가진 task (예: natural language inference): 이러한 task의 데이터셋은 평가하지 않는다.
- 고정된 레이블이 없는 task (예: (multiple-choice) QA, topic classification): MIP에 있는 데이터셋과 명확한 도메인 전이(domain transfer)가 있는 데이터셋만 고려한다.
- 중국어: zero-shot cross-lingual transfer가 존재하므로 모든 데이터셋을 평가할 수 있다.
테스트 데이터셋 필터링. 이전의 관행(Brown et al., 2020; Rae et al., 2021)과 위에서 언급한 기준에 따라, 우리는 잠재적으로 오염된 데이터셋의 평가 결과는 필터링하고 보고하지 않는다. LAMBADA와 CLUE의 경우, 13-gram 설정에서 최소한의 중복을 발견했다. Pile, MMLU, BIG-bench는 코퍼스 크롤링 시점보다 나중에 공개되었거나 held-out 데이터셋이다.
5.1 Language Modeling
LAMBADA. LAMBADA (Paperno et al., 2016)는 마지막 단어 예측(last word language modeling) 능력을 테스트하기 위한 데이터셋이다. Figure 2에서 이전에 보여진 결과에 따르면, GLM-130B는 bidirectional attention을 통해 80.2의 zero-shot 정확도를 달성하여 LAMBADA에서 새로운 기록을 세웠다.
Pile. Pile test-set (Gao et al., 2020)은 language modeling을 위한 일련의 벤치마크를 포함한다. GLM-130B는 GPT-3 및 Jurassic-1 (Lieber et al., 2021)과 비교했을 때, 18개의 공유 test set에서 가중 BPB(weighted BPB) 기준으로 평균적으로 가장 우수한 성능을 보인다. Jurassic-1과 GPT-3의 결과는 후자로부터 직접 인용되었으며, 이는 GLM-130B의 강력한 언어 능력을 입증한다 (자세한 내용은 Appendix C.4 참조).
Table 3: Pile 평가(18개 하위 데이터셋)에서 GLM-130B의 평균 BPB.
| Jurassic-1 | GPT-3 | GLM-130B | |
|---|---|---|---|
| Avg. BPB | 0.650 | 0.742 |
Figure 6: 학습 단계에 따른 MMLU (57개 task)에서의 GLM-130B 성능.
Figure 7: 스케일별 BIG-bench-lite 평가 (24개 task).
Table 4: BIG-bench-lite (24개 task)에 대한 세부 정보.
| 0-shot | 1-shot | 3-shot | |
|---|---|---|---|
| GPT-3 2.6B | 0.60 | 0.71 | 1.83 |
| GPT-3 6.7B | -0.06 | 2.93 | 5.40 |
| GPT-3 13B | 1.77 | 5.43 | 7.95 |
| GPT-3 175B | 4.35 | 11.34 | 13.18 |
| PaLM 540B | 8.05 | - | |
| GLM-130B | 14.91 |
5.2 Massive Multitask Language Understanding (MMLU)
**MMLU (Hendrycks et al., 2021)**는 고등학교 수준부터 전문가 수준에 이르는 인간 지식에 관한 57개의 다양한 객관식 질문 답변 task를 포함하는 벤치마크이다. 이 벤치마크는 Pile 데이터 크롤링 이후에 공개되었으며, LLM의 few-shot learning 능력을 테스트하기 위한 이상적인 환경을 제공한다. GPT-3의 결과는 MMLU에서 가져왔으며, BLOOM-176B는 GLM-130B와 동일한 prompt를 사용하여 테스트되었다 (자세한 내용은 Appendix C.6 및 Table 15 참조).
Figure 6에서 GLM-130B의 few-shot (5-shot) 성능은 약 300B 토큰을 학습한 후 GPT-3 (43.9)에 근접한다. 학습이 종료될 때까지 (총 400B 토큰 학습) 계속해서 성능이 향상되어 44.8의 정확도를 달성한다. 이는 대부분의 기존 LLM이 충분히 학습되지 않았다는 Hoffmann et al. (2022)의 관찰과 일치한다.
5.3 Beyond the Imitation Game Benchmark (BIG-bench)
BIG-bench (Srivastava et al., 2022)는 모델의 추론, 지식, 상식 능력에 대한 도전적인 task들을 벤치마킹한다. LLM에게 150개의 task를 모두 평가하는 것은 시간이 많이 소요되므로, 현재로서는 공식적인 24개 task의 하위 컬렉션인 BIG-bench-lite에 대한 결과만 보고한다. Figure 7과 Table 4에서 관찰할 수 있듯이, GLM-130B는 zero-shot 설정에서 GPT-3 175B와 심지어 PaLM 540B (4배 더 큼)를 능가한다. 이는 아마도 GLM-130B의 bidirectional context attention과 MIP 덕분일 것이다. 이들은 이전에 미지의 task에서 zero-shot 결과를 향상시키는 것으로 입증되었다 (Wei et al., 2022a; Sanh et al., 2022). shot 수가 증가함에 따라 GLM-130B의 성능은 계속 상승하며, GPT-3에 대한 우위를 유지한다 (각 모델 및 task에 대한 자세한 내용은 Appendix C.5 및 Table 14 참조).
한계점 및 논의 (Limitations and Discussions)
위 실험에서 우리는 few-shot 샘플 증가에 따른 GLM-130B의 성능 성장(13.31에서 15.12)이 GPT-3의 성장(4.35에서 13.18)만큼 두드러지지 않음을 관찰했다. 이 현상을 이해하기 위한 우리의 직관적인 시도는 다음과 같다.
첫째, GLM-130B의 bidirectional 특성은 강력한 zero-shot 성능을 이끌어낼 수 있으며 (zero-shot language modeling에서 나타나듯이), 이로 인해 단방향 LLM보다 유사한 규모(즉, 100B 규모)의 모델에 대한 few-shot "상한선"에 더 가까워질 수 있다.
둘째, 이는 기존 MIP 패러다임의 한계 때문일 수도 있다 (Wei et al., 2022a; Sanh et al., 2022). 이 패러다임은 학습 시 zero-shot 예측만 포함하므로, GLM-130B가 더 강력한 zero-shot 학습 성능을 보이지만, in-context few-shot 성능은 상대적으로 약하게 편향될 수 있다. 이러한 편향을 수정하기 위한 잠재적인 해결책은 zero-shot 샘플만 사용하는 대신, 다양한 shot 수의 in-context 샘플을 포함하는 MIP를 활용하는 것이다.
마지막으로, GPT-3와 거의 동일한 GPT 아키텍처를 가졌음에도 불구하고, PaLM 540B의 few-shot in-context learning을 통한 상대적 성장은 GPT-3보다 훨씬 더 두드러진다. 우리는 이러한 성능 성장의 추가적인 가속이 PaLM의 고품질 및 다양하게 수집된 비공개 학습 코퍼스에서 비롯된 것이라고 추측한다. 우리의 경험과 (Hoffmann et al., 2022)의 통찰력을 결합하여, 우리는 더 나은 아키텍처, 더 나은 데이터, 그리고 더 많은 학습 FLOPS에 추가적인 투자가 필요하다는 것을 깨달았다.
5.4 Chinese Language Understanding Evaluation (CLUE)
우리는 GLM-130B의 중국어 zero-shot 성능을 기존의 중국어 NLP 벤치마크인 **CLUE (Xu et al., 2020)**와 **FewCLUE (Xu et al., 2021)**에서 평가한다. MIP에는 어떠한 중국어 다운스트림 task도 포함하지 않았음에 유의한다. 현재까지 우리는 두 벤치마크의 일부에 대한 테스트를 완료했으며, 여기에는 다음이 포함된다:
Figure 8: GLM-130B와 ERNIE Titan 3.0 260B를 zero-shot CLUE 및 FewCLUE에서 평가한 결과.
7개의 CLUE 데이터셋과 5개의 FewCLUE 데이터셋 (자세한 내용은 Appendix C.7 참조). 우리는 GLM-130B를 **가장 큰 기존 중국어 단일 언어 모델인 260B ERNIE Titan 3.0 (Wang et al., 2021)**과 비교한다. ERNIE Titan 3.0의 설정에 따라 dev 데이터셋에 대한 zero-shot 결과를 보고한다. GLM-130B는 12개 task 전반에 걸쳐 ERNIE Titan 3.0을 일관되게 능가한다 (Figure 8 참조). 흥미롭게도, GLM-130B는 두 개의 abstractive MRC 데이터셋(DRCD 및 CMRC2018)에서 ERNIE보다 최소 260% 더 나은 성능을 보인다. 이는 GLM-130B의 사전학습 objective가 abstractive MRC의 형식과 자연스럽게 일치하기 때문일 수 있다.
6 Related Work
이 섹션에서는 사전학습된 LLM의 pre-training, transferring, inference 주제에 대한 GLM-130B 관련 연구를 검토한다 (Qiu et al., 2020; Bommasani et al., 2021).
Pre-Training
Vanilla language modeling은 decoder-only autoregressive model (예: GPT (Radford et al., 2018))을 의미하지만, 텍스트에 대한 모든 형태의 self-supervised objective도 포함한다. 최근 Transformer 기반 (Vaswani et al., 2017) language model은 놀라운 scaling law를 보여주었다: 모델이 1.5B (Radford et al., 2019), 10B 규모의 language model (Raffel et al., 2020; Shoeybi et al., 2019; Black et al., 2022)에서 100B 규모의 GPT-3 (Brown et al., 2020)로 확장됨에 따라 새로운 능력 (Wei et al., 2022b)이 나타난다. 이후 영어와 중국어 모두에서 많은 100B 규모의 LLM (Lieber et al., 2021; Thoppilan et al., 2022; Rae et al., 2021; Smith et al., 2022; Chowdhery et al., 2022; Wu et al., 2021; Zeng et al., 2021; Wang et al., 2021)이 등장했지만, 이들은 대중에게 공개되지 않거나 제한된 API를 통해서만 접근 가능하다. LLM의 이러한 폐쇄성(closeness)은 개발을 심각하게 저해한다. GLM-130B의 노력은 최근의 ElutherAI, OPT-175B (Zhang et al., 2022), BLOOM-176B (Scao et al., 2022)와 함께 고품질의 오픈소스 LLM을 커뮤니티에 제공하는 것을 목표로 한다.
Transferring
Fine-tuning이 transfer learning의 사실상의(de facto) 방식이었지만, LLM의 평가(evaluation)는 막대한 모델 크기로 인해 prompting과 in-context learning에 초점을 맞춰왔다 (Brown et al., 2020; Liu et al., 2021a). 그럼에도 불구하고, 최근에는 language model의 parameter-efficient learning (Houlsby et al., 2019)과 prompt tuning (예: P-tuning, Li & Liang (2021); Liu et al. (2021b); Lester et al. (2021); Liu et al. (2022))에 대한 시도들이 있었다. 현재 우리는 이들에 초점을 맞추지 않으며, GLM-130B에 대한 이들의 포괄적인 테스트는 향후 연구로 남겨둘 것이다.
Inference
오늘날 대부분의 공개적으로 접근 가능한 LLM은 제한된 API를 통해 서비스를 제공하고 있다. 본 연구에서 우리의 중요한 노력 중 하나는 LLM의 효율적이고 빠른 inference에 있었다. 관련 연구로는 distillation (Sanh et al., 2019; Jiao et al., 2020; Wang et al., 2020), quantization (Zafrir et al., 2019; Shen et al., 2020; Tao et al., 2022), pruning (Michel et al., 2019; Fan et al., 2019) 등이 있다. 최근 연구 (Dettmers et al., 2022)는 OPT-175B 및 BLOOM-176B와 같은 LLM이 outlier dimension의 특수한 분포로 인해 8 bit로 양자화될 수 있음을 보여준다. 본 연구에서는 INT4 weight quantization에 대한 GLM의 scaling law를 시연하며, 이를 통해 GLM-130B는 최소 4대의 RTX 3090 (24G) GPU 또는 8대의 RTX 2080 Ti (11G) GPU만으로도 inference를 수행할 수 있다.
7 Conclusion and Lessons
우리는 개방적이고 포괄적인 LLM 연구를 촉진하기 위한 이중 언어 사전학습 언어 모델인 GLM-130B를 소개한다. GLM-130B의 기술적 및 공학적 노력은 LLM의 아키텍처, 사전학습 목표, 학습 안정성 및 효율성, 그리고 합리적인 추론 비용에 대한 통찰력을 제공한다. 이러한 노력들이 결합되어 GLM-130B는 112개 task에서의 언어 성능과 편향 및 유해성 벤치마크에서의 윤리적 결과 측면에서 높은 품질을 달성하는 데 기여한다. 성공과 실패를 아우르는 우리의 경험은 100B 규모 LLM 학습을 위한 교훈으로 압축되어 Appendix B.10에 첨부되어 있다.
Acknowledgement
본 연구는 중국 국가자연과학기금(NSFC) 61825602, 62276148 및 Zhipu.AI의 지원을 받았다. 우리는 칭화대학교의 Knowledge Engineering Group (KEG), Parallel Architecture & Compiler technology of Mobile, Accelerated, and Networked systems Group (PACMAN), Natural Language Processing Group (THUNLP) 및 Zhipu.AI의 모든 협력자 및 파트너에게 감사드린다.
Ethics Statement
본 연구의 모든 공동 저자는 제공된 ICLR 윤리 강령을 인지하고 있으며 행동 강령을 준수함을 밝힙니다. 본 연구는 **오픈 소스 Large Language Model (LLM)**을 소개하며, 이는 (Weidinger et al., 2021; Sheng et al., 2021; Dev et al., 2021)에서 논의된 바와 같이 텔레마케팅 사기, 정치 선전, 개인 괴롭힘과 같은 유해한 애플리케이션을 위한 합성 텍스트 생성에 사용될 수 있습니다. 우리는 모델 사용 후 취약하고 역사적으로 소외된 집단에 대한 어떠한 위험한 출력도 예상하지 않습니다.
그리고 기술적으로 이러한 위험을 방지하고 궁극적으로 제거하기 위해 커뮤니티와 더 잘 협력하고자 본 연구에서 다음과 같은 중요한 공개 노력을 기울입니다:
윤리적 위험 연구를 위한 오픈 소스 LLM. 일부 사람들은 LLM에 대한 접근을 제한하는 것이 그러한 유해한 애플리케이션을 방지할 수 있다고 생각하지만, 우리는 LLM 포괄성(inclusivity)을 증진하는 것이 LLM으로 인한 잠재적 피해에 대한 더 나은 방어로 이어질 수 있다고 주장합니다. 현재는 정부와 대기업만이 LLM 사전학습에 드는 상당한 비용을 감당할 수 있습니다. 상당한 재정 자원을 가진 조직이 LLM을 사용하여 해를 끼치지 않을 것이라는 보장은 없습니다. 그러한 LLM에 대한 접근 없이는 개인은 피해에서 LLM의 역할을 인지조차 할 수 없습니다.
반대로, 오픈 LLM을 공개하는 것은 모든 연구자에게 접근성과 투명성을 제공하고, Gehrmann et al. (2019)의 합성 텍스트 식별 알고리즘과 같이 LLM의 잠재적 피해를 줄이기 위한 연구를 촉진할 수 있습니다. 또한, LLM은 공정성, 편향, 프라이버시, 진실성 문제로 어려움을 겪을 수 있다는 것이 알려져 있습니다 (Zhang et al., 2021; Lin et al., 2022; Liang et al., 2021; Bender et al., 2021). 오픈 LLM은 블랙박스 모델에 API를 제공하는 대신, 특정 입력에 해당하는 모델 파라미터와 내부 상태를 공개할 수 있습니다. 결론적으로, 연구자들은 LLM의 결함을 심층적으로 분석하고 문제를 해결하기 위한 개선된 알고리즘을 제안할 수 있습니다.
윤리적 평가 및 개선. 우리는 또한 편향 측정 (Nadeem et al., 2021; Nangia et al., 2020), 혐오 발언 감지 (Mollas et al., 2020), 유해 생성 추정 (Gehman et al., 2020)을 포함한 광범위한 영어 윤리 평가 벤치마크에 대해 우리 모델을 평가합니다. 이러한 데이터셋의 결점에도 불구하고 (Blodgett et al., 2021; Jacobs & Wallach, 2021), 이들은 LLM의 공개적이고 정량적인 평가를 향한 의미 있는 첫걸음이 됩니다.
우리의 평가는 우리 알고리즘 설계, 특히 LLM의 이중 언어 사전학습이, 단일 언어 영어 코퍼스로 학습된 다른 LLM (Brown et al., 2020; Zhang et al., 2022)에 비해 강력한 언어 성능을 유지하면서도 LLM이 나타낼 수 있는 편향과 유해성을 크게 완화할 수 있음을 시사합니다 (자세한 내용은 Appendix A 참조).
Reproducibility
GPT-3 175B (Brown et al., 2020), PaLM 540B (Chowdhery et al., 2022), Gopher (Rae et al., 2021), Chinchilla (Hoffmann et al., 2022), LaMDA (Thoppilan et al., 2022), FLAN (Wei et al., 2022a) 등 주류의 closed-sourced LLM들과 비교하여, GLM-130B는 오픈 소스이며 LLM 연구의 개방성과 포괄성을 처음부터 증진시키는 데 전념하고 있다.
우리는 평가의 재현성(reproducibility)을 보장하기 위해 많은 노력을 기울였다. 사전학습(pre-training) 섹션의 경우, 현재로서는 재현하기에 감당할 수 없는 비용이 필요함에도 불구하고, 우리는 GLM-130B의 사전학습 코드, 세부 사항 및 전체 프로세스를 공개하기 위해 최선을 다하고 있다. 와 같이 널리 보급된 소수의 GPU에서도 GLM-130B 추론이 가능하도록 한 우리의 노력은 대부분의 학술 연구자들이 오프라인 머신에서 GLM-130B의 결과를 재현할 수 있도록 함으로써 재현성 목표와 일치한다. 또한, 개인 사용자들이 GLM-130B의 능력을 테스트할 수 있도록 무료 API를 제공한다.
사전학습 (Pre-Training). 우리는 저장소(Cf. Abstract)에 사전학습을 위한 완전한 학습 노트, Tensorboard 로그 및 코드를 제공한다. 사전학습 하이퍼파라미터 및 클러스터 구성은 Section 2.3 및 Table 11에 제공된다. 학습 코퍼스 구성 및 Multi-task Instruction Pre-training에 대한 세부 정보는 Section 2.2 및 Appendix C.1과 C.2에 제공된다.
평가 (Evaluation). 우리는 언어 벤치마크(LAMBADA, Pile, MMLU, BIG-bench, CLUE, FewCLUE) 및 윤리 벤치마크(CrowS-Pairs, StereoSet, ETHOS, RealToxicPrompts)를 포함한 모든 평가를 코드 저장소에 있는 one-command-to-run bash 스크립트로 구성하였다. 언어 모델링 벤치마크에 대한 데이터 처리 세부 정보는 Section 5.1 및 Appendix C.4에, MMLU에 대한 세부 정보는 Section 5.2 및 Appendix C.6에, BIG-bench에 대한 세부 정보는 Section 5.3 및 Appendix C.5에, CLUE 및 FewCLUE에 대한 세부 정보는 5.4에 제공된다. 모든 윤리 평가에 대한 자세한 내용은 Appendix A를 참조하라.