当前位置: 首页 > news >正文

一文读懂DeepSeek-R1论文

目录

论文总结

摘要

1. 引言

1.1. 贡献

1.2. 评估结果总结

2. 方法

2.1. 概述

2.2. DeepSeek-R1-Zero:在基础模型上进行强化学习

2.2.1. 强化学习算法

2.2.2. 奖励建模

2.2.3. 训练模板

2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻

2.3. DeepSeek-R1:带冷启动的强化学习

2.3.1. 冷启动

2.3.2. 推理导向的强化学习

2.3.3. 拒绝采样和监督微调

2.3.4. 所有场景的强化学习

2.4. 蒸馏:赋予小模型推理能力

3. 实验

3.1. DeepSeek-R1 评估

3.2. 蒸馏模型评估

4. 讨论

4.1. 蒸馏与强化学习

4.2. 未成功的尝试

5. 结论、限制和未来工作


DeepSeek-R1论文地址如下:

DeepSeek-R1/DeepSeek_R1.pdf at main · deepseek-ai/DeepSeek-R1 · GitHubhttps://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdfhttps://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf

论文总结

论文提出了基于强化学习(RL)的推理模型 DeepSeek-R1-Zero 和 DeepSeek-R1

  • DeepSeek-R1-Zero:完全通过大规模强化学习(无需监督微调/SFT)训练,展示了强大的推理能力,但存在可读性差、语言混合等问题。

  • DeepSeek-R1:在强化学习前引入冷启动数据和多阶段训练(SFT + RL),解决了可读性问题,性能与 OpenAI-o1-1217 相当。

  • 开源贡献:发布 DeepSeek-R1-Zero、DeepSeek-R1 及基于 Qwen 和 Llama 的 6 个蒸馏模型(1.5B 至 70B),供研究社区使用。

DeepSeek-R1-Zero 的训练

  • 强化学习算法:采用 GRPO(组相对策略优化),省去价值模型,通过组内奖励对比优化策略。

  • 奖励设计:基于规则的准确性奖励(如数学答案验证)和格式奖励(强制结构化输出)。

  • 自我进化:模型通过 RL 自主发展出反思、长链推理等复杂行为(如“顿悟时刻”)。

DeepSeek-R1 的优化

  • 冷启动数据:收集少量高质量长链推理数据,通过 SFT 初始化模型,提升可读性和性能。

  • 多阶段训练

    • 第一阶段 RL 专注于数学、编程等明确答案的任务。

    • 第二阶段结合拒绝采样生成 SFT 数据,增强通用能力(写作、问答等)。

    • 最终 RL 对齐人类偏好(如无害性、有用性)。

知识蒸馏

  • 将 DeepSeek-R1 的推理能力迁移至小模型(如 Qwen、Llama),蒸馏模型的性能显著优于直接对小模型应用 RL。

讨论与局限

  • 蒸馏 vs. RL:蒸馏经济高效,但突破智能边界仍需更大模型和 RL。

  • 失败尝试:过程奖励模型(PRM)和蒙特卡洛树搜索(MCTS)因奖励滥用和搜索空间复杂未成功。

  • 当前局限

    • 通用能力(如多轮对话)不及 DeepSeek-V3。

    • 语言混合问题(中英文外其他语言支持不足)。

    • 软件工程任务 RL 数据不足,性能提升有限。

接下来是论文的翻译,读者可以自行阅读论文细节。

摘要

我们介绍了第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个通过大规模强化学习(RL)训练的模型,没有监督微调(SFT)作为初步步骤,展示了显著的推理能力。通过 RL,DeepSeek-R1-Zero 自然地涌现出许多强大且有趣的推理行为。然而,它遇到了诸如可读性差和语言混用等挑战。为了解决这些问题并进一步提升推理性能,我们引入了 DeepSeek-R1,它在 RL 之前结合了多阶段训练和冷启动数据。DeepSeek-R1 在推理任务上的表现与 OpenAI-o1-1217 相当。为了支持研究社区,我们开源了 DeepSeek-R1-Zero、DeepSeek-R1 以及基于 Qwen 和 Llama 从 DeepSeek-R1 蒸馏出的六个密集模型(1.5B、7B、8B、14B、32B、70B)。

图1 DeepSeek-R1基准测试表现

1. 引言

近年来,大型语言模型(LLMs)正在迅速迭代和演变,逐渐缩小与人工通用智能(AGI)的差距。最近,后训练已成为完整训练流程的重要组成部分,它在推理任务上提高了准确性,与社会价值观对齐,并适应用户偏好,同时相对于预训练所需的计算资源较少。在推理能力方面,OpenAI 的 o1 系列模型首次引入了通过增加 Chain-of-Thought 推理过程的长度来实现推理时扩展。这种方法在数学、编码和科学推理等各种推理任务上取得了显著的改进。然而,有效的测试时扩展仍然是研究社区的一个开放性问题。先前的几项工作探索了各种方法,包括基于过程的奖励模型、强化学习和搜索算法,如蒙特卡洛树搜索和束搜索。然而,这些方法中没有一种实现了与 OpenAI 的 o1 系列模型相当的通用推理性能。

在本文中,我们迈出了通过纯强化学习(RL)提高语言模型推理能力的第一步。我们的目标是探索 LLMs 在没有任何监督数据的情况下发展推理能力的潜力,专注于它们通过纯 RL 过程的自我进化。具体来说,我们使用 DeepSeek-V3-Base 作为基础模型,并采用 GRPO 作为 RL 框架来提高模型在推理上的性能。在训练过程中,DeepSeek-R1-Zero 自然地涌现出许多强大且有趣的推理行为。经过数千步的 RL 训练后,DeepSeek-R1-Zero 在推理基准测试上表现出超级性能。例如,AIME 2024 的 pass@1 分数从 15.6% 提高到 71.0%,并且通过多数投票,分数进一步提高到 86.7%,与 OpenAI-o1-0912 的性能相当。

然而,DeepSeek-R1-Zero 遇到了诸如可读性差和语言混用等挑战。为了解决这些问题并进一步提升推理性能,我们引入了 DeepSeek-R1,它结合了少量冷启动数据和多阶段训练流程。具体来说,我们首先收集数千条冷启动数据来微调 DeepSeek-V3-Base 模型。然后,我们执行类似于 DeepSeek-R1-Zero 的推理导向 RL。在 RL 过程接近收敛时,我们通过在 RL 检查点上进行拒绝采样,结合 DeepSeek-V3 在写作、事实问答和自我认知等领域的监督数据,重新训练 DeepSeek-V3-Base 模型。经过用新数据微调后,检查点经历了额外的 RL 过程,考虑了所有场景的提示。经过这些步骤后,我们获得了称为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当。

我们进一步探索从 DeepSeek-R1 蒸馏到较小密集模型。使用 Qwen2.5 32B 作为基础模型,直接从 DeepSeek-R1 蒸馏出的模型比在其上应用 RL 的模型表现更好。这表明较大基础模型发现的推理模式对于提高推理能力至关重要。我们开源了基于 Qwen2.5 和 Llama3 系列的蒸馏 1.5B、7B、8B、14B、32B 和 70B 检查点给社区。

1.1. 贡献

