DeepSeek 发布全新开源大模型,数学推理能力超越 LLaMA-2

自从 LLaMA 被提出以来,开源大型语言模型(LLM)的快速发展就引起了广泛研究关注,随后的一些研究就主要集中于训练固定大小和高质量的模型,但这往往忽略了对 LLM 缩放规律的深入探索。

开源 LLM 的缩放研究可以促使 LLM 提高性能和拓展应用领域,对于推进自然语言处理和人工智能领域具有重要作用。在缩放规律的指导下,为了解决目前 LLM 缩放领域中存在的不明确性,由 DeepSeek 的 AI 团队发布了全新开源模型 LLMDeepSeek LLM。此外,作者还在这个基础模型上进行了监督微调(SFT)和直接偏好优化(DPO),从而创建了 DeepSeek Chat 模型。

在性能方面,DeepSeek LLM 67B 在代码、数学和推理任务中均超越了 LLaMA-2 70B,而 DeepSeek LLM 67B Chat 在开放性评估中更是超越了 GPT-3.5。这一系列的表现为开源 LLM 的未来发展奠定了一定基础。

论文题目:
DeepSeek LLM: Scaling Open-Source Language Models with Longtermism

论文链接:
https://arxiv.org/abs/2401.02954


与作为人工通用智能(AGI)新标杆的 LLaMa 相比,本文提出的 DeepSeek LLM:

  1. 数据集规模:DeepSeek LLM 使用了一个包含 2 万亿字符的双语数据集进行预训练,这比 LLaMA 的数据集更大。

  2. 模型性能:DeepSeek LLM 在多个基准测试中表现优于 LLaMA,特别是在代码、数学和推理方面。

  3. 模型架构:虽然 DeepSeek LLM 在微观设计上主要遵循 LLaMA ,但在宏观设计上有所不同。DeepSeek LLM 7B 是一个 30 层网络,而 DeepSeek LLM 67B 有 95 层。这些层数调整在保持与其他开源模型参数一致性的同时优化了模型的训练和推理。

  4. 可缩放研究:DeepSeek LLM 对模型和数据尺度的可缩放性进行了深入研究,并成功地揭示了最优模型/数据缩放分配策略,从而预测了大规模模型的性能。

  5. 安全性评估:DeepSeek LLM 67B 表现优秀,能够在实践中提供无害化的回复。

预训练

  • 数据:为了在确保模型在预训练阶段能够充分学习并获得高质量的语言知识,在构建数据集过程中,采取了去重、过滤和混合三个基本阶段的方法,来增强数据集的丰富性和多样性。为了提高计算效率,作者还描述了分词器的实现方式,采用了基于 tokenizers 库的字节级字节对编码(BBPE)算法,使用了预分词化和设置了适当的词汇表大小。

  • 架构:主要借鉴了 LLaMA 的 Pre-Norm 结构,其中包括 RMSNorm 函数,使用 SwiGLU 作为前馈层的激活函数,中间层维度为 ,此外还引入了 Rotary Embedding 用于位置编码。为了优化推理成本,67B 模型没采用传统的 Multi-Head Attention(MHA),而是用了 GroupedQuery Attention(GQA)。

  • 超参数:通过我们的实验证明,使用多步学习率调度程序的最终性能与余弦调度程序基本一致,如图 1(a) 所示,作者还在图 1(b) 中演示了调整多步学习率调度程序不同阶段比例,可以略微提升性能。

图片

▲图1 使用不同学习率调度程序或调度程序不同参数的训练损失曲线

缩放规律及影响

作者通过大量实验,探讨了模型和数据大小与计算预算之间的关系。研究发现,随着计算预算的增加,模型性能可以通过增加模型规模和数据规模来预测性地提高。但是,不同数据集对缩放法则有显著影响,高质量的数据可以推动更大模型的训练。

超参数的缩放规律

在这部分,作者研究了 batch size 和学习率的缩放律,并找到了它们随模型大小的变化趋势。图 2 的实验展示了 batch size 和学习率与计算预算之间的关系,为确定最佳超参数提供了经验框架。

图片

▲图2 训练损失关于 batch size 和学习率的变化

如图 3 所示,经验证实,batch size 随计算预算的增加而增加,而学习率则随计算预算的增加而减小。作者指出,他们的研究结果与一些早期研究中提到的观点不一致。这些研究可能认为最佳 batch size 仅与泛化误差𝐿有关。然而,本文的发现似乎暗示了更为复杂的关系,可能受到模型规模和数据分配的影响。作者将在未来工作中进一步研究以了解如何进行超参数和训练动态选择。

