OpenAI o3 “震撼” 发布后回归技术本身的审视与进一步思考

ops/2024/12/23 11:26:06/

75559724899746aa922087e83d5d5a41.jpg

OpenAI o3就这么 “duang”的一下来了,相关的各种评测和报告资讯一大堆,所展露的“震撼”或简单粗暴的某种工业或工程学“组合堆叠”就不多说了,在这里还是主要还是想跟大家聊聊技术本身。

76b1906d30ef47ddb7d93b425118ca68.jpg

今天凌晨看到一篇媒体报道里有一种通俗工学上的类比挺有意思,给大家截取一下:

“大模型本质上是向量程序的存储库。当给出提示词时,LLM会提取提示词对应的程序,并在当前输入上「执行」。也就是说,它们是通过被动接触人类生成内容来存储和操作化数百万个有用的小程序的一种方式。

这种「记忆、提取、应用」的模式可以在适当的训练数据下,实现对任意任务的任意技能水平,但它无法适应新任务或即时掌握新技能。而要适应新任务,需要两样东西。

第一,需要知识:一组可重用的函数或程序供调用。LLM在这方面已经绰绰有余。

第二,需要在面对新任务时将这些函数重新组合成一个全新的程序的能力:一个能够建模当前任务的程序,也就是程序合成。

而LLM长期以来缺乏这一特性,o系列模型却带了新的突破。o3模型的核心创新在于,实现了token空间内自研语言程序搜索和执行。它在测试时会搜索可能的CoT空间,寻找描述解决任务所需的步骤,由评估模型引导搜索过程。这种方式可能与AlphaZero的MCTS某种程度上类似。

91ff55771a53467ab58a50b1130996c6.png

因此,o3通过生成并执行自己的程序克服了这一问题,其中程序本身(即CoT)成为知识(这里我认为用“泛化”更贴切)重组的产物。

尽管这并不是测试时,知识重组的唯一可行方法(也可以进行测试时训练,或在潜在空间中搜索),但根据这些最新的ARC-AGI数据,它代表了当前的最先进水平。实质上,o3本质上是一种深度学习引导的程序搜索形式。”

daaef7b5a1184589a7947e7faba49da6.jpg

上述这种类比我觉得很直观的说明了当前o系模型与传统llm在训练时与推理测试时的这种范式的转换,熟悉我的伙伴应该还记得我今年年初写的那篇关于“融合RL与LLM”(关键词)的篇长文吧,这也不得不也让我再次回忆起hugginface某位prof在讲test time compute scaling时提到的4种潜在的rl方法中最有潜力的一种:SoS~Stream of Search。

38d410c03daa4bec8454d9d8a5dc8e91.jpg

 

关于SoS大家可自行查看原论文,这里我主要跟大家分享一下我的想法和抛出一些引发继续思考的问题:

 

SoS框架本身模拟或约束于一个内部的形式化“世界模型”,而这可能来自于特定的领域任务下的数据流行分布,而在这种特定领域下的任务空间我们发现了其自身所包含的精确的形式化验证本身,那么在通用领域下是否存在这种通用、可精确形式化验证的可能吗?

 

看似混乱的甚至错误的搜索策略或路径轨迹所呈现的数据分布也许在某种更开放的探索任务下,对于神经网络模型在反向梯度传播时对隐式参数化的知识或泛化的扰动,要优于所谓的最优策略的数据集因此,直觉上SoS+Star可进一步在步骤级策略上优化迭代探索与利用。

 

这种领域内形式化框架或相对一个封闭系统的内部所呈现的形式化小世界模型,也许对于推理模式的通用性是某种限制,在某种内部的形式化世界模型约束与定义下所采用RL中的步骤解空间探索、奖励反馈、策略优化迭代,势必绕不过去更加广泛和通用的领域的泛化性,我想未来要想实现真正的通用泛化能力必然需将形式化的尺度进一步放大,同时亦需考虑最终结果的verify问题。也许将自然语言作为最终的形式化底层框架并通过强RM去实现这一可能,但奖励机制和形式其实在未来也有很大的考究和潜力空间可探的,比如Day2的RFT。

 

一种形式化框架与一种符号化表征(如语言)他们之间的关系是怎样的?而与其中的推理与泛化又存在着怎样的本质联系?自然语言是否可以通过某种碎片化的形式化过程来实现完备的verify?


http://www.ppmy.cn/ops/144294.html

相关文章

Swin transformer 论文阅读记录 代码分析

该篇文章,是我解析 Swin transformer 论文原理(结合pytorch版本代码)所记,图片来源于源paper或其他相应博客。 代码也非原始代码,而是从代码里摘出来的片段,配上简单数据,以便理解。 当然&…

CSS 网络安全字体

适用于 HTML 和 CSS 的最佳 Web 安全字体 下面列出了适用于 HTM L和 CSS 的最佳 Web 安全字体: Arial (sans-serif)Verdana (sans-serif)Helvetica (sans-serif)Tahoma (sans-serif)Trebuchet MS (sans-serif)Times New Roman (serif)Georgia (serif)Garamond (se…

【Java 马踏棋盘算法】韩顺平笔记

骑士周游算法 算法优化意义 1.算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依然保持高速计算? 2.在Unix下开发服务器程序,功能是要支持上干万人同时在线,在上线前,做内测,一切OK,可上…

如何正确计算显示器带宽需求

1. 对显示器的基本认识 一个显示器的参数主要有这些: 分辨率:显示器屏幕上像素点的总数,通常用横向像素和纵向像素的数量来表示,比如19201080(即1080p)。 刷新率:显示器每秒钟画面更新的次数&…

【JavaEE初阶】JavaScript相应的WebAPI

目录 🌲WebAPI 背景知识 🚩什么是 WebAPI 🚩什么是 API 🎍DOM 基本概念 🚩什么是 DOM 🚩DOM 树 🍀获取元素 🚩querySelector 🚩querySelectorAll &#x1f384…

C语言经典100例

文章目录 前言123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525355565859606162636465 前言 以下题目大部分来自于C语言经典100例 1 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的…

Spring Boot 教程之三十六:实现身份验证

如何在 Spring Boot 中实现简单的身份验证? 在本文中,我们将学习如何使用 Spring设置和配置基本身份验证。身份验证是任何类型的安全性中的主要步骤之一。Spring 提供依赖项,即Spring Security,可帮助在 API 上建立身份验证。有很…

webpack最基础的配置

以下是一个基本的webpack配置示例,它包括了入口文件、输出配置以及模式设置(开发模式或生产模式)。 const path require(path);module.exports (env, argv) > {// 根据传入的参数确定是开发模式还是生产模式const isProduction argv.m…