深入剖析推理模型:从DeepSeek R1看LLM推理能力构建与优化

著名 AI 研究者和博主 Sebastian Raschka 又更新博客了。原文地址:https://sebastianraschka.com/blog/2025/understanding-reasoning-llms.html。这一次,他将立足于 DeepSeek 技术报告,介绍用于构建推理模型的四种主要方法,也就是如何通过推理能力来增强 LLM。Sebastian Raschka 表示:「我希望这能提供有价值的见解,并帮助你了解围绕这一主题的快速演变的文献和话题炒作。」

阅读笔记如下:

在人工智能领域不断演进的当下,大语言模型(LLM)已成为研究和应用的焦点。2024年,LLM领域专业化趋势愈发明显,除了预训练和微调等基础操作,从检索增强生成(RAG)到代码助手等专业应用也不断涌现。这一趋势在2025年持续加速,第 1-3 阶段是开发 LLM 的常见步骤。第 4 阶段是针对具体用例对 LLM 进行专门化。
特定领域和应用的优化受到更多重视。推理模型作为LLM专业化的重要方向,能够处理复杂任务,展现出独特的价值,著名AI研究者Sebastian Raschka对其进行了深入探讨。

推理模型:定义与应用场景

“推理模型”这一术语在AI领域的定义存在模糊性。在本文中,推理被定义为回答需要复杂、多步骤生成和中间步骤的问题的过程。像“法国首都是哪里?”这类事实性问答,无需推理即可解答;而“如果一列火车以60英里/小时的速度行驶3小时,它会行驶多远?”这样的问题,则需要通过识别距离、速度和时间的关系进行推理求解。在这里插入图片描述
图释:常规的 LLM 可能只提供简短的答案(如左图所示),而推理模型通常包括揭示部分思维过程的中间步骤。(请注意,许多没有专门为推理任务开发的 LLM 也能在其答案中提供中间推理步骤。)大多数现代 LLM 都具有基本的推理能力,可以回答诸如「如果一列火车以 60 英里 / 小时的速度行驶 3 小时,它会行驶多远?」这样的问题。因此,今天当我们提到推理模型时,我们通常指的是擅长更复杂推理任务的 LLM,例如解决谜题、谜语和数学证明。
推理模型中的中间步骤可以两种方式出现。第一种,中间步骤可能显式地出现在响应中,如上图所示。第二种,一些推理 LLM(例如 OpenAI o1)则会运行多个迭代,中间步骤对用户来说是不可见的。
在这里插入图片描述

使用「推理」的两个不同层级:1)通过多个中间步骤处理输入和生成结果,2)将某种形式的推理放在响应中提供给用户。

推理模型擅长处理复杂任务,如谜题、高级数学和编程难题等。在这些场景中,模型通过演绎或归纳推理、思维链推理,分解多步骤问题,做出复杂决策,并且能更好地泛化到新问题。不过,推理模型也存在局限性,在这里插入图片描述
在处理简单任务时,可能会因“过度思考”导致效率低下、成本增加,还可能在基于知识的任务中出现“幻觉”现象。

DeepSeek R1:训练流程与模型变体

DeepSeek发布的R1系列推理模型包含三个变体:DeepSeek - R1 - Zero、DeepSeek - R1和DeepSeek - R1 - Distill。这些模型的开发过程基于DeepSeek - V3(671B)基础模型,每个变体都经历了不同的训练阶段。
根据其技术报告中的描述的模型的开发过程。
在这里插入图片描述

  • DeepSeek - R1 - Zero:基于2024年12月发布的671B预训练版DeepSeek - V3,采用“冷启动”训练方式,仅使用强化学习(RL),跳过监督微调(SFT)步骤。训练过程中设置了准确度奖励和格式奖励,准确度奖励通过LeetCode编译器验证编码答案、确定性系统评估数学响应;格式奖励依靠LLM评判员确保响应格式正确。这种训练方式使模型涌现出基本的推理技能。
  • DeepSeek - R1:以DeepSeek - R1 - Zero为基础,增加额外的SFT阶段和进一步的RL训练。使用DeepSeek - R1 - Zero生成的“冷启动”SFT数据进行指令微调,后续的RL阶段除保留准确度和格式奖励外,还添加一致性奖励防止语言混合。经过多轮SFT数据收集和RL训练,DeepSeek - R1的性能在DeepSeek - R1 - Zero基础上显著提升。
  • DeepSeek - R1 - Distill:利用训练DeepSeek - R1过程中生成的SFT数据,对Qwen和Llama模型进行微调。这种在LLM语境下的“蒸馏”,虽不同于传统深度学习中的知识蒸馏,但能提升小模型的推理能力。小模型效率更高,可在低端硬件上运行,同时也为纯监督微调(SFT)的研究提供了案例。
