Glm-130b:開放式雙語預(yù)訓(xùn)練模型
摘要
我們介紹了GLM-130B,一個具有1300億個參數(shù)的雙語(英語和漢語)預(yù)訓(xùn)練語言模型。這是一個至少與GPT-3(達(dá)芬奇)一樣好的100b規(guī)模模型的開源嘗試,并揭示了如何成功地對這種規(guī)模的模型進(jìn)行預(yù)訓(xùn)練。在這一過程中,我們面臨著許多意想不到的技術(shù)和工程挑戰(zhàn),特別是在損失峰值和分歧方面。在本文中,我們介紹了GLM-130B的訓(xùn)練過程,包括它的設(shè)計選擇,效率和穩(wěn)定性的訓(xùn)練策略,以及工程努力。由此產(chǎn)生的GLM-130B模型在廣泛的流行英語基準(zhǔn)測試中提供了明顯優(yōu)于GPT-3 175B(達(dá)芬奇)的性能優(yōu)勢,而在OPT-175B和布魯姆- 176b中沒有觀察到這種性能優(yōu)勢。在相關(guān)基準(zhǔn)測試中,它也始終顯著優(yōu)于最大的中文模型ERNIE TITAN 3.0 260b。最后,我們利用GLM-130B的獨特縮放特性,在沒有后訓(xùn)練的情況下達(dá)到INT4量化,幾乎沒有性能損失,使其成為100b尺度模型中的第一個,更重要的是,允許其對4×RTX 3090 (24G)或8×RTX 2080 Ti (11G) gpu進(jìn)行有效推理,這是使用100b尺度模型所需的最經(jīng)濟(jì)實惠的gpu。GLM-130B模型權(quán)重是公開訪問的,其代碼、訓(xùn)練日志、相關(guān)工具包和經(jīng)驗教訓(xùn)都是在https://github.com/THUDM/GLM-130B/上開源的。
1 INTRODUCTION
大型語言模型(llm),特別是那些參數(shù)超過1000億個(100B)的模型(Brown et al, 2020;Thoppilan et al, 2022;Rae等,2021;Chowdhery等人,2022;Wang等人,2021)提出了有吸引力的縮放定律(Wei等人,2022b),其中突然出現(xiàn)了zero-shot和few-shot能力。其中,具有175B個參數(shù)的GPT-3 (Brown et al, 2020)開創(chuàng)了100b尺度llm的研究,在各種基準(zhǔn)測試中,使用32個標(biāo)記樣例產(chǎn)生的性能明顯優(yōu)于完全監(jiān)督的BERT-Large模型。然而,GPT-3(以及許多其他封閉的100b級規(guī)模的GPT-3)模型本身以及如何訓(xùn)練它,到目前為止對公眾都是不透明的。培養(yǎng)出如此規(guī)模的高質(zhì)量LLM,并將模型和培訓(xùn)過程分享給大家,具有至關(guān)重要的價值。
因此,我們的目標(biāo)是預(yù)先訓(xùn)練一個開放和高度精確的100b級模型,并考慮到道德問題。在我們的嘗試過程中,我們已經(jīng)意識到,與訓(xùn)練10b規(guī)模的模型相比,在預(yù)訓(xùn)練效率、穩(wěn)定性和收斂性方面,以這種規(guī)模預(yù)訓(xùn)練密集的LLM會帶來許多意想不到的技術(shù)和工程挑戰(zhàn)。在訓(xùn)練OPT-175B (Zhang et al ., 2022)和BLOOM176B (Scao et al ., 2022)中也同時發(fā)現(xiàn)了類似的困難,進(jìn)一步證明了GPT-3作為先驅(qū)研究的重要性。
在這項工作中,我們從工程努力、模型設(shè)計選擇、效率和穩(wěn)定性的訓(xùn)練策略以及可負(fù)擔(dān)推理的量化方面介紹了100b規(guī)模模型glm - 130b的預(yù)訓(xùn)練。由于人們普遍認(rèn)識到,經(jīng)驗地列舉訓(xùn)練100b級llm的所有可能設(shè)計在計算上是負(fù)擔(dān)不起的,我們不僅介紹了訓(xùn)練GLM-130B的成功部分,還介紹了許多失敗的選擇和經(jīng)驗教訓(xùn)。
特別是訓(xùn)練的穩(wěn)定性是如此規(guī)模的訓(xùn)練模式能否成功的決定性因素。與OPT-175B中手動調(diào)整學(xué)習(xí)率和BLOOM-176B中犧牲性能使用嵌入范數(shù)等做法不同,我們對各種選項進(jìn)行了實驗,發(fā)現(xiàn)嵌入梯度收縮策略可以顯著穩(wěn)定GLM-130B的訓(xùn)練。
具體來說,GLM-130B是一個雙語(英語和中文)雙向密集模型,具有1300億個參數(shù),在2022年5月6日至7月3日期間,在96個NVIDIA DGX-A100 (8×40G) GPU節(jié)點的集群上預(yù)訓(xùn)練了超過4000億個令牌。我們沒有使用gpt風(fēng)格的架構(gòu),而是采用通用語言模型(General Language Model, GLM)算法(Du et al, 2022)來利用其雙向注意力優(yōu)勢和自回歸的空白填充目標(biāo)。表1總結(jié)了GLM-130B、GPT-3與另外兩個開源成果——opt - 175b和BLOOM-176B,以及PaLM 540B (Chowdhery et al, 2022)——一個4倍大的模型的比較,作為參考。
總之,概念上的獨特性和工程上的努力使GLM-130B在廣泛的基準(zhǔn)測試(總共112個任務(wù))中表現(xiàn)出超過GPT-3水平的性能,并且在許多情況下也優(yōu)于PaLM 540B,而在OPT-175B和BLOOM-176B中尚未觀察到優(yōu)于GPT-3的性能(參見圖1左)。對于零彈性能,GLM-130B在LAMBADA上優(yōu)于GPT-3 175B(+5.0%)、OPT-175B(+6.5%)和BLOOM-176B (+13.0%) (Paperno et al, 2016),在Big-bench-lite上優(yōu)于GPT-3 3 (Srivastava et al, 2022)。對于5發(fā)MMLU (Hendrycks et al, 2021)任務(wù),它優(yōu)于GPT-3 175B(+0.9%)和BLOOM-176B(+12.7%)。作為中文的雙語?LLMs,它在7個zero-shot CLUE (Xu et al ., 2020)數(shù)據(jù)集(+24.26%)和5個zero-shot FewCLUE (Xu et al ., 2021)數(shù)據(jù)集(+12.75%)上的結(jié)果明顯優(yōu)于中文最大的?LLMs ERNIE TITAN 3.0 260B (Wang et al ., 2021)。重要的是,如圖1所示,作為開放模型的GLM-130B與100b級模型相比,其偏置和生成毒性明顯更小。
最后,我們設(shè)計了GLM-130B,使盡可能多的人能夠進(jìn)行100b規(guī)模的?LLMs研究。首先,決定130B的大小,而不是使用175B+參數(shù)作為OPT和BLOOM,因為這樣的大小支持在單個A100 (8×40G)服務(wù)器上進(jìn)行推理。其次,為了進(jìn)一步降低對GPU的要求,我們將GLM-130B量化為不經(jīng)過后訓(xùn)練的INT4精度,而OPT和BLOOM只能達(dá)到INT8精度。由于GLM架構(gòu)的獨特特性,GLM- 130b的INT4量化帶來的性能下降可以忽略不計,例如,在LAMBADA上下降-0.74%,在MMLU上甚至下降+0.05%,使其仍然優(yōu)于未壓縮的GPT-3。這使得GLM130B在4×RTX 3090 (24G)或8×RTX 2080 Ti (11G)服務(wù)器上的快速推理性能得到保證,這是迄今為止使用100b級llm所需的最經(jīng)濟(jì)實惠的GPU。
圖3:GLM-130B訓(xùn)練中不同layernorm的試驗。結(jié)果表明,DeepNorm是最穩(wěn)定的,因為它具有較小的梯度范數(shù),并且在早期訓(xùn)練中不會出現(xiàn)峰值。
梯度范數(shù)是指梯度向量的長度,即梯度中所有元素的平方和的平方根。在數(shù)學(xué)上,梯度的范數(shù)表示為:∥?f(x)∥=√(∑(?f/?xi)2)。其中,?f/?xi是函數(shù)f(x)在第i個自變量x_i處的偏導(dǎo)數(shù)。梯度的范數(shù)越大,表示函數(shù)的變化越劇烈。梯度下降算法的核心思想就是沿著梯度相反的方向去更新參數(shù),以最小化損失函數(shù)。因此,對于一個函數(shù),我們可以通過計算其梯度的范數(shù)來優(yōu)化算法的收斂速度和性能。
2 THE DESIGN CHOICES OF GLM-130B
機器學(xué)習(xí)模型的架構(gòu)定義了它的歸納偏差。然而,人們已經(jīng)意識到,探索llm的各種架構(gòu)設(shè)計在計算上是負(fù)擔(dān)不起的。介紹和解釋GLM-130B獨特的設(shè)計選擇。
2.1 GLM-130B’S ARCHITECTURE
GLM作為主干。最近的?100B-scale LLMs,如GPT-3、PaLM、OPT和BLOOM,都遵循傳統(tǒng)的gpt風(fēng)格(Radford等人,2019)的解碼器自回歸語言建模架構(gòu)。在GLM-130B中,我們嘗試探索雙向glm -通用語言模型(Du et al, 2022)作為其主干的潛力。
GLM是一種基于變換的語言模型,利用自回歸填充空白作為其訓(xùn)練目標(biāo)。簡而言之,對于文本序列x = [x1,···,xn],從中采樣文本跨度{s1,···,sm},其中每個si表示一個連續(xù)標(biāo)記[si,1,···,si,li]的跨度,并用單個掩碼標(biāo)記替換(即損壞)以形成xcorrupt。要求模型自回歸地恢復(fù)它們。為了允許損壞跨度之間的交互,它們對彼此的可見性是由它們順序的隨機抽樣排列決定的。
GLM在未屏蔽(即未損壞)上下文上的雙向注意將GLM- 130b與使用單向注意的GPT-style LLMs區(qū)分開來。為了支持理解和生成,它混合了兩個corruption目標(biāo),每個目標(biāo)都由一個特殊的mask token表示:
?[MASK]:句子中的短空格,其長度加起來相當(dāng)于輸入的某一部分。
?[gMASK]:在提供前綴上下文的句子末尾隨機長度的長空白。
從概念上講,具有雙向注意的空白填充目標(biāo)能夠比gpt風(fēng)格的模型更有效地理解上下文:當(dāng)使用[MASK]時,GLM-130B表現(xiàn)為BERT (Devlin等人,2019)和T5 (rafael等人,2020);當(dāng)使用[gMASK]時,GLM-130B的行為與PrefixLM相似(Liu et al, 2018;Dong et al, 2019)。
根據(jù)經(jīng)驗,GLM-130B在zero-shot LAMBADA上提供了創(chuàng)紀(jì)錄的80.2%的精度,優(yōu)于GPT-3和PaLM 540B(圖2)。通過設(shè)置注意罩,GLM-130B的單向改型可與GPT-3和OPT-175B相媲美。我們的觀察結(jié)果與現(xiàn)有研究結(jié)果一致(Liu et al ., 2018;Dong et al, 2019)。
圖2:相似規(guī)模的GLM-130B和LLMs 在zero-shot LAMBADA語言建模。Du等人(2022)提供了GLM雙向注意的詳細(xì)信息。
Layer Normalization層規(guī)范化(LN, Ba等人(2016))。訓(xùn)練不穩(wěn)定性對LLMs是一個主要挑戰(zhàn)(Zhang et al ., 2022;Scao等,2022;Chowdhery等人,2022)(參見附錄中的圖10,用于訓(xùn)練幾個100b尺度模型中的崩潰)。選擇合適的LNs,可以穩(wěn)定訓(xùn)練LLMs。我們對現(xiàn)有的實踐進(jìn)行了實驗,例如Pre-LN (Xiong et al, 2020);
我們的研究后來集中在Post-LN上,因為它在初步實驗中具有良好的下游結(jié)果,盡管它不能穩(wěn)定GLM-130B。幸運的是,用新提出的DeepNorm (Wang et al ., 2022b)初始化后ln的一次嘗試產(chǎn)生了很好的訓(xùn)練穩(wěn)定性。具體而言,給定GLM-130B的層數(shù)N,我們采用DeepNorm(x) = LayerNorm(α·x + Network(x)),其中α = (2N) 1 2,并對ffn, v_proj和out_proj應(yīng)用縮放因子為(2N)?1 2的Xavier法線初始化。此外,所有偏置項初始化為零。從圖3可以看出,這對GLM-130B的訓(xùn)練穩(wěn)定性有明顯的好處。
Positional Encoding and FFNs位置編碼和ffn。我們在訓(xùn)練穩(wěn)定性和下游性能方面對位置編碼(PE)和FFN改進(jìn)的不同選項進(jìn)行了實證測試(詳見附錄B.3)。對于GLM-130B中的pe,我們采用旋轉(zhuǎn)位置編碼(RoPE, Su等人(2021))而不是ALiBi (Press等人,2021)。為了改善Transformer中的ffn,我們選擇GLU和GeLU (Hendrycks & Gimpel, 2016)激活作為替代品。
2.2 GLM-130B’S PRE-TRAINING SETUP
受到近期作品的啟發(fā)(Aribandi et al, 2022;魏等,2022a;Sanh et al, 2022), GLM- 130b預(yù)訓(xùn)練目標(biāo)不僅包括自監(jiān)督GLM自回歸空白填充,還包括對一小部分token的多任務(wù)學(xué)習(xí)。預(yù)計這將有助于提高其下游零次學(xué)習(xí)性能。
零次學(xué)習(xí) Zero-shot定義:學(xué)習(xí)一個新類的的視覺分類器,這個新類沒有提供任何的圖像數(shù)據(jù),僅僅給出了這個類的word embedding。zero-shot基本概念
?首先通過一個例子來引入zero-shot的概念。假設(shè)我們已知驢子和馬的形態(tài)特征,又已知老虎和鬣狗都是又相間條紋的動物,熊貓和企鵝是黑白相間的動物,再次的基礎(chǔ)上,我們定義斑馬是黑白條紋相間的馬科動物。不看任何斑馬的照片,僅僅憑借推理,在動物園一眾動物中,我們也能夠找到斑馬。
?上述例子中包含了一個推理過程,就是利用過去的知識(已知動物的描述),在腦海中推理出新對象的具體形態(tài),從而能對新對象進(jìn)行辨認(rèn)。(如下圖所示)ZSL就是希望能夠模仿人類的這個推理過程,使得計算機具有識別新事物的能力。
原文鏈接:https://blog.csdn.net/gary101818/article/details/129108491
Self-Supervised Blank Infilling (95% tokens).自我監(jiān)督空白填充(95%tokens)?;叵胍幌?,GLM-130B在此任務(wù)中同時使用[MASK]和[gMASK]。每個訓(xùn)練序列一次獨立地應(yīng)用其中一個。
具體來說,[MASK]用于屏蔽30%的訓(xùn)練序列中的連續(xù)跨度進(jìn)行空白填充。跨度的長度遵循泊松分布(λ = 3),加起來是輸入的15%。
對于其他70%的序列,每個序列的前綴被保留為上下文,并使用[gMASK]來掩蓋其余部分。掩碼長度從均勻分布中采樣。
預(yù)訓(xùn)練數(shù)據(jù)包括1.2T Pile (train split) (Gao et al ., 2020) English, 1.0T Chinese wuaoorpora (Yuan et al ., 2021),以及我們從網(wǎng)絡(luò)上抓取的250G Chinese語料庫(包括在線論壇、百科全書、QA),形成了中英文內(nèi)容的均衡構(gòu)成。
Multi-Task Instruction Pre-Training (MIP, 5% tokens).多任務(wù)指令預(yù)訓(xùn)練(MIP, 5%tokens)。T5 (rafael et al, 2020)和ExT5 (Aribandi et al, 2022)表明,預(yù)訓(xùn)練中的多任務(wù)學(xué)習(xí)可能比微調(diào)更有幫助,因此我們建議在GLM-130B的預(yù)訓(xùn)練中包含各種指令提示數(shù)據(jù)集,包括語言理解、生成和信息提取。
與最近的作品相比(Wei et al ., 2022a;Sanh等人,2022)利用多任務(wù)提示微調(diào)來改善zero-shot任務(wù)轉(zhuǎn)移,MIP僅占5%的tokens,并且在預(yù)訓(xùn)練階段設(shè)置,以防止破壞llms的其他一般能力,例如無條件自由生成。
具體來說,我們包括74個提示數(shù)據(jù)集,來自(Sanh等,2022;Wang et al ., 2022a),列于附錄C和表12。建議GLM-130B用戶避免根據(jù)第5節(jié)中說明的標(biāo)準(zhǔn)在這些數(shù)據(jù)集上評估其?zero-shot和?zero-shot能力。
2.3 PLATFORM-AWARE PARALLEL STRATEGIES AND MODEL CONFIGURATIONS
2.3平臺感知并行策略和模型配置
GLM-130B在96個DGX-A100 GPU (8×40G)服務(wù)器集群上進(jìn)行訓(xùn)練,為期60天。
目標(biāo)是通過盡可能多的代幣,正如最近的一項研究(Hoffmann et al, 2022)表明的那樣,大多數(shù)現(xiàn)有的LLMs在很大程度上訓(xùn)練不足。
The 3D Parallel Strategy.三維并行策略。數(shù)據(jù)并行性(Valiant, 1990)和張量模型并行性(Shoeybi等人,2019)是訓(xùn)練十億尺度模型的實際實踐(Wang & Komatsuzaki, 2021;Du et al, 2022)。為了進(jìn)一步解決由于在節(jié)點間應(yīng)用張量并行而導(dǎo)致的巨大GPU內(nèi)存需求和GPU整體利用率下降的問題,我們使用40G而不是80G a100來訓(xùn)練GLM-130B,我們將管道模型并行與其他兩種策略結(jié)合起來,形成了一種3D并行策略。
管道并行性將模型劃分為每個并行組的順序階段,為了進(jìn)一步減少管道引入的氣泡(bubbles),我們利用DeepSpeed (Rasley等人,2020)的PipeDream-Flush (Narayanan等人,2021)實現(xiàn)以相對較大的全局批大小(4,224)訓(xùn)練GLM-130B,以減少時間和GPU內(nèi)存浪費。通過數(shù)值和實證檢驗,我們采用了4路張量并行和8路管道并行(詳見附錄B.4)。根據(jù)(Chowdhery等人,2022)的計算,我們報告了由于重新物化,硬件FLOPs利用率(HFU)為43.3%,模型FLOPs利用率(MFU)為32.5%。
GLM-130B Configurations。我們的目標(biāo)是使我們的100B-scale LLM能夠以FP16精度運行單個DGX-A100 (40G)節(jié)點?;谖覀儚腉PT-3中采用的12288隱藏狀態(tài)維,得到的模型尺寸必須不超過130B個參數(shù),即GLM-130B。為了最大限度地提高GPU利用率,我們根據(jù)平臺及其相應(yīng)的并行策略配置模型。為了避免由于兩端額外嵌入單詞而導(dǎo)致中間階段內(nèi)存利用率不足,我們通過從中移除一層來平衡管道分區(qū),使GLM-130B中的9×8-2=70個transformer層。
在對集群的60天訪問期間,我們成功地訓(xùn)練了GLM-130B 4000億個令牌(中文和英文各約2000億個),每個樣本的固定序列長度為2048。
對于[gMASK]訓(xùn)練目標(biāo),我們使用2,048個令牌的上下文窗口。對于[MASK]和多任務(wù)目標(biāo),我們使用512個上下文窗口并將四個樣本連接在一起以滿足2,048個序列長度。在第一個2.5%的樣本中,我們將批量大小從192預(yù)熱到4224。我們使用AdamW (Loshchilov & Hutter, 2019)作為優(yōu)化器,將β1和β2設(shè)置為0.9和0.95,權(quán)重衰減值為0.1。在前0.5%的樣本中,我們將學(xué)習(xí)率從10?7預(yù)熱到8 × 10?5,然后通過10×cosine schedule 將其衰減。我們使用0.1的(dropout rate)和使用1.0的clipping value的clip gradients(參見表11的完整配置)。
3 THE TRAINING STABILITY OF GLM-130B
glm-130b的訓(xùn)練穩(wěn)定性
訓(xùn)練穩(wěn)定性是GLM-130B質(zhì)量的決定性因素,它也在很大程度上受到其通過tokens數(shù)量的影響(Hoffmann et al, 2022)。因此,考慮到計算使用約束,必須在浮點(FP)格式的效率和穩(wěn)定性之間進(jìn)行權(quán)衡:低精度FP格式(例如16位精度- fp16)提高了計算效率,但容易出overflow and underflow errors,導(dǎo)致訓(xùn)練崩潰。
Mixed-Precision。我們遵循混合精度(micicikevicius等人,2018)策略(Apex O2)的常見做法,即FP16用于向前和向后,F(xiàn)P32用于優(yōu)化器狀態(tài)和主權(quán)重,以減少GPU內(nèi)存使用并提高訓(xùn)練效率。與OPT-175B和BLOOM-176B類似(參見附錄圖10),GLM-130B的訓(xùn)練也會因為這種選擇而面臨頻繁的損耗峰值,并且隨著訓(xùn)練的進(jìn)行,損耗峰值會越來越頻繁。與精度相關(guān)的峰值往往沒有明確的原因:有些會自行恢復(fù);另一些則預(yù)示著梯度標(biāo)準(zhǔn)突然飆升,最終出現(xiàn)峰值甚至NaN損失。OPT-175B試圖通過手動跳過數(shù)據(jù)和調(diào)整超參數(shù)來修復(fù);BLOOM176B通過嵌入規(guī)范技術(shù)做到了這一點(Dettmers等人,2021)。我們花了幾個月的時間對峰值進(jìn)行實證調(diào)查,并意識到當(dāng)transformers規(guī)模擴(kuò)大時出現(xiàn)了一些問題:
首先,如果使用Pre-LN,transformer主支路的值尺度在較深的層中可能非常大。這在GLM130B中通過使用基于DeepNorm的Post-LN(參見第2.1節(jié))來解決,這使得值尺度始終是有界的
其次,隨著模型的擴(kuò)大,注意力得分變得如此之大,以至于超過了FP16的范圍。在LLMs中,有幾個選項可以克服這個問題。在CogView (Ding et al, 2021)中,提出了PB-Relax來去除偏差項并在注意力計算中扣除極值以避免該問題,不幸的是,這并不能幫助避免GLM-130B中的解收斂。在BLOOM-176B中,使用BF16格式代替FP16,因為它在NVIDIA Ampere gpu(即A100)上的值范圍很廣。然而,在我們的實驗中,由于它在梯度積累中轉(zhuǎn)換為FP32, BF16消耗的運行時GPU內(nèi)存比FP16多15%,更重要的是它不支持其他GPU平臺(例如NVIDIA Tesla V100),限制了生成的LLMs的可訪問性。BLOOM-176B的另一個選擇是將嵌入范數(shù)應(yīng)用于BF16,但犧牲了對模型性能的重大懲罰,因為他們注意到嵌入范數(shù)會損害模型的zero-shot學(xué)習(xí)(Cf.章節(jié)4.3 in (Scao et al, 2022))。
Embedding Layer Gradient Shrink 嵌入層梯度收縮(EGS)。我們的實證研究表明,梯度范數(shù)可以作為訓(xùn)練崩潰的信息指標(biāo)。具體地說,我們發(fā)現(xiàn)訓(xùn)練崩潰通常落后于梯度范數(shù)的“峰值”幾個訓(xùn)練步驟。這種尖峰通常是由嵌入層的異常梯度引起的,因為我們觀察到,在GLM-130B的早期訓(xùn)練中,其梯度范數(shù)往往比其他層的梯度范數(shù)大幾個數(shù)量級(Cf。圖4 (a))。此外,在早期訓(xùn)練中,它往往波動很大。在視覺模型(Chen et al, 2021)中,通過凍結(jié)patch投影層來處理這個問題。不幸的是,我們不能凍結(jié)語言模型中嵌入層的訓(xùn)練。
最后,我們發(fā)現(xiàn)嵌入層上的梯度收縮可以克服損失峰值,從而穩(wěn)定GLM-130B的訓(xùn)練。它首先用于多模態(tài)變壓器CogView (Ding et al, 2021)。設(shè)α為收縮因子,該策略可以通過word_embedding = word_embedding?α+word_embedding.detach()?(1?α)來實現(xiàn)。根據(jù)經(jīng)驗,圖4 (b)表明,設(shè)置α = 0.1可以消除我們可能遇到的大多數(shù)峰值,延遲可以忽略不計。
事實上,最后的GLM-130B訓(xùn)練運行只經(jīng)歷了三次后期損失偏離情況,盡管由于硬件故障多次失敗。對于三個意想不到的峰值,進(jìn)一步縮小嵌入梯度仍然可以幫助穩(wěn)定GLM-130B訓(xùn)練。有關(guān)詳細(xì)信息,請參閱代碼庫中的訓(xùn)練筆記和Tensorboard日志。
4 GLM-130B INFERENCE ON RTX 2080 TI
GLM-130B的主要目標(biāo)之一是降低訪問?100B-scale LLMs的硬件要求,同時不存在效率和有效性方面的缺點。
如前所述,130B的模型大小是為在單個A100 (40G×8)服務(wù)器上運行完整的GLM-130B模型而確定的,而不是OPT-175B和BLOOM-176B所需的高端A100 (80G×8)機器。為了加速GLM-130B推理,我們還利用FasterTransformer (Timonin et al, 2022)在c++中實現(xiàn)GLM-130B。與Huggingface中BLOOM-176B的PyTorch實現(xiàn)相比,在同一臺A100服務(wù)器上,GLM-130B的解碼推理速度快了7-8.4倍。(詳情見附錄B.5)。
RTX 3090 /2080的INT4量化。為了進(jìn)一步支持普及的gpu,我們嘗試在保持性能優(yōu)勢的同時盡可能壓縮GLM-130B,特別是通過量化(Zafrir等人,2019;沈等,2020;Tao等人,2022),它為生成語言模型引入了很少的任務(wù)不可知性能下降。
通常,實踐是將模型權(quán)重和激活量化到INT8。然而,我們在附錄B.6中的分析表明,t LLMs’?的激活可能包含極端的異常值。同時,還發(fā)現(xiàn)了OPT-175B和BLOOM-176B中的突發(fā)性異常值(Dettmers等人,2022),這些異常值僅影響約0.1%的特征維度,因此可以通過矩陣乘法分解對這些異常維度進(jìn)行求解。不同的是,在GLM-130B的激活中存在大約30%的異常值,這使得上述技術(shù)的效率低得多。因此,我們決定專注于模型權(quán)重的量化(即,主要是線性層),同時保持FP16的激活精度。量化模型在運行時動態(tài)轉(zhuǎn)換為FP16精度,引入了較小的計算開銷,但大大減少了用于存儲模型權(quán)重的GPU內(nèi)存使用。
圖5:(左)注意力密度和w2的權(quán)重分布;(右)GLM-130B的INT4權(quán)重量化標(biāo)度律。
令人興奮的是,我們成功地達(dá)到了GLM-130B的INT4權(quán)重量化,而現(xiàn)有的成功迄今只達(dá)到了INT8。內(nèi)存方面,與INT8相比,INT4版本有助于額外節(jié)省所需GPU內(nèi)存的一半至70GB,從而允許GLM-130B在4 × RTX 3090 Ti (24G)或8 × RTX 2080 Ti (11G)上進(jìn)行推理。在性能方面,表2表明,在沒有任何訓(xùn)練的情況下,int4版本的GLM-130B幾乎沒有性能下降,因此在普通基準(zhǔn)測試中保持了比GPT-3更好的性能優(yōu)勢。
表2:左:量化的GLM-130B在幾個基準(zhǔn)上的性能;右圖:INT4用FasterTransformer量化GLM-130B的推理速度(編碼和解碼)。
GLM’s INT4 Weight Quantization Scaling Law.? ?GLM的INT4權(quán)值量化標(biāo)度律。我們研究了圖5中所示的這種獨特的INT4權(quán)重量化縮放規(guī)律的潛在機制。我們在圖5中繪制了權(quán)重值分布,結(jié)果證明它直接影響量化質(zhì)量。具體來說,一個分布更廣的線性層需要用更大的箱子進(jìn)行量化,這會導(dǎo)致更大的精度損失。
因此,廣泛分布的注意力密集矩陣和w2矩陣解釋了GPT-style BLOOM的INT4量化失敗。相反,與類似大小的gpt相比,GLM的分布往往要窄得多,并且INT4和FP16版本之間的差距隨著GLM模型尺寸的擴(kuò)大而進(jìn)一步縮小(詳見附錄中的圖15)。
5 THE RESULTS
我們按照LLMs(如GPT-3和PaLM)的常用設(shè)置來評估GLM-130B的英語1。作為中英文雙語LLM, GLM-130B也以中文為基準(zhǔn)進(jìn)行評估。
GLM-130B Zero-Shot學(xué)習(xí)范圍的探討。由于GLM-130B已與MIP訓(xùn)練,在這里我們澄清其Zero-Shot評估的范圍。事實上,“zero-shot”的解釋似乎存在爭議,在社會上沒有達(dá)成共識。我們遵循了一項有影響力的相關(guān)調(diào)查(Xian等人,2018),該調(diào)查稱“在測試時,在Zero-Shot學(xué)習(xí)環(huán)境中,目標(biāo)是將測試圖像分配給看不見的類標(biāo)簽”,其中涉及看不見的類標(biāo)簽是關(guān)鍵。因此,我們推導(dǎo)出選擇GLM-130B的Zero-Shot(和few-shot)數(shù)據(jù)集的標(biāo)準(zhǔn):
?英語:1)對于具有固定標(biāo)簽的任務(wù)(例如,自然語言推理):這些任務(wù)中的數(shù)據(jù)集不應(yīng)該被評估;2)對于沒有固定標(biāo)簽的任務(wù)(例如,(選擇題)QA,主題分類):只考慮與MIP中的數(shù)據(jù)集有明顯領(lǐng)域轉(zhuǎn)移的數(shù)據(jù)集。
?中文:所有數(shù)據(jù)集都可以評估,因為存在zero-shot跨語言遷移。
過濾測試數(shù)據(jù)集。遵循先前的做法(Brown et al, 2020;Rae et al .2021)和我們的上述標(biāo)準(zhǔn),我們過濾并避免報告潛在污染數(shù)據(jù)集的評估結(jié)果。對于LAMBADA和CLUE,我們發(fā)現(xiàn)在13-gram的設(shè)置下重疊最小。Pile、MMLU和BIG-bench要么held-out,要么晚于語料庫的爬取。?Pile,
MMLU, and BIG-bench are either held-out or released later than the crawling of corpora.
5.1 LANGUAGE MODELING
LAMBADA?(Paperno et al ., 2016)是一個測試最后一個單詞語言建模能力的數(shù)據(jù)集。先前圖2所示的結(jié)果表明,GLM-130B在雙向關(guān)注的情況下實現(xiàn)了80.2的zero-shot精度,在LAMBADA上創(chuàng)造了新的記錄。
Pile測試集(Gao et al ., 2020)包括一系列語言建模的基準(zhǔn)。平均而言,與GPT-3和Jurassic1 (Lieber et al, 2021)相比,GLM130B在其18個共享測試集上的加權(quán)BPB表現(xiàn)最好,后者的結(jié)果直接采用后者,顯示其強大的語言能力(詳見附錄C.4)。
表3:GLM-130B在Pile評價上的平均BPB(18個子數(shù)據(jù)集)
圖6:沿著訓(xùn)練步驟在MMLU(57個任務(wù))上的GLM-130B。
圖7:跨尺度的BIG-bench-lite評估(24個任務(wù))
表4:BIGbench-lite的詳細(xì)信息(24個任務(wù))。
5.2 MASSIVE MULTITASK LANGUAGE UNDERSTANDING (MMLU)
大規(guī)模多任務(wù)語言理解(mmlu)
MMLU (Hendrycks等人,2021)是一個多樣化的基準(zhǔn),包括57個選擇題回答任務(wù),涉及從高中水平到專家水平的人類知識。它是在Pile爬取之后發(fā)布的,是LLMs幾次學(xué)習(xí)的理想試驗臺。GPT-3結(jié)果采用MMLU, BLOOM-176B測試使用與GLM-130B相同的提示符(詳見附錄C.6和表15)。
在圖6中查看了大約300B個tokens后,GLM-130B在MMLU上的few-shot (5-shot) p性能接近GPT-3(43.9)。隨著訓(xùn)練的進(jìn)行,它繼續(xù)向上移動,當(dāng)訓(xùn)練必須結(jié)束時達(dá)到44.8的準(zhǔn)確率(即總共查看400B個tokens)。這與觀察結(jié)果(Hoffmann et al, 2022)一致,即大多數(shù)現(xiàn)有LLMs遠(yuǎn)未得到充分訓(xùn)練。
5.3 BEYOND THE IMITATION GAME BENCHMARK (BIG-BENCH)
5.3超越模仿游戲基準(zhǔn)(BIG-BENCH)
BIG-bench (Srivastava et al, 2022)對涉及模型推理、知識和常識能力的挑戰(zhàn)性任務(wù)進(jìn)行基準(zhǔn)測試??紤]到llm評估它的150個任務(wù)非常耗時,我們暫時報告了big -bench壽命——一個官方的24個任務(wù)子集合。從圖7和表4可以看出,在zero-shot設(shè)置中,GLM-130B優(yōu)于GPT-3 175B,甚至優(yōu)于PaLM 540B(比GPT-3 175B大4倍)。這可能是由于GLM-130B的雙向上下文注意和MIP,這已被證明可以改善看不見的任務(wù)中的zero-shot結(jié)果(Wei等人,2022a;Sanh et al, 2022)。隨著shot的增加,GLM-130B的性能不斷提高,保持了其優(yōu)于GPT-3的性能(各型號和任務(wù)的詳細(xì)信息參見附錄C.5和表14)。
限制和討論。在上述實驗中,我們觀察到GLM-130B隨著少彈樣本數(shù)量的增加,其性能的增長(13.31 ~ 15.12)不如GPT-3(4.35 ~ 13.18)顯著。下面是我們對這一現(xiàn)象的直觀理解。
首先,GLM-130B的雙向特性可能導(dǎo)致較強的zero-shot性能(如zero-shot語言建模所示),從而比單向LLMs更接近相似規(guī)模(即?100B-scale)模型的few-shot“上限”。其次,這也可能歸因于現(xiàn)有MIP范式的缺失(Wei et al ., 2022a;Sanh et al ., 2022),它只涉及訓(xùn)練中的zero-shot預(yù)測,并且可能會偏向GLM-130B,以獲得更強的zero-shot學(xué)習(xí),但相對較弱的上下文few-shot性能。為了糾正偏差,我們提出的一個潛在解決方案是使用帶有不同上下文樣本的MIP,而不僅僅是零樣本。
最后,盡管與GPT-3幾乎相同的GPT架構(gòu),PaLM 540B在使用少量上下文學(xué)習(xí)的情況下的相對增長要比GPT-3顯著得多。我們推測,這種性能增長的進(jìn)一步加速是PaLM高質(zhì)量和多樣化的私人收集的培訓(xùn)語料庫的來源。通過將我們的經(jīng)驗與(Hoffmann et al, 2022)的見解相結(jié)合,我們意識到應(yīng)該進(jìn)一步投入更好的架構(gòu)、更好的數(shù)據(jù)和更多的算力FLOPS。
5.4 CHINESE LANGUAGE UNDERSTANDING EVALUATION (CLUE)
我們評估了GLM-130B在既定的中國自然語言處理基準(zhǔn)CLUE (Xu et al ., 2020)和FewCLUE (Xu et al ., 2021)上的中國zero-shot性能。請注意,我們在MIP中不包括任何中國下游任務(wù)。到目前為止,我們已經(jīng)完成了兩個基準(zhǔn)的部分測試,包括7個CLUE和5個FewCLUE數(shù)據(jù)集(詳見附錄C.7)。我們將GLM-130B與現(xiàn)有最大的中文單語語言模型260B ERNIE Titan 3.0 (Wang et al, 2021)進(jìn)行了比較。我們遵循它的設(shè)置來報告開發(fā)數(shù)據(jù)集上的zero-shot結(jié)果。GLM-130B在12個任務(wù)中始終優(yōu)于ERNIE Titan 3.0(參見圖8)。有趣的是,GLM-130B在兩個抽象MRC數(shù)據(jù)集(DRCD和CMRC2018)上的表現(xiàn)至少比ERNIE好260%,這可能是由于GLM-130B的預(yù)訓(xùn)練目標(biāo)自然地與抽象MRC的形式產(chǎn)生共鳴。
Figure 8: GLM-130B and ERNIE Titan 3.0 260B evaluated on zero-shot CLUE and FewCLUE.
圖8:GLM-130B和ERNIE Titan 3.0 260B在zero-shot CLUE和FewCLUE上的評估。
6 RELATED WORK
在本節(jié)中,我們回顧了GLM-130B在預(yù)訓(xùn)練?LLMs的預(yù)訓(xùn)練、遷移和推理方面的相關(guān)工作(Qiu et al ., 2020;Bommasani et al, 2021)。
訓(xùn)練。香草語言建模指的是僅解碼器的自回歸模型(例如,GPT (Radford等人,2018)),但它也識別文本上任何形式的自我監(jiān)督目標(biāo)。
最近,基于變壓器的語言模型(Vaswani等人,2017)呈現(xiàn)出一種迷人的縮放規(guī)律:隨著模型的擴(kuò)展,新能力(Wei等人,2022b)從1.5B (Radford等人,2019),10b尺度的語言模型(rafael等人,2020;Shoeybi等人,2019;Black等人,2022),到100Bscale GPT-3 (Brown等人,2020)。后來,盡管有許多百萬級的?LLMs(Lieber et al, 2021;Thoppilan et al, 2022;Rae等,2021;Smith等人,2022;Chowdhery等人,2022;Wu等,2021;Zeng等,2021;Wang et al ., 2021)的中英文版本,它們不向公眾開放,或者只能通過有限的api訪問。?LLMs之間的緊密關(guān)系嚴(yán)重阻礙了其發(fā)展。GLM-130B的努力,以及最近的ElutherAI, OPT-175B (Zhang等人,2022)和BLOOM-176B (Scao等人,2022),旨在為我們的社區(qū)提供高質(zhì)量的開源?LLMs。
轉(zhuǎn)移。雖然微調(diào)實際上是遷移學(xué)習(xí)的一種方式,但由于?LLMs的規(guī)模巨大,對?LLMs的評估一直集中在提示和情境學(xué)習(xí)上(Brown等人,2020;Liu et al ., 2021a)。然而,最近的一些嘗試是關(guān)于語言模型的參數(shù)有效學(xué)習(xí)(Houlsby等人,2019)和提示調(diào)諧(即p調(diào)諧,Li & Liang (2021);Liu等(2021b);Lester et al (2021);Liu et al(2022))。目前我們暫不關(guān)注這些,將把它們在GLM-130B上的綜合測試留到以后的研究中。
推理。如今,大多數(shù)公眾可訪問的?LLMs都通過有限的api提供服務(wù)。在這項工作中,我們努力的一個重要部分是LLMs的高效和快速推理。相關(guān)工作可能包括蒸餾(Sanh等人,2019;Jiao等,2020;Wang et al, 2020),量化(Zafrir et al, 2019;沈等,2020;Tao et al ., 2022)和修剪(Michel et al ., 2019;Fan et al, 2019)。最近的研究(Dettmers等人,2022)表明,由于異常維數(shù)的特殊分布,OPT-175B和BLOOM-176B等LLMs可以量化為8位。在這項工作中,我們展示了GLM的INT4權(quán)重量化縮放定律,該定律允許GLM- 130b在最少4×RTX 3090 (24G) gpu或8×RTX 2080 Ti (11G) gpu上進(jìn)行推理。文章來源:http://www.zghlxwxcb.cn/news/detail-769695.html
7 CONCLUSION AND LESSONS
我們介紹GLM-130B,一種雙語預(yù)訓(xùn)練語言模型,旨在促進(jìn)開放和包容的LLM研究。GLM-130B的技術(shù)和工程事業(yè)為LLMs的架構(gòu)、預(yù)訓(xùn)練目標(biāo)、訓(xùn)練穩(wěn)定性和效率以及可負(fù)擔(dān)的推理提供了見解??傊兄贕LM-130B在112項任務(wù)的語言表現(xiàn)和偏見和毒性基準(zhǔn)的道德結(jié)果方面的高質(zhì)量。我們成功和失敗的經(jīng)驗都被濃縮成?100B-scale LLMs 訓(xùn)練的經(jīng)驗教訓(xùn),附在附錄B.10中。文章來源地址http://www.zghlxwxcb.cn/news/detail-769695.html
到了這里,關(guān)于【論文閱讀筆記】GLM-130B: AN OPEN BILINGUAL PRE-TRAINEDMODEL的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!