高階ランク適応(HORA):パラメータ効率的ファインチューニングにおける文脈条件付きランク
著者:Asher Bond(asher.bond@distillative.ai)
要旨
パラメータ効率的ファインチューニング(PEFT)は、全重みを更新するのではなく少数の追加パラメータのみを学習することで、大規模事前学習モデルを下流タスクへ適応させる。Low-Rank Adaptation(LoRA)[1] は低ランク更新行列に対して単一のランク r を固定する。AdaLoRA [2] はこれを緩和し、重要度スコアに基づく特異値の枝刈りを通じて、学習時にモジュール単位のランク予算を適応的に配分する。アダプタ手法 [3] は固定幅のボトルネックモジュールを挿入する。本稿は 高階ランク適応(Higher-Order Rank Adaptation, HORA) を提示する。これは適応ランクをハイパーパラメータでも学習時に配分される予算でもなく、実行時文脈の合成関数の出力——層の同一性、入力分布、勾配または活性化の信号——として扱う設計であり、ハイパーネットワークの流儀に沿って高階関数合成 [4, 5, 6] によって実現される。設計を厳密に定式化し、その制御フローを入力–処理–出力(IPO)認知DSL形式で例示する。効率性の主張は条件付きかつ明確である。すなわち、文脈からランクへの予測器を、それ自身の元が取れるほど安価に学習できるか否かを、共通タスク群の上で AdaLoRA および調整済み固定ランク LoRA と対比して測定する。
1. 序論
ファインチューニングは汎用モデルをタスクへ特化させるが、全パラメータのファインチューニングは高コストであり、既習の能力を劣化させうる——破滅的干渉 [7] であって、後続手法 [8] によって緩和されるにとどまり解消はされない。PEFT 手法はこのコストを低減する。LoRA [1] は固定ランク r の低ランク更新 ΔW = B·A を学習し、そのランクはデプロイごとに一度、ハイパーパラメータとして選択される。
層・入力・学習フェーズが異なれば必要な適応能力も異なる。したがってランクは大域的な定数ではなく文脈とともに変化するべきである。AdaLoRA [2] はこれに応える。特異方向の重要度をスコア化し、不要なところで予算を枝刈りすることで、モジュール横断的にランクを適応配分する。HORA の貢献はより狭く、明確である。文脈→ランクの写像を、原子的な部分関数 [4, 5] 上で明示的に合成された高階関数として表現し、写像をモジュール化・差し替え可能にする。そして学習時の重要度スケジュールのみではなく、実行時の信号(活性化、勾配の大きさ)に条件付ける。HORA の価値を決する問いは、この実行時かつ合成的な形式が AdaLoRA に対して測定可能な優位を生むか否かである。
2. 関連研究
パラメータ効率的ファインチューニング。 LoRA [1] は事前学習済み重みを凍結し、固定ランクで低ランクの加法的更新を学習し、全パラメータのファインチューニングに対するパラメータ数と精度の比較を報告する。アダプタチューニング [3] は小さなボトルネック層を挿入するもので、HORA のモジュール性の主張が受け継ぐより早期の PEFT 系譜である。AdaLoRA [2] は最も直接的に関連する先行研究であり、重要度スコアに従って重み行列間に予算を配分することで適応ランクを可変にする。HORA はこの AdaLoRA に対して位置取りする——文脈条件付きかつ合成的に表現され、学習時ではなく実行時の信号に条件付けられる。
破滅的忘却。 全再学習ではなく安価で局所的な適応を動機づけるのは、逐次学習/干渉の問題 [7] であり、Elastic Weight Consolidation [8] のような正則化によって部分的に対処される。HORA は PEFT 通常の緩和策——基盤重みの凍結——を継承する。
関数合成。 「高階関数」、compose、map、fold は関数型プログラミングの標準的な語彙であり、関数レベルプログラミングに関する Backus のチューリング賞講演 [4]、高階関数がモジュール性に資する理由についての Hughes の論説 [5]、そして Strachey の基礎的取り扱い [6] において形式化されている。HORA はこの合成によって制御フローを組織する。
3. HORA の設計
主張 [HYPOTHESIS]。 大域的固定ランク r に代えて、コントローラは文脈依存のランクと、それに対応する低ランク因子を、合成関数の出力として計算する。
ΔW(C) = g(C) · f(C), ランク r(C) = H(C),
ここで C は文脈記述子(層の同一性、入力分布の要約、勾配/活性化の統計量)であり、H は文脈をランクへ写像し、f, g はそのランクにおける低ランク因子を生成する。写像 H, f, g は小さく単一目的の原子関数 [4, 5] の合成であり、これこそが各写像を個別に差し替え可能にする——モジュール性という性質である。
能力を文脈に条件付けるという着想は、mixture-of-experts のルーティングの背後にあり、また AdaLoRA の重要度に基づく配分 [2] の背後にもある。そして文脈からパラメータを生成することはハイパーネットワークのパターンである。HORA に固有の形式——合成的かつ実行時条件付き——こそが測定の対象である。すなわち、安定して学習するか、そして与えられたタスクの上で十分に調整された固定ランク LoRA あるいは AdaLoRA を上回るか、である。
4. 実装例 [ILLUSTRATIVE]
制御フローを、Distillative の各論説で用いる入力–処理–出力(IPO)認知DSL形式で以下に表現する——原子関数を合成して高階関数を成す。これはベンチマーク実行ではなく、合成の算術として述べた、設計の制御フローである。
rank_adaptation_HOF:
description: "Compute a context-conditioned low-rank weight update for one layer."
input: "layer_context" # layer id, input-distribution summary, gradient/activation stats
process:
- extract_context:
type: atomic_function
input: "layer_context"
process: "summarize_layer_and_signal_state"
output: "context_descriptor"
- select_rank:
type: atomic_function
input: "context_descriptor"
process: "map_context_to_rank" # the H(C) map
output: "rank"
- generate_factors:
type: atomic_function
input: ["context_descriptor", "rank"]
process: "produce_low_rank_factors" # the f(C), g(C) maps
output: "factors_A_B"
- compose_update:
type: atomic_function
input: "factors_A_B"
process: "form_delta_W_from_factors"
output: "delta_W"
output: "delta_W" # applied additively to the frozen base weights
効率性の論拠は定義的である。すなわち、タスクが許容する箇所ではどこでもコントローラが全幅よりはるかに小さい低ランク r(C) ≪ 全幅 を予測するならば、追加されるパラメータおよび計算コストは、最悪ケースの固定ランクではなく、その予測ランクに応じてスケールする——AdaLoRA [2] と同じ前提である。明確な問いは、文脈→ランク予測器 H を、その節約が自らのオーバーヘッドを上回るほど正確かつ安価に学習できるか否かである。数式の記法——文脈生成因子の ∑、入れ子の合成 h(g(f(·)))——はその合成を表現する。
5. 指揮者のアナロジー
固定ランク手法はすべての楽器に同一の楽譜を手渡す。文脈条件付きランクは、各セクションを耳で聴き分けて上げ下げする指揮者である。このアナロジーは設計を言い当てている。写像 H が指揮者であり、問いはそれをどれほどよく「聴ける」よう構築できるかである。
6. 結論
適応ランクを実行時文脈に条件付け、その写像を差し替え可能な合成関数として表現することは、PEFT の系譜を拡張する——精神において AdaLoRA [2] およびハイパーネットワークが生成するパラメータに最も近く、標準的な関数合成 [4, 5, 6] によって組織される。本設計は構築可能なほど具体的に定式化されている。すなわち、H, f, g を合成された原子関数として実装し、確立されたベースラインに対して走らせればよい。
根拠と適用範囲
HORA は明確で検証可能な問いを備えた設計である。実装例は例示であり——IPO 形式の下での設計の制御フローであって、測定された実行ではない。ランク則 ΔW(C) = g(C)·f(C), r(C) = H(C) は合成的であり実行時文脈に条件付けられている。その前提、すなわち予測された低ランクがタスク需要を追随するという前提は、AdaLoRA [2] の予算配分の前提を実行時条件付けへと引き継ぐ。効率性の主張を決する比較は、共通タスク群の上で HORA を AdaLoRA および調整済み固定ランク LoRA [1] と対比し、パラメータコスト・精度・予測器オーバーヘッドを測定するものである。「高階ランク適応」および「HORA」はこの合成的・実行時条件付きの形式を指す。
参考文献
- Edward J. Hu et al. (2022). LoRA: Low-Rank Adaptation of Large Language Models. International Conference on Learning Representations (ICLR). arXiv:2106.09685.
- Qingru Zhang et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. International Conference on Learning Representations (ICLR). arXiv:2303.10512.
- Neil Houlsby et al. (2019). Parameter-Efficient Transfer Learning for NLP. Proceedings of the 36th International Conference on Machine Learning (ICML). arXiv:1902.00751.
- John Backus (1978). Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Communications of the ACM. [1977 ACM Turing Award Lecture]
- John Hughes (1989). Why Functional Programming Matters. The Computer Journal.
- Christopher Strachey (2000). Fundamental Concepts in Programming Languages. Higher-Order and Symbolic Computation. [Reprint of 1967 lecture notes]
- Michael McCloskey & Neal J. Cohen (1989). Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem. Psychology of Learning and Motivation.
- James Kirkpatrick et al. (2017). Overcoming Catastrophic Forgetting in Neural Networks. Proceedings of the National Academy of Sciences (PNAS). arXiv:1612.00796. [Elastic Weight Consolidation (EWC)]