在《对O1 Pro思考过程的技术分析(2)》中,探讨了ChatGPT在复杂任务中的思考过程和技术实现。文章深入分析了ChatGPT如何通过多层次的神经网络架构处理输入信息,逐步生成连贯且逻辑性强的输出。重点讨论了模型在推理、上下文理解和生成过程中的关键机制,包括注意力机制、预训练与微调的结合,以及如何通过大规模数据学习提升生成质量。文章还探讨了ChatGPT在处理歧义、多模态输入和实时交互时的技术挑战与优化策略。总结指出,ChatGPT的成功在于其强大的泛化能力和对复杂任务的适应性,但也面临诸如数据偏差、推理深度不足等问题,未来需进一步优化模型架构和训练方法。
两周之前我曾写了 对O1 Pro思考过程的技术分析(1),这次是对其内容的修订。
目前的判断:
o1 pro使用了某种多路推理,而不是只靠(1)中提的单路推理+反思是否终止
o1 pro的进度显示大概只是某一路的推理过程
o1和o1 pro的推理阶段可能仍然有某种类似message的step设计,进度显示的条目划分与此对应。
1、多路推理
(1)中分析结论是,o1 pro在生成完回答后,仍然存在某种过程对生成的答案进行判断。但不能确认是一个反思过程,还是等待多路推理结果的选择过程。
我这次基于国内一些逆向的API进行了一些测试,看起来o1 pro应该是采用了多路推理的方式。虽然想等到o1 pro 官方API的放出,但目前看起来遥遥无期,可能会直接等到o3系列发布,所以还是仅使用逆向的方案进行实验。
这个实验可能会受到多种因素的影响,例如逆向的供应商是否有造假,供应商使用的账号是否有被降智,以及供应商对于流式结果的返回是否足够及时等。从测试结果来看,我认为上述问题风险不大,但确实也不能完全排除。
1.1、实验方式及结果
(1)中提到:o1 pro的最终答案是一次性给出的,其生成过程应该是在思考进度最后一项之后的较长的等待时间中。可以根据这个的等待时间与答案的token数量是否存在明显的线性关系,来判断是否是单路推理。
如果是多路推理的话,这个等待时间会跟推理最长的路径、以及当前思考过程采用的路径这两者的长度差相关,与最终输出的结果长度没有太直接的关系。
实验采用了5个不同的prompt,每个请求10次,统计最后一段的等待时间与最终结果token数的关系。o1 pro的结果如下
作为对照,请求o1 逆向API的结果如下图:
(o1的响应时间以流式返回结果中回答阶段的时间计算,排除掉前面的思考时间。)
对比两者可以发现:
o1的结果虽然有较明显的其他因素影响,但仍然是基本线性的趋势。
o1 pro的结果几乎没有线性关系
o1 pro对于同一个prompt的输出结果长度相对于o1来说更加集中
o1 pro最后一个阶段的时间大多集中在1-2min,并且与回答长度关联不大。但与总reasoning token的关联似乎更大,case5的思考过程很长,reasoning token较多。
1.2、结果分析
o1 pro的结果token数量与等待时间线性关系较弱,要么是多路推理,要么是单路推理后存在一个时间波动很大的验证过程。考虑到常见的验证结果方式耗时一般都比较一致,后者的可能性不大,更可能是多路推理。
o1 pro的输出结果长度更加一致,也反映出了对于多个sample结果进行rank或其他形式归并后会出现的特点,削弱了原始采样的波动性。
所以我目前认为o1 pro是采用了多路推理,并在各路结果都完成后,使用了独立的阶段从多个结果中选择了一个最好的结果进行返回,这个阶段的耗时可能不短。
有兴趣的读者可以测试更多数据来分析需要采样多少次才能获得这样的波动性降低,由此推断o1 pro的内部采样次数。
1.3、其他佐证信息
从个人使用经验来看,在ChatGPT web版上,一次o1 pro的请求对于其PoW难度提升会明显高于一次o1请求。这从侧面说明了在OpenAI看来,一次o1 pro的请求成本明显高于一次o1请求。如果只是单路+反思检查的话,应该不会有很大的成本差异。
SemiAnalysis之前的分析也认为o1 pro使用了多路推理,但最后是使用Self-Consistency/Majority Vote方式进行选择的。我认为目前并没有好的低成本方式进行输出结果进行语义一致性检查,仍然需要使用LLM进行对比。但这时候除了Majority Vote,也可以直接通过指令让LLM直接分析每个结果是否符合原始prompt,选择最符合的进行输出。我目前无法判断是哪种可能。不过这方面大概也可以从o1与o1 pro在结果的长度分布上的变化来进行分析和猜测。
A、结语
我原本以为这种多路推理归并的方式是o3才有的,不过目前来看o1 pro就是多路推理归并。所以o3系列究竟改进了什么,目前又产生了一些疑惑。Altman最近还在twitter上表示o3 也会有pro版本,所以可能o3的改进跟多路归并是独立的。当然多路归并也可以跟其他方式诸如树形探索结合,但这就很难分析了,只能等到o3发布再来看了。
交流与合作
如果希望和我交流讨论,或参与相关的讨论群,或者建立合作,请加微信,联系方式请点击 -> 联系方式。
本文于2025.1.20首发于微信公众号和知乎,知乎链接:
https://zhuanlan.zhihu.com/p/19400724176
网友评论