ChatGLM:从 GLM-130B 到 GLM-4,一个不断进化的语言模型家族

ChatGPT 的横空出世,其强大的能力最初得益于 2022 年 11 月发布的 GPT-3.5 模型 [25],并在 2023 年 3 月升级到 GPT-4 [27]。OpenAI 表示,GPT-3.5 系列在 GPT-3 的基础上,通过指令微调、监督微调 (SFT) 和/或来自人类反馈的强化学习 (RLHF) [28] 进行了改进。2020 年发布的 GPT-3 [3] 在参数规模上实现了巨大飞跃,从 GPT-1 的 1.17 亿个参数和 GPT-2 的 15 亿个参数,提升至 1750 亿个参数。这种规模的提升使 GPT-3 具备了上下文学习和泛化能力,也推动了大型语言模型 (LLMs) 的兴起 [6; 41]。

受 GPT-3 的启发,我们提出了通用语言模型 (GLM) 架构 [11],并于 2021 年开源了 GLM-10B 模型(参见图 1 中的 GLM 时间线)。从 2021 年底开始,我们开始预训练 GLM-130B [54]。目标是训练一个 1000 亿规模的模型,以匹配或超越 GPT-3(davinci),同时验证在这一规模上成功训练模型的技术,以及其他努力,如 OPT-175B [55] 和 BLOOM-176B [32]。我们于 2022 年 7 月完成了 GLM-130B 的 4000 亿个 token 的训练和评估,并在 8 月发布了模型和预训练细节 [54]。根据 2022 年 11 月的 HELM 数据,GLM-130B 在各个维度上都与 GPT-3(davinci)相当 [19]。

在此之后,我们开始对 GLM-130B 进行指令微调。后来,ChatGPT 进一步促使我们使用 SFT 和 RLHF 对基础模型进行对齐。我们从头开始创建和整理了提示-响应对,并执行了 SFT,同时开始研究如何有效地应用 RLHF。2023 年 3 月 14 日,对齐后的模型 ChatGLM-130B 在 https://chatglm.cn 上上线。此外,我们还在同一天开源了更小版本的 ChatGLM-6B [13],它吸引了比预期多得多的关注。它的设计参数为 62 亿,旨在:1)促进预训练和后训练技术以及数据选择的快速迭代;2)使用 INT4 量化在消费级显卡上进行本地部署。从那时起,我们一直在快速探索和改进我们的预训练和对齐技术,每隔三个月就会发布第二代和第三代 ChatGLM 系列,这两代模型都是从头开始预训练的。

ChatGLM-6B 在大约一万亿个中英文语料库上进行预训练,上下文长度为 2048(2K),主要通过 SFT 进行补充。ChatGLM2-6B 于 6 月发布,在更多更好的数据上进行预训练和对齐,与前一代相比有了显著改进,包括 MMLU 提高了 23%,GSM8K 提高了 571%,BBH 提高了 60%。通过采用 FlashAttention 技术 [8],其上下文长度扩展到 32K。此外,多查询注意力 (Multi-Query Attention) [34] 的整合使推理速度提高了 42%。更进一步,我们开发了第二代代码模型 CodeGeeX2-6B,它在另外 6000 亿个代码 token 上进行预训练。它在 HumanEval-X 的衡量下,展示了与第一代模型 CodeGeeX-13B [58] 相比,Pass@1 有所提高,在 Python 上提高了 57%,在 C++ 上提高了 71%,在 Java 上提高了 54%,在 JavaScript 上提高了 83%,在 Go 上提高了 56%。通过进一步实现更多样化的训练数据集、更充足的训练步骤和更优化的训练策略,ChatGLM3-6B 在语义、数学、推理、代码和知识方面超过了 42 个基准。从这一代开始,ChatGLM 还支持函数调用和代码解释器,以及复杂的任务 [9; 36; 51]。在这些开发过程中,我们还开发了参数规模为 15 亿、30 亿、120 亿、320 亿、660 亿和 1300 亿的模型,使我们能够验证我们的观察结果并建立我们自己的扩展定律。

吸取了所有经验教训,我们开始了 GLM-4 的训练。第一个截止检查点随后经历了多阶段的后训练过程(例如,SFT、RLHF、安全对齐),目前重点关注中英文。随后,它被开发成两个不同的版本:GLM-4 和 GLM-4 All Tools,两者都支持 128K 的上下文长度。从 2024 年 1 月 16 日起,GLM-4(0116)已通过 GLM-4 API 在 https://bigmodel.cn 上提供,GLM-4 All Tools 可通过网站 https://chatglm.cn 和支持创建自己的代理(GLMs)的移动应用程序访问。最新的模型是 GLM-4(0520)和 GLM-4-Air(0605),它们在预训练和对齐方面都有所升级。GLM-4-Air 在保持与 GLM-4(0116)相当的性能的同时,降低了延迟和推理成本。GLM-4 的评估是在各种语言基准上进行的。这些评估评估了 GLM-4 在英语中的通用能力、英语和中文的指令遵循能力、以及中文的对齐、长上下文和代理能力。

