微调大型语言模型(LLMs)已成为企业定制人工智能以满足特定任务和提升用户体验的重要手段。然而,微调所需的计算资源和财务成本往往限制了资源有限的企业的访问。
为了解决这些问题,研究人员开发了一些算法,显著降低了与微调LLMs相关的费用。其中,最新的创新之一是S-LoRA,这是斯坦福大学与加州大学伯克利分校的合作项目。
解锁经济实惠的人工智能
S-LoRA使组织能够以大幅降低的成本部署微调后的LLMs,从而在单个图形处理单元(GPU)上操作数百或数千个模型。这一突破为众多先前过于昂贵或资源密集的LLM应用打开了大门。
理解低秩适应
传统的微调方法涉及对预训练模型进行重新训练,即修改所有参数以适应特定任务。由于LLMs通常包含数十亿个参数,这种方法会消耗大量计算资源。参数高效微调(PEFT)技术,例如低秩适应(LoRA),则通过选择性地调整模型参数的最小子集提供了一种替代方案。微软开发的LoRA显著减少了可训练参数的数量,同时保持与全微调相当的准确性。这种有效性转化为更低的内存和计算要求。
LoRA的有效性促使众多适配器在预训练LLMs和扩散模型中被广泛采用。微调后,用户可以选择将LoRA权重与基础模型合并,或将其作为独立组件进行管理,从而允许多个LoRA适配器占用极少的内存。
S-LoRA的多样化应用
S-LoRA的潜在应用范围广泛,从内容创作到客户服务。例如,一个博客平台可以利用这一技术,提供微调后的LLMs,能够以作者独特的风格生成内容,而无需承担高昂的费用。
克服技术挑战
尽管在单一基础LLM上部署多个LoRA模型颇具吸引力,但也面临一些技术挑战。内存管理是主要问题,因为GPU的内存容量有限,这限制了可与基础模型一起加载的适配器数量。因此,一个强大的内存管理系统对平稳运行至关重要。
此外,LLM服务器通过批处理来提高吞吐量,能够同时处理多个请求。然而,LoRA适配器的尺寸变化及其与基础模型之间的独立计算,可能导致瓶颈。
S-LoRA通过动态内存管理来解决这些问题,在需要时有效地在GPU和内存之间交换LoRA适配器。其创新的“统一分页”机制确保了查询模型缓存和适配器权重的高效处理,使服务器能够处理数百或数千个批处理查询,而不会出现内存碎片。
此外,S-LoRA还集成了一流的“张量并行”系统,确保与多GPU上的大型变压器模型兼容。这些先进的技术使S-LoRA能够在单个GPU或多个GPU上支持众多LoRA适配器。
同时服务数千个模型
研究人员使用Meta的开源Llama模型的不同版本和多个GPU配置评估了S-LoRA。结果表明,S-LoRA在规模上保持了高效的吞吐量和内存效率。
在与领先的参数高效微调库Hugging Face PEFT的基准测试中,S-LoRA实现了吞吐量的提高,最高可达30倍。与支持基本LoRA的高吞吐量服务系统vLLM相比,S-LoRA的吞吐量翻了四倍,同时大幅增加了并行服务的适配器数量。
S-LoRA的突出特点是能够以最小的额外计算开销同时服务2000个适配器。斯坦福大学的博士生、论文共同作者Ying Sheng指出:“服务提供商可以利用相同的基础模型,同时为每个用户定制适配器,并利用用户特定的数据进行调优。”
S-LoRA的设计还支持上下文学习,使用户能够受益于个性化的适配器,并融入最新数据以提升LLM的响应效果。“这种方法比传统的上下文提示更有效且更具成本效益,”Sheng表示。
S-LoRA的代码现已在GitHub上发布,研究人员计划将其整合进流行的LLM服务框架,帮助企业轻松在其应用中采用S-LoRA。