近年来,大型语言模型的能力和局限性已经被详细描绘出来,提供了一个既引人入胜又充满矛盾的画面。一方面,大型语言模型展示了解决各种问题的一般能力。另一方面,与人类相比,它们在推理方面表现出令人惊讶的不足,这让人对它们的泛化策略的稳健性产生了怀疑。由于设计大型语言模型时使用了海量数据,传统的泛化测量方法——训练集和测试集分离——已经无法适用。为了解决这一问题,我们通过研究大型语言模型所依赖的预训练数据,探讨它们在执行推理任务时采用的泛化策略。对于两个不同规模的模型(70亿参数和350亿参数)及其25亿预训练令牌,我们确定了哪些文档对三个简单的数学推理任务的模型输出有影响,并将这些数据与回答事实性问题时有影响力的文档进行对比。我们发现,虽然模型对每个事实性问题主要依赖不同的数据集,但在同一任务内的不同推理问题中,某个文档往往具有相似的影响,这表明存在程序性知识。此外,我们还发现,事实性问题的答案经常出现在最有影响力的文档中。然而,对于推理问题,答案通常不会出现在高度有影响力的文档中,中间推理步骤的答案也是如此。当我们定性地分析排名最高的推理问题文档时,我们确认这些有影响力的文档通常包含程序性知识,例如展示如何使用公式或代码来获得解决方案。我们的研究结果表明,模型使用的推理方法不像检索,而更像是一种可以从类似推理形式的文档中综合程序性知识的可泛化策略。