機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」

機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」 - 画像


大規模言語モデルや画像生成AIなどの機械学習モデルでは、ファインチューニングやLoRA(Low Rank Adaptation)といった手法によって、モデルの重みを微調整し、特定のタスクや目的に沿った出力を行うようにカスタマイズすることができます。香港科技大学の研究チームが、LoRAよりも計算コストと時間を削減できる新たな手法「DoRA(Weight-Decomposed Low-Rank Adaptation)」を発表しました。
[2402.09353] DoRA: Weight-Decomposed Low-Rank Adaptation
https://arxiv.org/abs/2402.09353

機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」 - 画像


Improving LoRA: Implementing Weight-Decomposed Low-Rank Adaptation (DoRA) from Scratch
https://magazine.sebastianraschka.com/p/lora-and-dora-from-scratch
十分に事前学習した機械学習モデルを最適化するには,、入力値の重要性を数値化した「重み」のパラメーター調整である「ファインチューニング」を行う必要があります。しかし、通常のファインチューニングではモデル内部の重みパラメーターをすべて更新する必要があり、非常に時間がかかってしまうという問題があります。たとえば、大規模言語モデルのLlama 2-7Bはパラメーター数が70億ですが、これをすべて再学習させるのは現実的ではありません。
多くの大規模言語モデルや画像生成AIなどの拡散モデルではTransformerというアーキテクチャを採用しています。そこで、LoRAはTransformerの層ごとにパラメーターを追加することで、機械学習モデルの再調整をより素早く行うことができます。LoRAは通常のファインチューニングよりも再調整するパラメーター数がずっと少なくなるので、ファインチューニングよりもVRAM使用量は少なくなり、計算コストも抑えられます。

機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」 - 画像


今回発表されたDoRAは、事前学習済みモデルの重み行列Wをスカラーmと方向行列Vに分解し、この方向行列VにLoRAを適用するという手法です。
たとえば実2次元ベクトル[x,y]の場合、ベクトルの始点をデカルト座標の原点に置けば、終点の座標(x,y)がベクトル成分となり、矢印の向きと大きさを表現できます。同時に、矢印の長さを絶対値√(x2+y2)で、矢印とX正軸との角度をθと置いた時に方向を[cosθ, sinθ]で表すことが可能です。実2次元ベクトル[1, 2]であれば、m=√5(約2.24)、V=[√5/5(約0.447), 2√5/5(約0.894)]という形で表わせます。

機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」 - 画像


このように、重み行列WをmVと分解した上で、このVにLoRAを適用、すなわち差分ΔVを加えるのがDoRAです。数式で書くと、調整後の重み行列W'=m(V+ΔV)となるわけです。ただし、実際にはDoRAは重み行列を分解してLoRAを適用するだけではなく、2016年に発表された重み正規化も行われます。
LoRAの場合はパフォーマンスを最適化するために設定する「ランク数」を慎重に定める必要がありますが、研究チームによればDoRAはLoRAよりも堅牢(けんろう)で、低いランク数でもLoRAより高いパフォーマンスを示すとのこと。以下はLLaMA-7BにそれぞれDoRA(緑)とLoRA(灰)を適用したモデルの平均的な正確性を縦軸に、ランク数を横軸に示したグラフです。いずれのランク数でも、DoRAを適用したモデルの方が正確性で上回っているのがわかります。

機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」 - 画像


また、同じLLaMA-7BでLoRAを適用したモデル(LoRA)と、その半分のランク数でDoRAを適用したモデル(DoRA†(Ours))で比較すると、パフォーマンスのアベレージスコアはDoRAを適用したモデルの方が上だったとのこと。つまり、DoRAはLoRAよりもより低コストで高いパフォーマンスをあげることが可能だと研究チームは主張しています。

機械学習モデルの再学習でLoRAよりもより少ない計算コストと時間でより高いパフォーマンスを期待できる「DoRA」 - 画像


AI関連のニュースサイトであるAhead of AIは、実際にGoogleの大規模言語モデル・Bertを軽量化したDistilBERTでDoRAを適用した結果、予測精度がLoRAを適用したモデルよりも1%以上向上したと報告しており、「DoRAはLoRAを論理的かつ効果的に拡張した有望な手法であるように思えます」と論じました。

ジャンルで探す