Llama 8B搜索100次超越GPT-4o!推理+搜索即可提升性能,新「Scaling Law」诞生?

  新智元报道

  编辑:乔杨

  最近的论文表明,LLM 等生成模型可以通过搜索来扩展,并实现非常显著的性能提升。另一个复现实验也发现,让参数量仅 8B 的 Llama 3.1 模型搜索 100 次,即可在 Python 代码生成任务上达到 GPT-4o 同等水平。

  强化学习先驱、加拿大阿尔伯塔大学 CS 系教授 Rich Sutton 曾在 2019 年写下一篇名为《The Bitter Lesson》的博文,成为 AI 领域的经典论述之一。

  甚至,Rich Sutton 在字里行间体现出的直觉已经颇有 Scaling Law 的意味。

  原文地址:https://www.cs.utexas.edu/~eunsol/courses/data/bitter_lesson.pdf

  文章简要回顾了 AI 在象棋、围棋、语音识别和视觉等领域的发展道路,并提出了这样的观点:

我们应该吸取的惨痛教训之一,就是要意识到通用方法的力量。随着可用算力猛增带来计算量的增加,这种方法可以持续扩展。似乎能以这种方式进行任意扩展的两种方法正是搜索(search)和学习(learning)。

  然而,这个观点和 Scaling Law 并不完全一样,我们也不能以此为据,认为小型模型注定无关紧要。

  正如 Sutton 所描述的,扩展这条路上我们有两板斧:学习和搜索。

  OpenAI 提出的 Scaling Law 更强调前者。在其他条件不变时,较大的模型表现更好,因为可以从训练集中学习到更多知识和模式。

  但我们往往忽略的是后者。搜索方法也可以在推理阶段随算力增长进行平滑的扩展,以生成更多或者更高质量的候选答案。

  斯坦福、牛津、DeepMind 等机构的学者最近发表的一篇文章就关注到了这一点。

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

  随着推理阶段重复采样数量的提升,模型在 GSM8K、MATH、MiniF2F-Math、SWE-bench Lite 等数学、推理、代码领域的性能(即问题覆盖率)都有显著提升。

  甚至,二者之间似乎存在指数线性关系,并可以用指数幂律建模,似乎能说明推理阶段缩放定律的存在。

  受到这篇论文的启发,两位工程师开始尝试复现——结果是,用 100 个小 Llama 模型进行搜索,即可在 Python 编程任务中追赶甚至打败 GPT-4o。

  两位作者用了一个形象的比喻:以前,需要一匹马大小的鸭子才能获得边界能力;但现在,我们可以选择用 100 只鸭子大小的马(或者更确切地说,是羊驼 Llama)。

  实验所用的源代码已上传至 GitHub,而且复现成本相当低。

  https://gist.github.com/charlesfrye/27f25188dbbcfdf20a83c0230020fe05

  为了尝试较高性能,作者使用了 vLLM 库实现批量推理,并将硬件条件扩展到 10 个 A100-40GB GPU,输出速度达到 40k token/s。

  评估指标和结果

  作者选择了上述的 Large Language Monkeys 论文中未涵盖的基准测试——HumanEval。

  这个数据集的好处在于,使用运行测试对生成的代码进行评估,而不需要 LLM-as-Judge 或人类评估的参与,能更加客观地衡量其正确性。

  模型的性能通过 pass@k和 fail@k两个指标衡量。根据 PapersWithCode 的报告结果,在零样本推理时,GPT-4o 的 pass@1 成绩为 90.2%。

  https://paperswithcode.com/sota/code-generation-on-humaneval

  使用上述论文提出的方法,加上最少量的 prompt 微调(未调整其他超参数),Llama 3.1 8B 的 pass@k分数就有显著提升。

  重复采样数k为 100 时,性能与 GPT-4o 相当(90.5% vs. 90.2%);k达到 1000 时,分数为 95.1%,明显优于 GPT-4o。

  如果使用 fail@k指标(相当于1-pass@k),再将上图中的两个坐标轴进行对数变换,就可以看到下图所示的曲线,似乎完美符合「缩放定律」。

  值得注意的是,这个小实验并不是对论文的严格复现,仅是提取了其中的核心方法。

  然而,这些结果更加强调了,使用搜索方法进行推理阶段增强时,较小的模型能以可预测的方式胜过 GPT-4o 这样的「巨无霸」模型。

  「搜索」的未来

  搜索方法之所以强大,正是因为它能随着计算量的增加进行「透明」的扩展,还可以将资源消耗从内存转移至计算,实现进一步的资源平衡。

  最近 AI 在数学方面的重大成果,比如的水平,以及,都离不开其中使用的搜索。

  然而,搜索的实现首先需要对结果进行高质量的评估。DeepMind 的模型将自然语言表述的数学问题翻译为形式化表述,从而得到 Lean 这种编译器/验证器的详细监督。

  ,可以使并行程度和自动化程度大大提高。

  根据 Curry-Howard-Lambek 对应关系,对数学证明和代码生成结果而言,使用计算机程序进行自动化识别和评估会相对容易。

  但类似的方法可能会在数学和编程以外的领域失效。比如,对于「总结电子邮件」这类开放式的 NLP 任务,就很难进行有效的搜索。

  从这个角度来看,搜索是评估的下游。我们可以粗略地预期,生成模型在特定领域中的性能提升,将和评估、搜索能力成正比。

  为达到这个目的,可重复数字环境中的 agent 似乎是一个有前景的方向。

  参考资料:

  https://modal.com/blog/llama-human-eval