使用 LoRA Exchange (LoRAX) 进行快速廉价的微调 LLM 推理

赞助内容

 
Fast and Cheap Fine-Tuned LLM Inference with LoRA Exchange (LoRAX)
 

作者:Travis Addair 和 Geoffrey Angus

如果您想了解如何使用LoRAX高效且经济地微调和提供开源LLM,请参加我们的11月7日网络研讨会

开发者们正在意识到,像LLaMA-2-7b这样规模较小、更专业的语言模型,在通过专有数据针对单一任务进行微调后,其性能优于像GPT-4这样规模更大的通用模型。然而,您可能不只有一项生成式AI任务,而是有很多,为每个微调模型分配独立的GPU资源可能会迅速导致每月超过1万美元的云成本。

在Predibase,我们通过一个名为LoRA Exchange (LoRAX) 的解决方案解决了成本挑战,这是一个创新的LLM服务系统,旨在利用共享的GPU资源部署大量微调后的LLM。这种方法使用户能够将100多个特定任务模型打包到单个GPU中,与专用部署相比,大大降低了服务微调模型的成本,实现了数量级的节约。

Fast and Cheap Fine-Tuned LLM Inference with LoRA Exchange (LoRAX)

服务微调LLM的隐性成本

微调深度神经网络的标准方法涉及在训练过程中更新所有模型参数,这需要大量的GPU内存和存储资源。为了解决这个问题,引入了像低秩适配(LoRA)这样的技术,它只添加少量参数进行训练,同时保持原始模型参数冻结。这种方法实现了与完全微调相当的性能,但资源消耗显著减少。

使用现有的LLM服务基础设施,部署多个经过LoRA微调的模型仍然需要为每个模型分配独立的专用资源,导致高昂的运营成本。然而,由于每个微调模型都非常小(大约是原始模型的1%),像LoRAX这样专门为服务微调LLM而构建的解决方案,可以通过重用通用的基础模型参数,将多个这些小型微调适配器整合到单个部署中,从而最大限度地减少资源使用和运营复杂性。

隆重推出LoRA Exchange (LoRAX):以服务一个模型的成本服务数百个微调LLM

LoRA Exchange (LoRAX) 是一种新的LLM服务基础设施方法,专门设计用于使用共享GPU资源同时服务多个微调模型。LoRAX引入了三个关键组件,使其成为可能:动态适配器加载、分层权重缓存和连续多适配器批处理。

动态适配器加载

与在初始化期间预加载所有模型权重的传统服务基础设施不同,LoRAX仅在初始化期间加载预训练的基础LLM权重,并在运行时即时动态加载每组微调的LoRA适配器。

为了避免阻塞来自其他用户的正在进行的请求,LoRAX系统为每个微调适配器维护一个独立的请求队列。当新的微调模型的适配器权重正在动态加载时,所有相关的请求都会在队列中等待,而其他请求则照常进行。实际上,我们观察到动态加载新适配器的开销约为200毫秒,远低于典型的文本生成响应时间,使得您在训练完成后即可立即交互式评估您的微调模型。随着后续令牌的生成以及对同一模型的请求提交,这种小的加载成本会进一步分摊。

XXX
概述了在多个并发微调模型请求下动态适配器加载的情况。用户3的模型(绿色)在后台加载,而其他请求照常进行。

分层权重缓存

随着更多微调模型加载到单个LLM部署中,内存开销会增加。为了避免出现内存不足(OOM)错误,LoRAX系统实现了一种分层权重缓存策略,将适配器权重从GPU → CPU → 磁盘卸载,以权衡适配器交换延迟和内存开销。

LoRAX 的缓存策略旨在保持尽可能多的适配器在 GPU 上,同时为处理长序列和大型请求批次留出足够的空间。当适配器需要从 GPU 中逐出时,我们使用最近最少使用 (LRU) 策略将其转移到 CPU(主机内存)。此策略还延伸到缓存的较低层,因此当加载新的适配器权重时,我们会从 CPU 中逐出权重,并(如有必要)将其从本地临时磁盘中删除。在最坏的情况下,可以从对象存储重新下载权重。

综合所有这些功能,您可以在单个部署中打包多达100个模型,而无需在高请求量之外扩展到额外的副本。

连续多适配器批处理

连续批处理是高吞吐量文本生成的关键技术,允许在每个令牌生成步骤中将多个请求分组在一起。然而,当使用针对不同微调模型的LoRA权重时,高效管理请求面临挑战。您如何同时将来自不同适配器的请求批处理在一起?如果同时有数百个并发适配器请求,数量超过了您一次可以合理地容纳在GPU内存中的限制,该怎么办?

LoRAX 通过实施公平调度策略来解决这些问题,该策略可在优化总吞吐量的同时确保每个特定适配器的及时响应。这包括在任何给定时间将有限数量的适配器标记为“活动”,持续批处理这些活动适配器的请求,并以循环方式定期切换到下一组适配器。通过对每个适配器层的输出应用简单的掩码方案,多个适配器可以放入一个批次中。调度系统可以根据适配器切换的可配置时间间隔优先考虑吞吐量或延迟。

未来是微调的

更小、更专业的LLM是将生成式AI投入生产最具成本效益和性能的方式。但当今的LLM服务基础设施并非为服务各种专业模型而构建。要实现这种更加精细的未来愿景,意味着要重新思考服务堆栈,使其首先支持微调。

免费开始使用Predibase

Predibase是第一个旨在帮助开发者在可扩展、无服务器且经济高效的托管基础设施上将开源LLM投入生产的平台——所有这些都在您的云中。Predibase建立在Uber开发的开源Ludwig框架之上,使您即使在最便宜、最容易获得的商用硬件上也能轻松高效地微调和提供LLM。

暂无评论。

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。