【报告】从GLM-130B到ChatGLM:大模型预训练与微调
【报告】从GLM-130B到ChatGLM:大模型预训练与微调
【报告】从GLM-130B到ChatGLM:大模型预训练与微调
尽染層林
编辑于 2023年06月23日 00:36
收录于文集
【AI视频总结/评论区观察】 · 39篇

我用gpt-3.5-turbo分析了本视频,并生成了一篇文章和带时间轴的要点总结,内容全部由gpt-3.5-turbo生成,我只对部分错别字进行了校对:

文章①:

由GPT-4写出的总结性文章:

标题:《从GLM-130B到ChatGLM:大模型预训练与微调的演变与挑战》

本文旨在回顾和总结B站视频【报告】从GLM-130B到ChatGLM:大模型预训练与微调的主要内容。视频首先从介绍GLM-130B的训练和相关技术开始,进而揭示了自然语言处理中的大部分任务尚未被完全解决。

视频深入讨论了大模型的规模效应,它导致了计算量的大幅增加。然而,当模型训练量达到10^23时,模型的强大能力才开始真正显现。这种能力体现在各种任务上,包括对国际英标的翻译。随着模型的计算量和规模达到一定程度,性能会逐渐提升,这种现象称为“涌现效应”。

OpenAI的ChatGPT模型就是这样一个例证,它能够流畅地与人类进行对话,并理解人类意图,提供质量上乘的回应。不仅如此,OpenAI的GPT系列模型也推动了语言模型的进步。

GLM团队早在2021年11月就开始了他们的研究工作,研发了生成式预训练模型,并在2021年5月发布了GLM模型。到了2023年,GLM团队又开发出了ChatGLM模型。他们的GLM-130B模型采用了与GPT-3不同的GLM架构进行训练,并且在中英双语、中文训练量充足且开源等方面显示出优越性。值得一提的是,GLM-130B在部分性能指标上超越了GPT-3。

大模型训练的一个挑战是训练成本高,需要使用大量GPU设备组成集群进行训练。GPU显存的进展速度相对较慢,因此大模型训练还面临着内存的挑战。视频中推荐使用混合精度训练,并尽可能采用16位浮点数。这时,BF16便是一种适用于大模型训练的精度格式。

同时,训练过程中的优化也十分关键。例如,采用Zero优化器实现了数据并行模式,将模型中的参数切分到多个显卡上,并插入适当的All reduce算子去实现数据同步。另一种优化方式是使用流水线并行,其中1F1B策略和采用Interleaved的1F1B策略可以降低内存峰值占用和气泡占比。最终,采用张量并行、流水线并行和数据并行的混合策略,可以有效解决内存峰值占用问题。

然而,仅仅解决了训练成本和优化问题并不足够,我们还需要提高大模型训练的稳定性。这可以通过低精度权衡、调整学习率、embedding Norm和BF16训练等方式来实现。此外,通过对模型显存消耗进行量化,将消耗降低到75%,也是一种有效的解决方法。

然后视频转向了强化学习方面,介绍了如何使用人类反馈强化学习调整模型的输出分布。收集了大约6.4K对人类反馈后,通过奖励模型反馈强化学习调整GPT输出分布。这一步骤对于提升生成质量有着重要的意义。

最后,视频讲述了ChatGLM的能力。它能完成多种文本任务,比如写邮件、剧本梗概等。在知识场景和推理场景中,ChatGLM的性能接近于ChatGPT。这令人深感振奋,因为这代表了真正的Scaling规模,远远超过了学术界的想象。

总的来说,虽然我们正在面临一些挑战,但是无论是从硬件资源,还是从优化策略、训练稳定性、强化学习等方面,我们都在朝着解决这些挑战的方向努力。未来,大模型预训练与微调的领域还将有更多令人兴奋的进展。

文章②:

标题:GLM团队在「NLG专委会真知论坛」分享了大型语言模型训练心得与ChatGLM模型开发过程

正文:

GLM团队近日在「NLG专委会真知论坛(GenTalk第7期)」中分享了他们在大型语言模型训练和ChatGLM模型开发过程中的研究成果和心得。

他们首先指出,自然语言处理面临的最大挑战是理解符号背后的语意。尽管大型语言模型的规模和训练数据不断扩大,但高昂的训练成本仍然是一个难题。此外,大型语言模型的生成能力已经影响到人类的准确性判断,这也引起了专家们的关注。

GLM团队在这方面有显著的成果,他们成功训练出了一个30B参数的千亿模型GLM-130B,该模型在各种任务上都表现优异。这一成就得益于他们使用的双向注意力机制,这种技术在处理Lambda任务时甚至超过了Palm模型的成绩。

与此同时,GLM团队开发的ChatGLM模型在开源后受到了全球69个国家和1000机构的需求。这款模型在许多任务上都显示出强大的性能,如撰写提纲、写邮件、介绍自己的优缺点、写剧本梗概、写代码等。在中文知识评测和UCB的LLM Arena中,ChatGLM也有着不错的表现。

然而,训练大型模型的过程并非易事,需要消耗大量的计算资源,且GPU显存增长缓慢也成为制约。为此,GLM团队采用了多种技术来提高训练效率,包括混合精度训练、动态缩放技术、FP32更新、选择性重计算技术以及All reduce数据并行策略等。

此外,他们还开发了一套适合预训练垂直领域模型的策略,建议首先收集高质量的领域语料进行预训练,然后加入更高领域相关的微调数据,以达到更好的表现。这一策略有望在不久的将来推动语言模型的发展。

在这次分享会上,GLM团队的这些研究成果和心得无疑为自然语言处理领域的专家们带来了深入的洞见,并将进一步推动语言模型的发展。

带时间轴的要点总结:

太长不看版:

