论文
PreFT:仅预填充微调以实现高效推理
PreFT: Prefill-only finetuning for efficient inference
摘要
大语言模型 现在可以使用参数高效微调方法 (PEFT) 有效地大规模个性化,但服务特定于用户的 PEFT 会损害吞吐量,即使使用专门的内核和内存管理技术也是如此。这是因为,从理论上和经验上来说,预填充(一次处理大量词元)和解码(自回归生成单个词元)之间存在不匹配:后者在服务多个适配器时的吞吐量要低得多。为了高效的多适配器服务,我们不应该优化相对于参数计数的性能,而是应该优化相对于服务吞吐量的性能。因此,我们提出 PreFT(仅预填充微调),其中我们仅将适配器应用于预填充词元,然后将其丢弃。 PreFT 显着提高了吞吐量,同时对性能的影响最小。我们在 vLLM 推理引擎上开发并发布了两个仅预填充 PEFT(LoRA 和 ReFT)的高效实现。我们首先证明,为多用户 PreFT 提供服务比传统 PEFT 更高效(在 Llama 3.1 70B 上为 512 美元适配器提供服务时,吞吐量为 1.9 美元\倍)。然后,我们使用不同规模的语言模型,比较了仅预填充适配器与全词元适配器在各种监督微调和强化学习任务中的性能。在 SFT 上,我们观察到 PreFT 的评估损失高于 PEFT,但可以通过提高秩来补偿,而吞吐量几乎没有降低。在 RL 上,我们一致发现 PreFT 与标准 PEFT 相当。总之,这项工作验证了 LLM 的仅预填充适应是比现有的个性化服务 PEFT 更有利的准确性-吞吐量权衡。