疎なパラメータを用いて大規模言語モデルを効率よくFine-Tuneする手法の提案

深層学習を用いた言語モデルは大規模化が進んでいる。そのため、特定のタスクやドメインに対してモデルのパラメータをすべて更新する場合、大規模な計算リソースが必要である。例えば、更新するパラメータ数を𝜙としたとき、モデルの状態を16bit、Optimizerの状態を32bitで保持しようとすると、16𝜙byteの計算リソースが必要である1）。8BサイズのLlama3[1]の場合、16×8𝐵=128Gbyte必要である。この問題に対しては、更新するパラメータ数𝜙を減らして効率よくFine-TuneすることができるPEFT(Parameter-EﬃcientFine-Tuning)を用いることが主流である。PEFTは大きくSoft-Prompt型[2,3,4,5]1）https://huggingface.co/blog/Isayoften/optimization-rushௗ:Frozen:TrainableௗLoRAOurs௣௡×௠௥×ௗFrozenParametersௗ×ௗFrozenParametersௗ×ௗௗ×௥௩௞×ௗ௡×ௗ௠ௗௗのパラメータを上書きしてしまうが、右に示す提案手法では特定のパラメータ（ピンクの部分）のみを更新できる。右の図は、パラメータを行で𝑛=4個、列で𝑚=4個の計16個のブロックに切り分け、𝑊𝑝∈ℝ𝑛×𝑚の中で重要な𝑘=4個のブロック位置を特定し、そこにブロックパラメータ𝑊𝑣∈ℝ𝑘×𝑑/𝑛×𝑑/𝑚を挿入して、疎なパラメータを構築した状態を表している。とAdapter型[6,7,8,9,10,11,12,13]に分けられる。本稿で注目するAdapter型では、ベースモデルのパラメータを固定し、少数の追加パラメータのみを更新することでパラメータ数𝜙を減らしている。その中には、行列分解[6,7,11]や特殊な操作[12,13]によりパラメータ数𝜙を減らすものがある。これらは追加したパラメータを学習後に元のパラメータに統合できるという特徴があり、追加パラメータの計算による推論速度の低下を避けることができる。一方これらのPEFTは、対象とするモジュールのパラメータをすべて更新してしまう。先行研究[14]でも言及されているとおり、特定のタスクおよびドメインに寄与するパラメータは限定的であり、パラメータをすべて更新してしまうと、保持したい事前知識が失われたり、特定の事前知識の編集が困難になったりする。すなわち、(Q1)事前学習による優れた性能と(Q2)モデル解釈性が失われると考えられる。これらの課題に対して、先行研究[14]では重要.度に基づいて部分的にパラメータを更新するPEFTを提案しているが、強い制約を導入するために複雑な操作を必要としている。また更新されたパラメータの解釈に関しては無視されている。本稿では、図1に示すような疎のパラメータを用いることで、より単純かつモデル解釈可能なPEFTを提案する。実験の結果、(A1)モデルサイズに関わらず部分的なパラメータの更新でも性能が向上すること、(A2)学習ドメインに対して重要なパラメータを示せることを確認した。