首先,在最常用的英语学术基准上,包括 MMLU、GSM8K、MATH、BBH、GPQA 和 HumanEval,GLM-4 0520 的性能与 GPT-4 0613 [27] 和 Gemini 1.5 Pro [40] 相当。例如,它在 MMLU 上的得分分别为 83.3、86.4 和 83.7。其次,根据 IFEval [61],GLM-4 在提示和指令级别上的指令遵循能力与 GPT-4-Turbo 在英语和中文中的能力相当。第三,在中文语言对齐方面,GLM-4 在 AlignBench [21] 的八个维度上都超越了 GPT-4,并与 GPT-4-Turbo 相匹配。最后,在长上下文任务中,GLM-4(128K)模型的性能与 GPT-4 Turbo 和 Claude 3 Opus 相匹配,如 LongBench-Chat [1] 所测,分别为 87.3、87.2 和 87.7。

GLM-4 All Tools 模型专门针对更好地理解用户意图和自主选择最合适的工具来完成任务进行了对齐。例如,它可以以多轮方式通过网页浏览器访问在线信息,使用 Python 解释器解决数学问题,利用文本到图像模型生成图像,以及调用用户定义的函数。图 2 展示了 GLM-4 All Tools 使用网页浏览器和 Python 解释器来解决用户查询“搜索 2000 年至 2023 年的全球人口,然后计算年平均增长率”的示例。我们的第一手测试表明,它不仅与 GPT-4 All Tools 的能力相匹配,而且在常见任务中往往超过了它。

继我们三代开源 ChatGLM-6B 模型之后,我们还开源了 GLM-4-9B(128K 和 1M 上下文长度)模型。GLM-4-9B 在大约一万亿个多语言语料库上进行预训练,上下文长度为 8192(8K),并使用与 GLM-4(0520)相同的管道和数据进行后训练。在训练计算量较少的情况下,它超越了 Llama-3-8B [24],并支持 GLM-4 中所有工具的功能。我们还提供了一个实验模型 GLM-4-9B-Chat-1M,其上下文长度为 100 万(1M)(约 200 万个汉字)。表 1 展示了三代 ChatGLM-6B 模型和 GLM-4-9B 的性能,说明了 ChatGLM 随着时间的推移而不断改进。

图 3 总结了从 GLM-130B 到 GLM-4 All Tools 的主要改进和功能。在这段旅程中,我们还为代码 LLMs(CodeGeeX [58])以及用于图像理解的视觉语言模型(CogVLM [45] 和 CogAgent [16])和文本到图像生成(CogView [10; 59])的开源开发做出了贡献。开源模型和数据可以通过 https://github.com/THUDMhttps://huggingface.co/THUDM 访问。

ChatGLM 技术

在本节中,我们将介绍我们在 ChatGLM 中采用和开发的预训练和后训练技术,包括模型架构、预训练数据、对齐和 All Tools。我们已经发布了详细的技术报告,介绍了我们用来达到 GLM-4 的每项主要技术的细节。

预训练数据

我们的预训练语料库由来自不同来源的多语言(主要是英语和中文)文档组成,包括网页、维基百科、书籍、代码和论文。数据处理流程主要包括三个阶段:去重、过滤和分词。去重阶段通过去除重复或相似的文档来提高数据多样性,包括精确去重和模糊去重。过滤阶段通过去除包含攻击性语言、占位符文本、源代码等噪音文档来提高数据质量。分词阶段将文本转换为一系列 token,以便进行进一步处理。预训练数据中的 token 数量直接影响模型训练速度。为了优化这方面,我们采用字节级字节对编码 (BPE) 算法 [33],分别学习中文和多语言 token,并将它们与 tiktoken [26] 中 cl100k_base tokenizer 的 token 合并成一个统一的词汇表,大小为 150,000。在最终的训练集中,我们重新调整了不同来源的权重,以提高书籍和维基百科等高质量和教育性来源的比例。为此,预训练语料库包含大约一万亿个 token。

在 ChatGLM 开发的四代过程中,我们的发现与现有研究结果一致 [60]:数据质量和多样性对于构建有效的 LLMs 至关重要。尽管我们从经验教训中获得了经验和见解,但迄今为止,我们还没有找到可以指导数据收集、清理和选择过程的基本原则。

架构

