2024-11-14
DL论文
00

目录

ChatGPT和GLM系列模型的发展
ChatGLM 技术
预训练数据
架构
对齐
ChatGLM 技术
GLM-4 All Tools
GLM-4 功能
3.1 学术基准测试评估
3.2 指令跟随评估
3.3 对齐评估
3.4 长上下文处理能力评估
3.5 实际用户提示下的编码评估
3.6 函数调用评估
3.7 代理能力评估
3.8 所有工具的评估
安全性与风险
结论

https://arxiv.org/html/2406.12793v1

ChatGPT和GLM系列模型的发展

ChatGPT展现了卓越的能力,其最初在2022年11月由GPT-3.5模型[25]驱动,后来在2023年3月升级为GPT-4[27]。根据OpenAI的说法,GPT-3.5系列通过整合指令调优、监督微调(SFT)和/或来自人类反馈的强化学习(RLHF)[28],在GPT-3的基础上进行了改进。最初的GPT-3在2020年发布[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]。目标是训练一个100B级别的模型,以匹配或超越GPT-3(davinci),同时验证成功训练此规模模型的技术,以及其他努力如OPT-175B[55]和BLOOM-176B[32]。我们在7月完成了GLM-130B的400B-token训练和评估,并于2022年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补充。在6月发布的ChatGLM2-6B通过更多和更好的数据进行预训练和对齐,使其在前代基础上有了显著改进,包括MMLU提高23%,GSM8K提高571%,BBH提高60%。通过采用FlashAttention技术[8],其语境长度扩展到32K。此外,多查询注意力(Multi-Query Attention)的整合使推理速度提高了42%。进一步地,我们的第二代代码模型CodeGeeX2-6B通过在额外的6000亿代码tokens上进行预训练开发而成。它在HumanEval-X测量中显示出相对于初代CodeGeeX-13B[58]的Pass@1改进,包括Python提高57%,C++提高71%,Java提高54%,JavaScript提高83%,以及Go提高56%。通过实现更多样化的训练数据集、更充分的训练步骤和更优化的训练策略,ChatGLM3-6B在语义、数学、推理、代码和知识等42个基准上名列前茅。从这一代开始,ChatGLM还支持函数调用和代码解释器,以及复杂的代理任务[9; 36; 51]。在这些发展过程中,我们还开发了具有1.5B、3B、12B、32B、66B和130B参数的模型,使我们能够验证我们的观察结果并建立我们自己的扩展法则。

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

在我们三代开放的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万个汉字)。

ChatGLM 技术

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

预训练数据

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

在ChatGLM的四代开发过程中,我们的发现与现有研究[60]一致:数据质量和多样性对于构建有效的LLM至关重要。尽管获得了经验教训和见解,但截至目前,我们尚未确定能够指导数据收集、清理和选择过程的基本原则。

架构

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

  • 除QKV外无偏差:为了提高训练速度,我们移除了除注意力层的查询、键和值(QKV)中的偏差以外的所有偏差项。在这样做的过程中,我们观察到长度外推的轻微改善。
  • RMSNorm和SwiGLU:我们采用RMSNorm和SwiGLU分别替换LayerNorm和ReLU。观察到这两种策略具有更好的模型性能。
  • 旋转位置嵌入(RoPE):我们将RoPE扩展为二维形式以适应GLM中的2D位置编码。
  • 组查询注意力(GQA):我们用组查询注意力(GQA)替代多头注意力(MHA)以减少推理期间的KV缓存大小。鉴于GQA使用的参数比MHA少,我们增加了FFN参数数量以保持相同的模型大小,即将dffnd_{ffn}设置为隐藏大小的10/3。

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

对齐

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

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

ChatGLM 技术