[1-3] 自然语言处理和大型语言模型的挑战

[4-7] GLM团队的卓越成果:GLM-130B模型

[8-9] ChatGLM模型的需求与选择适合任务的模型架构

[10-13] 使用不同级别的Mask和改进Transformer的训练方法

[14-21] 面临的挑战:计算资源限制和并行计算的优化策略

[22-25] 解决显卡问题的并行策略与实现

[26-27] 大模型训练的优化方法和量化策略

[28-30] 提升自然语言生成模型性能的方法

[31-32] ChatGLM模型的应用和表现

[33-36] 面临的挑战:Scaling规模的增加和硬件配置需求

[37-40] 处理超长文本和预训练垂直领域模型的建议

分点摘要:

1. [00:02:10.800] 自然语言处理面临的挑战是理解符号背后的语意。

2. [00:03:48.800] 大型语言模型的规模和训练数据不断扩大,但训练成本高昂。

3. [00:06:20.600] 大型语言模型的生成能力已经影响到人类的准确性判断。

4. [00:09:14.400] OpenAI 推出了一系列 GPT 类模型,极大地推动了语言模型的进展。

5. [00:12:52.800] GLM团队成功训练出30B的千亿模型。

6. [00:14:19.000] GLM团队自研的GLM130B在各种任务上表现优异。

7. [00:15:11.800] GLM团队使用双向注意力机制,在Lambada任务上超过Palm模型的成绩。

8. [00:16:09.000] ChatGLM模型在开源后受到全球69个国家1000机构的需求。

9. [00:18:07.000] 不同任务需要选择适合预训练和任务的模型架构。

10. [00:19:35.000] 使用不同级别的Mask可以让模型适应不同的任务,如单词级别的Mask和文档级别的Mask。

11. [00:21:25.700] Google使用UR2的训练指标去训练U-PaLM模型,性能大幅提升。

12. [00:23:36.400] DeepMap通过调整残差以及更改初始化方式,成功稳定训练了一个千层的Post-LN机制的Transformer。

13. [00:24:53.200] Transformer采用位置编码表示token之间的顺序,相对位置编码比较流行,其中alibi和rope是常用的position embedding方式。

14. [00:28:00.500] 大模型训练需要消耗大量的计算资源,成本很高,同时GPU显存增长缓慢也成为制约。

15. [00:29:47.200] 并行计算是训练大模型面临的一个挑战,混合精度训练是提升性能的方法之一。

16. [00:32:23.200] 动态缩放技术和FP32更新可以解决混合精度训练中的下溢问题,提高训练的稳定性和收敛效果。

17. [00:34:45.700] 混合精度训练中的选择性重计算技术可以在减少重复计算量的同时,缓解GPU内存不足的问题。

18. [00:35:04.000] 目前Transformer架构使用选择性重计算技术,可以在合理的内存范围内降低重计算损耗。

19. [00:35:09.800] 选择性重计算技术可以降低重复计算量,提高训练效果。

20. [00:36:18.300] All reduce是流行的数据并行策略,通过一次操作实现负载均衡。

21. [00:38:08.500] Zero优化器可以消除数据并行中的冗余,结合Pipeline使用更常用的可能是Zero Stage 1和Zero Stage 2。

22. [00:40:12.600] 数据并行模式无法解决放不下一张显卡的问题,需要使用流水线并行的策略。

23. [00:43:24.000] 1F1B执行一个输入的Forward和Backward后,保持稳定态以降低内存占用。

24. [00:45:19.200] 使用zero stage 1、模型并行、张量并行、流水线并行和zero stage 3并行策略可以高效训练。

25. [00:46:28.500] 多种并行技术可优化大模型训练,3D并行策略可逐步提高硬件利用率,采用32位中间计算器避免溢出问题。

26. [00:49:45.500] 减少量化损失可采用模型选择和超参数调整方法,采用int4规模处理千亿规模模型,GLM模型的注意力矩阵权重分布有利于量化效果。

27. [00:52:19.100] 在自然语言生成模型中,prompt的设置和Chat类模型的使用对输出结果影响较大。

28. [00:53:45.800] 互联网语料的基座模型输出与人的语言偏好可能不一致,消除噪声和调整模型输出至高质量数据可使用RLHF等优化方法。

29. [00:55:32.400] 强化学习和reward model概念可用于微调语言模型以提升性能,评价指标需采用科学的方法。

30. [00:57:44.400] ChatGLM模型可用于多种任务,如撰写提纲、写邮件、介绍自己的优缺点、写剧本梗概、写代码等。

31. [00:57:48.100] ChatGLM模型可应用于多种场景,如撰写提纲、写邮件等。

32. [00:58:27.200] ChatGLM在中文知识评测和UCB的LLM Arena中表现不错。

33. [01:02:39.700] 随着Scaling规模的增加,需要探索高效学习数据的方法,如引入MOE架构、预训练等。

34. [01:09:23.700] 计算token数量存在问题,不是百分百的学习效率。

35. [01:09:32.800] 预训练和SFT的方式基本相同,但RL可提升模型性能。

36. [01:10:06.300] 训练大模型需要高效的硬件配置,如130B模型在80g GPU上需要8台。

37. [01:14:37.840] 处理文本长度超过模型上限的方法:

38. 可使用相对位置编码、parallel context window或nbce方法来解决。相对位置编码可以处理无限长的文本建模,parallel context window可以用于多个文档的输入和相对位置关系,nbce方法可以用于处理长文本的建模。

39. [01:15:54.140] 预训练垂直领域模型的建议:

40. 需要先收集高质量的领域语料进行预训练,再加入更高领域相关的微调数据,以达到更好的表现。如果数据质量不能满足需求,建议先构建知识库,直接使用而不需要微调模型。

评论
赞与转发