致敬小镇做题家的OpenAI o1

文摘   2024-09-17 20:37   浙江  

OAI的草莓从去年11月开始炒作Q*, 已经预热了快一年了, 似乎伴随着最近Cursor+Claude的压力, 以及最近一轮OAI融资, 把o1放出来了. 本以为是给微软Copilot:Wave2[1]预热的,但有点失望的是Copilot还是基于GPT-4o.

作为一个数奥/信奥退役选手, 对于o1是否真的有通向AGI的路径来做点分析. 然后针对金融口的朋友谈谈ScalingLaw提供的市场流动性, 再针对云和硅工朋友谈谈基础设施演进的需求. 而具体的算法部分, 后面还是在《大模型的数学基础》这个专题中单独再更新一篇.本文目录如下:

1. LLM = 自回归的Large Language Monkeys
1.1. 从预层范畴看Scaling Law的本质
1.2. 训练Scaling Law的瓶颈
1.3. 训练Scaling Law的本质是给市场注入流动性
2. Chain-of-Thought
2.1 从一个无趣例子开始
2.2 自动的隐式CoT? 新的Scaling Law
2.3 Post Training Scaling Law
2.4 Inference Scaling Law
3. 小镇做题家?
3.1 算法的演进
4. 基础设施的影响
4.1 基础模型的大小
4.2 LongContext成为刚需
4.3 训推基础设施界限越来越模糊
4.4 DSA/NPU/TPU类芯片遇到问题

1. LLM = 自回归的Large Language Monkeys

前段时间读到一篇来自Google Deepmind/Stanford/Oxford的文章《Large Language Monkeys: Scaling Inference Compute with Repeated Sampling》[2], 在学概率的时候或许很多人都会记得a.s.(almost surely)这个术语. 这篇文章的标题受到无限猴子理论的启发, 即假设我们有无限只猴子坐在打字机前随机敲打键盘, 经过无限长的时间, almost surely可以输出任何给定的文本, 包括莎士比亚的全集.

almost surely意味着事件以概率1发生, 也就是说有足够多的算力和时间, 必定会产生期望的输出结果. 我们假设词库为100K, 那么要产生一个100K的满足要求的输出文本的概率是, 本质上我们是在寻找一种算法来提高概率降低复杂度. 另一方面是, 我们需要一个系统来鉴别对错

1.1. 从预层范畴看Scaling Law的本质

《Scaling Laws for Autoregressive Generative Modeling》[3]本质上是在谈论自回归生成式模型. Attention的算法和自回归结合, 极大的剪枝了搜索空间, Transformer based Attention相对于LSTM/RNN又进一步提高了计算的并行性, 再配合一些RLHF约束使得产生的文本输出越来越像人.

《大模型时代的数学基础(2)》中我们介绍一些范畴论视角下的LLM. 从范畴论的视角来看, 函子范畴中最重要的一个例子就是预层(presheaf)范畴,记为, Presheaf是C上的一个函子, 上的所有presheaf构成的对象和presheaves之间的自然变换构成态射,这样的范畴被成为预层范畴。

对于一个对象A,大模型的预训练过程实际上是通过尽量多的数据来构建A和其它对象的Attention的集合,实际上是,它是一个反变函子,也可记为,我们注意到 Presheaf是C上的一个函子。本质上大模型的预训练过程实际上就是需要构造一个预层范畴。

另一方面由米田引理来看, 给定一个局部小范畴上的预层,对于C中的对象,有 , 说大白话就是“人的本质是一切社会关系的总和”

的函子完全忠实的,那么

于是, 当且仅当它们对应的Hom函子同构。而这个推论来看,我们可以说:对象由它与其他对象之间的关系完全决定

就此Scaling Law的本质就是, 当我们有足够大的训练预料和训练算力, 则我们可以把词通过词间的关系来描述构成一个Foundation Model. 这样我们就能保证有一个相对高效的能够产生Candidate Solution的System 1.

1.2. 训练Scaling Law的瓶颈

从训练角度来看, Meta训练MoE的模型失败, GPT-5也不停的跳票, 听说Google Gemini训练也遇到了一些问题, 其实本质上也宣告了Scaling Law遇到了瓶颈. 当前Meta训练405B每三个小时断一次, 如果扩展到10万卡的规模集群的中断频率可以推算一下....当然英伟达也在Blackwell中增加了RAS特性, 但NVL72的可靠性依旧会在工程上带来很大的挑战.

从算法上来看, 词表的生成和训练依旧是割裂的, GPT-4o的词表里有蛮多有趣的敏感词, 另外针对中文的分词,  如最近朋友圈经常传的一个GPT-4o的笑话

训练Scaling Law本身似乎也逃不出自回归Large Language Monkeys的各种缺陷.在OAI的一篇论文《Training Verifiers to Solve Math Word Problems》[4]也阐述过, 自回归模型在数学推理问题上很难进一步, 需要寻找额外的Scaling Law.

1.3. 训练Scaling Law的本质是给市场注入流动性

