387 Views
November 02, 24
スライド概要
【学生の情報】:M2 細田大翔
【論文の学術分野】:Machine Learning; Computation and Language
【原論文のリンク】:https://arxiv.org/abs/2405.11157
【論文投稿日付】:2024/05/18
【コメント】:ICML2024の採択論文
【概要】:LLMの効率的な適応手法が増加する中、すでに訓練されたLoRAなどのアダプターを再利用し、新しいタスクでの性能向上を目指す研究が進められています。本研究では、新しいLoRAライブラリの構築手法とRouting手法を提案し、これらを検証することで、LoRAの再利用可能性を強調しています。
【注意書き】:研究室内で発表に利用したものです。解釈に誤りがある可能性がありますので、ご参考いただく際はご注意ください。資料の転用は禁止しております。
立教大学大学院人工知能科学研究科における瀧雅人准教授が主催する研究室で2020年度からスタートしているまだ若い組織です。 最先端の深層学習について、高度化・説明性向上などをテーマに深く幅広く研究しています。 また医療や神経科学・物理学におけるデータ分析や、産業への社会実装にも携わっています。 研究室内のPaper Reading活動の記録として、研究室学生の発表資料を公開しています。 ご興味をお持ちの方は、HPをご確認ください。
論文紹介 Towards Modular LLMs by Building and Reusing a Library of LoRAs
目次 論文概要 この論文の概要を紹介 事前知識 この論文を読むにあたり必要な知識をインプット 研究方針 この研究分野の目的や先行研究や方向性を紹介 手法 提案手法を紹介 実験 実験条件を紹介 結果 実験結果を紹介 1
論文概要 論文タイトル Toward Modular LLMs by Building and Reusing a Library of LoRAs 目標 Adapterを再利用することで新しいタスクに対して性能を向上させたい 成果 MBC: 新たなLoRA Libraryの構築手法 Arrow: 再訓練を必要としないLoRA Routing手法 2
事前知識 Intrinsic Dimension 新たなタスクにモデルを適合させる際に、 自由度 = すべてのパラメータ数として最適化せずとも高い性能 を導入することで、部分空間での最適化を行う実験 10^4 〜10^5オーダーParamのモデルが 10^2オーダーのParamで元精度の90%の精度を達成 もしかして、新たなタスクへの適合って全パラメータ更新の必要はない? 3
事前知識 Adapter 大規模モデルのパラメータを固定したまま モデルの中に小さな追加ネットワークを追加して訓練する手法 h h Pretrained Weight W Pretrained W Weight Adapter x x Full Fine-Tuning Adapter すべてのパラメータを訓練 →計算コスト 大 Adapterのみタスクに適合するように訓練 →計算コスト 小 効率的に学習! 4
事前知識 Low-Rank Adapter Adapterに対して、低ランクの補正を行う h B D Pretrained Weight W D A D r 2つの小さな行列をAdapterとして追加 ※ sはスケーリング, r << D LoRAは指定の訓練がされる r D x LoRA →指定されたランク r に基づいた低次 元の自由度に従った訓練を行う
事前知識 Routing 入力に対して、もっともらしいModuleを割り当てる手法 h <Routingとは?> p = 0.6 Softmax(Wx) Top1 Router W 複数の異なるExpert Adapterが並列に存在している ときに、入力データ(Tokenごと)に対してどのExpert Adapterに割り当てられるかを決定する。 Routing行列は複数のExpertのうち、どれを選ぶかの 確率分布を与えるものと解釈できる。 x 6
研究方針 Private Adapter LoRA Libraryの構築 1 Task : 1Adapter で訓練を行う Shared Adapter Domain D1 Domain D2 Domain D3 All Task : 1Adapter で訓練を行う Poly / MHR Adapter Multi-Taskデータセット K Task : 1Adapter で訓練を行う タスクとAdapterが結びついてない →再利用が難しい MBC どのようにLoRAを構築 すれば最適なのだろう? New Task Cluster : 1Adapterで訓練を行う LoRAパラメータ類似性を元にタスクの 類似性を判断しClusterへ 7
研究方針 LoRA Libraryの構築 Private Adapter / Shared Adapterの解説 Library Library Domain D1 Domain D2 Domain D3 Domain D1 Domain D2 Domain D3 Private Adapter Shared Adapter 1つのタスクを1つのAdapterで訓練 すべてのタスクを1つのAdapterで訓練 データが共有できない環境(ユーザー情報) で必要となる 欠点 1: Multi-Taskに適合する能力が不足 欠点 2: 多数のタスク間で干渉が生じる 8
研究方針 LoRA Libraryの再利用 μ Routing すべてのExpertの出力を平均する TP Routing Routing = 分類問題として予測器fを学習 世界中のユーザーが非同期的に LoRAを作成している! CM Routing 隠れ状態hの平均をPrototypeとして Routing行列Wを作成 Arrow Routing これ再利用して新しいタスク への性能を向上させられない かな? New LoRAのパラメータを集約したベクトル をPrototypeとしてRouting行列Wを作成 9
研究方針 LoRA Libraryの再利用 μ Routing / CM Routingについて解説 h1 avg h 1/3 1/3 h2 avg Softmax 1/3 Routing W Cos類似度 x x1 μ Routing すべての出力を平均するRouting手法 この単純さにも関わらず、悪くない性能 x2 h CM Routing 隠れ状態hの平均をPrototypeとして Routing行列 W を作成する手法 入力に対してPrototypeとのCos類似度を計 算してSoftmaxすることでRouting 10
手法 Model-Based-Clustering (MBC) LoRA Libraryの構築法として提案 その背景として、LoRAパラメータとパフォーマンス差の関係がある Multi-Task Datasetのうち、2つのタスクを選択 a) LoRAをそれぞれのタスクごとに独立で訓練 b) LoRAを2つのタスクでまとめて訓練 その後、以下の二つを計算してプロット (x軸) LoRAパラメータのCos類似度 (y軸) モデル(a1, a2)とbの平均対数尤度の差 実験 これらには正の相関がある →LoRAパラメータに基づくタスクのクラスタリング を行った上で訓練すると高い精度になる インサイト モ デ ル の 平 均 対 数 尤 度 差 LoRA a1 と a2 の Cos類似度 結果 11
手法 Model-Based-Clustering (MBC) LoRA Libraryの構築法として提案 モデルパラメータに基づきTaskクラスタを作成 → クラスタごとにAdapterを訓練 Flatten(A) Flatten(B) SVD Domain D1 Domain D2 Domain D3 U A Step 1 Step 2 1つのタスクを1つのAdapterで訓練 Concat (Flatten(A), Flatten(B)) LoRA A, Bをそれぞれ平坦化したのち結合 このLoRAパラメータを元にStep2でタスク のクラスタリングを行う SVDにより、LoRAの次元削減を行う 12
手法 Model-Based-Clustering (MBC) LoRA Libraryの構築法として提案 モデルパラメータに基づきTaskクラスタを作成 → クラスタごとにAdapterを訓練 U 1.0 0.3 Domain D2 0.2 Domain D3 Task Cluster 1 0.3 0.2 1.0 0.8 0.8 1.0 Domain D1 Task Cluster 2 U Step 3 Step 4 LoRAパラメータに基づき Taskごとの類似度をCos類似度により計算 類似度に基づいた 単純なK-Meansによりクラスタを生成
手法 Model-Based-Clustering (MBC) LoRA Libraryの構築法として提案 モデルパラメータに基づきTaskクラスタを作成 → クラスタごとにAdapterを訓練 Library LoRAのパラメータに基づき作成した クラスタごとにAdapterを訓練 Domain D1 Domain D2 Domain D3 このような手順で作成されたLoRA群 を新たなLoRA Libraryとして構築 Task Cluster Step 5 14
手法 Arrow Routing LoRA Libraryの再利用法として提案 その背景として、入力と出力ノルムの関係がある <仮説> LoRAは訓練したタスクのデータに対して よりノルムの大きい特徴量を返す <実験> タスクが一致 タスクが不一致 データから 5000examples サンプリングし、 ノルム割合のヒストグラムを作成 頻 度 実験 すべてのサンプルにおいて r > 1 となっている → 仮説は正しい. この事実を用いてRouting手法を考案 インサイト タスク間のノルムの比率 結果 15
手法 Arrow Routing LoRA Libraryの再利用法として提案 LoRAをSVDすることでプロトタイプとしてRouting行列に格納 SVD U Σ LoRAを集約したPrototype V Σ V SVD U Σ V ・ ・ ・ SVD U Σ V Routing 行列 W 他タスクLoRAも同様の操作 Step 1 Step 2 LoRA Library 中のすべてのLoRAをSVDで 分解 右特異ベクトルのうち、固有値が最も大きい ものをPrototypeとしてRouting行列へ格納 16
手法 Arrow Routing LoRA Libraryの再利用法として提案 LoRAをSVDすることでプロトタイプとしてRouting行列に格納 一番大きな値に対応 するタスクへ Routing T ・ ・ ・ Routing 行列 W ・ h T 入力特徴量 各タスクに対する 大体のノルム ルーティングのイメージ 17
手法 Arrow Routing Arrow Routingは既存手法と比較して、利点として3つ存在 1) データアクセスが必要ない (Zero-shot Routing) MBCやその他手法然り、訓練した元のデータを活用している。 → LoRAの非同期的な分散型開発によるマルチタスクへの適応可能性を示唆 2) 各レイヤーとトークンで異なるルーティングを行う → MoEのように、細かくルーティングを行うためモデルの表現力が向上 3) SVD分解しか行わない → LoRA 作成後に、新たな勾配降下法による訓練を必要としない Arrow Routingの新規性や利点 18
実験 実験の目的 この論文において、実験的評価の目的は、以下の質問に答えること 1) LoRA Library の構築は、非Modular手法(Full-Finetune等) と比較してどうか? 2) Private に訓練された Library と、マルチタスクデータへのアクセスを前提としたLibraryとの ギャプはどの程度か? 3) Routing は LoRA Library の再利用をどの程度促進するか? データセット Flan v2 dataset (256 Task) → Expert の訓練に使用 SNI Task (12 Task) → Domain外のデータとして使用 評価方法 モデル Supervised Study(データアクセス有) → SNI Task を使用 → Rougue-L 指標で評価 Phi-2 (2.8 billion Param) Mistral (7 billion Param) <LoRA> Attention層に適用 Rank 4, drop out 0.05, lr 1e-4 <MBC> Cluster Num 10 Zero-shot (データアクセス無) → Flan dataset 重複を除去 → 広く使われる10タスク 19
結果 20
結果 著者が言及している結果からいくつのコメントを抜粋 MBC Arrow Routing 我々の提案するMBCアプローチ(MBC-µ)の 性能を以前のアプローチと比較する → 最強のベースライン(MHR)よりも1.2% ポイントも性能が大幅に向上 MBC- はMBC-μより0.3% 改善 Private- もPrivate-μより1.8% 改善 → Arrow は Private, MBCの両方にロバスト なRouting 手法 MBC / Arrow 共通 全体としてMBC- 性能が伸びた ・Base Model よりも3.6 % 改善 ・Full-Finetuning よりも 1.8 % 改善 21
結果 より詳細なRouting 手法の結果プロット 22
結果 著者が言及している結果からいくつのコメントを抜粋 Routing in MBC Arrow vs other Routing <Mistral 7B> <Phi-2> Private Libraryでは、TP、CM、Arrowルー ティングがμルーティングよりも性能を向上 させ、それぞれ0.9%、0.9%、1.8%のポイント を獲得している →大規模ライブラリにおけるRoutingの重要 性を浮き彫りにしています。 MBC ライブラリで 10個のExpertに他のルー ティング手法を使用しても、μRoutingと比 較して性能向上は見られなかった Arrow の 検証 Arrowルーティングの性能を256のタスクで 評価し、エキスパートを最適に選ぶOracle ルーティングに匹敵する性能を達成している → Arrowは大規模なExpert Libraryから適切 なモジュールを選択できる 23
付録 MBC Algorithm Arrow Algorithm 25
付録 MBCのクラスタ数が10で実験を行っていた のは、左図の実験結果によるものらしい。 26