首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
解密Prompt系列1. Tunning-Free Prompt:GPT2 & GPT3 & LAMA & AutoPrompt
2
解密Prompt系列2. 冻结Prompt微调LM: T5 & PET & LM-BFF
3
解密Prompt系列3. 冻结LM微调Prompt: Prefix-tuning & Prompt-tuning & P-tuning
4
解密Prompt系列4. 升级Instruction Tuning:Flan/T0/InstructGPT/TKInstruct
5
​解密prompt系列5. APE+SELF=自动化指令集构建代码实现
6
解密Prompt系列6. lora指令微调扣细节-请冷静,1个小时真不够~
7
解密Prompt7. 偏好对齐RLHF-OpenAI·DeepMind·Anthropic对比分析
8
解密Prompt系列8. 无需训练让LLM支持超长输入:知识库 & Unlimiformer & PCW & NBCE
9
解密Prompt系列9. 模型复杂推理-思维链基础和进阶玩法
10
解密Prompt系列10. 思维链COT原理探究
11
​解密Prompt系列11. 小模型也能思维链推理
12
解密Prompt系列12. LLM Agent零微调范式 ReAct & Self Ask
13
解密Prompt系列13. LLM Agent指令微调方案: Toolformer & Gorilla
14
解密Prompt系列14. LLM Agent之搜索应用设计:WebGPT & WebGLM & WebCPM
15
解密Prompt系列15. LLM Agent之数据库应用设计:DIN & C3 & SQL-Palm & BIRD
16
解密Prompt系列16.LLM对齐经验之数据越少越好?LTD & LIMA & AlpaGasus
17
解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN
18
解密Prompt系列18. LLM Agent之只有智能体的世界
19
解密Prompt系列19. LLM Agent之数据分析领域的应用:Data-Copilot & InsightPilot
20
解密Prompt系列20. LLM Agent 之再谈RAG的召回多样性优化
21
解密Prompt系列21. LLM Agent之再谈RAG的召回信息密度和质量
22
​解密Prompt系列22. LLM Agent之RAG的反思:放弃了压缩还是智能么?
23
解密Prompt系列23.大模型幻觉分类&归因&检测&缓解方案脑图全梳理
24
解密prompt24. RLHF新方案之训练策略:SLiC-HF & DPO & RRHF & RSO
25
解密prompt系列26. 人类思考vs模型思考:抽象和发散思维
26
解密prompt25. RLHF改良方案之样本标注:RLAIF & SALMON
27
解密prompt系列27. LLM对齐经验之如何降低通用能力损失
28
解密Prompt系列28. LLM Agent之金融领域智能体:FinMem & FinAgent
29
解密Prompt系列29. LLM Agent之真实世界海量API解决方案:ToolLLM & AnyTool
30
解密Prompt系列30. LLM Agent之互联网冲浪智能体们
31
​解密Prompt系列31. LLM Agent之从经验中不断学习的智能体
32
​解密Prompt系列33. LLM之图表理解任务-多模态篇
33
解密Prompt系列32. LLM之表格理解任务-文本模态
34
​解密prompt系列34. RLHF之训练另辟蹊径:循序渐进 & 青出于蓝
35
解密prompt系列35. 标准化Prompt进行时! DSPy论文串烧和代码示例
36
解密Prompt系列36. Prompt结构化编写和最优化算法UNIPROMPT
37
解密Prompt系列37.RAG之前置决策何时联网的多种策略
38
解密Prompt系列38.多Agent路由策略
39
解密prompt系列39. RAG之借助LLM优化精排环节
40
解密prompt系列40. LLM推理scaling Law
41
解密prompt系列41. GraphRAG真的是Silver Bullet?
42
解密prompt系列42. LLM通往动态复杂思维链之路
43
解密prompt系列43. LLM Self Critics
44
解密prompt系列44. RAG探索模式?深度思考模式?
45
解密Prompt45. 再探LLM Scalable Oversight -辩论、博弈哪家强
46
解密prompt系列46. LLM结构化输出代码示例和原理分析
47
解密prompt系列47. O1 Long Thought的一些特征分析
48
​解密prompt系列48. DeepSeek R1 & Kimi 1.5长思维链 - RL Scaling
49
​解密prompt系列49. 回顾R1之前的思维链发展
50
解密prompt系列50. RL用于优化Agent行为路径的一些思路

解密prompt系列47. O1 Long Thought的一些特征分析