GLM 家族的 LLMs 是基于 Transformer [43] 构建的。在 GLM-130B [54] 中,我们探索了各种选项来稳定其预训练,同时考虑了我们当时面临的硬件限制。具体来说,GLM-130B 利用 DeepNorm [44] 作为层归一化策略,并使用旋转位置编码 (RoPE) [38] 以及带有 GeLU [15] 激活函数的门控线性单元 (GLU) [35] 在 FFNs 中。在我们的探索过程中,我们研究了不同的策略来提高模型性能和推理效率。最新的 GLM-4 模型采用以下架构设计选择。

  • 除了 QKV 之外没有偏差: 为了提高训练速度,我们去除了所有偏差项,除了注意力层的 Query、Key 和 Value (QKV) 中的偏差。这样做,我们观察到长度外推略有改善。
  • RMSNorm 和 SwiGLU: 我们采用 RMSNorm 和 SwiGLU 分别替换 LayerNorm 和 ReLU。这两个策略被观察到具有更好的模型性能。
  • 旋转位置嵌入 (RoPE): 我们将 RoPE 扩展到二维形式,以适应 GLM 中的二维位置编码。
  • 分组查询注意力 (GQA): 我们用分组查询注意力 (GQA) 替换多头注意力 (MHA),以减少推理过程中的 KV 缓存大小。由于 GQA 使用的参数少于 MHA,因此我们增加了 FFN 参数数量,以保持相同的模型大小,即设置 dffn 为隐藏大小的 10/3。

我们模型的上下文长度从 2K(ChatGLM)扩展到 32K(ChatGLM2 和 ChatGLM3),以及 128K 和 1M(GLM-4)。这种扩展不仅通过上下文扩展(位置编码扩展 [30; 5] 和长文本的持续训练 [47])实现,而且通过长上下文对齐实现,使 GLM-4 能够有效地处理长上下文(参见 [1] 获取技术细节)。

对齐

预训练为 LLMs 打下了基础,而后训练 [28] 进一步细化了这些模型,使其与人类的偏好相一致,例如理解人类意图、遵循指令和促进多轮对话。对于 GLM-4,对齐主要通过监督微调 (SFT) 和来自人类反馈的强化学习 (RLHF) [17] 实现。在 SFT 中,我们发现真实的人类提示和交互,而不是基于模板或模型生成的响应,对于对齐质量至关重要。虽然 SFT 在很大程度上使基础模型与人类的偏好相一致,但 RLHF 可以进一步帮助缓解响应拒绝、安全、生成双语 token 的混合以及多轮一致性等问题。

对于第一代模型(ChatGLM-6B 和 ChatGLM-130B),提示-响应对主要由模型开发者标注。对于后来的模型,对齐数据是内部标注数据和从第三方获得的专有数据的组合,并经过相对严格的质量控制措施。与现有做法类似 [42],标注者被指示从多个维度对模型响应进行评分,包括安全性、真实性、相关性、帮助性和人类偏好。

ChatGLM 技术

在 ChatGLM 的开发过程中,我们已经引入了并将在未来发布用于增强其性能的技术。

  • LLMs 的涌现能力 [12]: 我们研究了预训练损失与下游任务性能之间的关系,发现对于相同的预训练损失,不同模型大小和训练 token 的 LLMs 会产生相同的下游性能。我们还发现,在某些任务(例如 MMLU 和 GSM8K)上,只有当预训练损失低于某个阈值时,性能才会超过随机机会。因此,我们将涌现能力重新定义为那些由预训练损失较低的模型表现出的能力 [12]。
  • LongAlign [1]: 为了扩展 LLMs 的上下文窗口大小,我们提出了 LongAlign——一个用于长上下文对齐的综合方案。它使 GLM-4 能够处理长上下文文本(最多 128K 个 token),其性能与 Claude 2 和 GPT-4 Turbo(1106)相当。
  • ChatGLM-Math [48]: 为了改进 LLMs 中的数学问题求解,我们引入了 ChatGLM-Math,它利用自我批评而不是外部模型或手动标注来进行数据选择。
  • ChatGLM-RLHF [17]: 为了使 LLMs 与人类反馈相一致,我们引入了 ChatGLM-RLHF——我们在 LLMs 中应用 PPO 和 DPO 的实践。
  • 自对比 [22]: 为了避免对昂贵的人类偏好反馈数据的需求,我们开发了一种无反馈对齐策略——自对比。它利用目标 LLM 本身来为其 RLHF 对齐自生成大量负样本。
  • AgentTuning [53]: 为了提高 LLMs 的代理能力,我们开发了 AgentTurning 框架,以及包含代理与环境之间高质量交互轨迹的 AgentInstruct 指令微调数据集。
  • APAR [20]: 为了提高 LLMs 对具有层次结构的响应的推理速度,我们提出了一种自动并行自动回归 (APAR) 生成方法。它利用指令微调来训练 LLMs 计划其(并行)生成过程并执行 APAR 生成。
  • 基准: 我们还开发了几个开放的 LLM 基准,包括用于评估 LLMs 作为代理的 AgentBench [23]、用于评估 LLMs 的长上下文处理性能的 LongBench [2]、用于衡量 ChatGLM 与中文内容对齐质量的 AlignBench [1]、用于评估 HumanEval [4] 问题在 Python 以外的编程语言中的 HumanEval-X [58],以及用于衡量模型解决实际编程任务能力的 NaturalCodeBench (NCB)。

