标签: AGI

  • 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家族在大型语言模型领域的最新进展,并证明了其在多种任务上与现有最先进模型的竞争力。同时,论文也强调了模型的开放性和安全性,以及未来的研究方向。

  • 大型语言模型的低维适应性微调:LaMDA 的高效之道

    大型语言模型 (LLM) 在自然语言处理 (NLP) 领域展现出非凡的能力,能够解决各种任务。然而,完全微调 LLM 成本高昂,难以在边缘设备上实现。为了解决这个问题,参数高效微调 (PEFT) 技术应运而生,其中一种名为低秩适应 (LoRA) 的方法备受关注。

    LoRA 假设预训练权重的变化存在于低秩空间中,因此在模型的冻结主路径中添加两个可训练的低秩适配器,称为投影矩阵 A (PMA) 和投影矩阵 B (PMB)。这种方法虽然减少了可训练参数数量,但随着模型嵌入维度的增加,LoRA 的可训练参数需求也会增加,导致计算成本高昂。此外,LoRA 的反向更新需要存储高维中间激活和优化器状态,对 GPU 内存峰值提出了很高的要求。

    为了解决这些问题,本文介绍了一种名为 LaMDA 的新方法,它利用低维适应来显著减少可训练参数和 GPU 内存峰值。LaMDA 在适应路径中冻结第一个投影矩阵 (PMA),同时引入一个低维可训练方阵,从而大幅减少可训练参数和 GPU 内存峰值。LaMDA 在早期微调阶段逐渐冻结第二个投影矩阵 (PMB),进一步降低与权重更新相关的计算成本,提高参数效率。

    此外,本文还介绍了 LaMDA 的增强版 LaMDA++,它通过对预训练模型权重的规范化频谱分析,为 LoRA 路径引入了“轻量级”自适应秩分配。

    LaMDA:低维适配器的魅力

    LaMDA 的核心是低维适配器 (LDA),它是一个 r 维方阵,其中 r 远小于模型的嵌入维度 d。LaMDA 将 PMA 冻结,而 LDA 始终可训练,PMB 则根据奇异值的相对大小逐渐冻结。这种设计使得可训练参数与 d 无关,并且用于反向传播的激活存储在 r 维空间中,从而显著减少可训练参数、激活和优化器状态内存。

    LaMDA 的优势:

    • 减少可训练参数: LaMDA 的可训练参数数量仅为 LoRA 的 r2,与模型的嵌入维度 d 无关,有效地限制了参数数量,降低了过拟合风险,提高了模型的泛化能力。
    • 降低计算成本: 由于可训练参数数量减少,LaMDA 的反向传播计算量也大幅降低,减少了梯度更新和优化器状态计算,减轻了微调的整体计算和优化器存储开销。
    • 节省内存: LaMDA 将激活存储在 r 维空间中,显著减少了激活内存使用,从而可以微调更大的模型或使用更大的批次大小。

    LaMDA++:自适应秩分配的优化

    LaMDA++ 在 LaMDA 的基础上,引入了自适应秩分配机制,根据预训练模型权重的能量得分,为不同层分配不同的秩。

    LaMDA++ 的优势:

    • 更有效地利用参数预算: LaMDA++ 通过分析预训练模型权重的能量得分,将更多的秩分配给对秩减少影响较小的层,而将更少的秩分配给对秩减少影响较大的层,从而更有效地利用参数预算。
    • 简化实现和使用: LaMDA++ 采用“轻量级”静态分析方法,避免了动态调整秩带来的复杂性和计算开销,简化了实现和使用。

    实验结果

    本文对 LaMDA 和 LaMDA++ 在自然语言理解 (NLU)、自然语言生成 (NLG) 和推理任务上进行了评估,结果表明:

    • NLU 任务: LaMDA 在 GLUE 基准测试中取得了与 LoRA 相当的性能,但可训练参数数量减少了 17.7 倍。LaMDA++ 则取得了最优性能,参数数量略有增加。
    • NLG 任务: LaMDA 在 XSUM 和 CNN/DailyMail 数据集上取得了与 LoRA 相当的性能,但可训练参数数量减少了 10 倍。LaMDA++ 在 XSUM 数据集上超越了 LoRA,在 CNN/DailyMail 数据集上与 LoRA 性能相当。
    • 推理任务: LaMDA 和 LaMDA++ 在 GSM8K 和 Wikitext-2 数据集上都超越了 LoRA。LaMDA 在 Commonsense170K 数据集上取得了比 LoRA 更高的平均准确率,同时可训练参数数量减少了 11.5 倍。

    结论

    LaMDA 是一种新颖的 LLM 微调框架,它利用低维适配器,显著减少了可训练参数数量,节省了激活内存,并通过自适应秩分配进一步优化了性能。LaMDA 和 LaMDA++ 能够有效地微调更大的模型,为模型适应提供了一种高效且可扩展的方法。

    参考文献

    • Hu, Y., et al. (2022). Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685.
    • Kopiczko, R., et al. (2024). Vera: Parameter-efficient fine-tuning by projecting to a low-dimensional subspace. arXiv preprint arXiv:2310.17678.
    • Pan, X., et al. (2024a). AdaLoRA: Adaptive low-rank adaptation of large language models. arXiv preprint arXiv:2305.11720.
    • Liu, Z., et al. (2024). AFLoRA: Adaptive frozen low-rank adaptation for efficient large language model fine-tuning. arXiv preprint arXiv:2310.16125.
    • Meng, Z., et al. (2024). On the importance of adapter initialization for parameter-efficient fine-tuning of large language models. arXiv preprint arXiv:2310.17463.

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

    A: 这篇论文介绍了一种名为LaMDA(Large Model Fine-tuning via Spectrally Decomposed Low-Dimensional Adaptation)的新方法,旨在解决大型语言模型(LLMs)微调过程中的两个主要问题:

    1. 训练参数需求随着模型嵌入维度的增加而增加:传统的低秩适应(LoRA)方法在微调大型语言模型时,虽然减少了可训练参数的数量,但当模型的嵌入维度增大时,所需的训练参数数量仍然可能很大。
    2. 高计算成本和GPU内存占用:LoRA方法在反向更新过程中需要存储高维中间激活和优化器状态,这导致GPU内存需求高,尤其在模型参数过多的情况下,容易造成过度拟合和灾难性遗忘。

    为了解决这些问题,LaMDA采用了低维适应技术,通过冻结第一投影矩阵(PMA)并引入一个低维可训练的方阵,显着减少了可训练参数和GPU内存占用。此外,LaMDA在微调的早期阶段逐步冻结第二投影矩阵(PMB),进一步降低与权重更新相关的计算成本,提高参数效率。论文还提出了LaMDA++,一种增强版的方法,通过对方阵进行“轻量级”的自适应秩分配,利用预训练模型权重的归一化谱分析来优化LoRA路径。

    总的来说,LaMDA和LaMDA++旨在提供一种更为高效和可扩展的方式来微调大型语言模型,减少所需的训练参数和内存占用,同时保持或提高模型性能。

    Q: 有哪些相关研究?

    A: 论文中提到了几种与LaMDA相关的研究和技术,主要包括以下几种:

    1. LoRA (Low-rank Adaptation) (Hu et al., 2022): 一种流行的微调大型语言模型的方法,通过添加两个可训练的低秩适配器来减少训练参数的数量。
    2. VERA (Vector-based Random Matrix Adaptation) (Kopiczko et al., 2024): 一种不同的方法,通过随机初始化和冻结PMA和PMB,专注于微调两个特征转换矢量。
    3. AFLoRA (Adaptive Freezing LoRA) (Liu et al., 2024): 为了解决VERA的计算效率问题而提出的方法,但仍然存在高激活存储开销。
    4. LISA (Layerwise Importance Sampling for Memory-efficient Fine-tuning) (Pan et al., 2024b): 一种针对内存效率优化的微调方法。
    5. AdaLoRA: LoRA的一个变种,通过动态学习适配器的秩来提高微调预算的利用效率。
    6. DeBERTa-V3 (He et al., 2023): 用于自然语言理解任务的编码器模型。
    7. BART-Large (Lewis et al., 2020): 用于文本摘要和自然语言生成任务的编码器-解码器模型。
    8. LLaMA2-7B (Touvron et al., 2023b): 用于复杂推理任务的解码器模型。
    9. Transformer-based models (Vaswani et al., 2017): 论文中还讨论了基于Transformer的模型的背景,这些模型通常由多头自注意力(MHSA)子块和前馈网络(FFN)组成。

    这些研究和技术为LaMDA提供了理论基础和比较基准,使得LaMDA能够在减少训练参数和降低GPU内存占用方面取得显着进步。

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

    A: 论文通过提出LaMDA(Large Model Fine-tuning via Spectrally Decomposed Low-Dimensional Adaptation)框架解决了大型语言模型(LLMs)微调过程中遇到的高参数需求和高计算成本问题。以下是LaMDA解决这些问题的关键步骤和方法:

    1. 低维适配器(Low-Dimensional Adapter, LDA)
      • LaMDA引入了一个低维的可训练方阵LDA,该方阵在r维空间中,与模型的嵌入维度d相比,r通常小得多。
    2. 冻结投影矩阵(Projection Matrix Freezing)
      • 在微调过程中,LaMDA冻结了第一投影矩阵(PMA),并只训练LDA,从而显着减少了可训练参数的数量。
    3. 逐步冻结第二投影矩阵(Gradual Freezing of the Second Projection Matrix, PMB)
      • LaMDA在微调的早期阶段逐步冻结PMB,这有助于在保持LaMDA优势的同时提高模型对复杂任务的适应性。
    4. LaMDA++(增强版LaMDA)
      • 利用预训练模型权重的归一化谱分析,为每层的LDA自适应地分配秩,从而实现更优的参数分布。
    5. 初始化策略
      • LaMDA使用奇异值分解(SVD)对预训练权重进行分解,并用对应的奇异矢量初始化PMA和PMB,这有助于在微调开始时近似原始权重。
    6. 内存和计算效率
      • 由于LDA的使用和PMA的冻结,LaMDA在反向传播过程中减少了激活存储的需求,从而降低了GPU内存的使用。
    7. 实验验证
      • 论文通过在多种任务和不同大小的LLMs上进行实验,验证了LaMDA与现有方法相比,在减少参数更新数量和降低GPU内存使用方面的优势。
    8. 性能对比
      • 实验结果显示,LaMDA在保持或提高性能的同时,相比于现有方法,需要更少的参数更新和更低的GPU内存占用。

    通过这些方法,LaMDA在减少训练参数、降低内存占用和计算成本方面取得了显着的改进,同时保持了或提高了模型性能。

    Q: 论文做了哪些实验?

    A: 论文中进行了一系列的实验来评估LaMDA和LaMDA++方法的性能。以下是实验的主要方面:

    1. 模型和数据集:实验涵盖了不同类型的模型,包括编码器(DeBERTa-V3)、编码器-解码器(BART-large)和解码器(LLaMA2-7B)模型。使用了多个数据集,如GLUE基准测试用于自然语言理解(NLU),XSUM和CNN/DailyMail用于文本摘要(NLG),以及GSM8K、Wikitext-2和Commonsense170K用于复杂推理任务。
    2. 微调方法比较:LaMDA与全参数微调(Full FT)、LoRA、LoRA-FA、AdaLoRA、VERA、AFLoRA和LISA等现有的参数高效微调(PEFT)技术进行了比较。
    3. 性能指标:根据不同任务的性质,使用了不同的性能指标,例如GLUE基准上的准确率、文本摘要任务上的ROUGE分数、复杂推理任务上的准确率以及Wikitext-2上的困惑度(Perplexity)。
    4. 可训练参数数量:实验报告了LaMDA和LaMDA++与基线方法相比在减少可训练参数数量方面的效果。
    5. GPU内存使用情况:通过在不同批处理大小下对BART-large模型进行微调,测量了不同微调方法在峰值GPU内存使用上的差异。
    6. LaMDA++的秩分配策略:通过分析预训练模型权重的归一化能量得分,评估了LaMDA++的自适应秩分配策略的有效性。
    7. 初始化选择的影响:研究了不同初始化方法(如使用最大奇异值对应的奇异矢量、随机初始化等)对LaMDA性能的影响。
    8. 逐步冻结PMB的迭代次数:研究了在微调过程中逐步冻结PMB的迭代次数对LaMDA性能的影响。
    9. LaMDA++排名的影响:评估了LaMDA++根据能量得分对层进行排序并分配秩的策略对训练过程和性能的影响。
    10. 常识推理任务:在多个常识推理数据集上评估了LaMDA的性能,包括BoolQ、PIQA、SIQA、HellaSwag、WinoGrande、ARC-e、ARC-c和OBQA。

    这些实验结果表明,LaMDA和LaMDA++在减少可训练参数数量和降低GPU内存需求的同时,能够与或超越现有方法的性能。

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

    A: 根据论文的讨论和结论部分,以下是一些可以进一步探索的点:

    1. 在更大模型上的测试:论文中提到,他们测试的最大模型是LLaMA2-7B。由于时间限制,他们未能在更大的模型上测试LaMDA。未来的工作可以在更大的模型上评估LaMDA的可扩展性和有效性。
    2. 在指令遵循任务上的应用:LaMDA尚未在指令遵循任务上进行测试。评估LaMDA在这些特定任务上的性能对于完全理解其潜力和多功能性至关重要。
    3. 应用于视觉-语言模型:论文没有探索LaMDA方法在视觉-语言模型上的应用。考虑到多模态学习的重要性,将LaMDA应用于这类模型是一个值得探索的方向。
    4. 改进的秩分配策略:尽管LaMDA++采用了基于能量得分的秩分配策略,但可能存在更精细或更动态的秩分配方法,这些方法可以进一步优化模型性能和参数效率。
    5. 长期维护和灾难性遗忘问题:在持续微调过程中,研究LaMDA如何处理长期维护问题和灾难性遗忘问题,以及如何改进以减少这些问题的影响。
    6. 不同领域的适应性:研究LaMDA在不同领域(如医疗、法律等专业领域)的适应性,以及是否需要针对特定领域进行调整。
    7. 与其他微调技术的比较:与其他新兴的微调技术进行比较,以评估LaMDA在不同方面(如速度、内存效率、易用性等)的相对优势和局限性。
    8. 模型解释性和可理解性:提高LaMDA微调过程中模型的解释性和可理解性,帮助研究人员和实践者更好地理解模型的决策过程。
    9. 跨语言评估:评估LaMDA在不同语言上的微调效果,以及它如何处理语言之间的差异。
    10. 环境影响评估:研究LaMDA在减少计算资源需求的同时,对环境影响(如能源消耗和碳足迹)的潜在影响。

    这些探索点可以帮助研究者更深入地理解LaMDA的潜力,并推动大型语言模型微调技术的发展。

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

    A: 这篇论文介绍了LaMDA,一种用于大型语言模型(LLMs)微调的新方法。以下是论文的主要内容总结:

    1. 问题识别:论文首先指出了现有微调大型语言模型方法(如LoRA)存在的问题,包括随着模型尺寸增加而增加的参数需求,以及高计算成本和GPU内存占用。
    2. LaMDA方法:提出了LaMDA方法,它通过使用低维适配器(LDA)和逐步冻结第二投影矩阵(PMB)来减少可训练参数和GPU内存占用。
    3. LaMDA++:介绍了LaMDA的增强版LaMDA++,它通过归一化谱分析自适应地为不同层分配秩,以优化参数分布。
    4. 实验设置:论文详细描述了实验的设置,包括使用的不同模型(DeBERTa-V3、BART-large、LLaMA2-7B)和数据集(GLUE、XSUM、CNN/DailyMail、GSM8K、Wikitext-2等)。
    5. 性能比较:展示了LaMDA和LaMDA++与现有微调方法(包括Full FT、LoRA、AdaLoRA、VERA、AFLoRA和LISA)的性能比较,证明了LaMDA在减少参数数量和降低GPU内存使用方面的优势。
    6. 内存和计算效率:通过实验数据,论文展示了LaMDA在不同批处理大小下对BART-large模型微调时的内存效率。
    7. 初始化和秩分配策略:研究了不同的初始化方法和LaMDA++的秩分配策略对性能的影响。
    8. 逐步冻结PMB的影响:分析了逐步冻结PMB的迭代次数对LaMDA性能的影响。
    9. 常识推理任务:在多个常识推理数据集上评估了LaMDA的性能,并与LoRA进行了比较。
    10. 结论和局限性:论文总结了LaMDA的主要贡献,并指出了研究的局限性,如未在更大的模型和指令遵循任务上进行测试,以及未探索在视觉-语言模型上的应用。
    11. 未来工作:提出了未来可能的研究方向,包括在更大模型上的测试、指令遵循任务、视觉-语言模型应用等。

    论文的代码将在GitHub上公开,以供研究社区使用和进一步研究。

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 2330 | UV: 1245
Last updated: 2025-06-25 22:12:01
沪ICP备2024052574号-1