这一波LLM的热度, 技术本身带来的变革毋庸置疑, 但我们还要看从资本市场的角度来看是恰逢其时注入的市场流动性. 正是因为Scaling Law的推波助澜, 为市场提供了足够的流动性推高了各个公司的市值. ScalingLaw算力的需求配合almost surely的答案很容易的制造出一个巨大的泡沫, 仿佛大力真的能够出奇迹.

然而OAI的营收/费用和估值来看, 单纯的以训练Scaling Law的故事似乎也走到了尽头. 数亿美金训练出来的模型, 在面对Gemini/Claude的夹击下, 资产减值速度非常快, 而推理的ROI并不好. 多模态"Her"的故事和Sora的长期跳票也并未让市场买单.

正如前一个月国内的社交媒体清一色的在谈“大模型一叶知秋”. 这个时候o1-preview的出现似乎只是看作为下一轮融资的估值再来提供一些流动性.

而是否这一次的Inference Scaling Law或者PostTraining Scaling Law能够提供新一轮的流动性呢?金融机构还有多少耐心去等待AGI呢?我们在接下来的几章进行一些分析.

2. Chain-of-Thought

CoT的作用本质上我们还是要从当前模型自回归的性质来看待. 对于需要解决的问题, 当我们有一个更接近于答案的上下文时, 其自回归的推理准确度就会越高.

2.1 从一个无趣例子开始

我们还是以9.8和9.11谁大来问一下Claude Sonet 3.5

Q:9.8和9.11 谁大 A: 要比较9.8和9.11这两个小数的大小,我们需要逐位比较:

整数部分都是9,相等。 小数点后第一位都是8和1,8比1大。 通常情况下,我们只需要比较到这里就可以得出结论了。但为了更严谨,我们可以继续比较:

小数点后第二位,9.8没有第二位(可以看作0),而9.11的第二位是1。 所以,9.11 大于 9.8。

简单来说:9.11 > 9.8

然后我们改改提问的方式

Q: 9.8和9.11111 谁大, 首先我们记录小数点最长的位数为N, 然后两个数据都乘以10的N次方,  然后再相减一步步比较结果

A:好的,我们来一步步解决这个问题:

  1. 确定小数点后最长的位数 N:
  • 9.8 有 1 位小数
  • 9.11111 有 5 位小数 所以 N = 5
  1. 将两个数都乘以 10^N (即 10^5 = 100000):
  • 9.8 * 100000 = 980000
  • 9.11111 * 100000 = 911111
  1. 相减比较:

980000 - 911111 = 68889

  1. 分析结果: 差值是正数,说明第一个数更大

因此,9.8 大于 9.11111。

这种方法通过将小数转换为整数来进行比较,避免了直接比较小数可能带来的精度问题。它清楚地展示了 9.8 比 9.11111 大 0.68889。

看似这样能够解决问题,但似乎我们又进入了一个“人工”智能的时代, 想起前段时间在知乎上看到的一段话...

2.2 自动的隐式CoT? 新的Scaling Law

那么本质上我们如果能够找到这样一个自动生成一个类似于如上解决问题算法的Prompt的过程即可? 但很多时候我们对大模型的期待是

如果说让输出的结果看起来像人以及一系列指令跟随能力可以通过RLHF来搞, 那么如何对推理阶段产生的CoT评估和打分并自动完成优化呢? 多刷题,多了解解题套路呀

那么这一步就引入了新的算力需求, 即Post-Training Scaling Law和Inference Scaling-Law

2.3 Post Training Scaling Law

类似于《STaR: Bootstrapping Reasoning With Reasoning》[5]《Quiet-STaR: Language Models Can Teach Themselves to Think Before Speaking》[6]的工作.

STaR是利用LLM已有的一些Step-By-Step推理能力, 产生中间的过程输出, 然后针对正确的中间过程作为合理推理过程(Rationale)重新加入到QA中构建出[Question, Rationale,Answer]进一步进行FineTune. 但是这样的算法泛化能力有限, 对一些开放式的任务并不行.

而在最近的Quiet-STaR中提出了Internal throughts的概念, 在模型内部引入<startofthought><endofthought> token来标记思维的开始和结束.

简单来说, Quiet-STaR为每个token都产生Rationale来解释未来的文本, 并将包含和未包含Rationale的预测Token混合.

另一种做法是在《谈谈大模型可解释性》中谈到过的Sparse Auto Enconder(SAE), 当模型预训练完成后, 可以通过SAE对产生的文本构建SAE. SAE是一个无监督学习过程, 利用SAE在Post-Training阶段对这些概念的关系特征来构建Rationale似乎也是一条路.

2.4 Inference Scaling Law

当前很多模型的推理阶段通常是基于Best-of-N和Beam-Search, 在DeepMind上个月的一篇论文《Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters》[7]通过使用更多的测试时间计算来提高其输出.

我们可以尝试着在推理阶段不要求模型一次做对的能力,而是让LLM去尝试一题多解, 然后针对多个答案进行评估打分, 最终输出一个正确的答案. 在答案评估的时候,同时引入对过程的评估,即Process-based Reward Model(PRM).  搜索方法上, 它采用了Lookahead Search, 本质上是MCTS的一种特殊形式.