GLM-4 All Tools

最新的 ChatGLM 模型是 GLM-4 和 GLM-4 All Tools,它们都使用上述技术进行训练和对齐。GLM-4 All Tools 是一个进一步对齐以支持智能代理和相关任务的模型版本。它可以自主理解用户意图,规划复杂的指令,并调用一个或多个工具(例如,网页浏览器、Python 解释器和文本到图像模型)来完成复杂的任务。图 4 展示了 GLM-4 All Tools 系统的整体流程。当用户发出一个复杂的请求时,模型会分析任务并逐步规划解决过程。如果它确定无法独立完成任务,它将依次调用一个或多个外部工具,利用它们的中间反馈和结果来帮助解决任务。

基于 GLM-4 的所有工具功能,我们还开发了 GLMs 应用程序平台,允许用户为特定任务创建和自定义自己的代理。GLMs 不仅支持嵌入式 Python 解释器、网页浏览器、文本到图像模型,还支持用户定义的函数、API 和外部知识库,以更有效地满足用户需求。

GLM-4 能力

我们从多个角度考察 GLM-4 模型的能力,包括在学术基准上的基础能力、代码问题解决能力、英语环境中的代理能力、以及指令遵循能力、中英文的长上下文能力,以及中文的对齐能力。如前所述,GLM-4 主要在中英文上进行预训练,并主要对齐到中文。在本节中,我们主要报告最新 GLM-4 版本(即 GLM-4(0520)和 GLM-4-Air(0605))的结果,因为 GLM-4(0520)在评估的基准上略好于其原始的 0116 版本。在评估期间,GLM-4 和 GLM-4-Air 都以 BFloat16 精度进行部署。

对于基线,我们展示了 GPT-4(0603)、GPT-4 Turbo(1106,2024-04-09)、Claude 2、Claude 3 Opus 和 Gemini 1.5 Pro 的结果,所有这些结果都是从相应的技术报告中提取或通过其公共 API 进行测试的。

总的来说,GLM-4 在标准基准、指令遵循、长上下文、代码问题解决和英语环境中的代理能力方面,与最先进的模型(GPT-4-Turbo、Gemini 1.5 Pro 和 Claude 3 Opus)相近。在中文对齐方面,它在各个领域(如基础语言能力、高级中文理解、专业知识和开放式问题)上都表现出强大的性能,与 SOTA 模型相比。总之,GLM-4 在中文语言任务方面处于领先地位。它还展示了与 GPT-4 和 Claude 3 Opus 在中文数学和逻辑推理能力方面相当的性能,尽管它落后于 GPT-4 Turbo。

3.1 学术基准评估

为了评估基础模型的总体性能,我们选择了六个常用的基准,涵盖知识、数学、推理、常识和编码:

  • MMLU [14]: 从各种考试中收集的多项选择题,包括数学、历史、计算机科学等等。我们将所有答案提供给模型,并要求它选择答案的字母。
  • GSM8K [7]: 8500 道小学数学应用题(测试集中有 1000 道),要求模型使用数学概念解决现实生活中的情境问题。我们为此基准使用链式思维提示 [46]。
  • MATH: 12500 道具有挑战性的竞赛级数学题(测试集中有 5000 道)。我们为此基准使用链式思维提示 [46]。
  • BBH [39]: 一套 23 个具有挑战性的 BIG-Bench [37] 任务。我们为此基准使用链式思维提示 [46]。
  • GPQA [31]: 生物学、化学和物理学中的研究生级多项选择基准。
  • HumanEval [4]: 一个编码基准,通过自动测试用例检查来衡量合成函数的正确性。

我们将 GLM-4 的性能与原始 GPT-4 [27] 进行比较。结果如表 2 所示。我们可以观察到,GLM-4 在 MMLU 上的准确率达到了 GPT-4 的 96.3%,并在其他基准上超过了 GPT-4。总的来说,GLM-4 的基础能力接近 GPT-4-Turbo 和 Claude 3 Opus。

3.2 指令遵循评估

我们使用最近引入的 IFEval 数据集 [61] 来评估 GLM-4 在遵循指令方面的熟练程度。该数据集包含 541 个提示,这些提示源于 25 个不同的指令,这些指令可以通过明确的标准进行验证(例如,“以以下内容结束你的电子邮件:P.S. 我很喜欢蛋糕”可以通过字符串匹配进行验证)。我们遵循 [61] 中概述的方法,以严格模式和宽松模式计算提示级别和指令级别的准确率。为了进一步评估模型在遵循中文指令方面的性能,我们将原始提示翻译成中文,省略了不适用于中文的指令(如大写字母),并调整评分脚本以适应中文数据。

3.3 对齐评估