在ChatGLM的开发过程中,我们引入并将发布用于提升其性能的技术。

  • LLMs的突现能力[12]:我们考察了预训练损失与下游任务性能之间的关系,发现具有相同预训练损失的不同模型大小和训练标记的LLMs生成相同的下游性能。我们还发现,在某些任务(如MMLU和GSM8K)中,仅当预训练损失低于某个阈值时,性能才超出随机机会。因此,我们将突现能力重新定义为那些具有较低预训练损失的模型所展示的能力[12]。
  • LongAlign[1]:为扩展LLMs的上下文窗口大小,我们提出了LongAlign——一种全面的长上下文对齐配方。它使GLM-4能够处理长上下文文本(最多128K标记),其性能可与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],用于评估编程语言超出Python的HumanEval[4]问题的HumanEval-X[58],以及用于衡量模型解决实际编程任务能力的NaturalCodeBench(NCB)。

GLM-4 All Tools

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

基于GLM-4的全工具功能,我们还开发了GLMs应用平台,允许用户为特定任务创建和定制自己的代理。GLMs不仅支持嵌入的Python解释器、Web浏览器、文本到图像模型,还支持用户定义的函数、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)。在中文对齐方面,它在各个领域产生了强大的性能,如基本语言能力、高级中文理解、专业知识和开放性问题。总之,GLM-4在中文语言任务方面位于最佳之列。它在中文数学和逻辑推理能力方面表现出与GPT-4和Claude 3 Opus相当的性能,尽管它仍落后于GPT-4 Turbo。