针对这部分的具体算法相关的内容, 后面会在《大模型的数学基础》这个专题中再单独写几篇来补充

3. 小镇做题家?

从o1-preview的一些测试来看, 代码能力和数学能力测试来看确实挺强的

但是渣还是有一个疑问, 这些能力是否能够真的让最终用户觉得当前Token的收费定价是值得的? 是否会落入另一个小镇做题家的陷阱里?

以一个金融工作者的角度来看, 日常工作需要解决的问题可以用更低的成本,更简单的算法处理. 而针对一系列高价值的需要博士解决的问题, 是否会成为一个高频需求从而产生与其估值相等的营收, 渣是持怀疑态度的.

例如需要设计一个占用硅面积足够小的ScaleUP可靠传输协议, 从协议编码到CC算法设计,再到LLM自动产生RTL并在仿真环境中通过强化学习反复调优. 且不谈自动产生RTL和仿真环境自动调整的可行性, 对于这个任务需要多少个Token? Token定价如何, 是否能够做到人力替代, 个人觉得还有很长的路要走.

实际上这就是一个关于小镇做题家的拷问, 各种榜单考试分数可以刷的很高,并不能代表实际工作中解决问题的能力. 例如下面这样的问题:

以及下面这篇文章的内容《“博士级”模型GPT-o1折戟中学数学“陷阱”问题,准确率仅为24.3%》, o1还存在大量的问题.

3.1 算法的演进

个人比较认同的是Andrej Karpathy的一个观点当模型的思维链不再使用英语时, 你就可以知道强化学习已经正确完成了.

例如针对数学问题, 《DeepSeek-Prover-V1.5: Harnessing Proof Assistant Feedback for Reinforcement Learning and Monte-Carlo Tree Search》[8]

而针对算法类问题, DeepMind的NAR

以及在安全对齐的过程中, OAI所用的RuleBased Reward

这些内容都值得好好的去探索一下.

4. 基础设施的影响

ScalingLaw向PostTraining和Inference转移, 也必定会带来基础设施的变化. 下面从几个方面来评估影响.

4.1 基础模型的大小

训练Scaling Law的瓶颈下, 伴随着o1带来的慢思考能力, 对于基础模型的参数数量上是否可以进行一定量的妥协? 例如70B的模型是否就已经足够通过MCTS产生正确答案了? 这样相对于405B模型在同等算力的搜索广度上也好了很多.更进一步, 是否能够用一些13B左右的模型来作为基础模型?这样可以把一些A10/L20的资源用起来进行更大规模的推理.

当然在MCTS搜索的过程中, 通过有效的编排并行策略, 推理的并行性也会进一步提高. 例如Quiet-STaR提到的Parallel Generation

4.2 LongContext成为刚需

慢思考的出现,对于模型自身的LongContext能力的需求越来越大, 然后这些推理和训练过程对于存储的需求会越来越高, GPU需要在ScaleOut上通过GDR/GDS获得更大的外部存储能力.

4.3 训推基础设施界限越来越模糊

训推一体化的需求会更强烈, 对于高附加值问题的推理也逐渐的不需要快速产生答案了,更多的变成了一种半离线业务, 例如大模型真的可以做一个合格的投资理财顾问时, 几十秒出答案也是可以等待的.

4.4 DSA/NPU/TPU类芯片遇到问题

对于非GPGPU的芯片, 可能会在这一次变革中遇到一系列性能问题, 慢思考的路径一旦打开, 算法上就有很多可以探索的场景, 对于非GPGPU的芯片在算子算法实现上, 以及运行效率上都会遇到巨大的挑战. 而对于一些稀疏算法和潜在的GNN的引入. CPU和GPGPU混合训练的潜在需求会出现, 这些值得我们去关注GB200的架构设计和内在逻辑.

大概就这样, 今日份划水摸鱼结束~

参考资料
[1]

Copilot:Wave2: https://www.microsoft.com/en-us/microsoft-365/blog/2024/09/16/microsoft-365-copilot-wave-2-pages-python-in-excel-and-agents/

[2]

Large Language Monkeys: Scaling Inference Compute with Repeated Sampling: https://arxiv.org/abs/2407.21787

[3]

Scaling Laws for Autoregressive Generative Modeling: https://arxiv.org/abs/2010.14701

[4]

Training Verifiers to Solve Math Word Problems: https://arxiv.org/abs/2110.14168

[5]

STaR: Bootstrapping Reasoning With Reasoning: https://arxiv.org/abs/2203.14465

[6]

Quiet-STaR: Language Models Can Teach Themselves to Think Before Speaking: https://arxiv.org/abs/2403.09629

[7]

Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters: https://arxiv.org/abs/2408.03314

[8]

DeepSeek-Prover-V1.5: Harnessing Proof Assistant Feedback for Reinforcement Learning and Monte-Carlo Tree Search: https://www.arxiv.org/abs/2408.08152


zartbot
随便记录点有趣的东西
 最新文章