AlignBench [21] 提供了一种自动的 LLMs-as-Judge 方法,用于对齐中文上下文中的 LLMs。它包含 683 个查询,涵盖 8 个不同的类别,并使用基于 GPT-4 的多维规则校准点式参考评分方法来判断模型响应。我们对 AlignBench-v1.1 进行评估,它更仔细地改进了参考生成质量,特别是通过将从网页收集的人工证据与知识要求问题的 URL 补充,这些问题占总查询的 66.5%。在这个版本上,几乎所有 LLMs 的得分都比之前在 AlignBench 上的得分低。

3.4 长上下文处理能力评估

为了获得 GLM-4 在长文本任务上的性能,我们在 LongBench-Chat [1] 上进行了评估,这是一个上下文长度从 10-100k 不等的基准集,涵盖了用户经常使用的大量长文本场景,例如文档问答、摘要和编码。为了更详细地比较 GLM-4 在不同语言上的性能,我们还根据语言对 LongBench-Chat 进行划分。这产生了两个不同的部分:中文和英文。我们分别提供了这两个部分的结果,提供了对 GLM-4 跨语言能力的细致概述。

关于具体的评估设置,我们根据 GPT-4 对每个模型的输出进行评分,在 LongBench-Chat 中采用少样本策略。此外,为了最大程度地减少得分差异并得出更可靠的统计结论,我们进行了重复评估。随后,我们计算这些多次评估的平均值,以确保最终的性能指标反映了对 GLM-4 在不同条件下的行为的全面了解。

表 5 展示了我们实验中获得的结果。可以清楚地观察到,GLM-4 在英语提示上的性能与 GPT-4 Turbo 和 Claude 3 Opus 相一致,并且它在中文提示上可以超过它们中的最佳者。

3.5 在现实世界用户提示上的编码评估

虽然 HumanEval [4] 已被广泛用于评估代码生成,但其大多数问题都可以归类为入门级算法。然而,在实践中,真实用户会提出用于生产目的的复杂问题,这些问题通常远远超出了 HumanEval 的范围。此外,之前的工作报道了 HumanEval 污染了训练数据 [27; 18; 50],无论是它们自己的 LLM 还是其他 LLM,这使得 HumanEval 上的结果比以前不太可信。

因此,除了 HumanEval 之外,我们还在 NaturalCodeBench (NCB) [56] 上评估了 GLM-4,这是一个具有挑战性的双语编码基准,它源于自然用户提示,以反映现实世界编码任务的复杂性。结果如表 6 所示。它表明,GLM-4 在实际场景中的编码性能与 Claude 3 Opus 相近。虽然与 GPT-4 模型相比仍存在差距,但考虑到 GLM-4 的双语平衡性质,通过在接下来的迭代中采用更好的训练策略和数据整理,它在 NCB 上的性能还有很大的提升空间。

3.6 函数调用评估

为了评估 GLM 模型在函数调用方面的性能,我们在 Berkeley 函数调用排行榜 [49] 上进行了评估,这是一个包含 2k 个问题-函数-答案对的基准。该基准评估模型在调用函数方面的能力,分为三个类别:通过抽象语法树 (AST) 进行评估、通过执行 API 进行评估和相关性检测。第一类将模型输出的函数与函数文档和可能的答案进行比较,并进行 AST 分析。第二类通过执行生成的函数调用来检查响应的正确性。相关性检测评估模型识别不适合回答用户问题的函数的能力。结果如表 7 所示。我们可以观察到,GLM-4(0520)的函数调用能力与 GPT-4 Turbo(2024-04-09)相当,而 GLM-4-9B-Chat 显著超过 Llama-3-8B-Instruct。另一个观察结果是,总体准确率没有随着模型大小的增加而提高,而 GLM-4-9B-Chat 甚至可以超过 GLM-4-Air。另一方面,我们观察到,执行摘要的性能(评估现实世界 API 的执行结果)随着模型大小的增加而平稳提高。

3.7 代理能力评估

人们普遍观察到,LLMs 能够在各种环境和上下文中充当智能代理 [29; 52],被称为 LLMs-as-Agents [23]。因此,我们使用 AgentBench [23] 对 GLM-4 以及其他比较 LLMs 进行了评估,这是一个全面的代理基准,用于评估各种实际环境中的文本型 LLMs,包括基于代码、基于游戏和基于网络的上下文。具体来说,我们对 8 个 AgentBench 环境中的 7 个进行了评估,除了数字卡牌游戏,因为它需要更长的时间与之交互。总分是使用 AgentBench [23] 中提供的原始每个数据集权重计算的。

3.8 All Tools 评估

GLM-4 进一步对齐以支持智能代理和用户在 https://chatglm.cn 上自配置的 GLMs 功能,由此产生的模型是 GLM-4 All Tools。如前所述,GLM-4 All Tools 可以通过自主理解用户意图、规划逐步指令以及调用多个工具(包括网页浏览器、Python 解释器和文本到图像模型(例如,CogView3 [59]))来完成复杂的任务。表 9 显示,GLM-4 All Tools(Web)在 Python 解释器上用于解决数学问题、浏览器上用于信息搜索方面,与 ChatGPT-4(Web)的性能相当。

