← 最新论文
⚡ electrical engineering

PreFT: Prefill-only finetuning for efficient inference

本文介绍了 PreFT,一种仅在前缀阶段进行微调的方法,该方法在处理输入令牌后丢弃适配器,从而在最小化对模型性能影响的同时显著提升多用户服务吞吐量,相较于传统的参数高效微调方法,提供了更优的精度与吞吐量权衡。

原作者: Andrew Lanpouthakoun, Aryaman Arora, Zhengxuan Wu, Dhruv Pai, Ben Keigwin, Dan Jurafsky, Christopher Potts

发布于 2026-05-15
📖 1 分钟阅读☕ 轻松阅读

原作者: Andrew Lanpouthakoun, Aryaman Arora, Zhengxuan Wu, Dhruv Pai, Ben Keigwin, Dan Jurafsky, Christopher Potts

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你经营着一家庞大且高科技的面包房(即大型语言模型),能够烘焙数百万种不同种类的面包。通常,这家面包房对所有产品都使用同一套巨型标准食谱。但现在,顾客们想要个性化的面包:有人想要额外的酸面团风味,有人想要秘制香料混合,还有人想要特定的形状。

为了解决这个问题,面包房雇佣了“专业厨师”(称为适配器PEFT)。这些厨师不会重写整个面包房的食谱书;他们只携带一本小型、轻量化的记事本,上面记录着他们特定的调整方案。

问题:高峰时段的瓶颈

过去,当顾客下单时,专业厨师会站在烤箱旁,在烘焙过程的每一个步骤中低声传达他们的具体指令:

  1. 搅拌面团。
  2. 让面团发酵。
  3. 烘焙第一片。
  4. 烘焙第二片……以此类推,直到整个面包出炉。

该论文指出,当你有成千上万名顾客(适配器)在排队等待时,这种做法效率低下。

  • “搅拌”阶段(预填充/Prefill): 这就像一次性搅拌一大批面团。它速度很快,并且充分利用了烤箱的全部功率(受计算能力限制)。
  • “烘焙”阶段(解码/Decode): 这就像一次只取出一片面包,一片接一片地取。这很慢,并且需要厨师不断跑回冰箱,为那一片面包抓取特定的香料罐(受内存限制)。

当有 500 位不同的厨师试图为每一片面包低声传达指令时,厨房就会堵塞。厨师们花在跑向冰箱(加载他们的小型记事本)上的时间,比实际烘焙的时间还要多。论文将这种现象称为“内存瓶颈”。

解决方案:PreFT(仅预填充微调)

作者提出了一种名为PreFT的新工作方式。

以下是类比:
专业厨师不再为整个烘焙过程低声传达指令,而是仅在初始搅拌阶段低声传达指令。

  1. 搅拌(预填充): 厨师阅读他们的记事本,并告诉面团此刻该如何表现。他们将酸面团或香料混合进去。
  2. 烘焙(解码): 一旦面团混合好并送入烤箱,厨师就离开厨房。他们停止发出指令。烤箱利用面包房标准的、冻结的规则烘焙剩余的面包。

为什么这样更好?

  • 不再需要跑向冰箱: 在缓慢的、一片接一片的烘焙阶段,厨房不需要加载 500 个不同的香料罐。它只需进行烘焙。
  • 速度: 因为厨房不再不断地在 500 位不同厨师的记事本之间切换,它可以几乎以只为一名顾客烘焙面包的速度,为 500 名顾客烘焙面包。

论文发现

研究人员构建了该系统,并在真实模型(如 Llama 和 Qwen)上进行了测试。以下是他们的主要发现:

  1. 速度快得多:
    当同时服务 512 种不同的“个性”(适配器)时,他们的新方法(PreFT)比旧方法快 1.9 倍。想象一下,一家原本需要 10 分钟才能服务一群顾客的面包房,现在只需 5 分钟,而且无需更换烤箱或改造建筑。

  2. 面包味道一样吗?(性能):

    • 对于数学和编程: 面包的味道几乎完全一样。“搅拌”阶段的指令足以教会模型如何解决数学问题或编写代码。模型在烘焙阶段不需要厨师低声传达指令就能得到正确答案。
    • 对于长故事: 这里变得棘手。如果你要求模型写一个非常长的故事,“搅拌”阶段的指令有时会逐渐淡化。
      • 一种类型的厨师(称为LoRA)即使在长故事中也能完美保持指令生效。
      • 另一种类型(称为ReFT)有时会忘记指令,只是写得“太多”或偏离主题。
    • 总体而言: 对于大多数任务,“仅搅拌”方法的效果与“每一步都低声传达”方法一样好,但速度要快得多。

核心结论

该论文得出结论,对于个性化 AI(即每位用户都有自己专属的“小厨师”),我们不需要为 AI 生成的每一个字都承担加载这些厨师的巨大成本。

通过只让厨师在最开始(“预填充”阶段)工作,我们可以在不导致系统停滞的情况下,同时为成千上万个性化用户提供服务。这是一种更聪明的厨房组织方式,既节省了时间和能源,又保持了面包的高质量。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →