大模型的“推理”:并非检索,而是程序性知识的泛化
引言: 大语言模型(LLM)展现出令人惊叹的“推理”能力,能够解答复杂问题,甚至完成简单的数学运算。然而,它们并非真正意义上的推理,其背后的机制一直是AI领域悬而未决的谜题。近期,伦敦大学学院(UCL)等机构的一项研究揭开了LLM“推理”的神秘面纱,指出其并非简单的知识检索,而是对预训练数据中程序性知识的巧妙泛化。
主体:
长期以来,一种普遍的观点认为,LLM的“推理”是通过从其庞大的参数空间中“检索”答案来实现的,类似于一种近似检索过程。这种观点看似合理,毕竟LLM训练数据包含数万亿个token,其强大的记忆能力和对提示词的依赖性似乎也支持这一假设。然而,UCL的研究团队对这一观点提出了挑战。
该研究,发表在arXiv预印本服务器上(论文链接:https://arxiv.org/abs/2411.12580),采用了影响函数法,对两个不同规模的LLM(7B和35B参数量)进行了分析。研究者选择了40个事实问题和40个推理问题(包括简单的数学运算),并对500万份预训练文档(涵盖25亿个token)的影响进行了评估。
令人意外的是,结果表明LLM在解决事实问题和推理问题时,采用的策略截然不同。对于事实问题,模型对特定文档的依赖性很高,答案往往直接来自训练数据。然而,对于推理问题,模型对单个文档的依赖性显著降低,其“推理”过程更像是从大量文档中提取并综合程序性知识(procedural knowledge),并应用于类似问题的解决。
研究团队进一步分析了代码在推理过程中的影响。结果显示,代码既有正向影响,也有反向影响,表明模型并非简单地“记住”代码片段,而是理解并应用代码背后的逻辑和算法。此外,研究发现,对一个推理问题的文档影响力,可以较好地预测其对类似问题的文档影响力,这进一步佐证了模型是通过泛化程序性知识进行推理的结论。
研究方法的细节:
研究者选取了Cohere的Command R系列模型(7B和35B版本),分别用于估计二阶信息和生成推理轨迹。他们精心设计了查询集,确保问题涵盖不同类型,并对模型的准确率进行了严格控制。 为了确保结果的可靠性,研究者对模型进行了大量的梯度点积计算,达到了十亿级别。
结论:
UCL的研究有力地驳斥了LLM“推理”是简单知识检索的观点。相反,它揭示了LLM通过泛化预训练数据中的程序性知识进行“推理”的机制。这一发现对LLM的训练和应用具有重要的指导意义。专注于高质量、多样化的程序性数据,可能比单纯增加训练数据量更有效。 未来的研究可以进一步探索不同规模的模型、不同预训练数据以及不同任务类型下的程序性知识泛化机制,以更深入地理解LLM的“推理”能力,并推动AI技术的进一步发展。 这项研究也为我们理解人工智能的本质提供了新的视角,提示我们重新思考“智能”的定义以及机器学习的潜力和局限性。
参考文献:
- Ruis, L., et al. (2024). Procedural Knowledge in Pretraining Drives Reasoning in Large Language Models. arXiv preprint arXiv:2411.12580.
- Bender, E. M.,et al. (2023). Language is primarily a tool for communication rather than thought. Nature, 619(7968), 257-263.
*(注:文中部分数据和细节根据提供的资料进行了简化和概括,以确保文章的流畅性和可读性。 所有观点均基于提供的研究论文和资料。) *
Views: 0