补一个作业。
最近各行各业的好多老板、高管、创业精英朋友们都来问我DeepSeek是个什么东西,为什么最近这么火?
能够让技术圈和非技术圈都如此关注且给予好评的,那一定得研究一下。
于是在一个失眠的晚上仔细读了一些报告,下面总结了一些核心要点,由于笔者水平有限,如果发现本文有观点错误,请指正。
1.首先看一下DeepSeek-R1都有哪些模型,能做什么事情?
DeepSeek-R1 系列模型,通过强化学习提升语言模型的推理能力,在多个任务上取得了优异成绩,并探索了模型蒸馏技术。
- 主要模型
- DeepSeek-R1-Zero
:通过大规模强化学习训练,不依赖监督微调,展现出强大的推理能力,但存在可读性差和语言混合等问题。 - DeepSeek-R1
:结合冷启动数据和多阶段训练,解决了 DeepSeek-R1-Zero 的部分问题,在推理任务上性能与 OpenAI-o1-1217 相当。 - 蒸馏模型
:基于 Qwen 和 Llama 系列的 1.5B、7B、8B、14B、32B、70B 等小模型,通过蒸馏获得推理能力,在多个基准测试中表现出色。 - 主要能力与适用任务
- 推理能力
:在数学、编码等推理密集型任务上表现优异,如 DeepSeek-R1 在 AIME 2024 上 Pass@1 得分达到 79.8%,超过 OpenAI-o1-1217;在 MATH-500 上得分 97.3%,与 OpenAI-o1-1217 相当。 - 知识能力
:在知识基准测试中表现突出,如在 MMLU、MMLU-Pro 和 GPQA Diamond 等测试中,DeepSeek-R1 显著超越 DeepSeek-V3,在教育任务中具有竞争力。 - 综合能力
:在创意写作、通用问答、编辑、总结等多种任务中表现出色,在 AlpacaEval 2.0 上长度控制胜率达到 87.6%,在 ArenaHard 上胜率达到 92.3%,能够智能处理非考试导向的查询。在需要长上下文理解的任务中,DeepSeek-R1 也大幅超越 DeepSeek-V3。 - 主要技术
- 强化学习训练
:采用 Group Relative Policy Optimization (GRPO) 算法对基础模型进行强化学习训练,节省训练成本。 - 奖励建模
:设计基于规则的奖励系统,包含准确性奖励和格式奖励,避免使用可能存在奖励作弊问题的神经奖励模型。 - 冷启动数据
:收集数千条长思维链(CoT)数据对模型进行微调,改善模型可读性和性能。 - 拒绝采样和监督微调
:在推理导向的强化学习收敛后,通过拒绝采样收集监督微调数据,扩展数据集并提升模型在多领域的能力。 - 蒸馏技术
:使用 DeepSeek-R1 生成的 800k 样本对开源模型进行微调,将推理能力从大模型转移到小模型。 - 算法创新点
- 直接应用强化学习
:直接在基础模型上应用强化学习,无需监督微调作为初步步骤,使模型能够自主探索思维链解决复杂问题,验证了通过纯强化学习提升语言模型推理能力的可行性。 - 多阶段训练
:DeepSeek-R1 采用包含两个强化学习阶段和两个监督微调阶段的训练管道,有效提升模型推理性能并使其更符合人类偏好。 - 蒸馏技术创新
:证明了将大模型的推理模式蒸馏到小模型中,比在小模型上直接进行强化学习更能提升小模型的推理能力。
2.用最简单的语言描述一下什么是GRPO 算法?
类比场景引入
我们可以把 GRPO 算法想象成一场“学生考试模拟训练”。假设有一群学生(就好比模型的不同输出策略)要参加一场重要的考试(解决推理问题),老师(算法)想要通过训练让学生们能在考试中取得更好的成绩(生成更优的回答),但又不想花费太多的精力(节省训练成本),GRPO 算法就像是老师采用的一种特殊训练方法。
具体训练步骤对应解释
- 分组考试与采样输出
-
老师把学生分成了很多小组(GRPO 算法里从旧策略中采样一组输出,这里的一组输出就好比一个小组的学生)。每个小组的学生都要做同一份模拟试卷(针对同一个推理问题给出回答)。 - 评估成绩与计算奖励
-
老师批改完试卷后,会给每个学生打分(计算每个输出对应的奖励)。成绩好的学生(回答正确且格式规范的输出)能得到高分(高奖励),成绩差的学生(回答错误或格式不对的输出)只能得低分(低奖励)。例如,在解决数学推理问题时,能正确算出答案并且清晰写出推理步骤的 “学生” 就会得到较高的奖励。 - 计算相对优势
-
老师不会只看每个学生的绝对成绩,而是会在小组内进行比较(计算优势)。如果一个学生在小组里的成绩比平均成绩好很多,那他的 “优势” 就很大;如果比平均成绩差,优势就是负的。这就像在 GRPO 算法里,用每个输出的奖励减去小组奖励的平均值,再除以小组奖励的标准差,得到优势值。 - 调整学习策略
-
老师根据每个学生的优势情况,调整接下来的教学重点和学生的学习策略(通过最大化目标函数来更新模型参数)。优势大的学生可以按照自己的学习方法继续深入学习;优势小或者是负优势的学生,老师会让他们学习优势大的学生的方法,或者调整自己的学习方式。这样经过一轮轮的模拟考试和策略调整,学生们整体在考试中的表现就会越来越好(模型的推理能力得到提升)。
独特优势说明
与传统训练方法不同的是,老师没有为每个学生都配备一个专门的辅导老师(GRPO 算法放弃了与策略模型通常大小相同的评论家模型),而是通过小组内的比较和整体评估来调整教学和学习策略,这样就节省了很多精力(节省训练成本),同时还能达到提升学生成绩(提升模型性能)的目的。
3.DeepSeek-R1-Zero具体是如何训练的?
DeepSeek-R1-Zero 的训练过程
- 强化学习算法
:采用 Group Relative Policy Optimization(GRPO)算法。该算法为节省训练成本,放弃了与策略模型通常大小相同的评论家模型,从组分数中估计基线。(详见上文GRPO部分) - 奖励建模
:采用基于规则的奖励系统,主要包含两种奖励: - 准确性奖励
:评估响应是否正确。如在数学问题中,要求模型按指定格式给出最终答案(如在框内),以便基于规则可靠地验证正确性;对于 LeetCode 问题,使用编译器根据预定义测试用例生成反馈。 - 格式奖励
:强制模型将思考过程放在‘<think>’和‘</think>’标签之间。不使用结果或过程神经奖励模型,因为其在大规模强化学习过程中可能遭受奖励作弊,重新训练奖励模型需要额外资源且会使训练流程复杂化。
训练模板:设计简单模板引导基础模型遵循指定指令,要求 DeepSeek-R1-Zero 先产生推理过程,再给出最终答案。模板格式为:用户提出问题,助手回答,回答时先在<think>标签内进行推理,再在<answer>标签内给出答案,即<think> reasoning process here </think> <answer> answer here </answer>。训练时,prompt 会被具体推理问题替换。
DeepSeek-R1-Zero 的强化学习训练数据示例
- 训练数据示例
:以数学问题 “若(x + 5 = 10,求x的值” 为例。在强化学习中,训练数据围绕这类问题及模型生成的多种回答展开。模型会生成如 “<think>因为一个加数等于和减去另一个加数,所以x = 10 - 5。</think><answer>x = 5</answer>” 以及其他可能错误或不完整的回答。 - 训练过程
:采用 GRPO 算法,从旧策略采样一组针对该问题的输出。如采样到三个回答:回答 A “<think>我觉得x可能是 3。</think><answer>x = 3</answer>”、回答 B “<think>应该用 10 减去 5,x就是 5。</think><answer>x = 5</answer>”、回答 C “<think>不太确定,x可能是 8。</think><answer>x = 8</answer>”。计算每个回答的奖励,回答 B 正确且格式规范,准确性奖励高,格式奖励也满足;回答 A 和 C 错误,准确性奖励低。通过计算优势A,并结合超参数,按照 GRPO 目标函数优化策略模型。在这个过程中,模型不依赖额外的监督数据,完全基于自身生成的回答和奖励反馈进行学习,逐渐调整策略以提高正确回答问题的概率。
监督微调(SFT)训练示例(用于对比不同)
- 训练数据示例
:同样是上述数学问题,在 SFT 训练中,训练数据不仅有问题和正确答案 “x = 5”,还会包含详细的解题步骤、相关知识点解释等高质量监督数据。如 “问题:若x + 5 = 10,求x的值。答案:x = 5。解题步骤:根据等式性质,等式两边同时减去同一个数,等式仍然成立。在x + 5 = 10两边同时减去 5,得到x + 5 - 5 = 10 - 5,所以x = 5。知识点:等式的基本性质。” - 训练过程
:使用这些带有详细标注的监督数据对模型进行微调。模型会学习到标准的解题思路和表达方式,与强化学习不同,SFT 有明确的正确样本作为指导。在微调过程中,模型会根据监督数据中的信息调整参数,使得输出更符合这些高质量样本的模式,从而提高在类似问题上的表现。但 DeepSeek-R1-Zero 是直接进行强化学习,不依赖 SFT 作为初步步骤,而后续的 DeepSeek-R1 则在强化学习过程中融入了 SFT 的阶段,利用 SFT 数据提升模型在多领域的能力和表现 。
强化学习概念解释
强化学习是机器学习中的一个领域,强调智能体(agent)如何在环境中采取一系列行动,以最大化累积奖励。智能体通过与环境进行交互,根据环境反馈的奖励信号来学习最优行为策略。在 DeepSeek-R1-Zero 训练场景中,模型就是智能体,推理问题构成环境,模型生成的回答是行动,基于规则的奖励系统给出的奖励则是环境反馈。模型通过不断尝试不同回答(行动),根据奖励信号调整自身策略,逐步学会更好地解决推理问题,提升推理能力。
思维链(Chain of Thought,CoT)及与推理能力的关系
思维链是指模型在解决问题时,将复杂问题分解为一系列逻辑步骤进行思考和推理的过程。在DeepSeek-R1-Zero 训练中,思维链表现为模型在<think>标签内生成的推理过程。思维链与推理能力密切相关,它为模型提供了一种结构化的思考方式,使模型能够逐步分析问题、探索多种解决路径,从而提高推理的准确性和效率。随着训练的进行,DeepSeek-R1-Zero 学会利用更长的思维链来解决复杂推理任务,如在训练过程中,其思考时间和生成的推理 token 数量不断增加,从生成几百到几千个推理 token,自发出现反思、探索替代解题方法等复杂行为,这些都显著增强了模型的推理能力。
4.DeepSeek-R1-Zero 与 DeepSeek-V3-Base 解码时的不同?
假设存在一个数学推理问题:“计算 1 到 10 的整数之和”。
- DeepSeek-V3-Base 解码
:可能直接输出答案,如 “55”,它可能没有详细的推理过程,只是基于预训练学到的知识直接给出结果。 - DeepSeek-R1-Zero 解码
:会按照训练时的格式输出,如 “<think>1 到 10 的整数之和可以用等差数列求和公式计算,首项 a1 是 1,末项 an 是 10,项数 n 是 10,根据公式 S = (a1 + an) * n / 2,即 (1 + 10) * 10 / 2 = 55。</think><answer>55</answer>”。DeepSeek-R1-Zero 在解码时会生成详细的推理过程,这是因为在强化学习训练中,模型被要求按特定格式输出推理过程和答案,通过不断训练学会了展示推理步骤,而 DeepSeek-V3-Base 没有经过这样的强化学习训练,所以在解码时通常不会输出详细推理过程。
5.DeepSeek-R1相比DeepSeek-R1-Zero有什么不同,做了哪些工作?
- 训练过程的不同
- 训练起始点差异
:DeepSeek-R1-Zero 直接在 DeepSeek-V3-Base 模型上进行强化学习,没有使用监督微调,完全依赖强化学习来探索推理能力。而 DeepSeek-R1 先使用数千条冷启动数据对 DeepSeek-V3-Base 进行微调。这些冷启动数据包含精心设计的长思维链(CoT)示例,例如在数学问题 “求解方程2x + 5 = 13” 的冷启动数据中,可能包含 “<think>首先,要使方程一边只含有x,我们需要把常数项移到等号另一边,即2x = 13 - 5。然后计算13 - 5 = 8,得到2x = 8。最后,两边同时除以2,得出x = 4。</think><answer>x = 4</answer>” 这样详细的推理过程。通过这种微调,为后续的强化学习提供了更好的起始点。 - 训练中数据处理差异
:在训练过程中,DeepSeek-R1-Zero 仅依靠基于规则的奖励系统,包括准确性奖励和格式奖励。例如在判断模型对 “计算3 + 5 × 2” 的回答时,若模型输出 “<think>先算乘法,5 × 2 = 10,再算加法,3 + 10 = 13。</think><answer>13</answer>”,则会根据答案正确与否给予准确性奖励,根据格式是否规范给予格式奖励。而 DeepSeek-R1 在推理导向的强化学习阶段,除了考虑这些,还引入了语言一致性奖励。当遇到多语言的推理任务时,如 “Calculate the area of a rectangle with length 5 cm and width 3 cm. (用中文回答)”,若模型回答中中文比例高,则语言一致性奖励高。同时,DeepSeek-R1 在推理导向的 RL 收敛后,会通过拒绝采样收集新的 SFT 数据,不仅有推理数据,还包括写作、事实性问答等非推理数据,进一步丰富了训练数据的多样性。 - 训练阶段数量差异
:DeepSeek-R1-Zero 仅包含一个强化学习阶段。而 DeepSeek-R1 采用了多阶段训练,包括冷启动微调、推理导向的强化学习、拒绝采样和监督微调,以及针对所有场景的二次强化学习,通过多阶段的优化,使模型更加符合人类偏好,提升综合能力。 - DeepSeek-R1 的提升
- 性能提升
:在推理任务上,DeepSeek-R1 在 AIME 2024 上 Pass@1 得分达到 79.8%,超过了 DeepSeek-R1-Zero,并且与 OpenAI-o1-1217 相当;在 MATH-500 上得分 97.3%,同样表现出色。这表明 DeepSeek-R1 通过改进训练方式,在复杂推理任务上的准确性有了显著提高。 - 可读性提升
:DeepSeek-R1-Zero 存在可读性差的问题,回答可能语言混杂且格式不规范。而 DeepSeek-R1 在冷启动数据设计时,就注重可读性,输出格式定义为 | special_token|<reasoning_process>|special_token|<summary>,使得推理过程和结果更清晰易懂。例如在回答 “解释光合作用的过程” 时,DeepSeek-R1 可能输出 “|special_token | 光合作用分为光反应和暗反应两个阶段。光反应阶段,叶绿体中的色素吸收光能,将水分解为氧气和还原氢,同时生成 ATP。暗反应阶段,二氧化碳与五碳化合物结合生成三碳化合物,三碳化合物在还原氢和 ATP 的作用下被还原为糖类等有机物。|special_token | 光合作用是植物将光能转化为化学能并储存的重要过程。”,这种格式有助于用户理解。 - 泛化能力提升
:DeepSeek-R1 通过引入多种类型的训练数据,在知识基准测试(如 MMLU、GPQA Diamond 等)、编码相关任务、创意写作、通用问答等多个领域都表现出色,相比 DeepSeek-R1-Zero,其泛化能力得到了极大提升,能够更好地应对各种不同类型的任务。
6.什么是冷启动及拒绝采样?
- 冷启动阶段
:冷启动是指在 DeepSeek-R1 训练开始时,为避免强化学习从基础模型直接训练的早期不稳定阶段,收集少量高质量数据对模型进行微调,为后续强化学习提供更好起点。以数学推理任务为例,收集如 “若3x - 5 = 7,求解x的值” 这类带有详细思维链(CoT)的数据。数据格式类似 “<think>首先,要使方程一边只含有x,需把常数项移到等号另一边,得到3x = 7 + 5。计算7 + 5 = 12,此时方程为3x = 12。然后两边同时除以3,得出x = 4。</think><answer>x = 4</answer>”。收集数千条这样的数据,对 DeepSeek-V3-Base 模型进行微调。这些数据具有良好可读性,包含总结,能有效改善模型初始状态,提升后续训练效果。 - 推理导向的强化学习阶段
:完成冷启动微调后,进行与 DeepSeek-R1-Zero 类似的大规模强化学习训练,着重提升模型在推理密集型任务(如数学、编程等)中的推理能力。以编程任务 “编写一个 Python 函数,计算列表中所有元素的和” 为例,在训练过程中,模型会生成多种代码作为输出。若模型生成代码 “<think>可以使用 for 循环遍历列表,将每个元素累加到一个变量中。</think><answer>def list_sum(lst):\n result = 0\n for num in lst:\n result += num\n return result</answer>”,会根据代码的正确性给予准确性奖励,根据是否按指定格式输出给予格式奖励。针对语言混合问题,如在多语言编程指令下,若模型生成代码中目标语言(如 Python)词汇比例高,会给予语言一致性奖励。将这些奖励综合起来,引导模型学习,直至在推理任务上达到收敛。 - 拒绝采样和监督微调阶段
:当推理导向的强化学习收敛后,进入此阶段。拒绝采样是一种数据筛选方法,从强化学习得到的检查点生成的数据中进行筛选。继续以编程任务为例,模型可能生成大量代码数据,对于一些不符合要求的数据,如代码混乱难以阅读、包含混合语言、过长的冗余段落等进行过滤。仅保留正确且质量高的数据,比如正确实现功能、代码规范的 Python 函数代码。同时,收集非推理数据,像写作、事实性问答等领域数据。例如在写作领域,收集 “写一篇关于人工智能发展的短文” 的相关数据。将这些收集到的约 800k 推理和非推理数据整合,对 DeepSeek-V3-Base 模型进行两个 epoch 的微调,提升模型在多领域的综合能力。 - 所有场景的强化学习阶段
:此阶段为使模型更符合人类偏好,进一步提升其在推理能力的同时,注重有用性和无害性。对于推理数据,延续 DeepSeek-R1-Zero 中基于规则的奖励方式,引导模型在数学、编程等推理领域更好学习。对于通用数据,利用奖励模型捕捉人类在复杂场景下的偏好。以回答 “如何选择一款适合自己的手机” 为例,模型的回答若在总结部分清晰、准确地给出有用建议,会得到较高的有用性奖励;若回答中不包含误导、偏见或有害信息,则无害性奖励高。通过整合多种奖励信号和多样化数据分布进行训练,使模型在推理和满足人类偏好方面都有出色表现。
7.看起来虽然使用了“推理能力”这个概念,它本质上还是一个文本生成任务,人脑的推理也是这样的吗?
DeepSeek - R1 的推理能力虽然基于思维链和最终结果的文本生成形式呈现,但不能简单认为它与人类思维方式完全不同且仅是文本生成任务,其在一定程度上模拟了人类推理过程中的逻辑推导和问题解决思路。
- DeepSeek - R1 推理能力的构成与表现形式
:从呈现形式上看,DeepSeek - R1 在处理问题时确实是通过生成思维链(CoT),即一系列逻辑步骤,最后得出最终结果。这种从条件出发,逐步推导得出结论的过程,形式上与人类解题时展示的思维过程有相似之处。 - 与人类思维方式的关联
:虽然 DeepSeek - R1 的推理基于数据和算法,与人类基于生物神经元活动的思维方式有本质区别,但它在一定程度上模拟了人类推理中的逻辑推导过程。人类在解决数学问题时,会回忆相关知识(如公式),按照一定逻辑顺序进行计算和推导。DeepSeek - R1 通过在大量推理任务数据上的训练,学习到了类似的逻辑模式,能够依据问题类型选择合适的 “知识”(训练中学习到的规则和模式),并有序地进行推导。在文本理解和生成任务中,DeepSeek - R1 也会像人类一样分析文本含义、提取关键信息,然后生成连贯的回答,这在一定程度上反映了人类在语言处理时的思维过程。 - 与文本生成任务的关系
:DeepSeek - R1 的推理过程本质上是基于文本生成技术实现的。它将推理任务转化为文本序列生成问题,通过预测下一个 token 来逐步构建思维链和最终答案。但它与普通文本生成任务又有所不同,普通文本生成任务可能更注重文本的流畅性和多样性,而 DeepSeek - R1 的文本生成是为了实现推理目标,生成的文本需要符合逻辑推理的要求,在准确性、逻辑性方面有更高标准。在解决逻辑推理问题时,生成的思维链必须环环相扣,最终结果要准确合理,这与随意生成一段文本的任务有明显差异。
8.同时发布了哪些小模型,这些小模型是用来做什么的?
报告中提到的小模型
报告中提到基于 Qwen(千问)和Llama 系列的小模型,包括 1.5B、7B、8B、14B、32B、70B 等不同参数规模的模型,这些模型通过蒸馏技术获得了推理能力。
蒸馏的含义
蒸馏是一种将大模型(教师模型)的知识转移到小模型(学生模型)中的技术。在DeepSeek - R1 的应用场景里,以 DeepSeek - R1 作为教师模型,它已经在大规模数据上进行了训练,具备强大的推理能力和丰富的知识。通过让小模型学习教师模型在处理推理任务时的输出和模式,将大模型的推理能力 “蒸馏” 到小模型中。具体来说,会使用DeepSeek - R1 生成的 800k 样本对开源的小模型进行微调,使得小模型能够模仿大模型在推理过程中的行为,从而在不进行大规模强化学习训练的情况下,获得与大模型相近的推理能力。
做这些小模型的意义
- 降低算力需求
:大模型在训练和推理过程中需要大量的计算资源和时间,对硬件设备要求较高。小模型参数规模小,所需的计算资源和内存占用也相对较少,能够在资源有限的环境下快速进行推理,提高了模型的实用性和部署的灵活性。对于一些边缘设备或资源受限的服务器,小模型可以更高效地运行。 - 提高推理速度
:小模型结构相对简单,计算量小,在推理时能够更快地生成结果,满足实时性要求较高的应用场景。在一些需要快速响应的问答系统或在线推理服务中,小模型的优势明显。 - 拓展应用范围
:不同规模的小模型可以满足不同场景的需求。一些对精度要求不是特别高但对成本和效率敏感的应用,可以选择较小参数规模的模型;而对于一些对精度有一定要求的应用,则可以选择稍大参数规模的小模型,从而扩大了模型的应用范围。
9.推理何时结束,模型如何知道答案已经得到?
思维链停止和推理结束的判定
- 任务目标达成判定
:在推理任务中,如果模型能够得到满足任务要求的结果,思维链就会停止,推理结束。在数学计算任务里,当模型按照推理步骤得出最终的计算结果,并且通过准确性奖励机制判断结果正确时,推理结束。如上述求x值的问题,模型得出x = 3,且符合准确性奖励标准,此时推理完成。 - 推理步数限制
:为避免模型在复杂问题上陷入无限推理循环,通常会设置最大推理步数。若模型在达到最大步数时,仍未得出有效结果,也会停止推理。比如在一些复杂的逻辑推理问题中,模型从初始条件出发,每进行一步推理就相当于思维链延长一步,当达到设定的最大推理步数,即使没有得到完整答案,也会结束推理过程。 - 奖励反馈引导
:强化学习中的奖励机制也会影响思维链的停止和推理的结束。如果模型在推理过程中,获得的奖励达到一定阈值,表明当前推理路径可能是正确的,并且已经得到了较好的结果,那么模型会停止继续推理。例如在编程任务中,模型生成的代码通过编译器测试,获得较高奖励,模型就会停止进一步推理优化代码。
10.在多语言能力上,技术报告中有没有提到相应的工作?R1的训练方式对于文本写作、多语言互相翻译这类弱推理任务有没有意义??
在原论文中,关于 DeepSeek - R1 在多语言能力方面提到了一些工作,其训练方式对文本写作和多语言互相翻译也具有一定意义。
- 多语言能力相关工作
:论文指出 DeepSeek - R1 当前主要针对中文和英文进行了优化,在处理其他语言查询时可能会出现语言混合问题,例如即便查询用的是其他语言,模型也可能用英语进行推理和回复。这表明在多语言能力上,DeepSeek - R1 还有提升空间,但也暗示了它在中文和英文处理上进行了相关优化工作,不过文中未详细阐述具体的优化策略和工作细节。 - 对文本写作的意义
- 提升语言表达质量
:DeepSeek - R1 的训练方式融入了大量数据和多阶段训练。在冷启动阶段,收集的高质量思维链数据有助于模型学习到更合理的逻辑表达,这在文本写作中可转化为更有条理的内容组织。在推理导向的强化学习和后续阶段,通过奖励机制鼓励正确和规范的表达,使得模型在生成文本时,语言表达更加准确、流畅。在写作数学相关的解释文本时,模型能够清晰地阐述推理过程,就像在解决推理问题时展示思维链一样,让读者更易理解。 - 增强泛化写作能力
:多阶段训练让 DeepSeek - R1 接触到多种类型的数据,包括写作、事实性问答等非推理数据。这使得模型具备更强的泛化能力,能够适应不同风格和主题的文本写作任务。无论是创意写作、通用问答,还是学术写作,都能凭借学习到的知识和模式生成内容。在创意写作中,它可以根据给定的主题,结合从多种数据中学到的知识和表达方式,创作出富有想象力且逻辑连贯的故事。 - 对多语言互相翻译的意义
- 提供推理支持
:DeepSeek - R1 强大的推理能力可以在多语言翻译中发挥作用。翻译不仅仅是词汇的替换,还需要理解上下文和语义逻辑。模型在训练中学习到的推理能力有助于其在翻译时更好地理解源语言文本的含义,从而更准确地翻译成目标语言。在翻译复杂的句子时,能够像处理推理问题一样,分析句子结构和语义关系,提高翻译的准确性。 - 多语言融合与适应
:虽然目前 DeepSeek - R1 在多语言处理上存在语言混合问题,但它对中文和英文的优化训练过程,为其多语言翻译能力奠定了基础。随着训练数据的进一步丰富和训练方式的改进,可以预期它在多语言互相翻译方面的能力会有所提升。如果在训练中增加更多语言的翻译数据,并利用强化学习等方式优化翻译策略,模型可能会更好地适应不同语言之间的转换,减少语言混合现象,提高翻译质量。
11.从V3base基座模型到R1训练完成,R1训练总共需要的训练数据大概是什么量级?与V3Base预训练数据量级相比如何? 如果未来deepseek继续优化通用AI能力,最可能还需要什么样的数据?
以下只是一些推测,不代表真实情况
R1 阶段训练数据量级
- 冷启动数据
:在 DeepSeek - R1 训练的冷启动阶段,收集了数千条长思维链(CoT)数据对模型进行微调。这里 “数千条” 意味着数据量级大概在\(10^3\) 条的规模。这些数据包含精心设计的推理过程示例,用于引导模型学习合理的推理模式。 - 推理导向强化学习数据
:在推理导向的强化学习阶段,会使用大量推理问题作为训练数据,但报告未明确给出具体量级。不过从训练过程来看,需要处理多个推理基准测试中的问题,如 AIME 2024、MATH - 500 等,推测数据量级较大,可能达到数万甚至数十万级别。 - 拒绝采样和监督微调数据
:推理导向的 RL 收敛后,通过拒绝采样收集新的 SFT 数据,约 800k(即8×105)条,包括推理和非推理数据(如写作、事实性问答等)。这部分数据进一步丰富了模型的训练内容,提升其在多领域的能力。
与 V3Base 预训练数据量级对比
报告中未直接提及 V3Base 预训练数据的具体量级。但通常预训练阶段需要大规模的数据来学习语言的通用模式和知识,一般会涉及到数十亿甚至上百亿的文本 token。相比之下,R1 阶段的训练数据量级相对较小。R1 阶段更侧重于在特定推理任务和领域进行精细调整,而 V3Base 预训练是为了让模型掌握广泛的语言知识和基础能力,所以需要更大量级的数据。
未来 DeepSeek 继续优化通用 AI 能力可能需要的数据
多领域专业知识数据
-
为了让模型在更多专业领域表现出色,需要引入如医学、法律、金融等领域的专业文献、案例分析、行业报告等数据。在医学领域,可以是各种疾病的诊断标准、治疗方案、临床研究报告;在法律领域,可以是法律法规条文、经典案例判决书等。这些数据能帮助模型深入理解专业知识,提供更准确和专业的回答。
跨语言多文化数据
-
随着全球化的发展,模型需要具备更好的跨语言和跨文化交流能力。因此,需要收集不同语言的文本数据,包括各种语言的新闻报道、文学作品、社交媒体内容等。同时,还应包含反映不同文化背景和习俗的数据,以便模型在处理涉及不同文化的问题时,能给出符合当地文化习惯的回答。
实时动态数据
-
现实世界是不断变化的,模型需要及时跟上信息的更新。引入实时动态数据,如实时新闻、股票市场行情、体育赛事结果等,能让模型保持对最新信息的了解,在回答问题时提供更准确和及时的内容。
复杂交互场景数据
-
为了提升模型在复杂交互场景下的表现,需要收集包含多轮对话、复杂任务协同等场景的数据。在智能客服场景中,多轮对话数据能让模型学会更好地理解用户的意图,处理复杂的问题解决流程;在团队协作场景中,数据可以帮助模型理解不同角色的需求和任务分配,提供更有效的协作建议。
12.最后聊一下模型训练的成本问题
DeepSeek 通过在模型架构、训练算法、硬件适配以及数据处理等多方面的创新,实现了利用更少算力和费用达到更高性能的目标,为大语言模型的发展提供了新的思路和方法。
- 训练所需算力和时间
- DeepSeek-V3
:预训练阶段在 14.8 万亿高质量多样 token 上进行训练,消耗 2664K H800 GPU 小时;上下文长度扩展阶段花费 119K H800 GPU 小时;后训练阶段(监督微调与强化学习)消耗 5K H800 GPU 小时,总计 2788K H800 GPU 小时。假设 H800 GPU 租赁价格为每小时 2 美元,总成本为 557.6 万美元。预训练阶段在拥有 2048 个 H800 GPU 的集群上,每训练 1 万亿 token 仅需 180K H800 GPU 小时,约 3.7 天,整个预训练在不到两个月内完成。 - DeepSeek-R1
:论文未明确给出 R1 训练所需的具体算力和时间。但可知其基于 DeepSeek-V3-Base 进行训练,先使用数千条冷启动数据对模型微调,之后进行强化学习等多阶段训练。与 R1-Zero 相比,R1 加入冷启动数据和多阶段训练流程,理论上会增加一定训练时间和算力消耗,但提升了模型性能。 - 实现高效训练的创新点
- 创新的模型架构
:采用 Multi-head Latent Attention(MLA)和 DeepSeekMoE 架构。MLA 通过对注意力键值进行低秩联合压缩,减少推理时的键值(KV)缓存,降低内存需求,在保持性能的同时提升推理效率;DeepSeekMoE 使用更细粒度的专家和部分共享专家,提高计算资源利用率。引入无辅助损失的负载均衡策略,避免传统辅助损失方法对模型性能的损害,通过动态调整偏差项确保专家负载平衡,提高训练稳定性和模型性能。 - 优化的训练算法
:提出多 token 预测(MTP)训练目标,扩展预测范围到多个未来 token,使训练信号更密集,提升数据效率,帮助模型更好地规划表示以预测未来 token,且可用于推测解码加速推理。在强化学习中采用 Group Relative Policy Optimization(GRPO)算法,该算法放弃与策略模型大小相同的评论家模型,从组分数估计基线,节省训练成本。 - 硬件适配与优化
:支持 FP8 混合精度训练,设计精细的量化策略,如按 tile 或 block 分组量化,并在计算过程中提升精度,减少低精度训练中的溢出和下溢问题。同时,在存储和通信环节采用低精度格式,降低内存消耗和通信开销。设计 DualPipe 算法用于高效流水线并行,减少流水线气泡,通过计算通信重叠解决跨节点专家并行带来的通信开销问题,充分利用硬件带宽,提高训练效率。还对内存进行优化,通过重计算部分操作、在 CPU 中存储指数移动平均参数等技术,减少训练时的内存占用。 - 数据处理与利用
:在预训练数据构建上,优化训练语料库,提高数学和编程样本比例,扩展多语言覆盖范围,采用文档打包方法并随机拆分特殊 token,减少数据冗余和偏差。在 R1 训练中,通过冷启动数据的选择和设计,提升模型可读性和性能;在训练过程中,利用拒绝采样收集高质量监督微调数据,提升模型在多领域的能力。
祝大家阅读愉快。本文会随时修正补充。