为什么他们开发了这些蒸馏模型?

有两个关键原因:

  1. 小型模型更高效。这意味着它们运行成本更低,但它们也可以在低端硬件上运行,这使得它们对许多像我这样的研究人员和爱好者来说特别有趣。
  2. 纯 SFT 案例研究。这些提炼出的模型作为一个有趣的基准,展示了纯监督微调(SFT)在不使用强化学习的情况下可以将模型带到多远。
    在这里插入图片描述
    蒸馏后的模型明显弱于 DeepSeek-R1,但与 DeepSeek-R1-Zero 相比,它们却出奇地强大,尽管规模小了几个数量级。值得注意的是,这些模型与 o1 mini 相比,表现非常好

DeepSeek 团队测试了 DeepSeek-R1-Zero 中出现的涌现推理行为是否也会出现在较小的模型中。为了研究这一点,他们将 DeepSeek-R1-Zero 中相同的纯 RL 方法直接应用于 Qwen-32B。

下表展示了实验的结果,其中 QwQ-32B-Preview 是千问团队基于 Qwen 2.5 32B 开发的参考推理模型(我认为训练细节从未披露过)。此比较提供了一些额外的洞察,即纯 RL 是否可以在比 DeepSeek-R1-Zero 小得多的模型中引导推理能力。
在这里插入图片描述

在较小的 32B 模型上对蒸馏和 RL 进行基准比较。注释图来自 DeepSeek-R1 技术报告。

有趣的是,结果表明,对于较小的模型,蒸馏比纯 RL 更有效。这与以下观点一致:单靠 RL 可能不足以在这种规模的模型中产生强大的推理能力,而使用高质量推理数据进行 SFT 在使用小模型时可能是一种更有效的策略。

  1. Qwen-32B 使用 SFT + RL 进行训练,类似于 DeepSeek-R1 的开发方式。这将有助于确定当 RL 与 SFT 结合时,与纯 RL 和纯 SFT 相比可以取得多大的改进。
  2. DeepSeek-V3 使用纯 SFT 进行训练,与创建蒸馏模型的方式类似。这样可以直接比较,看看 RL + SFT 相对于纯 SFT 的效果如何。

构建推理模型的四大方法

当前,增强LLM推理能力、构建推理模型的方法主要有以下四种:

  1. 推理时间扩展:在推理过程中增加计算资源提升输出质量。思维链(CoT)提示方法是典型应用,在提示词中加入“think step by step”等短语,鼓励模型生成中间推理步骤,提高复杂问题的解答准确率。此外,投票和搜索策略也属于推理时间扩展,如多数投票让模型生成多个答案,通过投票选择正确结果;集束搜索等算法同样可优化响应。虽然DeepSeek R1技术报告表明其模型未使用该方法,但它常在LLM应用层实现,OpenAI的o1和o3模型可能运用了此技术,这也解释了其成本较高的原因。
  2. 纯RL:DeepSeek R1 - Zero的训练方式证明了推理可作为纯RL涌现出的行为。与传统RL流程不同,它跳过SFT阶段,仅依靠RL训练,并设置准确度和格式奖励。尽管R1 - Zero并非性能最佳的推理模型,但它展现出推理能力,证实了纯RL开发推理模型的可行性。
  3. 监督微调加强化学习(SFT + RL):这是构建高性能推理模型的关键方法,DeepSeek - R1的开发就是典型案例。在这里插入图片描述
    在RL之前进行SFT,利用DeepSeek - R1 - Zero生成的“冷启动”SFT数据训练模型,后续的RL阶段添加一致性奖励,再经过多轮SFT数据收集和RL训练,有效提升了模型性能。OpenAI o1很可能也采用了类似方法。
  4. 纯监督微调(SFT)和蒸馏:DeepSeek通过在较大LLM生成的SFT数据集上对较小LLM进行指令微调,开发出蒸馏模型。这些小模型效率更高,可作为纯SFT的研究基准。实验表明,对于较小模型,蒸馏比纯RL更有效,高质量推理数据的SFT在小模型应用中是更优策略。

对DeepSeek R1的综合评价

DeepSeek R1系列模型是AI领域的重要成果,其详细的技术报告为研究人员提供了宝贵的方法论参考。推理可基于纯RL涌现的发现令人瞩目,并且模型遵循宽松的MIT开源许可证开源,具有积极的推动意义。

