o3-mini 和 Deepseek-R1

o3-mini 和 DeepSeek R1 代表了两种不同的人工智能模型架构方法,各有其优势。
o3-mini 采用**密集型 Transformer** 架构,这种架构更传统,确保每个输入 token 都利用模型的所有参数。虽然这种方法保证了在各种任务中都能获得强大的性能,但处理更大的工作负载时,其扩展效率可能不高。整个模型的参数都与每个 token 交互,这对于大规模任务来说可能耗费大量资源。
另一方面,**DeepSeek R1** 使用**专家混合 (MoE)** 架构。在这种设计中,每个处理的 token 只激活模型参数的一个子集。具体来说,每个 token 激活十六个专家中的两个,这使得资源使用更高效,从而使其在高工作负载下具有高度可扩展性。通过每次激活总参数的一小部分子集,DeepSeek R1 可以更有效地处理复杂任务,而不会消耗过多的计算资源。
参数 | OpenAI o3-mini | DeepSeek R1 |
---|---|---|
总参数 | 估计约 2000 亿 | 6710 亿 |
每个 Token 的活跃参数 | 全密集 | 370 亿 |
上下文窗口 | 20 万 token(最大输出 10 万) | 12.8 万 token |
训练 Token | 未披露 | 14.8 万亿 |
训练计算量 | 估计 120 万 A100 小时 | 266.4 万 H800 GPU 小时 |
架构 | 密集型 Transformer | 专家混合 (MoE) + 基于人类反馈的强化学习 (RLHF) - 结合了监督微调和强化学习的多阶段训练方法 [基于规则和模型的奖励] |
发布日期 | 2025 年 1 月/2 月 | 2025 年 1 月 |
一些值得关注的比较:o3-mini 和 Deepseek R1 之间
贪吃蛇游戏
提示:使用 HTML、CSS 和 JavaScript 在单个 HTML 文件中创建一个贪吃蛇游戏,游戏中蛇会成长并吃掉球,有游戏结束条件和得分系统。视觉设计令人印象深刻。
o3 mini | Deepseek R1 |
---|---|
方面 | Deepseek R1 | o3 mini |
---|---|---|
代码结构 | - 使用单个 main() 函数,通过递归 setTimeout 实现游戏循环。 |
- 使用 setInterval 实现游戏循环,更直接。 |
- 蛇和食物的位置以像素坐标跟踪。 | - 蛇和食物的位置以网格坐标(基于图块)跟踪。 | |
- 游戏逻辑和渲染在 updateGame() 和 drawGame() 中紧密耦合。 |
- 游戏逻辑和渲染分离到 gameLoop() 和 draw() 中。 |
|
性能 | - 递归 setTimeout 可能导致轻微延迟或时间不一致。 |
- setInterval 确保一致的帧时间,提高性能。 |
- 直接基于像素的渲染对于大型网格效率较低。 | - 基于图块的渲染效率更高,对于大型网格具有更好的可伸缩性。 | |
功能 | - 霓虹灯主题设计,蛇和食物带有发光效果。 | - 渐变背景和更简单的食物发光效果。 |
- 得分显示和游戏结束画面,带有一个重新开始按钮。 | - 得分显示和游戏结束画面,带有一个重新开始按钮。 | |
- 蛇吃食物时会成长,并实现碰撞检测。 | - 蛇吃食物时会成长,并实现碰撞检测。 | |
设计 | - 现代霓虹灯美学,带有渐变背景和发光边框。 | - 径向渐变背景,设计更简洁明快。 |
- 蛇身具有渐变填充和发光效果。 | - 蛇头和蛇身颜色不同(亮绿色和深绿色)。 | |
- 食物是带有阴影效果的红色发光球。 | - 食物是带有阴影效果的金色发光球。 | |
输入处理 | - 使用方向键改变方向。 | - 支持方向键和 WASD 键改变方向。 |
- 防止立即反向改变方向。 | - 防止立即反向改变方向。 | |
碰撞检测 | - 检查墙壁碰撞和自身碰撞。 | - 检查墙壁碰撞和自身碰撞。 |
可伸缩性 | - 由于基于像素的坐标和递归 setTimeout ,可伸缩性较差。 |
- 由于基于图块的坐标和 setInterval ,可伸缩性更好。 |
易修改性 | - 由于逻辑和渲染紧密耦合,修改难度较大。 | - 由于逻辑和渲染函数分离,修改更容易。 |
浏览器兼容性 | - 支持 canvas 和 CSS 渐变的现代浏览器均可运行。 |
- 支持 canvas 和 CSS 渐变的现代浏览器均可运行。 |
网页太阳系探索器
提示:使用 HTML、CSS 和 JavaScript 在单个 HTML 文件中创建一个太阳系模拟器。特别注重 UI,使其尽可能直观。确保每个行星都显示为球体,并标有相应的名称。
o3 mini | Deepseek R1 |
---|---|
o3 Mini 和 DeepSeek 的样本功能堆栈选择和功能比较
特性 | o3 mini | Deepseek R1 |
---|---|---|
编码者 | o3 mini | Deepseek R1 |
背景 | 径向渐变(#000814 到 #001d3d ) |
纯黑色背景(#000 ) |
太阳风格 | 径向渐变(#ffdd00 到 #ff9800 )带阴影 |
径向渐变(#ffd700 到 #ff8c00 )带阴影 |
轨道风格 | 虚线边框(rgba(255, 255, 255, 0.1) ) |
实线边框(rgba(255, 255, 255, 0.1) ) |
行星动画 | CSS @keyframes 用于旋转 |
JavaScript requestAnimationFrame 用于动态旋转 |
行星标签 | 标签使用 CSS 变量定位在行星下方 | 标签使用固定样式定位在行星下方 |
速度控制 | 未实现 | 滑块输入控制动画速度 |
行星属性 | 在 JavaScript 数组中定义,包括大小、轨道半径、持续时间、颜色 | 在 JavaScript 数组中定义,包括半径、颜色、轨道半径、速度 |
3D 效果 | 行星径向渐变 | 行星径向渐变,带有 transform-style: preserve-3d |
弹跳球六边形
提示:在单个 html 文件中编写 html css java script,每 5 秒钟在一个六边形内出现一个新的不同颜色的弹跳球,确保正确处理碰撞检测。让六边形缓慢旋转。确保球留在正方形内。
o3 mini | Deepseek R1 |
---|---|
功能齐全的国际象棋游戏
提示:在单个 html 文件中,使用 HTML、CSS 和 JavaScript 设计一个功能齐全的国际象棋游戏,具有响应式棋盘、拖放棋子移动、合法移动验证和将军/将死检测功能。
o3 mini | Deepseek R1 |
---|---|
我个人很喜欢 Deepseek R1 处理走棋和切换黑白角色的方式 ❤️
设计弹跳游戏
提示:使用 HTML、CSS 和 JavaScript 在单个 HTML 文件中创建一个交互式弹跳球游戏。游戏应具有惊人的动画效果、可控制的球速和一个滑块砖块。如果球掉落或向下,游戏结束。
o3 mini | Deepseek R1 |
---|---|
海洋风暴
提示:制作一个视觉上有趣的着色器,可以在 twigl-dot-app 中运行,使其看起来像暴风雨中的海洋。使用 html、css、javascript 在单个 html 文件中实现。
o3 mini | Deepseek R1 |
---|---|
Deepseek R1 尝试了 5 到 6 次都无法实现!😐
2D 外星人射击游戏
提示:创建一个简单的 2D 外星人射击游戏,玩家控制屏幕底部的宇宙飞船,向上射击以击败向下移动的外星人波。玩家应该能够左右移动、发射子弹并避免与外星人碰撞。游戏应包含得分系统和玩家失败时的游戏结束状态,使用 html、css、java script 在单个文件中实现。
o3 mini | Deepseek R1 |
---|---|
吃豆人克隆 Pygame
提示:吃豆人克隆,使用 python 和 pygame 制作的吃豆人克隆
o3 mini | Deepseek R1 |
---|---|
2D 城市
提示:为我建造一个令人惊叹的、大型的、有机的、史诗般的漂浮岛屿城市,细节丰富。将其作为目标,迭代,使用 html、css、javascript 在单个 html 文件中实现。
o3 mini | Deepseek R1 |
---|---|
制作怪物奔跑游戏
提示:使用 html、css、javascript 在单个 html 文件中复现怪物奔跑游戏
o3 mini | Deepseek R1 |
---|---|
人工分析智能指数
LiveBench
OpenAI o3-mini 在几个关键领域优于 DeepSeek deepseek-r1。o3-mini 的全球平均分数为 73.94,而 DeepSeek 为 71.38,o3-mini 表现略好。在推理任务中,它以 89.58 对 83.17 的平均分显著领先,展示了卓越的分析和解决问题能力。o3-mini 在编码方面也占据主导地位,得分为 82.74,而 DeepSeek 为 66.74,表明其对编程概念的掌握更强。然而,DeepSeek 在数学方面表现出色,得分为 79.54,而 o3-mini 为 65.65,凸显了其更强的数值推理能力。在数据分析方面,o3-mini 以 70.64 对 69.78 略占优势。同样,在语言任务中,它以 50.68 对 48.53 保持适度领先。最后,o3-mini 的 IF 平均分更高,为 84.36,而 DeepSeek 为 80.51,这表明其在各个领域具有更有效的整体智能。
纽约时报连线 - 谜题
o3-mini 模型的得分为 72.4,位列基准测试前茅,展示了其强大的问题解决能力。相比之下,DeepSeek R1 模型的得分为 54.4,表现也良好,但比 o3-mini 低 18 分。
人类的最后一考
o3-mini (高) 模型的准确率为 13.0%,优于 DeepSeek-R1,后者准确率为 9.4%。这表明 o3-mini 在此基准测试评估的任务中提供正确答案的能力更强。然而,在校准误差方面,o3-mini 的误差率为 93.2%,高于 DeepSeek-R1 的 81.8%。这表明 DeepSeek-R1 模型校准得更好,因为较低的校准误差表示模型预测的置信度更可靠。
DeepSeek-R1 的基准性能
DeepSeek-R1 采用了多阶段训练和 RL 前的冷启动数据。DeepSeek-R1 在推理任务上实现了与 OpenAI-o1-1217 相当的性能。
Codeforces Bench o3-mini
在 Codeforces 上的竞争性编程中,OpenAI 的 o3-mini 模型在付出更多推理努力时能获得更高的 Elo 分数。它始终优于 o1-mini。当它使用中等推理努力时,o3-mini 与 o1 的性能相当。
其他基准测试
GRPO x Deepseek-R1
群组相对策略优化 (GRPO) 是 DeepSeek-R1-Zero 中使用的一种替代强化学习方法,用于优化策略模型,而无需依赖单独的评论者模型。GRPO 不估计值函数,而是使用群组分数计算基线。
GRPO 的关键方面
群组采样:
- 对于给定的查询 (q),从旧策略 (\pi_{\theta_{old}}) 中采样一组输出 ({o_1, o_2, \dots, o_G})。
策略优化目标:
- 通过最大化剪裁的 PPO 类似目标来更新策略 (\pi_\theta):[ J_{GRPO}(\theta) = \frac{1}{G} \sum_{i=1}^{G} \min \left( \frac{\pi_\theta(o_i | q)}{\pi_{\theta_{old}}(o_i | q)} A_i, \text{clip} \left( \frac{\pi_\theta(o_i | q)}{\pi_{\theta_{old}}(o_i | q)}, 1 - \epsilon, 1 + \epsilon \right) A_i \right) - \beta D_{KL}(\pi_\theta || \pi_{ref}) ]
- 这种公式通过剪裁机制防止过度更新。
KL 散度约束:
- Kullback-Leibler (KL) 散度惩罚确保更新的策略 (\pi_\theta) 不会与参考策略 (\pi_{ref}) 偏差过大。
优势计算:
- 不使用评论者,而是从采样组的奖励中计算优势 (A_i):[ A_i = \frac{r_i - \text{mean}({r_1, r_2, \dots, r_G})}{\text{std}({r_1, r_2, \dots, r_G})} ]
- 这根据群组的性能对优势值进行归一化。
通过使用 GRPO,DeepSeek-R1-Zero 降低了计算成本,并消除了对单独的评论者模型的需求,从而提高了训练效率。
复现 R1 ft.GRPOTrainer
要使用 GRPOTrainer 复现 DeepSeek R1,请按照以下链接中提供的脚本进行操作
功能比较
o3-mini 功能
- 闪电般自动完成:中位数响应时间为 210ms,在编码会话期间提供快速建议。
- IDE 插件集成:开箱即用支持多种编程语言,使其适用于各种开发环境。
- 安全扫描:内置代码常见漏洞检测功能,增强开发过程中的安全性。
DeepSeek R1 功能
- 多跳调试:通过多层代码依赖关系追溯错误,对复杂软件系统有效。
- 上下文代码补全:根据上下文提供更长、更相关的建议,提高编码效率。
- 自动化重构:自动建议旧有代码库的改进,显著减少技术债务。
o3-mini 与 DeepSeek R1 定价和运营成本
成本因素 | o3-mini | DeepSeek R1 |
---|---|---|
API 成本(输入/输出) | 每百万 $1.10/$4.40 | 每百万 $0.55/$2.19 |
本地部署 | $3.80/小时(4xA100) | $4.20/小时(8xH100) |
维护开销 | 8% | 15% |
局限性与挑战
局限性 | o3-mini | DeepSeek R1 |
---|---|---|
代码库大小 | 难以处理超过约 5 万行的代码库。 | 需要大量 VRAM(64GB+)才能获得最佳性能。 |
依赖项解析 | 缺乏内置的依赖项解析功能。 | 对旧编程语言(例如 COBOL、Fortran)的支持有限。 |
多文件分析 | 多文件分析功能有限。 | 由于架构复杂性,初始查询的响应时间较长。 |
关于 R1 和 o3 mini 的论文
- DeepSeek-R1:通过强化学习激励 LLM 的推理能力
模型 | 论文 |
---|---|
Deepseek R1 | Arxiv: 2501.12948 |
- o3-mini vs DeepSeek-R1:哪个更安全?
安全性 | 论文 |
---|---|
O3-MINI VS DEEPSEEK-R1:安全性 | 论文链接 |
论文《O3-MINI VS DEEPSEEK-R1: Which One is Safer?》评估了两个大型语言模型 (LLM) 的安全性:OpenAI 的 o3-mini 和 DeepSeek-R1。作者使用他们的自动化安全测试工具 ASTRAL 生成并评估了 1,260 个不安全测试输入,这些输入涵盖了各种类别、写作风格和主题。研究结果表明,DeepSeek-R1 对 11.98% 的提示做出了不安全响应,而 o3-mini 仅对 1.19% 的提示做出了不安全响应。这表明,根据这项评估,DeepSeek-R1 与 o3-mini 相比,更不符合人类价值观和安全标准。
有关两种模型安全性能的详细比较,请参阅下表
模型 | 不安全响应 (%) |
---|---|
DeepSeek-R1 | 11.98% |
o3-mini | 1.19% |
结论:o3-mini 和 DeepSeek R1 的选择
o3-mini 和 DeepSeek R1 的比较突出了人工智能模型设计的两种截然不同的理念,每种理念都在特定场景中表现出色。以下是基于它们的优势和局限性得出的精炼结论:
架构权衡
- o3-mini 的密集型 Transformer 架构确保了跨多样化任务的**一致性能**,使其成为对可靠性和安全性(例如,漏洞扫描)至关重要的环境的理想选择。然而,其资源密集型特性限制了大规模工作负载的可伸缩性。
- DeepSeek R1 利用 MoE 和 RLHF 仅激活每个 token 的参数子集,实现了**卓越的效率**(37B 活跃参数 vs. o3-mini 的 200B 密集参数)。这使其更适合大规模、动态应用程序,例如实时游戏开发或多文件代码库。
性能亮点
- 编码任务:
- o3-mini 在**结构化任务**(例如,国际象棋游戏逻辑、IDE 插件)中表现出色,代码分离更清晰,并采用基于图块的渲染。
- DeepSeek R1 采用**视觉丰富的设计**(霓虹美学、3D 效果)并支持动画速度控制等高级功能,对交互式应用程序具有吸引力。
- 基准测试:
- DeepSeek R1 在推理任务(GRPO 优化)上与 o3-mini 相当,但在竞争性编程(Codeforces Elo)中落后。
- o3-mini 的训练计算量(120 万 A100 小时)是 R1 的一半(266 万 H800 小时),但 R1 的 MoE 设计通过更好的 token 效率弥补了这一差距。
运营注意事项
- 成本:DeepSeek R1 提供更低的 API 成本(每百万 I/O $0.55/$2.19),但对本地部署需要更高的 VRAM。
- 可伸缩性:R1 的 MoE 架构使其能够适应不断增长的工作负载,而 o3-mini 的密集模型面临硬件限制。
未来展望
两款模型都定于 2025 年发布,o3-mini 侧重于安全性和 IDE 集成,而 DeepSeek R1 则强调动态可扩展性和多跳调试。随着人工智能驱动的开发不断发展,选择将取决于优先级。
- 对于需要确定性输出、低维护和嵌入式安全性的任务,请选择 o3-mini。
- 对于需要资源高效、视觉复杂且要求自适应可扩展性的应用程序,请选择 DeepSeek R1。
文章结束……感谢阅读。🤗