4 安全和风险

我们致力于确保 GLM-4 作为一个安全、负责任和无偏见的模型运行。除了解决常见的伦理和公平问题外,我们还仔细评估并减轻模型在现实世界场景中可能对用户造成的潜在危害。

风险缓解

我们在预训练阶段仔细清理数据,通过删除包含敏感关键词的文本和来自预定义黑名单的网页。在对齐阶段,我们评估每个训练样本的安全性,并删除任何可能造成潜在风险的样本。在比较多个模型输出时,无害性也是偏好对齐的重要标准。

我们有一个红队,他们不断用棘手的问题挑战模型,这些问题往往会导致不安全的答案。我们收集了来自 GLM-4 的所有有害问题-答案对,并使用人工标注对其进行改进,以进一步进行模型对齐。

安全评估

我们在 SafetyBench [57] 数据集上评估了 GLM-4 模型,该数据集从 7 个维度评估每个模型的能力:伦理和道德(不道德行为)、非法活动(对法律的基本了解)、心理健康(对心理健康的不利影响)、攻击性(攻击性行为)、身体健康(可能造成身体伤害的危险行为)、隐私和财产(隐私泄露或财产损失)、不公平性和偏见。我们对 SafetyBench 的中文子集评估了不同的模型,该子集是通过删除可能被屏蔽的敏感性很高的问题创建的,以减轻不同 API 安全策略的干扰。

表 10 显示了 GLM-4 和 SOTA 模型的安全结果。在大多数维度上,GLM-4(0520)表现出具有竞争力的安全性能,总体上它与 Claude 3 Opus 实现了相当的性能。GLM-4 在身体健康维度上略微落后于 GPT-4 家族的模型,这需要关于物理世界的强大常识知识,以避免潜在风险。我们已经投入了更多努力,朝着这个方向发展一个更强大和更安全的 GLM 模型。

5 结论

在本报告中,我们介绍了从 GLM-130B 到 GLM-4(All Tools)的 ChatGLM 大型语言模型家族。在过去一年半的时间里,我们从第一手经验中在理解大型语言模型的各个方面取得了巨大进展。随着每一代模型的开发,团队已经学习并应用了更有效、更高效的模型预训练和对齐策略。最新的 ChatGLM 模型——GLM-4(0116、0520)、GLM-4-Air(0605)和 GLM-4 All Tools——在理解和执行复杂任务方面取得了显著进步,通过自主使用外部工具和函数来实现。这些 GLM-4 模型在性能上与最先进的模型(如 GPT-4 Turbo、Claude 3 Opus 和 Gemini 1.5 Pro)相当,在某些情况下甚至超过了它们,特别是在处理与中文相关的任务时。此外,我们致力于通过开源模型权重和在这段旅程中开发的技术来促进 LLMs 的可访问性和安全性。我们的开源模型,包括语言、代码和视觉模型,仅在 2023 年就吸引了超过 1000 万次下载。目前,我们正在使用迄今为止学到的所有知识来开发更强大的模型。未来,我们将继续通过开源来普及尖端的 LLM 技术,并将模型能力的边界推向让机器像人类一样思考的目标。

致谢

我们要感谢所有数据标注者、基础设施运营人员、合作者和合作伙伴,以及 Zhipu AI 和清华大学未在报告中明确提及的所有为 ChatGLM 提供支持、反馈和贡献的人员。我们还要感谢 Zhipu AI 的张宇轩和贾伟,以及 Hugging Face、ModelScope、WiseModel 等团队在 GLM 家族模型的开源工作中提供的帮助。

参考文献

[1] LongAlign: A Comprehensive Recipe for Long Context Alignment. https://arxiv.org/abs/2404.05640

[2] LongBench: A Benchmark for Evaluating Long Context Handling Abilities of LLMs.


Q: 这篇论文试图解决什么问题?

A: 这篇论文介绍了ChatGLM,这是一个不断发展的大型语言模型家族,包括从GLM-130B到GLM-4的各个版本。论文的主要目标是展示这个家族中最新的GLM-4系列模型,包括GLM-4、GLM-4-Air和GLM-4-9B,这些模型利用了之前三代ChatGLM的经验教训和洞察力进行训练。这些模型主要针对中文和英文使用进行了高质量的对齐,通过多阶段的后训练过程实现,包括监督式微调和从人类反馈中学习。

论文试图解决的问题包括:

  1. 大型语言模型的持续改进:通过不断的技术迭代和训练方法的优化,提高模型的性能。
  2. 多语言支持:尽管主要关注中文和英文,但模型也支持其他语言,以满足不同用户的需求。
  3. 对齐人类意图:通过后训练过程,提高模型理解用户意图和执行指令的能力。
  4. 长文本处理:通过扩展模型的上下文长度,提升模型处理长文本的能力。
  5. 实用功能集成:GLM-4 All Tools模型能够理解用户意图并自主决定何时以及使用哪些工具来有效完成任务,如网页浏览器、Python解释器、文本到图像模型和用户定义的函数。

