企业大模型王者Cohere揭秘:程序性知识驱动LLM推理

文摘   2024-12-03 12:04   美国  

Cohere团队的最新研究揭示,LLM的推理能力并非源于对预训练数据的简单检索(即先前普遍认为的“近似检索”),而是源于对程序性知识的学习和应用,类似于人类从示例中学习通用解题方法。 这意味着LLM像学习通用程序一样,从数据中提取推理模式,而不是死记硬背答案。这一发现推翻了以往的“近似检索”假设,并指明了未来LLM训练的新方向:专注于高质量的程序性知识,而非追求数据规模的无限扩张。 更令人惊讶的是,不同规模的模型(例如7B和35B)似乎从相同数据中学到了不同的信息。

LLM推理机制的探索

大型语言模型(LLM)的推理能力一直是人工智能研究的热点和难点。理解LLM如何进行推理,不仅有助于我们更好地利用LLM的强大能力,也对未来AI的设计和发展至关重要。以往的假设认为,LLM主要通过近似检索的方式进行推理,即从庞大的预训练数据中检索与问题相关的知识片段,并将它们组合成答案。换句话说,社区普遍存在一种假设:当LLM进行推理时,它们执行某种形式的近似检索,从预训练形成的参数化知识中“检索”中间推理步骤的答案,而不是进行“真正的”推理。

然而,Cohere团队的最新研究挑战了这一观点。他们发现,程序性知识,而非简单的检索,才是LLM推理能力的关键。 这项研究为我们理解LLM的推理机制提供了新的视角,也为未来LLM的训练和优化指明了新的方向。

问题:LLM如何进行推理?

LLM究竟是如何进行推理的?是像搜索引擎一样检索信息,还是像人类一样运用逻辑和推理?这个问题一直困扰着研究者。 Cohere团队的研究旨在探究LLM的推理机制,并明确LLM是如何从预训练数据中学习推理的。 他们的研究重点关注数学推理任务,以此来探究LLM是否真正进行推理,还是仅仅检索记忆的答案。研究的核心问题是:LLM如何从预训练数据中学习推理?

背景:EK-FAC影响函数的应用

为了探究LLM的推理机制,Cohere团队使用了一种名为EK-FAC影响函数的方法。这种方法可以估计预训练数据中的每个文档对模型输出的影响程度,从而揭示哪些知识对模型的推理过程至关重要。EK-FAC影响函数就像一个显微镜,可以帮助我们放大观察预训练数据对模型推理的影响,并找出对模型推理影响最大的关键信息,就像在代码调试中找到关键代码行一样。

实验设置:数据与模型

本研究使用了Cohere的Command R 7B和35B两种不同规模的模型,并选取了**500万个文档(25亿token)**作为预训练数据的样本,确保这些文档与预训练分布相同。研究人员设计了三类问题:事实问题、重点研究的推理问题(包括两步算术[仅限7B模型]、计算两点间斜率[7B和35B模型]和解线性方程[仅限35B模型]) 和控制问题。控制问题用于排除格式等无关因素对实验结果的影响。 之所以选择数学推理任务,是因为这类任务的推理步骤清晰可控,便于分析LLM的推理过程。

推理问题示例(图1):

图:事实问题(左)与推理问题(右)示例。事实问题需要检索知识,而推理问题需要多步推理。

两步运算(7B模型)示例(图2):

图:7B模型进行两步算术推理的示例。

计算斜率(7B和35B模型)示例:

图3 & 图4:7B和35B模型计算两点间斜率的示例。虽然最终答案的符号有误,但推理步骤是合理的。

解线性方程(35B模型)示例:

35B模型解线性方程的示例。

事实问题示例(图6):

图:事实问题示例,7B和35B模型均能正确回答。

研究结果:程序性知识驱动LLM推理

Cohere团队的核心发现是:LLM的推理方式更像是程序性泛化,类似于人类学习通用解题方法,而不是简单地检索预训练数据中的答案。 LLM并非简单地记忆和匹配答案,而是学习推理过程。

定量结果:程序性知识的证据

