ソフトウェア

大規模言語モデル(LLM)をLoRAで強化する際に役立つ情報を研究者が公開


LoRAは画像生成モデルや大規模言語モデル(LLM)に追加の情報を学習させてモデルを微調整できる仕組みです。LoRAを用いてLLMを強化する際に役立つ情報をAI研究者のセバスチャン・ラシュカ氏が解説しています。

Practical Tips for Finetuning LLMs Using LoRA (Low-Rank Adaptation)
https://magazine.sebastianraschka.com/p/practical-tips-for-finetuning-llms


◆LoRAの効果には一貫性がある
Metaが開発したLLM「Llama 2」をLoRAで強化した際のベンチマーク結果を示した表が以下。「LoRA defaul 1」「LoRA defaul 2」「LoRA defaul 3」はそれぞれ異なるタイミングで作成されたLoRAモデルですが、ベンチマークスコアはかなり近似しています。


◆QLoRAを使えば追加学習時のVRAM使用量を大幅に節約可能
QLoRAはLoRAよりも少ないメモリ消費量で追加学習を可能とする技術です。ラシュカ氏がRoLAとQRoLAでLLMに追加学習を施した際の学習時間とVRAM消費量をまとめた表が以下。QLoRAを使った追加学習ではLoRAと比べて学習時間が39%長くなりましたが、VRAM消費量は33%少なくなりました。

手法LoRAQLoRA
学習時間1.85時間2.79 時間
VRAM使用量21.33GB14.18GB


LoRAとQLoRAで追加学習したLLMのベンチマークスコアを比較した表が以下。LoRAとQLoRAどちらを用いても性能には大きな違いは生じないようです。


なお、QLoRAの詳しい仕組みは以下の記事で解説しています。

GPUメモリが小さくてもパラメーター数が大きい言語モデルをトレーニング可能になる手法「QLoRA」が登場、一体どんな手法なのか? - GIGAZINE


◆LoRAにも学習率スケジュールが有効
機械学習では学習の進行度に応じて学習率を調整する「学習率スケジュール」が有効であることが知られています。ラシュカ氏の実験では、LoRAにおいても学習率スケジュールによってLLMの性能が向上することが確認されています。

◆最適化アルゴリズムはAdamでもSGDでも大差ない
機械学習では最適化アルゴリズムの違いでメモリ使用量に大きな差がでることがありますが、LoRAではAdamを用いてもSGDを用いてもメモリ使用量に大きな差はでません。

◆LoRAによる追加学習を繰り返すと性能が低下する
機械学習ではモデルの微調整のために学習を何度も繰り返すことがあります。一方で、LoRAによる学習を複数回繰り返すとモデルの性能が低下してしまうことが明らかになっています。LoRAによる追加学習を1回施したモデルと2回施したモデルのベンチマークスコアをまとめた表が以下。追加学習を2回施したモデルではモデルの性能が低下してしまっていることが分かります。


◆LoRAは多くのレイヤーに適用した方が効果的
LoRAは単一レイヤーではなくプロジェクションレイヤーや線形レイヤーにもLoRAを適用すると性能が向上するとのこと。

◆AlphaをRankの2倍に設定するべし
LoRAの追加学習時にはスケーリングの効果を調整するために「Alpha」と「Rank」の値を設定できます。ラシュカ氏によると、Alphaの値はRankの値の2倍が適切とのことです。

◆LoRAによる追加学習は単一のGPUで実行可能
高性能なLLMの開発には大規模な計算リソースが必要であり、個人がイチから開発するのは困難です。LoRAによる追加学習は単一のGPUでも実行可能なため、個人開発者でも独自のカスタムを施したLLMを作成可能です。

ラシュカ氏の記事では他にもLLMにおけるRoLAについて役立つ情報で多数紹介されています。

この記事のタイトルとURLをコピーする

・関連記事
大規模言語モデルをLoRAで低コストかつ効率的に微調整できる「Punica」が登場 - GIGAZINE

GPUメモリが小さくてもパラメーター数が大きい言語モデルをトレーニング可能になる手法「QLoRA」が登場、一体どんな手法なのか? - GIGAZINE

画像生成AI「Stable Diffusion」に「悪い例を集めたLoRA」を組み合わせて高品質な画像を生成する手法が登場、簡単に試せるデモも公開されたので試してみた - GIGAZINE

ChatGPTなどの大規模言語モデルはどんな理論で成立したのか?重要論文24個まとめ - GIGAZINE

in ソフトウェア, Posted by log1o_hf

You can read the machine translated English article here.