《AI大模型开发笔记》Open-R1:对 DeepSeek-R1 的完全开源再现(翻译)

Open-R1:对 DeepSeek-R1 的完全开源再现(翻译)

原文链接:https://huggingface.co/blog/open-r1

什么是 DeepSeek-R1?

如果你曾经为一道艰难的数学题苦思冥想,那么你就知道花更多时间、仔细推理是多么有用。OpenAI 的 o1 模型展示了这样一个事实:当大语言模型在推理时使用更多的计算资源,花更多时间思考,它们在数学、编程和逻辑等推理任务上的表现会显著提升。

然而,OpenAI 推理模型背后的秘诀一直是个不为人知的秘密。直到上周,DeepSeek 发布了他们的 DeepSeek-R1 模型,并迅速引爆了互联网(甚至连股市也受到了冲击!)。

除了在表现上与甚至超越 o1 模型之外,DeepSeek-R1 的发布还附带了一份详细的技术报告,概述了他们训练秘方的关键步骤。这个秘方涉及了几项创新,最显著的是使用纯强化学习来教导一个基础语言模型如何推理,而无需任何人类监督。正如下图所示,只要你拥有一个强大的基础模型和高质量的数据混合,打造一个强大的推理模型就变得非常简单:


DeepSeek-R1 训练流程图

然而,DeepSeek-R1 的发布也留下了几个疑问:

  • 数据收集:那些专门用于推理的数据集是如何策划的?
  • 模型训练:DeepSeek 并没有公开训练代码,因此目前还不清楚哪些超参数最有效,以及它们在不同模型家族和规模中有何差异。
  • 扩展定律:在训练推理模型时,计算资源和数据之间的权衡关系如何?

这些问题促使我们启动了 Open-R1 项目——一个系统地重构 DeepSeek-R1 数据与训练流程、验证其声称效果,并推动开放推理模型边界的计划。通过构建 Open-R1,我们旨在提供关于如何利用强化学习增强推理能力的透明解释,与开源社区分享可重复的见解,并为未来模型利用这些技术奠定基础。

在这篇博客文章中,我们将探讨 DeepSeek-R1 的关键成分、我们计划复现的部分,以及如何为 Open-R1 项目做出贡献。

让我们开始吧 🚀!

他们是如何做到的?

DeepSeek-R1 是在 DeepSeek-V3 的基础上构建的推理模型。就像任何优秀的推理模型一样,它以一个强大的基础模型开始,而 DeepSeek-V3 正是这样的模型。这个拥有 671B 参数的专家混合(MoE)模型在性能上可与 Sonnet 3.5 和 GPT-4o 等重量级模型媲美。尤其令人印象深刻的是,它的训练成本非常低廉——仅花费 550 万美元——这要归功于诸如多令牌预测(MTP)、多头潜在注意力(MLA)以及大量(真的是非常多)的硬件优化等架构改进。

DeepSeek 还推出了两个模型:DeepSeek-R1-Zero 和 DeepSeek-R1,它们各自采用了不同的训练方法。DeepSeek-R1-Zero 完全跳过了监督式微调,完全依赖强化学习(RL),并使用组相对策略优化(GRPO)来提高效率。一个简单的奖励机制用于引导模型,根据答案的准确性和结构提供反馈。这种方法帮助模型培养了诸如将问题拆分成步骤和验证自己输出的有用推理能力。然而,其生成的回答往往缺乏清晰性,难以阅读。

这正是 DeepSeek-R1 的作用所在。它先经历了一个“冷启动”阶段,在一小组精心设计的示例上进行微调,以提高回答的清晰度和可读性。之后,它又经过了更多的强化学习和细化步骤,包括通过基于人类偏好和可验证奖励的方法拒绝低质量输出,从而打造出一个不仅推理能力出色,而且能够生成精炼一致回答的模型。


DeepSeek-V3 架构

这一切听起来都非常出色,但究竟还缺少什么呢?让我们来看看这个谜题中遗漏的部分。

Open-R1:缺失的拼图

DeepSeek-R1 的发布对整个社区来说无疑是一大福音,但他们并没有公开所有内容——虽然模型权重是开放的,但训练模型所用的数据集和代码却没有开放 😢。

Open-R1 的目标是构建这些最后缺失的部分,这样整个科研和工业界都可以利用这些秘方和数据集来构建类似或更优秀的模型。而且,通过以开放的方式进行,社区中的每个人都可以贡献力量!