之前我在很多章都讨论过思维链,包括思维链的

  • 组织结构,例如Self-Consistency,TOT,TOMT, GOT,AOT,POT
  • 编排方式,例如Plan-and-Slove,Least-to-most, Verify-and-Edit,Iteration-of-Thought
  • fewshot选择:AutoCOT,最优化fewshot,fewshot多样性,fewshot复杂化
  • Distillation:思考能力蒸馏到小模型
  • Bootstrap:让模型自我优化提升思考链路

但O1之后,思维链一个简单但之前都没进入视野的特征引起了大家的注意,那就是思考的长度对推理效果的影响,更准确来说是通过哪些思考步骤来有效延长思维长度对推理的影响。这一章我们着重讨论思考长度慢思考的一些特点,下一章再讨论一些实现方案。哈哈注意这里的很多观点都是各方推测,请辩证看待~

COT长度的影响分析

The Impact of Reasoning Step Length on Large Language Models

先上一篇分析COT长度的论文打前阵,论文得到了个很有趣的观点:COT长度比质量更重要,思考的对不对没有思考的长不长来的重要,即便思考的不对,也不太影响思考的越长,准确略越高。对思维链的长度要求也和任务有关,任务越复杂需要的思考长度越长。但其实读完论文后我个人理解的其实是,在思考过程中通过加入问题复述、思考回顾、反思、知识回忆、公式化等思考节点可以有效提升推理效果

但思维链长度的实验论证,最难的点其实在于如何改变模型思维长度,又不引入其他Confounder来影响实验归因。我们来看下论文是如何实现的

  1. zero-shot COT — Add steps 纯指令COT引导的实现更简单些,论文单纯把“Let's think step by step”替换成了 "Let's think step by step, you must think more steps"
  2. Few-shot COT - Add steps 而Few-shot COT更复杂些,因为如果单纯改变few-shot样本,增加few-shot的思考长度,其实是变相引入了任务相关的补充信息。那就无保证最终模型推理效果的提升是否来自这部分补充信息,因此需要有能改变(变长,变短)思维链长度,但又和任务不直接相关的指令引入。

论文选择从人类思考模式入手,引入了5个和任务无关,只和思考模式相关,通过在思考步骤中引入特定的步骤,改变思考长度的方式,包括

  • Think about the world:让模型思考问题中的相关知识
  • Read the question again:Rephrase Prompting早就证明可以有效的提升模型推理效果。
  • Repeat State:每推理一段之后会进行局部总结,简化上文的推理过程。人类也会不断回顾并自己的推理过程
  • Self-Verification: 增加模型对自我答案的反思。人类在给出答案前也会校验自己的推理过程。
  • Make Equation:让模型尝试把问题公式化。公式化对于人类可以辅助记忆

这里可能就Think about the world不太好理解,这里我们看下论文的prompt,其实类似于定位问题中的知识(实体),在回答中复述(类比人类一边回答一边在脑海中思考对应信息)。

这里会先使用zero-shot COT,让模型基于以上5种COT增长指令生成新的Demo,再使用增长之后的Demo作为Few-shot样本。

  1. Few Shot COT - Compression 前面两个都是COT增加推理步骤的方案,这里论文也对比了压缩,同样为剔除任何和任务有关的信息变化,这里论文使用指令让大模型,对few shot Demo进行句子和句子的压缩合并。指令如下
代码语言:txt
复制
Please compress the following two sentences without losing any information, and make them as concise as possible

实验结果有2个和长度相关的重要结论

  • 通过指令、few-shot增加推理步骤会显著带来效果提升,以下论文分别对比了和Manual-COT,AUTOCOT的效果增益。同时在复杂任务上效果会随步数增长而持续提升。
  • 单纯对few-shot demo进行文字压缩就会影响推理效果

但最后我们回头再看下论文的实现,其实不能直接把效果提升和思考的长度进行等同。比如我在COT里随机加一段“略略略略略略”,那八成是不能提升推理效果的。所以要审慎理解这里的思考长度。个人感觉其实更类似于模仿人类的思考过程,在推理链路中加入有效的思考模块,可以提升推理效果。那咱直接和人类类比的话,除了上面论文提到的思考模块,还有一些常见的模块其实也值得尝试

  • 系统推理:把复杂问题进行并行或串行分解
  • 类比推理:该问题是否和其他问题相关,是否可以迁移知识
  • 溯因推理(假设检验):问题是否包含多个可能的假设,可以逐步排除或验证
  • 辩证推理:从问题的多个视角进行思考,通过观点碰撞得到最终正确的结论
  • 经验反思:引导模型反思回答该问题是否有其他可以借鉴的经验
  • 启发式思考:引导模型使用直觉进行思考,先进行一轮答案的尝试,再进行修正。
  • 场景模拟:给出一端推理后,可以针对给出的推理给个例子,如果在例子上跑不通,则需要调整思考方向
  • 纠错行为:如果反思发现推理存在错误,如何得到新的修正方向,或者从指出的错误中进行学习

