LLM CoT的工作原理

发布于 2024-5-17 10:47
浏览
0收藏

​思维链(CoT:Chain of Thought)常常作为增强大模型推理能力的利器,

但大模型推理能力的提升多大程度上来自人为任务拆解?还是额外提示的Token激发了背后更强大的计算?

LLM CoT的工作原理-AI.x社区

“让我们逐步思考:Transformer语言模型中的隐藏计算”[文献1] 发现了一个有趣的现象,

通过在思维链中添加无意义的中间Token(例如“……”)可以解决无中间Token时没法完成的较难的两个算法任务。

文献的结论是:添加额外Token就可以增强大模型推理,甚至可以与Token本身内容选择无关。

LLM CoT的工作原理-AI.x社区

网友本就惊讶于著名提示词“让我们一步一步地想”(Let‘s think step by step)的神奇效果,

对本论文描述的“AI不依赖人类经验的token内容,隐藏自行推理”,就更觉得魔幻且担忧。

不过笔者发现,斯坦福谷歌等学者的预印论文,“思维链使Transformer能解决内在串行的问题”[文献2], 可以非常直观的用来解释文献1中揭示的现象!

LLM CoT的工作原理-AI.x社区

文献2采用了类似文献1中的电路复杂度分析的方法,将Transformer看作一定深度的复杂电路,分析其可以解决的问题的复杂度。

电路复杂度分析用 TC0 表示可以通过一个固定深度的电路解决的计算问题,而足够长的思维链,能将Transformer的表达能力扩展到TC0之外。

文献结论:“从概念上讲,CoT赋予模型执行本质上串行计算的能力,这是Transformer所缺乏的,尤其是在深度较低的情况下。”

意思是文献1描述的“AI不依赖人类经验的token内容隐藏自行推理”,既不魔幻也不可怕,甚至可以说是Transformer内在缺陷导致的。

LLM CoT的工作原理-AI.x社区

文献进一步论证,通过T步CoT,使用固定位精度和O(logn) 嵌入大小的固定深度Transformer可以解决任何可由大小为T的布尔电路解决的问题。

实证上,CoT的作用是,提高了低深度Transformer在内在串行问题上的表达能力。

LLM CoT的工作原理-AI.x社区

笔者理解是,CoT 其实是引导了Transformer避免简单并行推理,而是通过串行的方式去一步步推理。

原理很直观,类似有向无环图DAG的处理,例如SQL数据查询,并不是所有的Access Plan DAG 中的算子都适合并行,有许多并行阻断算子 parallel blocker, 例如全局sort。

这是Transformer特有的现象吗?Mamba之类的潜力架构是否可以规避这个问题,优化zero-shot推理呢?

LLM CoT的工作原理-AI.x社区

结合笔者的大模型数理原理的认知框架,可以这么看:LLM在范畴中采样,变分推理时,

串行处理,引入中间信息,加深LLM在范畴对象和态射中遍历的深度,逐步调整采样概率分布,实现更精确的推理;

并行处理,增加填充信息,在宽度上有机会影响采样的概率分布,进而影响最后的推理效果。

文献1  Let's Think Dot by Dot: Hidden Computation in Transformer Language Models   https://arxiv.org/abs/2404.15758    

文献2  Chain of Thought Empowers Transformers to Solve Inherently Serial Problems   https://arxiv.org/abs/2402.12875  

本文转载自​清熙​,作者: 王庆法 ​​


收藏
回复
举报
回复
相关推荐