图片

▲图3 batch size 和学习率的缩放曲线

估算最优的模型和数据缩放

表 1 的结果表明,数据质量会影响最优模型/数据缩放分配策略。数据质量越高,增加的计算预算应更多地分配给模型缩放。作者使用了三个不同的数据集来研究缩放定律,发现最优模型/数据缩放分配策略与数据质量一致。数据质量提高时,模型缩放指数逐渐增加,而数据缩放指数减小,这表明增加的计算预算应更多地分配给模型而不是数据。

图片

▲表1 模型缩放和数据缩放的系数随训练数据分布而变化

对齐

对齐流程主要包括两个阶段:监督微调(SFT)和直接偏好优化(DPO)。

监督微调

在微调阶段,作者对 7B 模型进行了 4 个 epoch 的微调,而由于观察到 67B 模型存在较为严重的过拟合问题,对 67B 模型仅进行了 2 个 epoch 的微调。

作者还评估了微调过程中聊天模型的重复率。根据实验结果所示,随着数学 SFT 数据量的增加,重复率往往上升。这可以归因于数学 SFT 数据中偶尔包含相似的推理模式。

直接偏好优化(DPO)

此外,作者还采用了直接偏好优化算法(DPO)以进一步增强模型的能力,这是对齐大语言模型的一种简单而有效的方法。为了构建 DPO 训练的偏好数据,模型根据有益和无害两个方面进行了训练。

实验结果显示,DPO 在增强模型的开放性生成能力方面很成功,同时在标准基准测试中几乎没有差异

实验评估

实验表明,尽管 DeepSeek 模型是在 2 万亿字符的双语语料库上预训练的,但在英语语言理解基准上表现与 token 数差不多但侧重于英语的 LLaMA-2 模型相当。实验结果显示,在相同数据集上训练的 7B 和 67B 模型之间,模型缩放对某些任务(如 GSM8K 和 BBH)的性能提升效果明显。然而,随着数学数据比例的增加,小型和大型模型之间的性能差异可能会减小

在表 2 中,DeepSeek 67B 相对于 LLaMA-2 70B 的优势大于 DeepSeek 7B 相对于 LLaMA-2 7B 的优势,突显了语言冲突对较小模型的更大影响。此外,LLaMA-2 在某些中文任务上表现出色,这表明某些基本能力如数学推理可以在语言之间有效地迁移。然而,对于涉及中文成语使用的任务,DeepSeek LLM 相较于 LLaMA-2 表现更出色,特别是在预训练期间涉及大量中文 token 的情况下。

图片

▲表2 主要实验结果

聊天模型

如表格 3 所示,微调后的 DeepSeek 聊天模型在大多数任务上取得了整体改进,表现出对多样性任务的适应能力。

图片

▲表3 基础模型和聊天模型之间的比较

  • 知识相关任务:在与知识相关的任务(如 TriviaQA、MMLU、C-Eval)中,基础模型和聊天模型之间存在一些波动。作者指出,这种波动不一定意味着在 SFT(聊天模型监督微调)后获取或失去了知识,而是强调 SFT 的价值在于实现聊天模型在零样本设置中的性能与基础模型在少样本设置中相当,这与真实场景一致。

  • 推理任务:由于 SFT 实例采用了 CoT 格式,聊天模型在推理任务中表现出些许改进。作者认为 SFT 阶段并未学到推理能力,而是学到了正确的推理路径格式。

  • 性能下降任务:一些任务在微调后持续表现出性能下降,特别是涉及填空或句子完成的任务(如 HellaSwag)。可能纯语言模型更适合处理这类任务。

  • 数学和编程任务:在数学和编程任务中,微调后的模型表现出显著的改进,例如 HumanEval 和 GSM8K 的提升了 20 多分。这可能是由于 SFT 阶段学到了编程和数学方面的额外知识,尤其是在代码完成和代数问题方面。作者指出,未来工作可能需要在预训练阶段引入更多样化的数据以全面理解数学和编程任务。

开放性评估

中文开放性评估

实验结果显示,DeepSeek 67B Chat 模型在基本的中文语言任务中位于所有模型的第一梯队,甚至在中文基础语言能力方面超过了最新版本的 GPT-4。在高级中文推理任务中,本文的模型得分明显高于其他中文 LLM,在更复杂的中文逻辑推理和数学计算中有着卓越性能。

图片

▲表4 AlignBench 排行榜

英文开放性评估