正如下图所示,我们的计划如下:

  1. 步骤 1: 通过从 DeepSeek-R1 中提取高质量的推理数据集,复制 R1-Distill 模型。
  2. 步骤 2: 复制 DeepSeek 用于创建 R1-Zero 的纯强化学习流水线。这将涉及策划针对数学、推理和编程的大规模新数据集。
  3. 步骤 3: 展示我们如何通过多阶段训练,从基础模型 → 监督式微调(SFT) → 强化学习(RL)。


Open-R1 各步骤

这些合成数据集将使每个人都能通过简单微调现有或新大语言模型,将其转化为推理模型。涉及 RL 的训练秘方将为任何人从头构建类似模型提供一个起点,并允许研究者在此基础上构建出更高级的方法。

请注意,我们并不打算仅仅停留在数学数据集上。探索其他领域也大有潜力,显而易见的例子是编程,但还有诸如医学等科学领域,在这些领域中推理模型可能会产生重大影响。

这一倡议不仅仅是为了复制成果——更重要的是与社区分享见解。通过记录什么有效、什么无效以及原因,我们希望能帮助他人避免在低效的路径上浪费时间和计算资源。

如果你觉得这很有趣,我们非常欢迎你的参与!无论是贡献代码、参与 Hugging Face 上的讨论,还是以其他方式加入,都有许多机会让你参与进来。让我们一起构建这一切吧! 🚀

Github代码库:
https://github.com/huggingface/open-r1

HuggingFace OpenR1资源库:
https://huggingface.co/open-r1

DeepSeek-R1模型:
https://huggingface.co/deepseek-ai/DeepSeek-R1

DeepSeek-R1技术报告:
https://github.com/deepseek-ai/DeepSeek-R1/tree/main

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

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

相关文章

Java虚拟机面试题:JVM调优

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

每日Attention学习23——KAN-Block

模块出处 [SPL 25] [link] [code] KAN See In the Dark 模块名称 Kolmogorov-Arnold Network Block (KAN-Block) 模块作用 用于vision的KAN结构 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional as F import mathclass Swish(nn.Module)…

Centos安装php-8.0.24.tar

查看系统环境 cat /etc/redhat-release 预先安装必要的依赖 yum install -y \ wget \ gcc \ gcc-c \ autoconf \ automake \ libtool \ make \ libxml2 \ libxml2-devel \ openssl \ openssl-devel \ sqlite-devel yum update 1、下载解压 cd /data/ wget https:/…

百度千帆平台对接DeepSeek官方文档

目录 第一步:注册账号,开通千帆服务 第二步:创建应用,获取调用秘钥 第三步:调用模型,开启AI对话 方式一:通过API直接调用 方式二:使用SDK快速调用 方式三:在千帆大模…

linux-shell脚本

shell的编码语法 shell脚本的第一行内容是: #!/bin/bash,这句话相当于是一个导包语句,将shell的执行环境引入进去了。 shell中变量的命名要求: 只能使用数字、字母和下划线,且不能以数字开头 变量赋值是通过"&q…

免费deepseek的API获取教程及将API接入word或WPS中

免费deepseek的API获取教程: 1 https://cloud.siliconflow.cn/中注册时填写邀请码:GAejkK6X即可获取2000 万 Tokens; 2 按照图中步骤进行操作 将API接入word或WPS中 1 打开一个word,文件-选项-自定义功能区-勾选开发工具-左侧的信任中心-信任中心设置…

第1期 定时器实现非阻塞式程序 按键控制LED闪烁模式

第1期 定时器实现非阻塞式程序 按键控制LED闪烁模式 解决按键扫描,松手检测时阻塞的问题实现LED闪烁的非阻塞总结补充(为什么不会阻塞) 参考江协科技 KEY1和KEY2两者独立控制互不影响 阻塞:如果按下按键不松手,程序就…

Mybatisplus——Mybatisplus3.5.2版本使用Page分页插件查询,records有数据但是total显示0

目录 一、问题背景 debug 执行Mybatisplus使用Page分页插件查询时,发现 Page 里面的records有数据但是total显示0。 二、问题产生的原因 未配置MybatisPlus的分页插件拦截器导致的或者因mybatis-plus版本3.4或3.5版本导致原先的分页插件paginationInterceptor无法…

Windows安装 WSL2、Ubuntu 、docker(详细步骤 , 弃用 docker desktop )

