[論文レビュー] SplitLoRA: A Split Parameter-Efficient Fine-Tuning Framework for Large Language Models
SplitLoRAは、分割学習と連合学習をLoRAベースのパラメーター効率的微調整と組み合わせることで、分散プライベートデータ上でLLMを効率的に微調整し、計算・通信コストを低減しつつ精度を中央集権的ベンチマークと同等に達成します。
The scalability of large language models (LLMs) in handling high-complexity models and large-scale datasets has led to tremendous successes in pivotal domains. While there is an urgent need to acquire more training data for LLMs, a concerning reality is the depletion of high-quality public datasets within a few years. In view of this, the federated learning (FL) LLM fine-tuning paradigm recently has been proposed to facilitate collaborative LLM fine-tuning on distributed private data, where multiple data owners collaboratively fine-tune a shared LLM without sharing raw data. However, the staggering model size of LLMs imposes heavy computing and communication burdens on clients, posing significant barriers to the democratization of the FL LLM fine-tuning paradigm. To address this issue, split learning (SL) has emerged as a promising solution by offloading the primary training workload to a server via model partitioning while exchanging activation/activation's gradients with smaller data sizes rather than the entire LLM. Unfortunately, research on the SL LLM fine-tuning paradigm is still in its nascent stage. To fill this gap, in this paper, we propose the first SL LLM fine-tuning framework, named SplitLoRA. SplitLoRA is built on the split federated learning (SFL) framework, amalgamating the advantages of parallel training from FL and model splitting from SL and thus greatly enhancing the training efficiency. It is worth noting that SplitLoRA is the inaugural open-source benchmark for SL LLM fine-tuning, providing a foundation for research efforts dedicated to advancing SL LLM fine-tuning. Extensive simulations validate that SplitLoRA achieves target accuracy in significantly less time than state-of-the-art LLM fine-tuning frameworks, demonstrating the superior training performance of SplitLoRA. The project page is available at https://fduinc.github.io/splitlora/.
研究の動機と目的
- 分散プライベートデータ上で生データを共有せずに協調的なLLM微調整を可能にし、データ不足とプライバシー問題に対応する。
- SplitLoRAは、分割連合学習とLoRAに基づく最初のSL LLM微調整フレームワークである。
- SplitLoRAがトレーニング効率を向上させ、クライアント側の計算と通信を削減しつつ競争力のある精度を維持することを示す。
- SL LLM微調整のオープンソースベンチマークを提供し、さらなる研究を促進する。
提案手法
- 事前学習済みLLMをクライアント側サブモデルとサーバー側サブモデルに分割し、split federated learning (SFL)で微調整する。
- クライアント側・サーバー側のサブモデルにLoRAアダプタを適用してパラメータ効率の高い更新を実現する。
- 1ラウンドにつき2段階のトレーニングを実施する:split fine-tuning(クライアントの順伝播、サーバーの順伝播/逆伝播、アクティベーション/勾配の伝送)と、定期的なクライアント側LoRAアダプタの集約。
- Iラウンドごとにクライアント側LoRAアダプタをローカル集約サーバーで集約し、集約済みアダプタをクライアントへダウンリンクする。
- データ転送とメモリ負荷を削減するため、分散クライアント側更新を維持しつつ中央サーバーでのトレーニングを実施する。
- GPT-2 S/MのE2E NLGタスクで評価し、CenLoRAおよびFedLoRAとBLEU、NIST、METEOR、ROUGE_L、CIDErなどの指標で比較する。
実験結果
リサーチクエスチョン
- RQ1SplitLoRAは centralized fine-tuningおよび full FLと比較して収束精度を保ちつつクライアント側の計算と通信を削減できるのか?
- RQ2分割アーキテクチャとLoRAベースのPEFTは、異種クライアントリソース下での収束速度とリソース効率にどのように影響するのか?
- RQ3LoRAランクとカット層の選択が性能とデータ/計算転送に与える影響はどの程度か?
主な発見
| Model | Method | BLEU | NIST | METEOR | ROUGE_L | CIDEr |
|---|---|---|---|---|---|---|
| GPT2-S | CenLoRA (r=1) | 67.95 | 8.6973 | 0.4421 | 68.96 | 2.3412 |
| GPT2-S | CenLoRA (r=2) | 68.49 | 8.7481 | 0.4491 | 68.70 | 2.3952 |
| GPT2-S | CenLoRA (r=4) | 69.41 | 8.7824 | 0.4610 | 70.70 | 2.4713 |
| GPT2-S | CenLoRA (r=8) | 69.37 | 8.7735 | 0.4624 | 70.96 | 2.4572 |
| GPT2-S | SplitLoRA (r=1) | 67.18 | 8.6601 | 0.4416 | 67.71 | 2.3255 |
| GPT2-S | SplitLoRA (r=2) | 66.86 | 8.5667 | 0.4515 | 68.50 | 2.3358 |
| GPT2-S | SplitLoRA (r=4) | 68.79 | 8.7259 | 0.4572 | 69.84 | 2.4411 |
| GPT2-S | SplitLoRA (r=8) | 68.76 | 8.6931 | 0.4588 | 70.17 | 2.4165 |
| GPT2-S | FedLoRA (r=1) | 65.66 | 8.4123 | 0.4265 | 67.68 | 2.1921 |
| GPT2-S | FedLoRA (r=2) | 67.24 | 8.6055 | 0.4398 | 69.33 | 2.3025 |
| GPT2-S | FedLoRA (r=4) | 67.73 | 8.6148 | 0.4494 | 68.59 | 2.3817 |
| GPT2-S | FedLoRA (r=8) | 68.39 | 8.6745 | 0.4590 | 70.24 | 2.4450 |
| GPT2-M | CenLoRA (r=1) | 69.86 | 8.7679 | 0.4650 | 71.20 | 2.5028 |
| GPT2-M | CenLoRA (r=2) | 69.97 | 8.7787 | 0.4663 | 71.56 | 2.5029 |
| GPT2-M | CenLoRA (r=4) | 69.78 | 8.7820 | 0.4667 | 71.62 | 2.5301 |
| GPT2-M | CenLoRA (r=8) | 70.57 | 8.8557 | 0.4688 | 72.17 | 2.5405 |
| GPT2-M | SplitLoRA (r=1) | 70.26 | 8.8274 | 0.4664 | 71.73 | 2.5267 |
| GPT2-M | SplitLoRA (r=2) | 70.04 | 8.8031 | 0.4670 | 71.68 | 2.5233 |
| GPT2-M | SplitLoRA (r=4) | 70.09 | 8.8075 | 0.4667 | 71.60 | 2.5370 |
| GPT2-M | SplitLoRA (r=8) | 69.18 | 8.7189 | 0.4631 | 71.30 | 2.5156 |
| GPT2-M | FedLoRA (r=1) | 67.02 | 8.6467 | 0.4484 | 68.06 | 2.3431 |
| GPT2-M | FedLoRA (r=2) | 69.64 | 8.7727 | 0.4633 | 71.35 | 2.4900 |
| GPT2-M | FedLoRA (r=4) | 69.78 | 8.7836 | 0.4642 | 71.87 | 2.4819 |
| GPT2-M | FedLoRA (r=8) | 69.55 | 8.7358 | 0.4661 | 71.46 | 2.4980 |
- SplitLoRAはCenLoRAと同等の収束精度を達成しうる、特にGPT-2 Mで0.04未満の精度差となる設定がある。
- FedLoRAはデータの異質性により困難さを示し、PPLが高い(低性能)傾向、GPT2-S/GPT2-Mで約0.08/0.11、SplitLoRAおよびCenLoRAに対して0.73/0.09の相対値を示す。
- SplitLoRAはクライアント側の学習可能パラメータを大幅に削減(GPT2-S: 0.008M–0.062M、GPT2-M: 0.011M–0.088M)し、クライアント側での全モデル微調整を要しないCenLoRA/FedLoRAと比べて有利である。
- SplitLoRAはFedLoRAおよびCenLoRAよりも早く収束し、GPT-Sでのトレーニング待機時間は概算で1.7倍、4.7倍短縮、GPT-Mで2.1倍、4.8倍短縮して収束に達する。
- モデルを分割してクライアント側の微調整がモデルの一部のみを含むようにしている(GPT-2 Sは4分の1、GPT-2 Mは8分の1)、消費者向けGPUでの運用を可能にする。
- SplitLoRAのサーバーサイドサブモデルは中央集権的にトレーニングされ、データ異質性へのロバスト性が向上し、ほとんどの作業負荷を中央サーバへオフロードする。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。