后训练:在基础模型上进行大规模强化学习

  • 我们直接在基础模型上应用 RL,不依赖于监督微调(SFT)作为初步步骤。这种方法允许模型探索解决复杂问题的思维链(CoT),从而开发出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展示了自我验证、反思和生成长 CoT 的能力,为研究社区树立了重要的里程碑。值得注意的是,它是第一个开放研究,验证了可以通过纯 RL 激励 LLMs 的推理能力,而无需 SFT。这一突破为该领域的未来发展铺平了道路。

  • 我们介绍了开发 DeepSeek-R1 的流程。该流程包括两个 RL 阶段,旨在发现改进的推理模式并与人类偏好对齐,以及两个 SFT 阶段,作为模型推理和非推理能力的种子。我们相信该流程将使行业受益,创造出更好的模型。

蒸馏:较小的模型也可以很强大

  • 我们证明了较大模型的推理模式可以蒸馏到较小模型中,与通过 RL 在小模型上发现的推理模式相比,结果表现更好。开源的 DeepSeek-R1 及其 API 将使研究社区在未来能够蒸馏出更好的小模型。

  • 使用 DeepSeek-R1 生成的推理数据,我们微调了研究社区广泛使用的几个密集模型。评估结果表明,蒸馏后的较小密集模型在基准测试上的表现异常出色。DeepSeek-R1-Distill-Qwen-7B 在 AIME 2024 上达到了 55.5%,超过了 QwQ-32B-Preview。此外,DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024 上得分 72.6%,在 MATH-500 上 94.3%,在 LiveCodeBench 上 57.2%。这些结果显著优于以前的开源模型,并且与 o1-mini 相当。我们基于 Qwen2.5 和 Llama3 系列开源了 1.5B、7B、8B、14B、32B 和 70B 检查点给社区。

1.2. 评估结果总结

  • 推理任务:(1) DeepSeek-R1 在 AIME 2024 上实现了 79.8% 的 Pass@1 分数,略微超过了 OpenAI-o1-1217。在 MATH-500 上,它达到了令人印象深刻的 97.3% 的分数,与 OpenAI-o1-1217 相当,并且显著优于其他模型。(2) 在与编码相关的任务中,DeepSeek-R1 展示了专家级别的代码竞赛任务能力,因为它在 Codeforces 上实现了 2,029 Elo 评分,超过了竞赛中 96.3% 的人类参与者。对于工程相关任务,DeepSeek-R1 略微优于 DeepSeek-V3,这可以帮助开发人员在现实世界任务中。

  • 知识:在 MMLU、MMLU-Pro 和 GPQA Diamond 等基准测试中,DeepSeek-R1 取得了出色的结果,显著优于 DeepSeek-V3,分数分别为 90.8%、84.0% 和 71.5%。尽管其在这些基准测试上的表现略低于 OpenAI-o1-1217,但 DeepSeek-R1 超越了其他闭源模型,展示了其在教育任务中的竞争优势。在事实基准测试 SimpleQA 上,DeepSeek-R1 超越了 DeepSeek-V3,展示了其处理基于事实的查询的能力。在该基准测试上,OpenAI-o1 也超过了 4o。

  • 其他:DeepSeek-R1 还在包括创意写作、一般问答、编辑、总结等在内的广泛任务中表现出色。它在 AlpacaEval 2.0 上实现了 87.6% 的长度控制胜率,在 ArenaHard 上实现了 92.3% 的胜率,展示了其智能处理非考试导向查询的强大能力。此外,DeepSeek-R1 在需要长上下文理解的任务上表现出色,显著优于 DeepSeek-V3 在长上下文基准测试上的表现。

2. 方法

2.1. 概述

以往的工作严重依赖大量的监督数据来增强模型性能。在本研究中,我们证明了即使不使用监督微调(SFT)作为冷启动,也可以通过大规模强化学习(RL)显著提高推理能力。此外,通过加入少量冷启动数据,可以进一步增强性能。在接下来的部分中,我们介绍:(1) DeepSeek-R1-Zero,它直接在基础模型上应用 RL,没有任何 SFT 数据,(2) DeepSeek-R1,它从用数千条长思维链(CoT)示例微调的检查点开始应用 RL,(3) 从 DeepSeek-R1 蒸馏推理能力到小密集模型。

2.2. DeepSeek-R1-Zero:在基础模型上进行强化学习

强化学习在推理任务中已被证明具有显著的效果,正如我们之前的工作所证明的那样。然而,这些工作严重依赖于监督数据,这些数据收集起来耗时。在本节中,我们探索 LLMs 在没有任何监督数据的情况下发展推理能力的潜力,专注于它们通过纯强化学习过程的自我进化。我们首先简要介绍我们的 RL 算法,然后展示一些令人兴奋的结果,希望这能为社区提供有价值的见解。

2.2.1. 强化学习算法

为了节省 RL 的训练成本,我们采用了 Group Relative Policy Optimization(GRPO),它放弃了通常与策略模型大小相同的批评者模型,并从组分数中估计基线。具体来说,对于每个问题 i,GRPO 从旧策略\pi_{\theta_{old}}中采样一组输出\left \{ o_1,o_2,...,o_G \right \},然后通过最大化以下目标来优化策略模型 \pi_{\theta}​​:

其中 ϵ 和 β 是超参数,Ai 是优势,使用每组内输出对应的一组奖励 \left \{ r_1,r_2,...,r_G \right \}计算:

2.2.2. 奖励建模

奖励是训练信号的来源,决定了 RL 的优化方向。为了训练 DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,主要由两种类型的奖励组成:

  • 准确性奖励:准确性奖励模型评估响应是否正确。例如,在数学问题有确定结果的情况下,模型需要以指定格式(例如,在方框内)提供最终答案,以便可靠地基于规则验证正确性。同样,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。

  • 格式奖励:除了准确性奖励模型外,我们还采用格式奖励模型,强制模型将其思考过程放在‘<think>’和‘</think>’标签之间。

我们没有在开发 DeepSeek-R1-Zero 时应用结果或过程神经奖励模型,因为我们发现神经奖励模型可能在大规模强化学习过程中遭受奖励黑客攻击,重新训练奖励模型需要额外的训练资源,并且它使整个训练流程复杂化。

2.2.3. 训练模板

为了训练 DeepSeek-R1-Zero,我们首先设计了一个简单的模板,指导基础模型遵循我们指定的指令。如表 1 所示,该模板要求 DeepSeek-R1-Zero 首先产生推理过程,然后是最终答案。我们故意将我们的约束限制在这个结构格式上,避免任何内容特定的偏见——例如,要求反思性推理或促进特定问题解决策略——以确保我们能够准确观察模型在 RL 过程中的自然发展。

表 1 | DeepSeek-R1-Zero 的模板。prompt 将在训练期间被特定的推理问题替换。

2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻

DeepSeek-R1-Zero 的性能 图 2 描绘了 DeepSeek-R1-Zero 在 AIME 2024 基准测试上的性能轨迹,贯穿整个 RL 训练过程。如图所示,DeepSeek-R1-Zero 随着 RL 训练的推进,表现出稳定且一致的性能提升。值得注意的是,AIME 2024 上的平均 pass@1 分数显示出显著的提升,从最初的 15.6% 跳升至令人印象深刻的 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平。这一显著提升突显了我们 RL 算法在优化模型性能方面的有效性。

