【報(bào)告】從GLM-130B到ChatGLM:大模型預(yù)訓(xùn)練與微調(diào)

我用gpt-3.5-turbo分析了本視頻,并生成了一篇文章和帶時(shí)間軸的要點(diǎn)總結(jié),內(nèi)容全部由gpt-3.5-turbo生成,我只對(duì)部分錯(cuò)別字進(jìn)行了校對(duì):
文章:
標(biāo)題:GLM團(tuán)隊(duì)在「NLG專(zhuān)委會(huì)真知論壇」分享了大型語(yǔ)言模型訓(xùn)練心得與ChatGLM模型開(kāi)發(fā)過(guò)程
正文:
GLM團(tuán)隊(duì)近日在「NLG專(zhuān)委會(huì)真知論壇(GenTalk第7期)」中分享了他們?cè)诖笮驼Z(yǔ)言模型訓(xùn)練和ChatGLM模型開(kāi)發(fā)過(guò)程中的研究成果和心得。
他們首先指出,自然語(yǔ)言處理面臨的最大挑戰(zhàn)是理解符號(hào)背后的語(yǔ)意。盡管大型語(yǔ)言模型的規(guī)模和訓(xùn)練數(shù)據(jù)不斷擴(kuò)大,但高昂的訓(xùn)練成本仍然是一個(gè)難題。此外,大型語(yǔ)言模型的生成能力已經(jīng)影響到人類(lèi)的準(zhǔn)確性判斷,這也引起了專(zhuān)家們的關(guān)注。
GLM團(tuán)隊(duì)在這方面有顯著的成果,他們成功訓(xùn)練出了一個(gè)30B參數(shù)的千億模型GLM-130B,該模型在各種任務(wù)上都表現(xiàn)優(yōu)異。這一成就得益于他們使用的雙向注意力機(jī)制,這種技術(shù)在處理Lambda任務(wù)時(shí)甚至超過(guò)了Palm模型的成績(jī)。
與此同時(shí),GLM團(tuán)隊(duì)開(kāi)發(fā)的ChatGLM模型在開(kāi)源后受到了全球69個(gè)國(guó)家和1000機(jī)構(gòu)的需求。這款模型在許多任務(wù)上都顯示出強(qiáng)大的性能,如撰寫(xiě)提綱、寫(xiě)郵件、介紹自己的優(yōu)缺點(diǎn)、寫(xiě)劇本梗概、寫(xiě)代碼等。在中文知識(shí)評(píng)測(cè)和UCB的LLM Arena中,ChatGLM也有著不錯(cuò)的表現(xiàn)。
然而,訓(xùn)練大型模型的過(guò)程并非易事,需要消耗大量的計(jì)算資源,且GPU顯存增長(zhǎng)緩慢也成為制約。為此,GLM團(tuán)隊(duì)采用了多種技術(shù)來(lái)提高訓(xùn)練效率,包括混合精度訓(xùn)練、動(dòng)態(tài)縮放技術(shù)、FP32更新、選擇性重計(jì)算技術(shù)以及All reduce數(shù)據(jù)并行策略等。
此外,他們還開(kāi)發(fā)了一套適合預(yù)訓(xùn)練垂直領(lǐng)域模型的策略,建議首先收集高質(zhì)量的領(lǐng)域語(yǔ)料進(jìn)行預(yù)訓(xùn)練,然后加入更高領(lǐng)域相關(guān)的微調(diào)數(shù)據(jù),以達(dá)到更好的表現(xiàn)。這一策略有望在不久的將來(lái)推動(dòng)語(yǔ)言模型的發(fā)展。
在這次分享會(huì)上,GLM團(tuán)隊(duì)的這些研究成果和心得無(wú)疑為自然語(yǔ)言處理領(lǐng)域的專(zhuān)家們帶來(lái)了深入的洞見(jiàn),并將進(jìn)一步推動(dòng)語(yǔ)言模型的發(fā)展。
帶時(shí)間軸的要點(diǎn)總結(jié):
太長(zhǎng)不看版:
[1-3] 自然語(yǔ)言處理和大型語(yǔ)言模型的挑戰(zhàn)
[4-7] GLM團(tuán)隊(duì)的卓越成果:GLM-130B模型
[8-9] ChatGLM模型的需求與選擇適合任務(wù)的模型架構(gòu)
[10-13] 使用不同級(jí)別的Mask和改進(jìn)Transformer的訓(xùn)練方法
[14-21] 面臨的挑戰(zhàn):計(jì)算資源限制和并行計(jì)算的優(yōu)化策略
[22-25] 解決顯卡問(wèn)題的并行策略與實(shí)現(xiàn)
[26-27] 大模型訓(xùn)練的優(yōu)化方法和量化策略
[28-30] 提升自然語(yǔ)言生成模型性能的方法
[31-32] ChatGLM模型的應(yīng)用和表現(xiàn)
[33-36] 面臨的挑戰(zhàn):Scaling規(guī)模的增加和硬件配置需求
[37-40] 處理超長(zhǎng)文本和預(yù)訓(xùn)練垂直領(lǐng)域模型的建議
分點(diǎn)摘要:
1. [00:02:10.800] 自然語(yǔ)言處理面臨的挑戰(zhàn)是理解符號(hào)背后的語(yǔ)意。
2. [00:03:48.800] 大型語(yǔ)言模型的規(guī)模和訓(xùn)練數(shù)據(jù)不斷擴(kuò)大,但訓(xùn)練成本高昂。
3. [00:06:20.600] 大型語(yǔ)言模型的生成能力已經(jīng)影響到人類(lèi)的準(zhǔn)確性判斷。
4. [00:09:14.400] OpenAI 推出了一系列 GPT 類(lèi)模型,極大地推動(dòng)了語(yǔ)言模型的進(jìn)展。
5. [00:12:52.800] GLM團(tuán)隊(duì)成功訓(xùn)練出30B的千億模型。
6. [00:14:19.000] GLM團(tuán)隊(duì)自研的GLM130B在各種任務(wù)上表現(xiàn)優(yōu)異。
7. [00:15:11.800] GLM團(tuán)隊(duì)使用雙向注意力機(jī)制,在Lambada任務(wù)上超過(guò)Palm模型的成績(jī)。
8. [00:16:09.000] ChatGLM模型在開(kāi)源后受到全球69個(gè)國(guó)家1000機(jī)構(gòu)的需求。
9. [00:18:07.000] 不同任務(wù)需要選擇適合預(yù)訓(xùn)練和任務(wù)的模型架構(gòu)。
10. [00:19:35.000] 使用不同級(jí)別的Mask可以讓模型適應(yīng)不同的任務(wù),如單詞級(jí)別的Mask和文檔級(jí)別的Mask。
11. [00:21:25.700] Google使用UR2的訓(xùn)練指標(biāo)去訓(xùn)練U-PaLM模型,性能大幅提升。
12. [00:23:36.400] DeepMap通過(guò)調(diào)整殘差以及更改初始化方式,成功穩(wěn)定訓(xùn)練了一個(gè)千層的Post-LN機(jī)制的Transformer。
13. [00:24:53.200] Transformer采用位置編碼表示token之間的順序,相對(duì)位置編碼比較流行,其中alibi和rope是常用的position embedding方式。
14. [00:28:00.500] 大模型訓(xùn)練需要消耗大量的計(jì)算資源,成本很高,同時(shí)GPU顯存增長(zhǎng)緩慢也成為制約。
15. [00:29:47.200] 并行計(jì)算是訓(xùn)練大模型面臨的一個(gè)挑戰(zhàn),混合精度訓(xùn)練是提升性能的方法之一。
16. [00:32:23.200] 動(dòng)態(tài)縮放技術(shù)和FP32更新可以解決混合精度訓(xùn)練中的下溢問(wèn)題,提高訓(xùn)練的穩(wěn)定性和收斂效果。
17. [00:34:45.700] 混合精度訓(xùn)練中的選擇性重計(jì)算技術(shù)可以在減少重復(fù)計(jì)算量的同時(shí),緩解GPU內(nèi)存不足的問(wèn)題。
18. [00:35:04.000] 目前Transformer架構(gòu)使用選擇性重計(jì)算技術(shù),可以在合理的內(nèi)存范圍內(nèi)降低重計(jì)算損耗。
19. [00:35:09.800] 選擇性重計(jì)算技術(shù)可以降低重復(fù)計(jì)算量,提高訓(xùn)練效果。
20. [00:36:18.300] All reduce是流行的數(shù)據(jù)并行策略,通過(guò)一次操作實(shí)現(xiàn)負(fù)載均衡。
21. [00:38:08.500] Zero優(yōu)化器可以消除數(shù)據(jù)并行中的冗余,結(jié)合Pipeline使用更常用的可能是Zero Stage 1和Zero Stage 2。
22. [00:40:12.600] 數(shù)據(jù)并行模式無(wú)法解決放不下一張顯卡的問(wèn)題,需要使用流水線并行的策略。
23. [00:43:24.000] 1F1B執(zhí)行一個(gè)輸入的Forward和Backward后,保持穩(wěn)定態(tài)以降低內(nèi)存占用。
24. [00:45:19.200] 使用zero stage 1、模型并行、張量并行、流水線并行和zero stage 3并行策略可以高效訓(xùn)練。
25. [00:46:28.500] 多種并行技術(shù)可優(yōu)化大模型訓(xùn)練,3D并行策略可逐步提高硬件利用率,采用32位中間計(jì)算器避免溢出問(wèn)題。
26. [00:49:45.500] 減少量化損失可采用模型選擇和超參數(shù)調(diào)整方法,采用int4規(guī)模處理千億規(guī)模模型,GLM模型的注意力矩陣權(quán)重分布有利于量化效果。
27. [00:52:19.100] 在自然語(yǔ)言生成模型中,prompt的設(shè)置和Chat類(lèi)模型的使用對(duì)輸出結(jié)果影響較大。
28. [00:53:45.800] 互聯(lián)網(wǎng)語(yǔ)料的基座模型輸出與人的語(yǔ)言偏好可能不一致,消除噪聲和調(diào)整模型輸出至高質(zhì)量數(shù)據(jù)可使用RLHF等優(yōu)化方法。
29. [00:55:32.400] 強(qiáng)化學(xué)習(xí)和reward model概念可用于微調(diào)語(yǔ)言模型以提升性能,評(píng)價(jià)指標(biāo)需采用科學(xué)的方法。
30. [00:57:44.400] ChatGLM模型可用于多種任務(wù),如撰寫(xiě)提綱、寫(xiě)郵件、介紹自己的優(yōu)缺點(diǎn)、寫(xiě)劇本梗概、寫(xiě)代碼等。
31. [00:57:48.100] ChatGLM模型可應(yīng)用于多種場(chǎng)景,如撰寫(xiě)提綱、寫(xiě)郵件等。
32. [00:58:27.200] ChatGLM在中文知識(shí)評(píng)測(cè)和UCB的LLM Arena中表現(xiàn)不錯(cuò)。
33. [01:02:39.700] 隨著Scaling規(guī)模的增加,需要探索高效學(xué)習(xí)數(shù)據(jù)的方法,如引入MOE架構(gòu)、預(yù)訓(xùn)練等。
34. [01:09:23.700] 計(jì)算token數(shù)量存在問(wèn)題,不是百分百的學(xué)習(xí)效率。
35. [01:09:32.800] 預(yù)訓(xùn)練和SFT的方式基本相同,但RL可提升模型性能。
36. [01:10:06.300] 訓(xùn)練大模型需要高效的硬件配置,如130B模型在80g GPU上需要8臺(tái)。
37. [01:14:37.840] 處理文本長(zhǎng)度超過(guò)模型上限的方法:
38. 可使用相對(duì)位置編碼、parallel context window或nbce方法來(lái)解決。相對(duì)位置編碼可以處理無(wú)限長(zhǎng)的文本建模,parallel context window可以用于多個(gè)文檔的輸入和相對(duì)位置關(guān)系,nbce方法可以用于處理長(zhǎng)文本的建模。
39. [01:15:54.140] 預(yù)訓(xùn)練垂直領(lǐng)域模型的建議:
40. 需要先收集高質(zhì)量的領(lǐng)域語(yǔ)料進(jìn)行預(yù)訓(xùn)練,再加入更高領(lǐng)域相關(guān)的微調(diào)數(shù)據(jù),以達(dá)到更好的表現(xiàn)。如果數(shù)據(jù)質(zhì)量不能滿(mǎn)足需求,建議先構(gòu)建知識(shí)庫(kù),直接使用而不需要微調(diào)模型。