与OpenAI的o1相比,DeepSeek - R1在推理时间上更高效,但由于OpenAI未充分披露o1的信息,如是否为混合专家(MoE)模型、模型规模大小以及训练方式细节等,两者难以直接比较。

关于DeepSeek - R1的训练成本,虽有600万美元的估算,但这可能将DeepSeek - V3和DeepSeek - R1的成本混淆,DeepSeek团队并未透露R1的具体成本,目前的估算均为猜测。

启示性的工作:有限预算下的推理模型开发

开发如DeepSeek - R1级别的推理模型成本高昂,不过,模型蒸馏和一些创新方法为预算有限的研究人员提供了可能。

DeepSeek的蒸馏模型证明了小模型也能具备强大的推理性能,尽管蒸馏过程也需要大量计算资源。

Sky - T1项目:

仅用17K的SFT样本、450美元的GPU成本,训练出表现与OpenAI o1大致相当的32B模型,展示了小样本、低成本微调的潜力。在这里插入图片描述
图源:《Sky-T1:在 450 美元以内训练你自己的 O1 预览模型》一文。https://novasky-ai.github.io/posts/sky-t1/

纯 RL 的:TinyZero

在纯RL领域,TinyZero项目以不到30美元的成本训练出3B参数模型,该模型展现出自我验证能力,支持了小模型通过纯RL涌现推理能力的观点。在这里插入图片描述

超越传统 SFT:旅程学习

此外,“旅程学习”方法为推理模型开发提供了新思路。它用错误的解决路径训练模型,让模型从错误中学习,增强自我修正能力,有望提升推理模型的可靠性,尤其适用于低预算的推理模型开发场景。
在这里插入图片描述

推理模型领域正处于快速发展阶段,各种创新方法不断涌现。无论是大模型的优化,还是小模型在有限预算下的突破,都为AI技术的进步注入了活力。在未来,我们有望看到更多令人惊喜的研究成果和应用突破。

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

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

相关文章

使用Cocos Creator制作“打砖块”小游戏:从零开始的详细教程

Cocos Creator是一款强大的游戏开发工具,特别适合2D游戏的开发。本文将以经典的“打砖块”小游戏为例,逐步讲解如何使用Cocos Creator实现这个游戏。我们将从项目创建、场景搭建、脚本编写到最终的游戏发布,详细讲解每一步的实现过程。 1. 环境准备 首先,确保你已经安装了…

vue3常见面试题

当然,以下是关于 Vue 3 的一些常见面试题及其答案: 1. Vue 3 相比 Vue 2 有哪些主要改进? 性能提升:Vue 3 在编译时做了更多的优化,比如静态提升(hoisting static nodes)、事件监听缓存等。更…

Ubuntu 22.04 LTS 安装MinerU

1. 检测是否已安装nvidia驱动 nvidia-smi 如果看到类似如下的信息,说明已经安装了nvidia驱动,可以跳过步骤2 Note CUDA Version 显示的版本号应 > 12.1,如显示的版本号小于12.1,请升级驱动 2. 安装驱动 如没有驱动&#…

DeepSeek 指导手册(入门到精通)

第⼀章:准备篇(三分钟上手)1.1 三分钟创建你的 AI 伙伴1.2 认识你的 AI 控制台 第二章:基础对话篇(像交朋友⼀样学交流)2.1 有效提问的五个黄金法则2.2 新手必学魔法指令 第三章:效率飞跃篇&…

MacOS使用PhpWebStudy搭建PHP开发环境

mac上的PHP开发环境搭建方式有很多, brew, docker, mamp等, 这里使用最近新出的工具PhpWebStudy来搭建mac上的php开发环境 安装 使用brew安装 brew install phpwebstudy 无法使用brew的话, 可以去官网下载最新版本安装 FlyEnv | Powerful Web Server and Environment Mana…

布隆过滤器的原理和应用场景,解决缓存穿透

一、布隆过滤器BloomFilter是什么 布隆过滤器BloomFilter是一种专门用来解决去重问题的高级数据结果。 实质就是一个大型位数组和几个不同的无偏hash函数,无偏表示分布均匀。由一个初值为零的bit数组和多个哈希函数组成,用来判断某个数据是否存在&…

macOs安装nvm

首先确定本机上没有安装nvm 如果之前安装过先卸载 1. 删除 nvm 目录 首先,删除 nvm 所安装的文件目录。默认情况下,nvm 会安装到 ~/.nvm 目录。 运行以下命令删除 nvm 目录: rm -rf ~/.nvm2. 移除 .zshrc 或 .bash_profile 中的 nvm 配置…

uniapp + vite + 使用多个 ui 库

