【FL-LLM论文】FEDERATEDSCOPE-LLM: A COMPREHENSIVE PACKAGE FOR FINE-TUNING LARGE LANGUAGE MODELS IN FL

题目FEDERATEDSCOPE-LLM: A COMPREHENSIVE PACKAGE FOR FINE-TUNINGLARGE LANGUAGE MODELS IN FEDERATED LEARNING
作者Weirui Kuang, Bingchen Qian, Zitao Li, Daoyuan Chen, Dawei Gao, Xuchen Pan, Yuexiang Xie, Yaliang Li , Bolin Ding, Jingren Zhou
来源Alibaba Group
问题阐述在联邦设置中微调LLM和现有通用FL框架之间有很大的差距
解决方法提出了一个全面和实用的联邦微调LLM框架,集成了多个数据集、多种微调 算法和响应的评估指标
其他

摘要

大语言模型(LLMs)已经在各种自然语言理解和生成任务中展现出了巨大的能力。诸如Hugging Face之类的平台方便了不同实体(从计算机科学研究人员到几乎没有机器学习背景的用户)访问和利用预训练的LLMs。不同实体可以通过微调LLMs进一步提高这些模型在特定下游任务中的性能。当几个实体有类似的感兴趣任务,但由于隐私问题而不能直接共享本地数据时,联邦学习(FL)是利用不同实体数据的主流解决方案。除了避免直接数据共享外,FL还可以通过结合不同技术实现严格的数据隐私保护、模型智能财产保护以及模型定制。然而,在联邦学习设置中微调LLMs仍然缺乏现有FL框架的充分支持,因为它必须处理优化大量通信和计算资源的消耗、为不同任务准备各种数据以及不同的信息保护需求。本文首先详细讨论了联邦微调LLMs面临的这些挑战,并介绍了我们实现的包FederatedScope-LLM(FS-LLM)作为主要贡献,其包括以下组件:(1)我们构建了一个完整的端到端基准测试管道,自动化了数据集预处理、联邦微调执行或模拟以及在联邦LLM微调上的性能评估,用于不同能力演示目的;(2)我们提供了全面且现成的联邦参数高效微调(PEFT)算法实现和灵活的编程接口,以便未来扩展,以在低通信和计算成本的FL场景中增强LLMs的能力,甚至在没有访问完整模型的情况下(例如闭源LLMs);(3)我们采用了几种加速运算和资源高效运算来进行有限资源下的LLM微调,并提供灵活可插拔的子程序用于跨学科研究(例如个性化FL中的LLMs)。我们进行了广泛且可重现的实验证实FS-LLM的有效性,并在联邦设置中对先进的LLMs进行了基准测试,采用最新的参数高效微调算法,这也为研究社区提供了许多有价值的关于联邦微调LLMs的见解。

一、背景和问题

微调LLM对计算资源和大量特定域数据有高需求,由于隐私问题,这些域数据可能不被共享。
FL可用于解决数据隐私问题。
这篇论文主要针对:

  1. 目前没有现有的FL包包含LLM微调算法的全面高效实现和用于比较模型性能、通信成本和计算开销的标准化基准
  2. 即使使用参数高效微调(PEFT)算法,在FL中对LLMs进行微调在客户端仍然需要大量计算资源
  3. 预训练的LLMs具有极高的智能财产价值,可能不属于客户,因此可能需要让客户在不访问完整模型的情况下进行联邦微调(例如闭源LLMs)
  4. 尚不清楚用于解决高级联邦学习问题的现有算法,比如个性化联邦学习(pFL)和联邦超参数优化(FedHPO)是否仍然在不同联邦微调算法有效

二、提出的方法

在这里插入图片描述
基于FederatedScope,主要包含三个模块:LLM-BENCHMARKS, LLM-ALGZOO, and LLM-
TRAINER
,实现(1)微调和评估的数据准备,(2)几种开箱即用的流行微调算法和统一灵活的编程接口,(3)各种加速和资源高效的运算符和灵活的可插拔子例程。

1、LLM-BENCHMARKS

包括各种语料库数据集用于微调和评估、拆分集中式数据集增强微调数据集的可扩展性、一组丰富的docker镜像用于评估。使用户能够方便地比较不同微调算法在各种FL场景中的有效性。

联邦微调数据集构造

与从头开始的预训练不同,微调LLM通常是为了使预训练的LLM适应一个特定的领域,但即使在同一域内,每个客户端持有的本地数据集可以表现出不同程度的异质性。

设置了3个微调数据集:

  1. Fed-CodeAlpaca:用以增强LLM的代码生成能力。模拟了九个客户端FL场景。每个客户端的数据集由编码练习组成,答案仅限于一种特定的编程语言,如Java或Python
  2. Fed-Dolly:用于增强LLM的通用语言能力。我们将Databases-dolly-15k划分成8个客户端的本地数据,每个客户端的数据集由一系列高质量的人工生成的问题-响应对组成,但仅限于一个特定的NLP任务,例如信息提取或QA。
  3. Fed-GSM 8K-3:划分成三个子集,旨在提高LLM的思维链(CoT)的能力。每个客户端的数据集由从原始数据集中随机划分的小学数学问题组成。

分割器:用于根据不同的元信息或客户端之间的不同异构程度将集中式数据集分割为联邦形式,如均匀分割器、Dirichlet分割器、元信息分割器

联邦LLM微调评估

微调的目的:提高通用语言能力,或为一个特定的下游任务提高在特定域的能力

三个评估数据集:

  • HumanEval:代码生成
  • HELM:语言能力
  • GSM8K-test:CoT

评估指标:

  • 计算成本(GPU使用率、计算时间、触发器计数)
  • 通信成本(消息大小)