DeepSeek LLM 67B Chat 在性能上超过了 LLaMA-2-Chat 70B 等其他开源模型,与 GPT-3.5-turbo 相媲美。此外,经过 DPO 阶段后,DeepSeek LLM 67B Chat 的平均分进一步提升,仅次于 GPT-4。这表明 DeepSeek LLM 在多轮开放性生成方面具有强大能力

图片

▲表5 MT-Bench 评估

保留集评估

保留集是模型在训练阶段未曾接触到的数据集,用于评估模型在面对新领域和未见过的样本时的泛化能力。作者采用了多个基准任务和指标,包括对话、数学、编程、语言理解等方面的测试。这些任务涵盖了模型需要在实际应用中面对的各种场景和挑战。DeepSeek 在各个阶段的保留集评估中都展现出卓越的性能,验证了其在处理未知任务和领域时的强大能力。

安全性评估

DeepSeek 67B Chat 模型在安全性评估方面表现良好,其安全性得分高于 ChatGPT 和 GPT-4。在不同的安全测试类别中,该模型的表现也相对出色。然而,模型在某些任务上的表现可能受到数据集的局限性影响。例如,初始版本的中文数据可能在某些中文特定主题上表现不佳。此外,由于模型主要基于中英文数据集,对其他语言的熟练程度可能相对较低,需要在实际应用中审慎对待。

图片

▲表6 Do-Not-Answer 得分

进一步讨论

分阶段微调

小型模型在数学和代码数据集上需要更长时间的微调,但这将损害模型的对话能力。为了解决这个问题,作者进行了分阶段微调:

  • 第一阶段使用所有可用数据进行微调;

  • 第二阶段专注于使用对话数据进行微调。

表 7 的结果表明,第二阶段不会损害模型在编程和数学方面的熟练程度,同时降低了重复行为并增强了指令跟随的能力。

图片

▲表7 两阶段微调结果

多选题

多选题要求模型不仅具有相应的知识,还要理解选项的含义。在对齐阶段,作者测试了添加 2000 万个中文多项选择问题并获得了如表 8 所示的性能。为防止数据污染,作者对 C-Eval 验证集和 CMMLU 测试集进行了去重。

图片

▲表8 添加多项选择问题数据的影响

额外添加的多项选择问题不仅对中文多项选择基准有益,还有助于改善英文基准,这表明模型解决多选题的能力已经得到了增强。然而,用户在对话交互中可能不会认为模型变得更加智能,因为这些交互是生成回复而非解决多项选择问题。

在预训练中的指令数据

作者探讨了在预训练的后期阶段引入指令数据对基础模型性能的影响。他们在预训练的最后 10% 阶段整合了包含多项选择题在内的 500 万条指令数据,结果观察到基础 LLM 模型的性能改进。然而,最终结果几乎与在 SFT 阶段添加相同数据时获得的结果相同。因此,尽管这种方法增强了基础模型在基准测试中的性能,但其整体与在预训练过程中不引入这些指令数据相当。

系统提示

这里探讨了系统提示对模型性能的影响。他们采用 LLaMA-2 的系统提示,并稍微修改成为他们的系统提示,明确要求模型以有益、尊重、诚实的方式回答问题,同时禁止包含有害内容。

如表 9 所示,作者观察到一个有趣的现象,即在引入系统提示时,7B LLM 的性能略微下降。然而,当使用 67B LLM 时,添加提示导致结果显著改善。他们解释这种差异的原因是更大的模型能更好理解系统提示背后的预期含义,使它们能够更有效地遵循指令并生成更出色的回复。相反,较小的模型难以充分理解系统提示,训练和测试之间的不一致可能对它们的性能产生负面影响。

图片

▲表9 添加系统提示的影响

总结

作者在本文中提出了 DeepSeek LLM,并详细解释了超参数选择、缩放规律以及进行的各种微调尝试,校准了以前工作中的缩放规律,提出了一种新的最优模型/数据缩放分配策略。通过缩放规律的指导,我们使用最佳超参数进行预训练,并进行了更为全面的评估。

然而,DeepSeek Chat 仍然存在一些已知限制:如在预训练后缺乏知识更新、生成非事实信息以及在某些中文特定主题上性能不佳。此外,模型在其他语言上的熟练程度仍然相对脆弱,需要谨慎对待。

目前,该团队正在为即将推出的 DeepSeek LLM 版本构建更大、更完善的数据集,希望能在下一版本中改进推理、中文知识、数学和编程能力。作者的这一系列努力,也体现了他们要在推动 NLP 和 AIG 领域的创新和提升模型性能方面长期努力的承诺。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/339306.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode 1049 最后一块石头的重量II

题意理解&#xff1a; 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。 思路转化&#xff1a;我们可…