图2 训练过程中DeepSeek-R1-Zero的AIME准确性。对于每个问题,我们采样16响应并计算总体平均准确性,以确保稳定评估。

表 2 提供了 DeepSeek-R1-Zero 与 OpenAI 的 o1-0912 模型在各种推理相关基准测试上的比较分析。研究结果揭示了 RL 赋予了 DeepSeek-R1-Zero 在无需任何监督微调数据的情况下获得强大的推理能力。这是一个值得注意的成就,因为它突出了模型通过 RL 单独学习和泛化的能力。此外,通过应用多数投票,DeepSeek-R1-Zero 的性能可以进一步增强。例如,在 AIME 基准测试中使用多数投票时,DeepSeek-R1-Zero 的性能从 71.0% 上升到 86.7%,从而超过了 OpenAI-o1-0912 的性能。DeepSeek-R1-Zero 能够在有和没有多数投票的情况下都实现如此具有竞争力的性能,突出了其强大的基础能力及其在推理任务中进一步发展的潜力。

表2 DeepSeek-R1-Zero和OpenAI O1在推理相关的基准比较。

DeepSeek-R1-Zero 的自我进化过程 DeepSeek-R1-Zero 的自我进化过程是 RL 如何驱动模型自主提升其推理能力的一个引人入胜的展示。通过直接从基础模型开始 RL,我们可以密切监视模型的进展,而不受监督微调阶段的影响。这种方法为我们提供了一个清晰的视角,以观察模型随时间的演变,特别是在其处理复杂推理任务的能力方面。

如图 3 所示,DeepSeek-R1-Zero 在训练过程中的思考时间显示出一致的提升。这一提升并非外部调整的结果,而是模型内部的自然发展。DeepSeek-R1-Zero 自然地获得了通过扩展测试时计算来解决日益复杂的推理任务的能力。这种计算范围从生成数百到数千个推理标记,允许模型更深入地探索和完善其思考过程。

图3 DeepSeek-R1-Zero在RL期间训练集的平均响应长度过程。 DeepSeek-R1-Zero自然学会了以更多的思考时间来解决推理任务。

这一自我进化过程中最引人注目的方面之一是,随着测试时计算的增加,自然出现了复杂的行为。例如,反思——模型重新审视和重新评估其先前步骤——以及探索解决问题的替代方法等行为自然产生。这些行为并非明确编程,而是模型与强化学习环境互动的结果。这种自然发展显著增强了 DeepSeek-R1-Zero 的推理能力,使其能够以更高的效率和准确性处理更具挑战性的任务。

DeepSeek-R1-Zero 的顿悟时刻 在 DeepSeek-R1-Zero 的训练过程中,观察到的一个特别有趣的现像是“顿悟时刻”。这一时刻,如表 3 所示,发生在模型的中间版本中。在这个阶段,DeepSeek-R1-Zero 学会为问题分配更多的思考时间,通过重新评估其初始方法。这种行为不仅是模型推理能力增长的证明,也是强化学习如何导致意外且复杂结果的一个迷人例子。

表3 DeepSeek-R1-Zero的中间版本的一个有趣的“ AHA时刻”。这模型学会使用拟人化音调重新考虑。这对我们来说也是一个aha的时刻使我们能够见证强化学习的能力和美观。

这一时刻不仅是模型的“顿悟时刻”,也是观察其行为的研究人员的“顿悟时刻”。它强调了强化学习的力量和美丽:我们不是明确地教导模型如何解决问题,而是简单地提供正确的激励,它自主地发展出先进的问题解决策略。“顿悟时刻” 作为对模型和研究人员的提醒,展示了 RL 解锁人工系统中新智能水平的潜力,为未来更自主和适应性的模型铺平了道路。

DeepSeek-R1-Zero 的缺点 尽管 DeepSeek-R1-Zero 展示了强大的推理能力和自主发展意外且强大的推理行为,但它面临几个问题。例如,DeepSeek-R1-Zero 在可读性和语言混用方面存在挑战。为了使推理过程更易于阅读并与开放社区共享,我们探索了 DeepSeek-R1,一种使用 RL 与人类友好型冷启动数据的方法。

2.3. DeepSeek-R1:带冷启动的强化学习

受到 DeepSeek-R1-Zero 有希望的结果的启发,自然会产生两个问题:1) 通过加入少量高质量数据作为冷启动,是否可以进一步提高推理性能或加速收敛?2) 如何训练一个用户友好的模型,该模型不仅产生清晰连贯的思维链(CoT),还展示出强大的通用能力?为了解决这些问题,我们设计了一个训练 DeepSeek-R1 的流程。该流程包括四个阶段,如下所述。

2.3.1. 冷启动

与 DeepSeek-R1-Zero 不同,为了避免从基础模型开始的 RL 训练的早期不稳定冷启动阶段,对于 DeepSeek-R1,我们构建并收集少量长 CoT 数据来微调模型作为初始 RL 演员。为了收集此类数据,我们探索了几种方法:使用长 CoT 作为示例的少样本提示,直接提示模型生成带有反思和验证的详细答案,收集 DeepSeek-R1-Zero 的可读格式输出,并通过人类标注者的后处理完善结果。

在本工作中,我们收集了数千条冷启动数据,以微调 DeepSeek-V3-Base 作为 RL 的起点。与 DeepSeek-R1-Zero 相比,冷启动数据的优点包括:

  • 可读性:DeepSeek-R1-Zero 的一个关键限制是其内容通常不适合阅读。响应可能混用多种语言或缺乏突出显示答案的 markdown 格式供用户使用。相比之下,在创建 DeepSeek-R1 的冷启动数据时,我们设计了一个可读的模式,包括在每个响应的末尾添加摘要,并过滤掉对读者不友好的响应。在这里,我们定义输出格式为 |special_token|<reasoning_process>|special_token|<summary>,其中推理过程是查询的 CoT,摘要用于总结推理结果。

  • 潜力:通过仔细设计带有冷启动数据的模式并加入人类先验,我们观察到与 DeepSeek-R1-Zero 相比更好的性能。我们相信迭代训练是推理模型的更好方式。

2.3.2. 推理导向的强化学习

在用冷启动数据微调 DeepSeek-V3-Base 后,我们应用与 DeepSeek-R1-Zero 中相同的大型强化学习训练过程。这一阶段专注于增强模型的推理能力,特别是在涉及明确定义问题和清晰解决方案的推理密集型任务中,如编码、数学、科学和逻辑推理。在训练过程中,我们观察到 CoT 经常出现语言混用,特别是当 RL 提示涉及多种语言时。为了解决语言混用问题,我们在 RL 训练期间引入了语言一致性奖励,该奖励计算为 CoT 中目标语言单词的比例。尽管消融实验表明这种对齐会导致模型性能略有下降,但该奖励与人类偏好一致,使其更易于阅读。最后,我们将推理任务的准确性奖励和语言一致性奖励直接相加,形成最终奖励。然后我们在推理任务上对微调后的模型进行 RL 训练,直到收敛。

2.3.3. 拒绝采样和监督微调

