最近,一项新研究令人振奋,证明了大型语言模型(LLM)可以通过搜索功能来显著提升性能。特别是,参数量仅8亿的 Llama3.1模型经过100次搜索,竟然在 Python 代码生成的任务上与 GPT-4o 不相上下。

这个想法似乎让人联想到强化学习的先驱 Rich Sutton 在2019年的经典博文《The Bitter Lesson》。他提到,随着计算能力的提升,我们需要认识到通用方法的威力。尤其是 “搜索” 和 “学习” 这两种方法,似乎是可以持续扩展的绝佳选择。

image.png

虽然 Sutton 强调了学习的重要性,即更大的模型通常能学习到更多的知识,但我们常常忽视了搜索在推理过程中的潜力。最近,斯坦福、牛津和 DeepMind 的研究者们发现,增加推理阶段重复采样次数,可以显著提高模型在数学、推理和代码生成等领域的表现。

在受到这些研究的启发后,两位工程师决定进行实验。他们发现,使用100个小型的 Llama 模型进行搜索,可以在 Python 编程任务中超越甚至追平 GPT-4o。他们用生动的比喻形容道:“以前要一只大马才能实现某种能力,现在只需100只小鸭子就能完成同样的事情。”

为了实现更高的性能,他们利用 vLLM 库进行批量推理,并在10个 A100-40GB GPU 上运行,输出速度达到了惊人的40k tokens / 秒。作者选择了 HumanEval 这个基准测试,因为它能通过运行测试评估生成的代码,更加客观和准确。

image.png

根据报告,在零样本推理中,GPT-4o 的 pass@1成绩为90.2%。而通过上述方法,Llama3.18B 的 pass@k 分数也显著提升。重复采样数为100时,Llama 的成绩达到了90.5%;当重复采样数增加到1000时,成绩则进一步提升至95.1%,明显优于 GPT-4o。

值得一提的是,这个实验虽然不是对原研究的严格复现,但强调了使用搜索方法增强推理阶段时,较小模型也能在可预见的范围内超越大型模型的可能性。

搜索之所以强大,是因为它能够随着计算量的增加而 “透明” 地扩展,并将资源从内存转移到计算,从而实现资源的平衡。最近,DeepMind 在数学领域取得了重要进展,证明了搜索的力量。

不过,搜索的成功首先需要对结果进行高质量的评估。DeepMind 的模型通过将自然语言表述的数学问题转换为形式化表述,实现了有效监督。而在其他领域,像 “总结电子邮件” 这样的开放式 NLP 任务,进行有效搜索的难度则大得多。

这项研究表明,生成模型在特定领域的性能提升,与其评估和搜索能力切相关,未来的研究可以探索如何通过可重复的数字环境来提高这些能力。

论文地址:https://arxiv.org/pdf/2407.21787