总的来说,论文的目标是展示ChatGLM家族在大型语言模型领域的最新进展,并证明其在多种任务和能力上与当前最先进模型的竞争力。

Q: 有哪些相关研究?

A: 论文中提到了多个与大型语言模型(LLMs)相关的研究工作,以下是一些主要的相关研究:

  1. GPT-3系列:由OpenAI开发,包括GPT-3.5和GPT-4,这些模型通过引入指令调整、监督式微调(SFT)和/或从人类反馈中学习的强化学习(RLHF)来改进性能。
  2. OPT175B 和 BLOOM-176B:这些是其他研究团队开发的大规模模型,与GLM-130B一样,旨在探索和验证在大规模数据集上训练模型的技术。
  3. Transformer架构:这是许多现代语言模型的基础,包括GLM系列。它引入了自注意力机制来处理串行数据。
  4. FlashAttention:一种提高注意力机制效率的技术,由Dao et al. (2022) 提出。
  5. CodeGeeX:一个专注于代码生成的预训练模型,由Zheng et al. (2023) 开发。
  6. CogVLM 和 CogAgent:这些是视觉语言模型,分别用于图像理解和基于GUI的代理任务。
  7. CogView:一个文本到图像的生成模型,由Ding et al. (2021) 提出。
  8. MMLU:一个多语言、多任务的语言理解评估基准,由Hendrycks et al. (2021) 开发。
  9. GSM8KMATHBBHGPQA 和 HumanEval:这些是用于评估模型在特定领域(如数学问题解答、编程等)性能的基准测试。
  10. AlignBench:一个评估模型在中文上下文中对齐能力的基准测试,由Liu et al. (2023) 提出。
  11. LongBench:一个评估模型处理长文本能力的基准测试,由Bai et al. (2023) 开发。
  12. AgentBench:一个评估模型作为智能代理在各种环境中的表现的基准测试,由Liu et al. (2023) 提出。

这些研究为GLM系列模型的开发提供了技术背景和评估标准,同时也展示了大型语言模型领域的最新进展。

Q: 论文如何解决这个问题?

A: 论文通过以下方法解决大型语言模型的开发和优化问题:

  1. 多代模型开发:从GLM-130B到GLM-4,每一代模型都在前一代的基础上进行改进,利用之前的经验教训和洞察力。
  2. 预训练和后训练技术:使用高质量的数据集进行预训练,并采用多阶段后训练过程,包括监督式微调(SFT)和从人类反馈中学习的强化学习(RLHF),以提高模型与人类意图的对齐。
  3. 模型架构优化:在GLM-4中采用了无偏置(除Query、Key、Value外)、RMSNorm、SwiGLU、二维Rotary Positional Embedding(RoPE)和Group Query Attention(GQA)等技术来提升模型性能和推理效率。
  4. 上下文长度扩展:通过持续训练和长上下文对齐技术,如LongAlign,扩展模型的上下文长度,使GLM-4能够有效处理长文本。
  5. 智能工具集成:GLM-4 All Tools模型能够理解用户意图,并自主选择使用适当的工具(如Web浏览器、Python解释器、文本到图像模型等)来完成任务。
  6. 性能评估:在多种语言基准上评估GLM-4的性能,包括学术基准、指令跟随、长文本处理、编程问题解决和代理能力。
  7. 安全性和风险评估:通过数据清洗、安全评估和风险缓解策略,确保GLM-4作为安全、负责任和无偏见的模型运行。
  8. 开放模型和数据:通过开源模型权重、技术和数据,促进大型语言模型技术的普及和安全。
  9. 持续迭代和改进:基于当前的模型和技术,继续开发更强大的模型,以推动机器模拟人类思维的边界。

通过这些方法,论文展示了ChatGLM家族在大型语言模型领域的进步,并证明了其在多种任务上与现有最先进模型的竞争力。

Q: 论文做了哪些实验?