当推理导向的 RL 收敛时,我们利用由此产生的检查点为下一轮收集监督微调(SFT)数据。与主要关注推理的初始冷启动数据不同,这一阶段结合了其他领域的数据,以增强模型在写作、角色扮演和其他通用任务中的能力。具体来说,我们按照以下方式生成数据并微调模型。

推理数据 我们策划推理提示,并通过从上述 RL 训练的检查点进行拒绝采样来生成推理轨迹。在前一阶段,我们只包括可以使用基于规则的奖励进行评估的数据。然而,在这一阶段,我们通过加入一些使用生成式奖励模型的数据来扩展数据集,通过将真实值和模型预测输入 DeepSeek-V3 进行判断。此外,由于模型输出有时混乱且难以阅读,我们过滤掉了带有混用语言、长段落和代码块的思维链。对于每个提示,我们采样多个响应并仅保留正确的响应。总共,我们收集了大约 600k 推理相关训练样本。

非推理数据 对于非推理数据,如写作、事实问答、自我认知和翻译,我们采用 DeepSeek-V3 流程并重用 DeepSeek-V3 的部分 SFT 数据集。对于某些非推理任务,我们通过提示 DeepSeek-V3 生成潜在的思维链,然后回答问题。然而,对于更简单的查询,如“你好”,我们不提供 CoT 响应。最终,我们收集了大约 200k 与推理无关的训练样本。

我们使用上述策划的数据集对 DeepSeek-V3-Base 进行了两个周期的微调,该数据集包含大约 800k 样本。

2.3.4. 所有场景的强化学习

为了进一步使模型与人类偏好对齐,我们实施了一个次要的强化学习阶段,旨在提高模型的帮助性和无害性,同时完善其推理能力。具体来说,我们使用组合的奖励信号和多样化的提示分布来训练模型。对于推理数据,我们遵循 DeepSeek-R1-Zero 中概述的方法,使用基于规则的奖励来指导数学、编码和逻辑推理领域的学习过程。对于通用数据,我们求助于奖励模型来捕捉复杂且微妙场景中的人类偏好。我们基于 DeepSeek-V3 流程,并采用类似的偏好对和训练提示分布。对于帮助性,我们仅关注最终摘要,确保评估强调响应对用户的实用性和相关性,同时尽量减少对底层推理过程的干扰。对于无害性,我们评估模型的整个响应,包括推理过程和摘要,以识别和减轻在生成过程中可能出现的任何潜在风险、偏见或有害内容。最终,奖励信号和多样化数据分布的整合使我们能够训练一个在推理方面表现出色的模型,同时优先考虑帮助性和无害性。

2.4. 蒸馏:赋予小模型推理能力

为了使更高效的小模型具备像 DeepSeek-R1 那样的推理能力,我们直接使用 DeepSeek-R1 生成的 800k 样本对开源模型如 Qwen(Qwen, 2024b)和 Llama(AI@Meta, 2024)进行微调。我们的发现表明,这种直接的蒸馏方法显著增强了小模型的推理能力。我们在这里使用的基础模型是 Qwen2.5-Math-1.5B、Qwen2.5-Math-7B、Qwen2.514B、Qwen2.5-32B、Llama-3.1-8B 和 Llama-3.3-70B-Instruct。我们选择 Llama-3.3 是因为其推理能力略优于 Llama-3.1。

对于蒸馏模型,我们仅应用 SFT,不包括 RL 阶段,尽管加入 RL 可以显著提升模型性能。我们这里的主要目标是证明蒸馏技术的有效性,将 RL 阶段的探索留给更广泛的研究社区。

3. 实验

基准测试 我们在 MMLU(Hendrycks et al., 2020)、MMLU-Redux(Gema et al., 2024)、MMLU-Pro(Wang et al., 2024)、C-Eval(Huang et al., 2023)和 CMMLU(Li et al., 2023)、IFEval(Zhou et al., 2023)、FRAMES(Krishna et al., 2024)、GPQA Diamond(Rein et al., 2023)、SimpleQA(OpenAI, 2024c)、C-SimpleQA(He et al., 2024)、SWE-Bench Verified(OpenAI, 2024d)、Aider 1、LiveCodeBench(Jain et al., 2024)(2024-08 – 2025-01)、Codeforces 2、中国国家高中数学奥林匹克(CNMO 2024)3 和美国邀请数学考试 2024(AIME 2024)(MAA, 2024)上评估模型。除了标准基准测试外,我们还使用 LLMs 作为评委对模型进行开放式生成任务评估。具体来说,我们遵循 AlpacaEval 2.0(Dubois et al., 2024)和 Arena-Hard(Li et al., 2024)的原始配置,这些配置使用 GPT-4-Turbo-1106 作为评委进行成对比较。在这里,我们只向评估提供最终摘要,以避免长度偏差。对于蒸馏模型,我们在 AIME 2024、MATH-500、GPQA Diamond、Codeforces 和 LiveCodeBench 上报告代表性结果。