前言 在现代软件开发领域,容器化技术已经成为提升应用部署效率和环境一致性的关键手段。Docker 作为一款卓越且被广泛应用的容器化平台,凭借其独特的技术架构,允许开发者将应用程序及其所需的全部依赖项,完整地打包进一个高度可移…

移动端测试的挑战与解决方案:兼容性、网络问题及实战策略

引言 移动应用已成为用户触达服务的核心入口,但移动端测试面临设备多样性、网络波动、用户场景复杂等多重挑战。据Statista统计,2023年全球活跃移动设备超180亿台,操作系统(Android/iOS)版本碎片化率超30%,这对测试工程师提出了极高要求。本文深度解析移动端测试的核心痛…

kron积计算mask类别矩阵

文章目录 1. 生成类别矩阵如下2. pytorch 代码3. 循环移动矩阵 1. 生成类别矩阵如下 2. pytorch 代码 import torch import torch.nn as nn import torch.nn.functional as Ftorch.set_printoptions(precision3, sci_modeFalse)if __name__ "__main__":run_code 0…

DeepSeek 概述与本地化部署【详细流程】

目录 一、引言 1.1 背景介绍 1.2 本地化部署的优势 二、deepseek概述 2.1 功能特点 2.2 核心优势 三、本地部署流程 3.1 版本选择 3.2 部署过程 3.2.1 下载Ollama 3.2.2 安装Ollama 3.2.3 选择 r1 模型 3.2.4 选择版本 3.2.5 本地运行deepseek模型 3.3.6 查看…

foobar2000设置DSP使用教程及软件推荐

foobar2000安卓中文版:一款高品质手机音频播放器 foobar2000安卓中文版是一款备受好评的高品质手机音频播放器。 几乎支持所有的音频格式,包括 MP3、MP4、AAC、CD 音频等。不论是经典老歌还是最新的流行音乐,foobar2000都能完美播放。除此之…

制作一个项目用于研究elementUI的源码

需求:修改el-tooltip的颜色,发现传递参数等方法都不太好用,也可以使用打断点的方式,但也有点麻烦,因此打算直接修改源码,把组件逻辑给修改了 第一步下载源码 源码地址 GitHub - ElemeFE/element: A Vue.j…

DDoS技术解析

这里是Themberfue 今天我们不聊别的,我们聊聊著名的网络攻击手段之一的 DDoS,看看其背后的技术细节。 DoS 了解 DDoS 前,先来讲讲 DoS 是什么,此 DoS 而不是 DOS 操作系统啊。1996年9月6日,世界第三古老的网络服务提供…

【学习资源】时间序列数据分析方法(1)

时间序列数据分析是一个有趣的话题,让我们多花一些时间来研究。此篇为第一篇文章。主要介绍特征提取方法、深度学习时序数据分析模型、参考资源。期望能帮助大家解决工业领域的相关问题。 1 特征提取方法:信号处理 (来源:INTELLIGENT FAULT DIAGNOSIS A…

0基础学LabVIEW

对于零基础的朋友来说,学习LabVIEW需要一个科学的学习路径和方法。通过观看优质的B站教程打好基础,再结合实际项目进行实践操作,能够快速提升LabVIEW的应用能力。以下是从入门到进阶的学习建议。 ​ 一、利用B站入门教程打基础 筛选优质教程…

微软AutoGen高级功能——Selector Group Chat

介绍 大家好,这次给大家分享的内容是微软AutoGen框架的高级功能Selector Group Chat(选择器群聊),"选择器群聊"我在给大家分享的这篇博文的代码中有所体现微软AutoGen介绍——Custom Agents创建自己的Agents-CSDN博客,但是并没有详…

高通推出骁龙游戏超级分辨率™:充分释放移动游戏性能,带来更持久的续航

Snapdragon Elite Gaming 一直致力于为每位用户打造卓越游戏体验。骁龙支持众多端游级特性,包括144FPS游戏体验、True 10-bit HDR支持的最高视觉质量的超流畅图形,让玩家可以畅享超10亿色的游戏体验。骁龙将许多移动端首创特性引入备受玩家喜爱的游戏中&…

HCIA项目实践--RIP的拓展配置

9.4.7 RIP的拓展配置 (1)RIPV2的手工认证 RIPv2 的手工认证是增强网络安全性的手段。管理员手动配置密钥,路由器在收发 RIPv2 路由更新消息时,会对消息中的认证信息进行检查。发送方添加密钥,接收方用预设密钥验证。若…