A: 论文中进行了一系列实验来评估GLM-4模型的性能,包括以下几个方面:

  1. 学术基准测试:使用MMLU、GSM8K、MATH、BBH、GPQA和HumanEval等标准学术基准来评估模型的一般性能。
  2. 指令跟随能力评估:使用IFEval数据集来评估GLM-4在遵循指令方面的能力,包括在英语和中文环境中的表现。
  3. 中文对齐评估:使用AlignBench来评估GLM-4在中文上下文中的对齐能力,包括数学逻辑、语言理解和专业知识等多个维度。
  4. 长文本处理能力评估:使用LongBench-Chat来评估GLM-4处理长文本的能力,包括中文和英文的长文本场景。
  5. 实际编程问题解决:使用NaturalCodeBench来评估GLM-4在实际编程问题上的表现,包括Python和Java两种编程语言。
  6. 函数调用能力评估:使用Berkeley Function Call Leaderboard来评估GLM-4在函数调用方面的能力。
  7. 代理能力评估:使用AgentBench来评估GLM-4作为智能代理在多种环境中的表现,包括基于代码、游戏和网络的环境。
  8. 安全性评估:使用SafetyBench来评估GLM-4在安全性方面的性能,包括伦理道德、非法活动、心理健康等多个维度。
  9. GLM-4 All Tools功能评估:评估GLM-4 All Tools模型在集成多种工具(如Web浏览器、Python解释器和文本到图像模型)后完成复杂任务的能力。

这些实验结果表明GLM-4在多个方面与现有的最先进模型(如GPT-4 Turbo、Claude 3 Opus和Gemini 1.5 Pro)具有竞争力,特别是在处理与中文相关的任务时。此外,实验还揭示了GLM-4在某些领域(如代码相关问题解决)中存在的改进空间。

Q: 有什么可以进一步探索的点?

A: 尽管论文中已经展示了许多关于GLM-4模型的实验和评估,但仍有一些领域可以进一步探索:

  1. 模型泛化能力:研究GLM-4在未见过的数据或领域上的表现,特别是在低资源语言或特定行业术语上。
  2. 模型解释性:提高模型的可解释性,帮助用户理解其决策过程,特别是在复杂任务或推理任务中。
  3. 多模态能力:虽然当前模型主要关注文本,但可以探索将视觉、音频等多模态数据集成到模型中。
  4. 鲁棒性和错误分析:深入分析模型在特定任务或数据集上失败的原因,以改进模型的鲁棒性。
  5. 交互式学习:研究模型如何在与用户的交互中学习并改进其性能,特别是在开放式对话系统中。
  6. 安全性和隐私保护:进一步研究如何保护用户的隐私并确保模型的输出不会引起安全问题。
  7. 模型压缩和加速:探索模型压缩技术,以减少模型的大小和提高推理速度,使其更适合在资源受限的环境中使用。
  8. 跨语言能力:研究模型在处理跨语言问题时的能力,例如代码中的自然语言注释或多语言文档的翻译和理解。
  9. 长期记忆和上下文保持:研究如何改进模型在长时间对话或复杂任务中保持上下文信息的能力。
  10. 可扩展性:探索如何将模型扩展到更大的规模,以及这种扩展如何影响其性能和效率。
  11. 公平性和偏见减少:持续监测和减少模型可能表现出的偏见,确保其对所有用户都是公平的。
  12. 实际应用场景:将模型应用于实际问题,如教育、医疗咨询、客户服务等领域,并评估其实际效果。

这些探索点可以帮助研究者和开发者更好地理解GLM-4模型的潜力和局限性,并指导未来的研究方向。

Q: 总结一下论文的主要内容

A: 这篇论文主要介绍了ChatGLM,一个由GLM-130B到GLM-4的不断进化的大型语言模型家族。以下是论文的主要内容概述:

  1. 模型介绍:ChatGLM是一系列大型语言模型,包括GLM-4、GLM-4-Air和GLM-4-9B,它们在中文和英文上进行了高质量的对齐。
  2. 预训练数据:使用多语言文档进行预训练,包括网页、维基百科、书籍、代码和论文等,通过去重、过滤和分词等数据处理步骤。
  3. 模型架构:GLM-4采用了无偏置(除QKV外)、RMSNorm、SwiGLU、二维RoPE和Group Query Attention (GQA)等架构设计。
  4. 后训练对齐:通过监督式微调(SFT)和强化学习(RLHF)等后训练技术,进一步与人类偏好对齐。
  5. 性能评估:GLM-4在多个学术基准上与GPT-4等模型进行了比较,显示出在某些领域的优势,特别是在中文对齐方面。
  6. GLM-4 All Tools:一个特别对齐的模型版本,支持智能代理和相关任务,能够自主选择使用适当的工具来完成任务。
  7. 技术贡献:论文还介绍了一些用于提升LLM性能的技术,如LongAlign、ChatGLM-Math、ChatGLM-RLHF、Self-Contrast、AgentTuning和APAR等。
  8. 安全性和风险:讨论了模型的安全性和风险评估,以及在数据预处理和对齐阶段采取的风险缓解措施。
  9. 开放模型和数据:论文强调了模型和数据的开放性,包括在Hugging Face上的下载量和通过GitHub访问的模型。
  10. 未来工作:论文最后讨论了未来的研究方向,包括开发更强大的模型和推动LLM技术的发展。

总的来说,这篇论文展示了ChatGLM家族在大型语言模型领域的最新进展,并证明了其在多种任务上与现有最先进模型的竞争力。同时,论文也强调了模型的开放性和安全性,以及未来的研究方向。

发表评论