2、LLM-ALGZOO

集成了几种参数高效微调(PEFT)算法:LoRA、 prefix-tuningP-tuningprompt tuning,能够显著降低微调LLM的内存消耗、训练时间和通信成本。此外,还集成了offsite-tuning,一种隐私保护的微调算法,适用于客户端仅基于完整LLM的提取模型调优小型适配器的场景。

用PEFT算法降低通信和调度开销

无需访问完整模型的联邦微调

用于联邦微调的可扩展界面

3、LLM-TRAINER

采用类似hook的训练方案来支持FL的微调过程。

尽管上述算法对LLMs微调了少量参数,但对于某些客户来说,它们仍可能需要大量计算资源。因此,FS-LLM整合了各种加速运算和资源高效运算作为类似hook的功能,例如DeepSpeed的ZeRO、PyTorch的数据并行和模型量化,以加速本地微调过程,并使FS-LLM能够在消费者级别的GPU上高效运行。

此外,LLM-TRAINER借助其可定制的类hook编程接口,可以快速无缝地与FS中现有的插件集成,用于跨学科研究,比如pFL和FedHPO,这可能是进一步研究的有希望的方向。为了满足不同的硬件设置或研究目标,LLM-TRAINER使FS-LLM能够以模拟模式(单机联邦学习模拟,所有客户在一台机器上)、分布式模式(多机联邦学习,每台机器一个客户)和集群模式(多机联邦学习,每个集群一个客户)微调LLMs。

以提高速度和效率的训练操作

模式-泛型运算
模式特定的运算
并行运算:集成了DeepSpeed以进行联合微调

向FL高级任务拓展的训练范式

普通的微调过程包括三个步骤:
(1)准备数据集并批量提取它们
(2)迭代训练数据集以更新模型参数
(3)在验证数据集上评估微调模型的性能

用LLM调整pFL
FedHPO与LLMs的适配

三、实验

1、FS-LLM中PEFT算法的有效性

任务:

  • 使用Fed-CodeAlpaca进行联邦微调,用于代码生成并使用HumanEval进行评估
  • 使用Fed-Dolly进行联邦微调,用于通用语言功能并使用HELM进行评估
  • 使用Fed-GSM 8 K-3进行联邦微调,用于数学推理并使用GSM 8K测试进行评估

三种情景:

  • global:中心式微调,一个客户端持有整个微调数据集
  • fed:联邦微调,每个客户端持有不同的微调数据集
  • local:分散微调,每个客户端使用自己的微调数据集独立地微调LLM

模型:LLaMA-7B
PEFT算法:LoRA、P-tuning、Prompt tuning
聚合:FedAvg

在这里插入图片描述
结论:

(1)所有联邦微调算法显着优于本地微调,与在全局场景的结果很接近。这表明,使用PEFT算法对LLM进行联邦微调是可行和有效的,它允许多个实体从协作训练中受益,而无需直接共享其私有数据。

(2)LoRA表现出最好的性能,在三种场景中大幅击败其他两种算法,表明在未来的研究或现实的场景LoRA是一个合适的联邦微调LLM PEFT算法。

和以前的模型OPT-2.7B比较
在这里插入图片描述

2、FS-LLM中PEFT算法的效率

在这里插入图片描述
结论:

  1. 使用不同PEFT算法进行微调对GPU内存消耗的影响可以忽略不计
  2. 消息大小存在很大差异,这反过来又导致传输时间的很大变化
  3. 计算时间因不同的GPU而异,几乎有两倍的差异

因此,联邦微调LLM的效率有两个研究方向
(1)如何利用计算资源丰富的客户端等待计算资源有限的客户端完成本地更新的空闲时间
(2)如何优化计算资源有限的客户端在计算过程中可用带宽资源的利用率。

3、无需访问FL中的完整模型即可微调LLMS

使用offsite-tuning微调算法,具体来说,使用LLaMA-7B的第一层和最后两层作为适配器,并通过均匀地丢弃20%和50%的剩余层来压缩模型作为模拟器。然后,服务器将适配器和模拟器广播给所有客户机,客户机使用FedAvg微调适配器。
在这里插入图片描述
结论:
(1)比较FedOT和LocalOT,FL为这种隐私保护微调算法提供了显著的好处,用于联邦微调LLM,而无需访问完整模型。这表明,FedOT仍然可以使多个实体从协作培训中受益,而无需在无法访问完整模型时直接共享其私有数据。
(2)当丢弃率为20%时,即使客户端无法访问完整的模型,FedOT与某些PEFT算法相比仍具有竞争力的性能。这是因为FedOT中适配器的参数数量明显大于PEFT算法中的参数数量。FedOT牺牲了模型性能的通信效率,使其在客户端无法访问完整模型的情况下有效。
(3)当丢弃率从20%增加到50%时,模型从预训练阶段丢失了大量知识,几乎无法保留CoT和代码生成的能力,并且很难从微调中获得新的知识。在压缩率和LLM的性能之间存在权衡:增加压缩率增强了LLM的隐私性,但降低了它们的性能。这表明,如何压缩LLM,同时保持其泛化能力和模型隐私是一个很有前途的研究方向。

4、LLMS的个性化联邦学习(略)

5、LLMS系统的中FEDHPO研究(略)

四、其他

未来研究方向

  1. 更高效的微调算法
  2. 探索更多隐私保护的微调算法,而无需访问FL中的完整模型
  3. 优化pFL算法,实现与各种加速和资源高效运算符的稳健组合
  4. 在FL中调查为微调LLM的低保真度FedHPO方法
  5. 将联邦LLM微调扩展到跨设备设置
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值