LoRA(ローラ)とは?
LoRA(Low-Rank Adaptation)は、ディープラーニングモデルの微調整手法の一つであり、特に大規模な事前学習済みモデルの効率的なカスタマイズに有効な手法です。
昨今では画像生成AIの調整に使用するものを特に「LoRA」として指すことが多いですが、元々はAI全般に活用できるカスタマイズ手法です。
いわば、AIのモデルに対するアタッチメントの様なものです。
LoRAは、モデルのすべてのパラメータを更新する代わりに、元のモデルのパラメータを直接変更せずに、追加の小さなパラメータを導入して微調整することです。
従来の微調整アプローチでは、大規模なモデルの多数のパラメータを新しいタスクに適合させるために更新しますが、これには多大な計算資源と時間が必要です。つまり、学習の占有時間も、電力も時間もとてもかかります。
対照的に、LoRAでは、モデルの特定の層に低ランクの行列を挿入することで、元の重みに対する変更を行う「アダプター」を導入します。これらのアダプターは追加パラメータとして機能し、元のモデルの重みはそのまま保持されます。
肝は「低ランク」の性質にあります。
低ランク行列は、元の行列の近似として機能し、元の行列の重要な情報を維持しながらも、はるかに少ないパラメータでその情報を表現することができます。
したがって、LoRAを用いることで、元のモデルの複雑さを維持しつつ、微調整のために必要な追加パラメータの数を大幅に削減できます。ニュアンスが変わりますが、強引な言い方をするとモデルの動きの特徴処理の割り込みの様なものです。
画像生成で考えるとモデルが持つ特徴は継承しつつも、ある一定の形を常に優先して出し続けます。
例えば「塗り方」であるとか「顔の比率」であるとかそういったものです。ちびキャラ専用のLoRAを作り、それを使用すれば生成される人型はほぼちびキャラになるでしょう。
LoRAを用いる利点は、効率性と柔軟性にあります。少ないパラメータで微調整を行うことができるため、計算資源とメモリの使用量を削減できます。また、元のモデルのパラメータを保持することで、事前学習済みモデルが持つ豊富な知識を失うことなく、新しいタスクに対してモデルを最適化することが可能です。
さらに、計算が少ないということはLoRAを作れる人が将来的に多くなるという事であり、参入機会も増えます。
要約すると、LoRAは、大規模な事前学習済みモデルを効率的にカスタマイズするための微調整手法であり、低ランクの行列を用いることで、追加パラメータの数を減らしながらも、元のモデルの知識と複雑さを保持することを目的としています。
一般浸透に関しては「絵」や「画像」の生成が一番わかりやすく、参加者も多いため画像生成技法のひとつとして浸透しているのです。