样式冲突 新建了个项目 安装多个 ui 库 发现 uview-plus 和 Ant Design Vue 3.2.20 的 按钮样式 冲突uvuew-plus 的按钮样式 会被 ant 的样式给覆盖解决方式 找到圆满 ant.css 注释 button, html [type"button"], [type"reset"], [type"submit&quo…

【大语言模型】在大语言模型中,user、assistant、system 三种角色的定位和功能有何不同。

在大语言模型(如GPT系列)中,user、assistant、system 是三种核心角色,它们的定位和功能不同,共同构成对话的上下文结构。以下是具体区别和用途: 1. System(系统角色) 定位&#xff…

react中如何获取真实的dom

在 React 中,获取真实的 DOM 元素通常通过 ref 来实现。ref 是一个特殊的属性,用于引用组件或 DOM 元素的实例。你可以通过 ref 获取到组件的真实 DOM 元素或组件实例。 1. 函数组件中的 useRef 在函数组件中,获取 DOM 元素的引用需要使用 …

关于“前端已死”的命题

翻阅知乎论坛,看了各位大佬的解析,从技术发展、市场环境、岗位需求三个维度综合理解这个命题: 1. 技术层面 前端技术生态并未停滞,反而持续迭代升级。HTML/CSS/JavaScript 核心基础未变,但框架(如 Vue、R…

Docker Compose:编排多容器应用

1. 什么是 Docker Compose? Docker Compose 是一个用于定义和管理多容器 Docker 应用的工具。它通过一个简单的配置文件(docker-compose.yml),让你能够在一个命令下启动、停止和管理多个容器。这使得在开发、测试和生产环境中,管理复杂的应用变得更加简单。 Docker Comp…

(2025)深度分析DeepSeek-R1开源的6种蒸馏模型之间的逻辑处理和编写代码能力区别以及配置要求,并与ChatGPT进行对比(附本地部署教程)

(2025)通过Ollama光速部署本地DeepSeek-R1模型(支持Windows10/11)_deepseek猫娘咒语-CSDN博客文章浏览阅读1k次,点赞19次,收藏9次。通过Ollama光速部署本地DeepSeek-R1(支持Windows10/11)_deepseek猫娘咒语https://blog.csdn.net/m0_70478643/article/de…

Ubuntu安装geteck/jetlinks实战:源码启动

这个还是很复杂的,建议使用docker即可。 参考 使用源码启动JetLinks | JetLinks 物联网基础平台 安装Ubuntu虚拟机(略)安装JDK8编译Redis安装mysql ubuntu安装MySqL server-CSDN博客 初次使用,不要安装ElasticSearch下载源码…

【docker知识】快速找出服务器中占用内存较高的容器

本文由Markdown语法编辑器编辑完成。 1.背景: 近期在处理现场问题,观察服务器时,会遇到某些进程占用较高内存的情况。由于我们的服务,基本上都是以容器的方式在运行,因此就需要找到,到底是哪个容器&#…

Jenkins 安装插件 二

Jenkins 安装插件 二 一. 打开 Dashboard 打开 Jenkins 界面,不管在任何界面,只需要点击左上角 Dashboard 按钮即可 二. 打开 Manage Jenkins 找到 Manage Jenkins -> System Configuration -> Plugins 点击 Plugins 打开界面如下 Updates&a…

OpenCV机器学习(1)人工神经网络 - 多层感知器类cv::ml::ANN_MLP

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::ml::ANN_MLP 是 OpenCV 库中的一部分,用于实现人工神经网络 - 多层感知器(Artificial Neural Network - Multi-Layer…

Qt中的事件

写一个 可以拖动的按钮 DraggablePushButton.h 头文件 #ifndef DRAGGABLEPUSHBUTTON_H #define DRAGGABLEPUSHBUTTON_H#include <QPushButton> #include <QMouseEvent>class DraggablePushButton : public QPushButton {Q_OBJECTpublic:explicit DraggablePushBu…

Postgresql 开发环境搭建指南(WindowsLinux)

一、Postgresql 简介 PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS)&#xff0c;在灵活的BSD许可证下发行。 RDBMS 是关系数据库管理系统&#xff0c;是建立实体之间的联系&#xff0c;最后得到的是关系表。 ORDBMS在原来关系数据库的基础上&#xff0c;增加了一些新…

2025前端面试题

2025前端面试题 uniappuniapp如何打包发版到线上 vuevue3构建项目vue如何封装组件vue2的响应式原理vue3的响应式原理vue3和2的区别Vuex中的重要核心属性有哪些&#xff1f;Vue-router有哪几种路由守卫 es6数组有哪些常用方法ES6的新特性Promiseasync/await防抖和节流&#xff0…