Farad capacitor法拉电容优点及缺点

Farad capacitor 法拉电容又称Electrical Double-Layer Capacitor双电层电容器、Gold capacitor黄金电容、Super capacitor 超级电容器&#xff0c;是一种化学元件。Super capacitor 超级电容器通过极化电解质来储能&#xff0c;但不发生化学反应&#xff0c;而且储能过程是可逆…

【MySQL】表设计与范式设计

文章目录 一、数据库表设计一对一一对多多对多 二、范式设计第一范式第二范式第三范式BC范式第四范式 一、数据库表设计 一对一 举个例子&#xff0c;比如这里有两张表&#xff0c;用户User表 和 身份信息Info表。 因为一个用户只能有一个身份信息&#xff0c;所以User表和In…

[Kubernetes]7. K8s包管理工具Helm、使用Helm部署mongodb集群(主从数据库集群)

上一节讲解了[Kubernetes]6. k8s Pod配置管理ConfigMap & Secret以及传递环境变量的使用,k8s的命名空间以及使用kubens管理命名空间的使用,这里来介绍一下Helm的使用 一.Helm相关介绍 1.介绍 在 kubernetes 系统上部署容器化应用时需要事 先手动编写资源配置清单文件 以…

数据库编程大赛冠军:郑凌云:0.67秒通过百万级数据评测!SQL代码惊现神之一手!

12月27日&#xff0c;NineData和云数据库技术社区主办&#xff0c;华为云、火山引擎、开源中国、云和恩墨、TDengine、云猿生数据、DORIS、ITPUB等协办单位和媒体&#xff0c;共同举办了本次《数据库编程大赛》。大赛题目「用一条SQL给出扑克牌24点的计算表达式」。 以下冠军选…

Unity组件开发--长连接webSocket

1.下载安装UnityWebSocket 插件 https://gitee.com/cambright/UnityWebSocket/ 引入unity项目&#xff1a; 2.定义消息体结构&#xff1a;ExternalMessage和包结构Package&#xff1a; using ProtoBuf; using System; using System.Collections; using System.Collections.Ge…

《路由与交换技术》---练习题(无答案纯享版)

注意&#xff01;&#xff01;&#xff01;这篇blog是无答案纯享版的 选择填空的答案我会放评论区 简答题可以看这里 计算题可以发私信问我&#xff08;当然WeChat也成&#xff09;but回讯息很慢 一、选择题 1.以下不会在路由表里出现的是: ( ) A.下一跳地址 B.网络地址 C…

用友移动管理系统 upload任意文件上传漏洞

产品介绍 用友移动系统管理系统是用友公司推出的一款移动办公解决方案&#xff0c;旨在帮助企业实现移动办公、提高管理效率和员工工作灵活性。 漏洞描述 用友移动系统管理系统/mobsm/common/upload等接口存在任意文件上传漏洞&#xff0c;未经授权攻击者通过漏洞上传任意文…

VUE element-ui实现表格动态展示、动态删减列、动态排序、动态搜索条件配置

1、实现效果 1.1、文件目录 1.2、说明 1、本组件支持列表的表头自定义配置&#xff0c;checkbox实现 2、本组件支持列表列排序&#xff0c;vuedraggable是拖拽插件&#xff0c;上图中字段管理里的拖拽效果 &#xff0c;需要的话请自行npm install 3、本组件支持查询条件动态…

spring boot + mybatis + websocket + js实战

项目技术&#xff1a;spring boot mybatis websocket js 需求背景&#xff1a;当添加一个女孩时&#xff0c;页面的socket收到消息&#xff0c;打印最新的所有女生list&#xff0c;这样可以进一步在react/vue前端框架下&#xff0c;实现当A用户新增了某业务数据后&#xff…

使用ffmpeg实现音频静音修剪

1 silenceremove介绍 本文主要介绍在 FFmpeg 命令中使用 silenceremove filter 进行音频静音的修剪。 1.1 start_x参数 参数名说明取值范围默认值start_periods设置是否应在音频开头修剪音频。0 表示不应从一开始就修剪静音。当指定一个非 0 值时&#xff0c;它会修剪音频直…

Unity中向量的点乘、叉乘区别和作用以及经典案例

文章目录 点乘&#xff08;Dot Product&#xff09;叉乘&#xff08;Cross Product&#xff09;向量归一化&#xff08;Normalize&#xff09;其他作用 unity开发中我们要计算角度&#xff0c;判断位置&#xff0c;常用点乘、叉乘、归一化等等&#xff0c;我们看看他们的使用案…