评估提示 按照 DeepSeek-V3 的设置,标准基准测试如 MMLU、DROP、GPQA Diamond 和 SimpleQA 使用 simpleevals 框架中的提示进行评估。对于 MMLU-Redux,我们采用 Zero-Eval 提示格式(Lin, 2024)进行零样本设置。就 MMLU-Pro、C-Eval 和 CLUE-WSC 而言,由于原始提示是少样本的,我们稍微修改了提示,使其成为零样本设置。CoT 在少样本中可能会损害 DeepSeek-R1 的性能。其他数据集遵循其原始评估协议,并使用其创建者提供的默认提示。对于代码和数学基准测试,HumanEval-Mul 数据集涵盖了八种主流编程语言(Python、Java、C++、C#、JavaScript、TypeScript、PHP 和 Bash)。LiveCodeBench 上的模型性能评估使用 CoT 格式,数据收集时间为 2024 年 8 月至 2025 年 1 月。Codeforces 数据集使用来自 10 场 Div.2 比赛的问题以及专家制作的测试用例进行评估,之后计算预期评分和参赛者的百分比。SWE-Bench 验证结果是通过无代理框架(Xia et al., 2024)获得的。AIDER 相关基准测试是使用“diff”格式进行测量的。DeepSeek-R1 的输出在每个基准测试中被限制在最多 32,768 个标记。

基线 我们对几个强大的基线进行了全面评估,包括 DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini 和 OpenAI-o1-1217。由于在大陆中国访问 OpenAI-o1-1217 API 很困难,我们根据官方报告报告其性能。对于蒸馏模型,我们还比较了开源模型 QwQ-32B-Preview(Qwen, 2024a)。

评估设置 我们将模型的最大生成长度设置为 32,768 个标记。我们发现,使用贪婪解码来评估长输出推理模型会导致更高的重复率和不同检查点之间的显著变异性。因此,我们默认使用 pass@k 评估(Chen et al., 2021),并使用非零温度报告 pass@1。具体来说,我们使用采样温度为 0.6 和 top-p 值为 0.95 生成 k 响应(通常在 4 到 64 之间,具体取决于测试集大小)对于每个问题。然后计算 pass@1 为

其中p_i表示第 𝑖 个响应的正确性。这种方法提供了更可靠的性能估计。对于 AIME 2024,我们还使用 64 个样本报告共识(多数投票)结果(Wang et al., 2022),记为 cons@64。

3.1. DeepSeek-R1 评估

表4 DeepSeek-R1与其他代表性模型之间的比较。 

对于教育导向的知识基准测试,如 MMLU、MMLU-Pro 和 GPQA Diamond,DeepSeek-R1 展示了比 DeepSeek-V3 更优越的性能。这一改进主要归功于在 STEM 相关问题上通过大规模强化学习实现的显著准确性提升。此外,DeepSeek-R1 在 FRAMES 上表现出色,这是一个依赖长上下文的 QA 任务,展示了其强大的文档分析能力。这突显了推理模型在 AI 驱动的搜索和数据分析任务中的潜力。在事实基准测试 SimpleQA 上,DeepSeek-R1 超越了 DeepSeek-V3,展示了其处理基于事实的查询的能力。一个类似的趋势是 OpenAI-o1 在该基准测试上超过了 GPT-4o。然而,DeepSeek-R1 在中文 SimpleQA 基准测试上的表现不如 DeepSeek-V3,主要原因是其在经过安全 RL 后倾向于拒绝回答某些查询。如果没有安全 RL,DeepSeek-R1 可以实现超过 70% 的准确率。

DeepSeek-R1 在 IF-Eval 上也取得了令人印象深刻的结果,这是一个旨在评估模型遵循格式指令能力的基准测试。这些改进可以与在最终阶段的监督微调(SFT)和 RL 训练中加入指令遵循数据联系起来。此外,在 AlpacaEval2.0 和 ArenaHard 上观察到了显著的表现,表明 DeepSeek-R1 在写作任务和开放域问答方面的优势。其显著优于 DeepSeek-V3 的表现突显了大规模 RL 的泛化优势,这不仅提升了推理能力,还提高了在不同领域的表现。此外,DeepSeek-R1 生成的摘要长度是简洁的,在 ArenaHard 上平均为 689 个标记,在 AlpacaEval 2.0 上为 2,218 个字符。这表明 DeepSeek-R1 避免了在基于 GPT 的评估中引入长度偏差,进一步巩固了其在多个任务中的稳健性。

在数学任务上,DeepSeek-R1 展示了与 OpenAI-o1-1217 相当的性能,超过了其他模型一大截。在编码算法任务上,如 LiveCodeBench 和 Codeforces,以推理为导向的模型主导了这些基准测试。在工程导向的编码任务上,OpenAI-o1-1217 在 Aider 上超过了 DeepSeek-R1,但在 SWE Verified 上实现了相当的性能。我们相信 DeepSeek-R1 的工程性能将在下一个版本中得到改善,因为目前相关 RL 训练数据的数量仍然非常有限。

3.2. 蒸馏模型评估

如表 5 所示,仅通过蒸馏 DeepSeek-R1 的输出,高效的 DeepSeek-R1-7B(即 DeepSeek-R1-Distill-Qwen-7B,以下类似地缩写)在所有基准测试上都优于非推理模型,如 GPT-4o-0513。DeepSeek-R1-14B 超越了 QwQ-32B-Preview 在所有评估指标上的表现,而 DeepSeek-R1-32B 和 DeepSeek-R1-70B 在大多数基准测试上显著超过了 o1-mini。这些结果证明了蒸馏的强大潜力。此外,我们发现对这些蒸馏模型应用 RL 会带来显著的进一步收益。我们相信这值得进一步探索,因此这里只呈现了简单 SFT 蒸馏模型的结果。

表5 DeepSeek-R1蒸馏模型和其他可比模型的比较与推理有关的基准。 

4. 讨论

4.1. 蒸馏与强化学习

在第 3.2 节中,我们可以看到通过蒸馏 DeepSeek-R1,小模型可以取得令人印象深刻的结果。然而,还有一个问题:模型是否可以通过本文讨论的大规模 RL 训练而不进行蒸馏来实现相当的性能?

为了回答这个问题,我们在 Qwen-32B-Base 上进行了大规模 RL 训练,使用数学、编码和 STEM 数据,训练了超过 10K 步,得到了 DeepSeek-R1-Zero-Qwen-32B。实验结果如表 6 所示,表明经过大规模 RL 训练的 32B 基础模型在性能上与 QwQ-32B-Preview 相当。然而,从 DeepSeek-R1 蒸馏出来的 DeepSeek-R1-Distill-Qwen-32B 在所有基准测试上的表现都显著优于 DeepSeek-R1-Zero-Qwen-32B。

表6 在与推理有关的基准测试中比较蒸馏和RL模型。 

因此,我们可以得出两个结论:首先,将更强大的模型蒸馏到较小的模型中可以取得出色的结果,而较小的模型依赖于本文提到的大规模 RL 训练,需要巨大的计算能力,甚至可能无法达到蒸馏的性能。其次,尽管蒸馏策略既经济又有效,但要超越智能的边界,可能仍然需要更强大的基础模型和更大规模的强化学习。

4.2. 未成功的尝试

在开发 DeepSeek-R1 的早期阶段,我们也遇到了失败和挫折。我们在这里分享我们的失败经验,以提供见解,但这并不意味着这些方法无法开发有效的推理模型。

过程奖励模型(PRM)PRM 是一种合理的方法,可以指导模型朝着解决推理任务的更好方法发展(Lightman et al., 2023; Uesato et al., 2022; Wang et al., 2023)。然而,在实践中,PRM 有三个主要限制,可能会阻碍其最终成功。首先,明确定义一般推理中的细粒度步骤是具有挑战性的。其次,确定当前中间步骤是否正确是一项艰巨的任务。使用模型进行自动化注释可能无法获得满意的结果,而手动注释不利于扩大规模。第三,一旦引入基于模型的 PRM,不可避免地会导致奖励黑客攻击(Gao et al., 2022),重新训练奖励模型需要额外的训练资源,并且它使整个训练流程复杂化。总之,尽管 PRM 展示了在对模型生成的前 N 个响应进行重排或协助引导搜索方面的良好能力(Snell et al., 2024),但与其在大规模强化学习过程中引入的额外计算开销相比,其优势是有限的。

蒙特卡洛树搜索(MCTS)受到 AlphaGo(Silver et al., 2017b)和 AlphaZero(Silver et al., 2017a)的启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时计算的可扩展性。这种方法涉及将答案分解成较小的部分,以便模型可以系统地探索解决方案空间。为了实现这一点,我们提示模型生成多个标签,这些标签对应于搜索所需的具体推理步骤。对于训练,我们首先使用收集到的提示通过 MCTS 找到答案,该过程由预训练的价值模型指导。随后,我们使用由此产生的问答对来训练演员模型和价值模型,迭代地完善该过程。

然而,当扩大训练规模时,这种方法遇到了几个挑战。首先,与棋类游戏的搜索空间相对较好定义不同,标记生成呈现出指数级更大的搜索空间。为了解决这个问题,我们为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优。其次,价值模型直接影响生成的质量,因为它指导搜索过程的每一步。训练一个细粒度的价值模型本质上是困难的,这使得模型难以迭代改进。尽管 AlphaGo 的核心成功依赖于训练一个价值模型来逐步提高其性能,但在我们的设置中复制这一原则被证明是困难的,这是由于标记生成的复杂性。

总之,尽管 MCTS 在与预训练的价值模型配对时可以在推理期间提高性能,但通过自我搜索迭代提高模型性能仍然是一个重大挑战。

5. 结论、限制和未来工作

在本工作中,我们分享了我们通过强化学习增强模型推理能力的旅程。DeepSeek-R1-Zero 代表了一种纯 RL 方法,不依赖于冷启动数据,实现了各种任务上的强大性能。DeepSeek-R1 更加强大,利用冷启动数据和迭代 RL 微调。最终,DeepSeek-R1 在一系列任务上实现了与 OpenAI-o1-1217 相当的性能。

我们进一步探索将推理能力蒸馏到小密集模型。我们使用 DeepSeek-R1 作为教师模型生成 800K 训练样本,并微调了几个小密集模型。结果很有希望:DeepSeek-R1-Distill-Qwen-1.5B 在数学基准测试上超过了 GPT-4o 和 Claude-3.5-Sonnet,AIME 上达到 28.9%,MATH 上达到 83.9%。其他密集模型也取得了令人印象深刻的结果,显著优于基于相同底层检查点的其他指令微调模型。

在未来,我们计划在以下方向上进行 DeepSeek-R1 的研究:

  • 通用能力:目前,DeepSeek-R1 在诸如函数调用、多轮、复杂角色扮演和 JSON 输出等任务上的能力不如 DeepSeek-V3。展望未来,我们计划探索如何利用长 CoT 来增强这些领域中的任务。

  • 语言混用:DeepSeek-R1 目前针对中文和英文进行了优化,这可能导致在处理其他语言的查询时出现语言混用问题。例如,即使查询不是英文或中文,DeepSeek-R1 也可能使用英文进行推理和响应。我们将在未来的更新中解决这一限制。

  • 提示工程:在评估 DeepSeek-R1 时,我们观察到它对提示很敏感。少样本提示始终会降低其性能。因此,我们建议用户直接描述问题,并使用零样本设置指定输出格式,以获得最佳结果。

  • 软件工程任务:由于长评估时间影响了 RL 过程的效率,大规模 RL 尚未在软件工程任务中广泛应用。因此,DeepSeek-R1 在软件工程基准测试上的表现并未比 DeepSeek-V3 有巨大提升。未来版本将通过在软件工程数据上实施拒绝采样或在 RL 过程中加入异步评估来提高效率,从而解决这一问题。

相关文章:

一文读懂DeepSeek-R1论文

目录 论文总结 摘要 1. 引言 1.1. 贡献 1.2. 评估结果总结 2. 方法 2.1. 概述 2.2. DeepSeek-R1-Zero&#xff1a;在基础模型上进行强化学习 2.2.1. 强化学习算法 2.2.2. 奖励建模 2.2.3. 训练模板 2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻 2.3. …...

文献阅读 250128-Tropical forests are approaching critical temperature thresholds

Tropical forests are approaching critical temperature thresholds 来自 <Tropical forests are approaching critical temperature thresholds | Nature> 热带森林正在接近临界温度阈值 ## Abstract: The critical temperature beyond which photosynthetic machinery…...

【python】python基于机器学习与数据分析的二手手机特性关联与分类预测(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 python基于机器学习与数据分析的二手手机特性关联与…...

构建可靠的时间序列预测模型:数据泄露检测、前瞻性偏差消除与因果关系验证

在时间序列分析领域中&#xff0c;存在多种可能影响分析结果有效性的技术挑战。其中&#xff0c;数据泄露、前瞻性偏差和因果关系违反是最为常见且具有显著影响的问题。 数据泄露&#xff1a;隐蔽的系统性错误 数据泄露是指在预测时理论上无法获取的信息&#xff0c;通过某种…...

Spring Boot - 数据库集成05 - 集成MongoDB

Spring Boot集成MongoDB 文章目录 Spring Boot集成MongoDB一&#xff1a;使用前的准备1&#xff1a;依赖导入 & 配置2&#xff1a;实体类创建 二&#xff1a;核心 - MongoRepository三&#xff1a;核心 - MongoTemplate1&#xff1a;集合操作2&#xff1a;文档操作(重点)3&…...

计算机网络之运输层

本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 04 传输层 在网上看到其他人做了相关笔记&#xff0c;就不再多余写了&#xff0c;直接参考着学习吧。 王道考研 计算机网络笔记 第五章&#xff1a;传输层_王道计算机网络传输层_Baret-H的博客-CSDN博…...

DeepSeekMoE:迈向混合专家语言模型的终极专业化

一、结论写在前面 论文提出了MoE语言模型的DeepSeekMoE架构&#xff0c;目的是实现终极的专家专业化(expert specialization)。通过细粒度的专家分割和共享专家隔离&#xff0c;DeepSeekMoE相比主流的MoE架构实现了显著更高的专家专业化和性能。从较小的2B参数规模开始&#x…...

知识库管理驱动企业知识流动与工作协同创新模式

内容概要 知识库管理在现代企业中扮演着至关重要的角色&#xff0c;其价值不仅体现在知识的积累&#xff0c;还在于通过优质的信息流动促进协作与创新。有效的知识库能够将分散的信息整合为有序、易于访问的资源&#xff0c;为员工提供实时支持&#xff0c;进而提升整体工作效…...

二叉树-堆(补充)

二叉树-堆 1.二叉树的基本特性2.堆2.1.堆的基本概念2.2.堆的实现2.2.1.基本结构2.2.2.堆的初始化2.2.3.堆的销毁2.2.4.堆的插入2.2.5.取出堆顶的数据2.2.6.堆的删除2.2.7.堆的判空2.2.8.堆的数据个数2.2.9.交换2.2.10.打印堆数据2.2.11.堆的创建2.2.12.堆排序2.2.13.完整代码 3…...

Java面试题2025-并发编程基础(多线程、锁、阻塞队列)

并发编程 一、线程的基础概念 一、基础概念 1.1 进程与线程A 什么是进程&#xff1f; 进程是指运行中的程序。 比如我们使用钉钉&#xff0c;浏览器&#xff0c;需要启动这个程序&#xff0c;操作系统会给这个程序分配一定的资源&#xff08;占用内存资源&#xff09;。 …...

【方法论】ChatGPT与DeepSeek的联合应用,提升工作效率的新解决方案

标题&#xff1a;ChatGPT与DeepSeek的联合应用&#xff0c;提升工作效率的新解决方案 【表格】ChatGPT与DeepSeek联合应用流程 阶段工具主要任务优势备注初稿生成ChatGPT基于用户输入生成初步内容高效、快速生成内容&#xff0c;适应多种主题适合生成长篇文章、报告、分析等验…...

RoboMaster- RDK X5能量机关实现案例(一)识别

作者&#xff1a;SkyXZ CSDN&#xff1a;https://blog.csdn.net/xiongqi123123 博客园&#xff1a;https://www.cnblogs.com/SkyXZ 在RoboMaster的25赛季&#xff0c;我主要负责了能量机关的视觉方案开发&#xff0c;目前整体算法已经搭建完成&#xff0c;实际方案上我使用的上…...

5分钟带你获取deepseek api并搭建简易问答应用

目录 1、获取api 2、获取base_url和chat_model 3、配置模型参数 方法一&#xff1a;终端中临时将加入 方法二&#xff1a;创建.env文件 4、 配置client 5、利用deepseek大模型实现简易问答 deepseek-v3是截止博文撰写之日&#xff0c;无论是国内还是国际上发布的大模型中…...

Ikigai是什么

Ikigai&#xff08;生き甲斐&#xff09; 是一个日语词语&#xff0c;意思是“生活的意义”或“生命的价值所在”。它是一种关于人生意义的哲学概念&#xff0c;源自日本文化&#xff0c;强调通过找到自己热爱、擅长、社会需要以及能带来经济回报的交集来实现幸福和满足感。 I…...

基于PyQt设计的智能停车管理系统

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】设计意义【4】国内外研究现状【6】摘要1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】VSCODE【2】python【3】ptqt【4】HyperLPR31.5 参考文献二、安装Python环境1.1 环境介绍**1.2 Python版本介…...

Flink (十二) :Table API SQL (一) 概览

Apache Flink 有两种关系型 API 来做流批统一处理&#xff1a;Table API 和 SQL。Table API 是用于 Scala 和 Java 语言的查询API&#xff0c;它可以用一种非常直观的方式来组合使用选取、过滤、join 等关系型算子。Flink SQL 是基于 Apache Calcite 来实现的标准 SQL。无论输入…...

MySQL知识点总结(十三)

执行逻辑备份要具备哪些条件&#xff0c;其优缺点在哪。 逻辑备份是温备&#xff0c;创建逻辑备份文件时&#xff0c;MySQL服务器必须处于运行状态&#xff0c;其他应用程序在逻辑备份期间不能修改但可以执行读取操作。逻辑备份会把表结构和数据转换为SQL语句保存。 逻辑备份…...

ACL-2024 | 具身智能空间理解能力几何?EmbSpatial-Bench:视觉语言大模型在具身任务中空间理解水平测试基准

作者&#xff1a;Mengfei Du, Binhao Wu, Zejun Li, Xuanjing Huang, Zhongyu Wei 单位&#xff1a;复旦大学数据科学学院&#xff0c;复旦大学计算机科学学院 论文标题&#xff1a;EmbSpatial-Bench: Benchmarking Spatial Understanding for Embodied Tasks with Large Vis…...

动手学图神经网络(6):利用图神经网络进行点云分类

利用图神经网络进行点云分类 引言 在本教程中,大家将学习使用图神经网络(Graph Neural Networks, GNN)进行点云分类的基本工具。给定一组对象或点集的数据集,将这些对象嵌入到一个特征空间中,使得它们在特定任务下能够分类。将原始点云作为神经网络的输入,让网络学习捕…...

Ollama+DeepSeek本地大模型部署

1、Ollama 官网&#xff1a;https://ollama.com/ Ollama可以干什么&#xff1f; 可以快速在本地部署和管理各种大语言模型&#xff0c;操作命令和dokcer类似。 mac安装ollama&#xff1a; # 安装ollama brew install ollama# 启动ollama服务&#xff08;默认11434端口&#xf…...

docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令

一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull redis:7.4.0 2、离线包下载 两种方式&#xff1a; 方式一&#xff1a; -&#xff09;在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -&#xff09;导出 # 导出镜像…...

HTML 标题

HTML 标题 引言 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;而标题则是网页中不可或缺的元素。标题不仅能够帮助用户快速了解网页内容&#xff0c;还能够对搜索引擎优化&#xff08;SEO&#xff09;产生重要影响。本文将详细介绍HTML标题的用法…...

记录 | MaxKB创建本地AI智能问答系统

目录 前言一、重建MaxKBStep1 复制路径Step2 删除MaxKBStep3 创建数据存储文件夹Step4 重建 二、创建知识库Step1 新建知识库Step2 下载测试所用的txtStep3 上传本地文档Step4 选择模型补充智谱的API Key如何获取 Step5 查看是否成功 三、创建应用Step1 新建应用Step2 配置AI助…...

Linux 非阻塞IO

Linux 非阻塞IO 1. fcntl() 在Linux操作系统中&#xff0c;fcntl() 是一个用于操作文件描述符的系统调用。它提供了多种功能&#xff0c;包括控制文件描述符的属性、管理文件锁定、设置文件的非阻塞模式等。 本文只截取了用于IO模型的 fcntl() 部分内容&#xff0c; fcntl() …...

美国本科申请文书PS写作中的注意事项

在完成了introduction之后&#xff0c;便可进入到main body的写作之中。美国本科申请文书PS的写作不同于学术论文写作&#xff0c;要求你提出论点进行论证之类。PS更多的注重对你自己的经历或者motivation的介绍和描述。而这一描述过程只能通过对你自己的过往的经历的展现才能体…...

Qt文件操作

目录 一、文件操作相关类 1.QFile 2.QFileInfo 3.QTextStream 4.QDataStream 5.QDir 6.QFileSystemWatcher 7.QTemporaryFile 二、文件操作示例 1.文本文件操作 2.目录操作 3.二进制文件操作 一、文件操作相关类 1.QFile QFile类用于文件的创建、读写、复制、删除…...

赚钱的究极认识

1、赚钱的本质是提供了价值或者价值想象 价值&#xff1a; 比如小米手机靠什么&#xff1f;“性价比”&#xff0c;什么饥饿营销&#xff0c;创新&#xff0c;用户参与&#xff0c;生态供应链&#xff0c;品牌这些不能说不重要&#xff0c;但是加在一起都没有“性价比”这3字重…...

【项目】基于Qt开发的音乐播放软件

目录 项目介绍 项目概述 界面开发 界面分析 创建工程 主界面布局设计 窗口主框架设计 界面美化 主窗口设定 添加图片资源 head处理 播放控制区处理 自定义控件 BtForm 推荐页面 自定义CommonPage 自定义ListItemBox 自定义MusicSlider 自定义VolumeTool 音…...

week08_文本匹配任务

1、文本匹配任务概述 狭义&#xff1a; 给定一组文本&#xff0c;判断其是否语义相似 今天天气不错 match 今儿个天不错呀 √ 今天天气不错 match 你的代码有bug 以分值形式给出相似度 今天天气不错 match 今儿个天不错呀 0.9 今天天气不错 match…...

01-01 五元组

[外链图片转存中…(img-8JR8fhPZ-1737855365022)] 01-01 五元组 网络中的五元组&#xff08;5-Tuple&#xff09; 是用于唯一标识一个网络连接或数据流的五个关键参数组合。这五个参数共同定义了数据包的来源、目的地以及传输方式&#xff0c;是网络设备&#xff08;如防火墙…...

5.2 软件需求分析

文章目录 需求分析的意义软件需求的组成需求分析的5个方面需求分析方法 需求分析的意义 需求分析解决软件“做什么”的问题。由于开发人员比较熟悉计算机而不熟悉领域业务&#xff0c;用户比较熟悉领域业务而不熟悉计算机&#xff0c;双方需要通过交流&#xff0c;制定出完整、…...

OpenCV:在图像中添加噪声(瑞利、伽马、脉冲、泊松)

目录 简述 1. 瑞利噪声 2. 伽马噪声 3. 脉冲噪声 4. 泊松噪声 总结 相关阅读 OpenCV&#xff1a;在图像中添加高斯噪声、胡椒噪声-CSDN博客 OpenCV&#xff1a;高通滤波之索贝尔、沙尔和拉普拉斯-CSDN博客 OpenCV&#xff1a;图像处理中的低通滤波-CSDN博客 OpenCV&…...

进程池的制作(linux进程间通信,匿名管道... ...)

目录 一、进程间通信的理解 1.为什么进程间要通信 2.如何进行通信 二、匿名管道 1.管道的理解 2.匿名管道的使用 3.管道的五种特性 4.管道的四种通信情况 5.管道缓冲区容量 三、进程池 1.进程池的理解 2.进程池的制作 四、源码 1.ProcessPool.hpp 2.Task.hpp 3…...

C++:多继承习题3

题目内容&#xff1a; 声明一个时间类Time&#xff0c;时间类中有3个私有数据成员(Hour&#xff0c;Minute&#xff0c;Second)和两个公有成员函数(SetTime和PrintTime)。要求&#xff1a; &#xff08;1&#xff09; SetTime根据传递的3个参数为对象设置时间&#xff1b; &a…...

数论问题75

命题&#xff0c;证明:存在K∈N&#xff0c;使得对于每个n∈N&#xff0c;Kx2^n1都是合数。 证明:设n2^m&#xff0c;当m0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4时&#xff0c;a(m)2^(2^m)1都是素数。 a(0)213&#xff0c;a(1)2^215&#xff0c;a(2)2^4117&…...

Baklib引领数字化内容管理转型提升企业运营效率

内容概要 在数字化迅速发展的背景下&#xff0c;企业正面临着前所未有的内容管理挑战。传统的内容管理方式已难以适应如今的信息爆炸&#xff0c;企业需要更加高效、智能的解决方案以应对复杂的数据处理需求。Baklib作为行业的先锋&#xff0c;以其创新技术对数字化内容管理进…...

2025年AI手机集中上市,三星Galaxy S25系列上市

2025年被认为是AI手机集中爆发的一年&#xff0c;各大厂商都会推出搭载人工智能的智能手机。三星Galaxy S25系列全球上市了。 三星Galaxy S25系列包含S25、S25和S25 Ultra三款机型&#xff0c;起售价为800美元&#xff08;约合人民币5800元&#xff09;。全系搭载骁龙8 Elite芯…...

Vue2官网教程查漏补缺学习笔记 - 3Vue实例4模板语法5计算属性监听器

3 Vue实例 3.1 创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的&#xff1a; var vm new Vue({// 选项 })虽然没有完全遵循 MVVM 模型&#xff0c;但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变…...

2025年数学建模美赛:A题分析(1)Testing Time: The Constant Wear On Stairs

2025年数学建模美赛 A题分析&#xff08;1&#xff09;Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析&#xff08;2&#xff09;楼梯磨损分析模型 2025年数学建模美赛 A题分析&#xff08;3&#xff09;楼梯使用方向偏好模型 2025年数学建模美赛 A题分…...

WPS数据分析000007

目录 一、分列 智能分列 出生日期 数值转换 公式不运算 二、数据对比 离职员工 新入职员工 都在职的员工 三、合并计算 四、拆分表格 合并表格 一、分列 智能分列 出生日期 数据求和 文本型数字左对齐&#xff1b;数值型数字右对齐 数值转换 方式一&#xff1a; 方…...

oracle 19C RAC打补丁到19.26

oracle 19CRAC打补丁到19.26 本文只保留简介命令和每个命令大概的用时&#xff0c;方便大家直接copy使用&#xff0c;并了解每个命令的预期时间&#xff0c;减少命令执行期的等待焦虑。 1.本次所需的补丁如下 p6880880_190000_Linux-x86-64.zip &#xff08;.43的opatch&…...

动手学图神经网络(8):在消息传递中定制聚合操作

在消息传递中定制聚合操作 安装Pytorch和PyG # 安装所需的包 import os import torch os.environ[TORCH] = torch.__version__# 以下是安装命令,实际运行时可取消注释 #!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}.html #!pip install -q to…...

MySQL安装教程

一、下载 点开下面的链接&#xff1a;下载地址 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 8.0.34 的软件本体了(就是一个文件夹)&#xff0c;我们可以把它放在你想…...

信息学奥赛一本通 1390:食物链【NOI2001】| 洛谷 P2024 [NOI2001] 食物链

【题目链接】 ybt 1390&#xff1a;食物链【NOI2001】 洛谷 P2024 [NOI2001] 食物链 【题目考点】 1. 种类并查集 2. 带权并查集 【解题思路】 解法1&#xff1a;种类并查集 已知有三类动物A、B、C。A吃B&#xff0c;B吃C&#xff0c;C吃A。 对于B类动物来说&#xff0c…...

Linux网络之序列化和反序列化

目录 序列化和反序列化 上期我们学习了基于TCP的socket套接字编程接口&#xff0c;并实现了一个TCP网络小程序&#xff0c;本期我们将在此基础上进一步延伸学习&#xff0c;实现一个网络版简单计算器。 序列化和反序列化 在生活中肯定有这样一个情景。 上图大家肯定不陌生&a…...

【Django教程】用户管理系统

Get Started With Django User Management 开始使用Django用户管理 By the end of this tutorial, you’ll understand that: 在本教程结束时&#xff0c;您将了解&#xff1a; Django’s user authentication is a built-in authentication system that comes with pre-conf…...

万字长文总结前端开发知识---JavaScriptVue3Axios

JavaScript学习目录 一、JavaScript1. 引入方式1.1 内部脚本 (Inline Script)1.2 外部脚本 (External Script) 2. 基础语法2.1 声明变量2.2 声明常量2.3 输出信息 3. 数据类型3.1 基本数据类型3.2 模板字符串 4. 函数4.1 具名函数 (Named Function)4.2 匿名函数 (Anonymous Fun…...

React基础

前言 &#xff08;2021年笔记&#xff09;补充记录 React基础 前言React讲义一、create-react-app二、关于React1、React的起源和发展2、React与传统MVC的关系3、React高性能的体现&#xff1a;虚拟DOM4、React的特点和优势 三、编写第一个react应用程序四、元素与组件1、函数…...

读书笔记:《华为突围ERP封锁全纪实》

文章背景&#xff1a; 2019年5月&#xff0c;华为被美国制裁&#xff0c;其ERP系统面临断供风险。ERP系统是企业核心管理软件&#xff0c;一旦中断&#xff0c;华为的全球业务将陷入瘫痪。面对这一生死存亡的危机&#xff0c;华为启动了“突围”计划&#xff0c;历经数年艰苦奋…...

Linux的udev详解、安装和使用(dev下的设备每次开机的名称不固定怎么办?)

前言&#xff08;问题与需求&#xff09;&#xff1a; 在传统的devfs 1&#xff1a;设备映射的不确定&#xff1a;一个设备多次加载设备的设备文件可能不同&#xff0c;比如一个hub有可能是ttyUSB0或ttyUSB2或ttyUSB3 2&#xff1a;devfs没有足够的主辅设备号&#xff0c;当设…...