3.1 学术基准测试评估

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

  • MMLU [14]:多选题,收集自包括数学、历史、计算机科学等在内的各种考试。我们将所有答案呈现给模型,并要求它选择答案的字母。
  • GSM8K [7]:8,500个小学数学文字题(测试集中有1,000个),要求模型使用数学概念解决实际生活情境问题。我们对这个基准使用链式思维提示[46]。
  • MATH:12,500个具有挑战性的竞赛级数学问题(测试集中有5,000个)。我们对这个基准使用链式思维提示[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。

表2:GLM-4在学术基准测试上的表现。

ModelMMLUGSM8KMATHBBHGPQAHumanEval
GPT-4 (0314)86.492.052.983.135.767.0
GPT-4 Turbo (1106)84.795.764.388.342.583.7
GPT-4 Turbo (2024-04-09)86.795.673.488.249.388.2
Claude 3 Opus86.895.060.186.850.484.9
Gemini 1.5 Pro85.990.867.789.246.284.1
GLM-4-9B-Chat72.479.650.676.328.871.8
GLM-4-Air (0605)81.990.957.980.438.475.7
GLM-4 (0116)81.587.647.982.335.772.0
GLM-4 (0520)83.393.361.384.739.978.5

3.2 指令跟随评估

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

表3:GLM-4在IFEval [61]上的表现,作为LLM指令跟随基准。‘L‘代表‘宽松‘,‘S‘代表‘严格‘。‘P‘代表‘提示‘,‘I‘代表‘指令‘。

ModelEnglishChinese
L-PS-P
GPT-4 (0613)79.577.1
GPT-4 Turbo (1106)79.175.4
GPT-4 Turbo (2024-04-09)84.581.2
Claude 275.058.0
Claude 3 Opus90.685.5
GLM-4-9B-Chat73.069.0
GLM-4-Air (0605)80.475.2
GLM-4 (0520)83.779.1

表3中显示了英语和中文部分的结果。在宽松模式下,GLM-4在指令级准确性上与GPT-4 Turbo在英语和中文中相匹配。在严格模式下,GLM-4分别达到GPT-4 Turbo (2024-04-09)在英语和中文中指令级准确性的99.0%和98.6%。

3.3 对齐评估

AlignBench [21]提供了一种自动的LLMs-as-Judge方法,用于在中文环境中评估LLM的对齐。它包括683个查询,涵盖8个不同的类别,并使用基于GPT-4的多维规则校准逐点参考评分方法对模型响应进行评判。我们评估的是AlignBench-v1.1,它更加注重提高参考生成质量,特别是通过补充来自网页的人类收集证据来处理占总查询66.5%的知识需求问题。在此版本上,几乎所有的LLM的分数都比之前的AlignBench略低。

表4:GLM-4在AlignBench [21]上的表现,这是一个针对中文对齐的LLM基准。

ModelMathLogicLanguageChineseQAWritingRole PlayProfessionalOverall
GPT-4 (0613)7.547.177.827.027.397.678.207.297.46
GPT-4 Turbo (1106)7.857.667.907.228.248.538.467.957.90
GPT-4 Turbo (2024-04-09)8.327.677.607.578.377.758.188.598.00
Claude 26.395.856.755.726.685.876.866.566.26
Claude 3 Opus7.277.117.947.718.217.617.738.027.53
Gemini 1.5 Pro7.077.777.317.228.557.837.798.527.47
GLM-4-9B-Chat7.006.016.697.267.977.598.107.527.01
GLM-4-Air (0605)7.696.957.538.007.908.018.358.097.65
GLM-4 (0116)7.207.207.608.198.457.888.058.567.66
GLM-4 (0520)7.897.958.007.868.118.048.068.478.00

结果如表4所示。GLM-4在整体上超越了GPT-4 Turbo、Claude 3 Opus和Gemini 1.5 Pro,达到了基准中最高的总分。特别是在中文逻辑推理和语言理解维度上,GLM-4显著超越了所有其他强大的模型。这些结果表明其对中文语言和知识的掌握能力很强。

GLM-4和GPT-4 Turbo (2024-04-09)之间当前的性能差距主要体现在数学维度上。我们一直在采用ChatGLM-Math [48]中介绍的方法,如自我批评,以不断提高GLM模型的推理能力。

3.4 长上下文处理能力评估

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

关于具体的评估设置,我们采用LongBench-Chat中的few-shot策略,根据GPT-4对每个模型的输出进行评分。此外,考虑到我们希望尽量减少分数差异并得出更可靠的统计结论,我们进行了重复评估。随后,我们从这些多次评估中计算平均值,以确保最终的性能指标反映GLM-4在各种条件下的表现。

表5:GLM-4在LongBench-Chat [2]上的表现。

ModelEnglishChinese
GPT-4 Turbo (1106)87.271.4
GPT-4 Turbo (2024-04-09)85.082.1
Claude 281.376.2
Claude 3 Opus87.782.7
GLM-4-9B-Chat76.879.0
GLM-4-Air (0605)82.481.0
GLM-4 (0520)87.384.0

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

3.5 实际用户提示下的编码评估

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

表6:GLM-4在NaturalCodeBench (NCB) [56]上的表现,这是一个具有实际编码提示的双语编码基准,适用于英语和中文。

ModelPython (en)Java (en)Python (zh)Java (zh)Overall
GPT-4 (0613)55.751.153.451.152.8
GPT-4 Turbo (1106)51.955.047.351.951.5
GPT-4 Turbo (2024-04-09)57.552.353.152.353.8
Claude 234.436.633.632.834.4
Claude 3 Opus48.948.945.050.448.3
Gemini 1.5 Pro45.039.741.543.142.3
GLM-4-9B-Chat33.929.830.834.432.2
GLM-4-Air (0605)40.839.743.139.740.8
GLM-4 (0520)51.642.845.448.947.1

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

3.6 函数调用评估

为了评估GLM模型在函数调用上的性能,我们在Berkeley Function Call Leaderboard [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执行结果的性能,随着模型规模的增加而平稳提高。

表7:GLM在Berkeley Function Call Leaderboard上的表现。

ModelAST SummaryExec SummaryRelevanceOverall
Llama-3-8B-Instruct59.2570.0145.8358.88
GPT-4 Turbo (2024-04-09)82.1478.6188.7581.24
GPT-4o (2024-05-13)85.2380.3781.2582.94
ChatGLM3-6B62.1869.785.4257.88
GLM-4-9B-Chat80.2684.4087.9281.00
GLM-4-Air (0605)84.3485.9368.3380.94
GLM-4 (0520)82.5987.7884.1781.76

3.7 代理能力评估

众所周知,LLMs能够在多种环境和上下文中作为智能代理[29; 52],被称为LLMs-as-Agents [23]。因此,我们在AgentBench [23]上评估了GLM-4及其他对比LLM,这是一个全面的文本式LLM代理基准,涵盖代码、游戏和网络等多种实际环境。具体来说,我们评估了AgentBench中的7个环境,除了数字卡牌游戏,因为其交互时间较长。整体分数是根据AgentBench [23]提供的原始每个数据集权重计算的。

表8:GLM-4在AgentBench [23]上的表现。

Operating SystemDataBaseKnowledge GraphLateral Thinking PuzzlesHouse HoldingWeb ShoppingWeb BrowsingOverall
GPT-4 (0613)42.432.058.816.678.061.129.0
GPT-4 Turbo (1106)40.352.754.017.770.052.830.0
GPT-4 Turbo (2024-04-09)41.046.753.219.472.055.119.0
Claude 218.127.341.38.454.061.40.0
Claude 3 Opus23.655.053.420.070.048.528.0
GLM-4-Air (0605)31.951.053.812.378.069.230.0
GLM-4 (0520)36.852.751.415.382.068.329.0

结果如表8所示。正如所示,GLM-4模型在代理任务中表现得相当出色,其中GLM-4-Air的得分与GPT-4 Turbo和Claude 3 Opus相当,而GLM-4的得分则超过了它们。在特定环境方面,我们发现GLM-4系列在数据库、家居和网络购物任务中表现尤为出色,但在操作系统、知识图谱和横向思维谜题上仍表现出与GPT-4系列的差距。这种差距表明GLM-4在代码相关的代理任务和高度互动的语言任务上仍有改进空间。

3.8 所有工具的评估

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

表9:GLM-4 All Tools的表现。

GLM-4 All ToolsGPT-4
(Web, 0116)(Web, 0110)
Python Interpreter
GSM8K91.59
MATH63.60
Math23K88.50
Browser
Information Seeking78.08

安全性与风险

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

表10:GLM-4在SafetyBench [57]上的表现,与GPT-4模型和Claude 3 Opus的对比。

Ethics & MoralityIllegal ActivitiesMental HealthOffensivenessPhysical HealthPrivacy & PropertyUnfairness & BiasOverall
GPT-4 (0613)92.793.393.087.796.791.373.389.7
GPT-4 Turbo (1106)91.092.093.086.092.088.774.388.1
GPT-4 Turbo (2024-04-09)90.391.391.785.392.089.375.087.9
Claude 3 Opus92.791.792.786.394.788.766.087.5
GLM-4 (0520)92.391.393.386.392.388.666.087.2

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

我们有一个红队,专门用棘手的问题挑战模型,这些问题往往会导致不安全的答案。我们收集了GLM-4中所有有害的问答对,并通过人工注释来改进它们,以便进一步对齐模型。

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

表10展示了GLM-4和SOTA模型的安全结果。在大多数维度上,GLM-4 (0520)表现出竞争性的安全性能,总体上与Claude 3 Opus表现相当。GLM-4略微落后于GPT-4系列模型,特别是在需要对物理世界有强大常识知识以避免潜在风险的身体健康维度。为此方向投入了更多努力,以开发更强大和安全的GLM模型。

结论

在本报告中,我们介绍了从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。此外,我们致力于通过公开发布我们的模型权重和在此过程中开发的技术来提升LLM的可访问性和安全性。我们的开源模型,包括语言、代码和视觉模型,仅在2023年就吸引了超过1000万次下载。目前,我们正在利用迄今所学开发更有能力的模型。未来,我们将继续通过开源实现最前沿的LLM技术民主化,并推动模型能力的边界,朝着让机器像人类一样思考的目标前进。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!