泛化能力分析:相同任务,不同数据

研究人员通过计算不同问题之间文档影响得分的Pearson相关系数,发现相同推理任务的不同问题之间存在显著的正相关(图7),这表明模型学习到了可泛化的程序性知识。即使问题中的具体数值不同,模型也能应用相同的推理程序解决问题。

图:不同问题之间文档影响得分的Pearson相关系数。颜色越深,正相关性越强。可以观察到相同推理任务(例如,算术、斜率、线性方程)的问题之间存在强烈的正相关。
7B vs 35B:模型规模的影响

35B模型在斜率计算任务上表现出更强的泛化能力,这表明更大的模型能够更好地学习和应用程序性知识。 然而,令人惊讶的是,7B和35B模型从相同数据中学到的信息几乎没有相关性。

依赖性分析:弱依赖性,强泛化

与事实问题相比,推理问题对单个文档的依赖程度更低,影响分布更分散(图8),这再次证明了程序性知识的重要性。 模型并非依赖于检索单个文档的信息,而是从多个文档中学习并综合应用程序性知识,从而实现程序性泛化。

图:不同top-k百分比文档的总影响。推理问题的总影响比事实问题低得多,且波动更小,表明推理问题对单个文档的依赖性较低。
7B vs 35B:模型规模的影响

35B模型对单个文档的依赖程度更低,这再次印证了更大模型的泛化能力更强。这暗示着模型规模的提升有助于LLM更好地学习和利用程序性知识,并减少对单个文档的依赖。 35B模型在事实问题上的影响力数值更大且波动更大,表明其从更少但更相关的文档中学习。 (图9)

图: 7B和35B模型在相同问题上的影响力比较。

定性结果:程序性知识的深度解读

答案依赖性分析:并非简单的答案匹配

研究人员发现,事实问题的答案在高影响力文档中出现的频率较高,而推理问题的答案则很少出现(图10)。这再次证明LLM的推理并非简单的答案匹配,而是基于程序性知识的推理过程。

图:答案在top 500高影响力文档中出现的频率。事实问题的答案出现频率较高,而推理问题的答案出现频率很低。
7B vs 35B:模型规模的影响

35B模型对答案的依赖程度更低,这与其更强的程序性泛化能力相符。

影响因素分析:代码和公式是关键

对高影响力文档的分析表明,这些文档通常包含与推理过程相关的程序性知识,例如代码、数学公式等。 这表明LLM能够从代码和公式中学习推理步骤和方法,印证了程序性知识的重要性。

7B vs 35B:模型规模的影响

35B模型更倾向于利用程序性知识,这再次体现了更大模型的优势。

数据源分析:程序性数据源的影响更大

研究发现,代码、StackExchange、ArXiv 和 Markdown 等程序性数据源对推理问题的解决有显著的正面影响,而Wikipedia 和 Trivia 等数据源则对事实问题的回答更有影响 (图11 & 12)。这表明不同类型的数据对不同类型的任务有不同的影响,为构建更有效的预训练数据集提供了重要指导。

Top-k文档中不同数据源的占比。可以看出,代码、StackExchange等程序性数据源对推理问题的影响更大。
Bottom-k文档中不同数据源的占比。
7B vs 35B:模型规模的影响

35B模型能够更好地利用不同数据源的知识,这体现了更大模型的学习能力更强。

结论:程序性知识的未来

Cohere团队的研究揭示了程序性知识在LLM推理过程中的关键作用,推翻了以往认为LLM主要依赖检索进行推理的观点,并为未来LLM的训练和优化提供了新的思路:专注于高质量的程序性知识,例如代码、公式等。 未来的研究可以进一步探究程序性知识的学习机制,以及如何将程序性知识与其他类型的知识结合起来,以构建更强大的LLM推理系统。

相关链接

  • • 论文:https://arxiv.org/pdf/2411.12580
  • • Demo: https://lauraruis.github.io/Demo/Scripts/linked.html

子非AI
子非AI,亦解AI之妙:一站式AI情报站,助你开启智能未来之门。
 最新文章