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

OpenAI o1模型推理能力大幅提升的背后:重复采样如何提升AI推理能力

今天OpenAI对外发布了o1模型,最大的特点便是推理能力大大增强,推理速度大大变慢。传统大模型都在比拼降低响应延迟的时候,OpenAI竟然做了一个“超慢”模型。

为什么会这样

答案就在下面这张图里,它解释了o1的推理工作原理,也回答了它为啥变慢。

o1模型的特点是在回答前进行思考,并不直接给出推理结果,响应用户之前会产生长串的内部思维链,生成不同的方法,进行验证尝试,有成功的,也有失败的,但不会展示给用户,就像是打草稿一样,直到得出答案,最后再丢弃草稿,以保持回答简洁,上下文干净。这样的好处是既能进行复杂推理,又能保持对话的连贯和效率。也正是如此,为了区分内部推理使用的token与输入输出token,引入了推理token的概念,也就是“草稿”token,值得注意的是,这一token量可能会大大高于输入输出token数,进而带来很高的使用成本。

测试时计算

这里先不谈创新的大规模强化学习算法在模型训练时对性能的提升因素,而聚焦在另一个提升模型性能的因素上,这就是测试时计算。其诀窍便是”别人问问题,别急着回答,先在心里打草稿,想好了再回答“,虽然回答速度慢了,但是准确率高了。这一过程中一个很重要的内容便是重复采样。

咱们今天介绍这一领域的代表论文《Large Language Monkeys: Scaling Inference Compute with Repeated Sampling》,该研究揭示了重复采样(repeated sampling)能够显著提升AI模型的推理能力,特别是在编程和数学等领域。

重复采样:让AI多试几次

重复采样的核心思想很简单:不要局限于模型的单次输出,而是让它生成多个答案,然后从中选择最佳结果。这种方法类似于人类在解决复杂问题时的"头脑风暴"过程,通过多次尝试来提高找到正确解决方案的概率。

研究发现,随着采样次数的增加,模型解决问题的覆盖率(coverage)呈现出显著的增长。例如,在CodeContests编程竞赛数据集上,Gemma-2B模型的覆盖率从单次尝试的0.02%飙升至10,000次尝试的7.1%,增长了惊人的300多倍!

更令人兴奋的是,这种提升效果在多个任务和模型上都得到了验证。从数学问题到形式化证明,再到实际的软件工程任务,重复采样都展现出了强大的效果。

小模型也能办大事

重复采样的一个重要应用是amplify(放大)较小模型的能力。在SWE-bench Lite(一个真实世界的GitHub问题数据集)上,DeepSeek-Coder-V2-Instruct模型单次尝试的成功率仅为15.9%。然而,当我们允许它尝试250次时,成功率飙升至56%,远超当前单次尝试的最高水平43%(由更强大的GPT-4和Claude 3.5 Sonnet模型混合实现)。

这一发现具有重要意义:它表明,我们可以通过增加推理计算量来"放大"较弱模型的能力,甚至超越更强大但只有一次尝试机会的模型。这为AI应用提供了一种新的优化思路,特别是在资源受限或需要控制成本的场景下。

推理计算的"摩尔定律"?

研究中一个有趣的发现是,覆盖率的增长似乎遵循一种类似于摩尔定律的规律。在许多情况下,log(覆盖率)与采样次数的关系近似于幂律分布。这意味着,我们可能正在见证一种新的"推理计算的缩放定律"的诞生,类似于训练计算量与模型性能之间已经被广泛研究的关系。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这一发现不仅具有理论意义,还为实践提供了指导。它暗示着我们可以通过预测来估算需要多少次采样才能达到特定的性能水平,从而更好地平衡计算资源和期望结果。

成本效益的新视角

重复采样还为AI应用的成本效益提供了新的思考角度。研究发现,在某些任务中,使用较小的模型进行多次采样可能比使用大型模型进行单次尝试更具成本效益。例如,在SWE-bench Lite任务中,使用DeepSeek模型进行5次采样不仅解决的问题更多,而且成本还比使用GPT-4或Claude 3.5 Sonnet进行单次尝试低3倍以上。

这一发现对于AI服务提供商和用户都具有重要启示。它提示我们,在评估AI解决方案时,不应仅仅关注模型的大小或单次性能,还应考虑通过重复采样来优化成本和效果的平衡。

尽管重复采样展现出了巨大潜力,但研究也指出了一些挑战。最突出的是在缺乏自动验证工具的领域(如某些数学问题),如何从大量生成的样本中准确识别正确答案仍是一个待解决的问题。现有的方法,如多数投票或奖励模型评分,在样本数量超过一定规模后效果提升不明显,这表明我们还需要更先进的验证技术。

小结

"Large Language Monkeys"研究以及OpenAI o1模型的能力佐证,将会掀起AI推理增强模型性能的新思路探索热潮,可以预见将会出现越来越多智能的采样策略,更为高效的验证筛选技术等。

从某种角度讲,就像有人说“o1是工程化的产物”,在执着于模型性能本身提升的同时,通过一些看似简单的技巧,也能够对模型性能带来巨大提升,这也为我们思考AI系统的设计和优化提供了新的视角。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Clickhouse使用笔记
  • 了解 React 应用程序中的渲染和重新渲染:它们如何工作以及如何优化它们
  • 『功能项目』战士职业平A怪物掉血【44】
  • 动态规划---不同的子序列
  • 一次RPC调用过程是怎么样的?
  • NLP与文本生成:使用GPT模型构建自动写作系统
  • 软件无线电2:矢量信号器和HackRF实现FM调制解调
  • 32.递归、搜索、回溯之floodfill算法
  • com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found产生原因及解决步骤
  • Zabbix的安装与基本使用(主机群组、应用集、监控项、触发器、动作、媒介)
  • C++设计模式(更新中)
  • Linux 常用指令
  • 苹果Vision Pro曝出严重漏洞,黑客可通过用户眼动输入窃取信息
  • vue之我不会
  • Pytest配置文件pytest.ini如何编写生成日志文件?
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 0基础学习移动端适配
  • Android单元测试 - 几个重要问题
  • mysql常用命令汇总
  • npx命令介绍
  • Otto开发初探——微服务依赖管理新利器
  • passportjs 源码分析
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Rancher如何对接Ceph-RBD块存储
  • SQLServer插入数据
  • vuex 学习笔记 01
  • 初识 webpack
  • 关于字符编码你应该知道的事情
  • 悄悄地说一个bug
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 入手阿里云新服务器的部署NODE
  • 在weex里面使用chart图表
  • Spring Batch JSON 支持
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (003)SlickEdit Unity的补全
  • (11)MSP430F5529 定时器B
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (55)MOS管专题--->(10)MOS管的封装
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (ros//EnvironmentVariables)ros环境变量
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (差分)胡桃爱原石
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (理论篇)httpmoudle和httphandler一览
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)setTimeout 和 setInterval 的区别
  • (转)德国人的记事本
  • (自适应手机端)行业协会机构网站模板
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET 5种线程安全集合