涉及到的模型行为其实包括:分解,类比,假设,辩证,反思,纠错,直觉,模拟,归纳,演绎,评估,总结

O1的思考有哪些特征?

O1 Replication Journey: A Strategic Progress Report – Part 1

论文1在复现O1之前,先让数学博士们对O1的推理路径进行了结构分析, 示例如下

作者发现,O1的思考过程中存在一些高频出现的关键词,这些关键词指引了模型下一个思考模块,例如“if”,“consider”,“possible”显示模型存在多个思考角度或假设检验路径,再例如“wait”,“Alternatively”显示模型再进行反思,纠错等行为。他们对思考过程中的不同思考模块进行不完全分类后得到了如下的几个特点

  • 多步问题分解(Divide and conqure):模型会先定义问题,分解问题,再逐步解决各个问题,整个思考链路呈现结构化
  • 关键思考节点:当出现上述的一些关键词后模型会进入一些特定的思考节点。除了上面的假设路径,反思,还有“Let me Compute”会进入公式计算,“Therefore”会进入局部结果总结
  • 循环和反思节点(self-refine and consistency):模型会频繁评估,验证中间结果,并通过多次循环尝试校验一致性
  • 探索假设:模型会尝试多个假设,并根据不同路径收集的信息,调整思考路径,整个思考过程非常灵活。
  • 总结和验证:在得到最终结论前,模型会对结论进行校验。(个人感觉从逻辑上其实这也属于反思节点)

论文1认为O1长思考是通过模拟人类的思考过程,通过过程监督学习,让模型掌握不同的推理模式,和思考过程。

O1的思考包括哪些模式?

A Comparative Study on Reasoning Patterns of OpenAI's o1 Model

论文2也做了类型的事情,不过更多在把思考模式进行模块化的分类,包含以下几种思考模式

  • Systematic Analysis: 一上来o1会先分析问题,剖析输入输出,限制条件,再选择解决方案。其实是repeat the problem的进一步延申,先复述问题,再从系统角度分析问题。
  • Method Reuse:对于可以被转化成经典问题的,模型会迅速联想相关的经典问题解法,类似经验类比。
  • Divide and Conquer:多步问题分解
  • Self-Refinement:和前面提到的反思评估和循环论证类似
  • Context Identification:类似前面提到的Think about the world,在知识密集的QA问题上,模型会先回忆问题相关的核心知识
  • Emphasizing Constraints:模型会在推理过程中复述重要的条件。

论文在不同数据集上统计分析了不同思考模式的出现频率,发现

  • CommonSense问题:最常见问题分解、反思、知识回顾、和条件复述
  • Code问题(USACO):更常见系统分析、经验类比、问题分解、反思
  • Math问题(AIME):更常见系统分析、经验类比、问题分解

更长更更长?

文末聊个有意思的话题,就是O3亮相后,大家都被推理成本震惊到,感觉整个慢思考推理链路在变得越来越长,那后面还会继续变长么?这里聊聊我的感受(纯猜测向,欢迎其他小伙伴留言讨论)~

之前从O1开始的变长,更像是在摸索让模型如何从结果学习到过程学习的一种中间产物,让模型在训练过程中降低各种shortcut,跳步,一步步扎实的学习如何推演正确结果,也就是把整个思维链显式化。而大家对思维链的剖析也更多是从常规的逻辑推理,辩证思考模式的角度去把O1的思维链按照常规人类的思考方式,进行分隔,分类,再串联起来。大家就会说那一般人解决复杂问题时本来就要经过很长的思考过程,那模型自然也是一样的呀。

但其实个人感觉,模型擅长模仿,但也擅长压缩,当我们近乎完全激发出模型显式长思维链推理效果后,下一步就该向回看,让模型学会跳步,在思维链路中寻找所谓shortest path了,那个时候才是模型推理该变短的时候。

想看更全的大模型论文·微调预训练数据·开源框架·AIGC应用 >> DecryPrompt

下一篇
举报
领券