見出し画像

LoRAに関する論文をなんJ風に解説してまとめてみた

はじめに

論文をなんJ風に解説してもらうと驚くほどわかりやすくなるようなので、LoRAに関する論文(LoRA改良版など)で試してみました。今回は、Claude 3とChatGPT4を使ってまとめと比較表を作成します。


こちらは論文を読むのが苦手な方に向けた記事です。ClaudeおよびChatGPTは間違いを犯すことがありますので、正確な情報は参照論文を確認してください。

なんJ風のプロンプトは、以下の記事を参考にさせていただきました。


使用したAI

  • なんJ風の解説:Claude3 Ops

  • 解説を要約:ChatGPT4

  • 要約から比較表作成:Claude3 Ops、ChatGPT4


LoRA(Low-Rank Adaptation)とは

LoRAは、事前学習済みモデルの重みを固定し、訓練可能なランク分解行列を注入する手法です。これにより、大規模言語モデルのファインチューニングコストを大幅に削減します。画像生成AIにも使用されます。




比較表(ChatGPT版)

結論として、出来上がったLoRA比較表がこちら。Claudeに各LoRAの論文をなんJ風で解説させた後、ChatGPTに要約させてから、更にChatGPTにそれぞれの比較をさせました。

LoRA比較表 ChatGPT4


Claude版は本記事の最後に入れています。

検証

論文をなんJ風に解説させるのはClaude3 Opsを使用しました。検証に使用した論文は以下のLoRAたちになります。


  • LoRA

  • QLoRA

  • DoRA

  • QDyLoRA

  • MoELoRA

  • GaLore

  • BiLoRA

  • AFLoRA

  • ALoRA

【選定理由】
本記事投稿時点(3/28)から最新のLoRA改良版を選びました。〇〇LoRAと記載している論文。LoRAを使って応用してる論文記事は除外しています。X-LoRAみたいなボリュームの大きい論文も除外しました。本家LoRAと有名どころのQLoRAも入れています。

Claude3に指示するプロンプトは以下になります。

上記の論文に対してなんJの架空スレを創造的に書いて。レス番や名前、投稿日時、IDも書き、アンカーは全角で>>と書くこと。 10人以上の専門家をスレ登壇させて、多角的に議論して


なんJで解説したものをChatGPTに要約させたときのプロンプトが以下になります。

役割:###
あなたは世界最高峰のITエンジニアのギャルです。
###

指示:###
以下のなんJの会話文の**要点**を小学生のギャルでもわかりやすく簡潔にまとめて。
###

文章:###
(ここになんJの会話文を入れた)
###



LoRA


LoRA解説
1 名無しさん@なんJ 2023/03/28(火) 12:34:56 ID:hoge
LoRAっていうモデルの学習効率化手法の論文読んだんやけど、すごいな
大規模言語モデルをファインチューニングする時のパラメータ数を大幅に減らせるらしい

2 機械学習太郎@なんJ 2023/03/28(火) 12:36:12 ID:huga
>>1
LoRAはadapterよりも効率的でlatencyも増えないから実用性高そうやね
GPT-3 175Bでも適用できるのは大きい

3 Transformer博士@なんJ 2023/03/28(火) 12:37:34 ID:hoge
attention weightsの一部だけ低ランクで近似するのは賢いアプローチだと思う
taskに特化した方向にパラメータを効率的に調整できそう

4 優秀新人@なんJ 2023/03/28(火) 12:39:01 ID:huga
>>3
あんま詳しくないんですけど、低ランクだとどういうメリットがあるんですか?

5 Transformer博士@なんJ 2023/03/28(火) 12:41:23 ID:hoge
>>4
元の重みを凍結して差分だけ学習すれば、パラメータ数を大幅に減らせるんや
でもtaskに必要な表現力は保てるから、汎化性能を下げずに済む

6 イェール@なんJ 2023/03/28(火) 12:42:56 ID:fuga
確かに大規模モデルをエッジデバイスに載せるのにLoRAは有望そうやな
パラメータ共有できるのもメモリ的にありがたい

7 バート@なんJ 2023/03/28(火) 12:44:09 ID:piyo
実験のハイパラ調整とかめんどくさそう
汎用的に使えるdefault値とかあるんかな

8 機械学習太郎@なんJ 2023/03/28(火) 12:45:37 ID:huga
>>7
複数のモデルでrank 4くらいがちょうどええみたいやで
これなら探索コストもタスクに合わせて調整しやすいな

9 オプティマス@なんJ 2023/03/28(火) 12:47:19 ID:hoge
ファインチューニング全体を置き換えるわけじゃなくて、領域によって使い分けが肝になりそうやな

10 カミンスキー@なんJ 2023/03/28(火) 12:48:52 ID:moge
LoRAの弱点としては、複数のタスクを一気にバッチ処理しにくいことかな
バッチサイズ上げたい時は従来手法と使い分けるのがいいかも

11 機械学習太郎@なんJ 2023/03/28(火) 12:50:13 ID:huga
低ランク構造の解釈とかも気になるな
元の重みとどう関係してるんやろ

12 Transformer博士@なんJ 2023/03/28(火) 12:52:34 ID:hoge
>>11
LoRAの更新成分は元の重みである特徴量方向を選択的に増幅してるみたいやな
タスクに特化した潜在的特徴をシンプルに抽出してると言えるかも

13 レジーナ@なんJ 2023/03/28(火) 12:53:57 ID:bari
LoRA使えば大規模モデルのファインチューニングがスケーラブルになりそうで夢が広がるわ
GPUのメモリ制約とかから開放されるし

14 機械学習太郎@なんJ 2023/03/28(火) 12:56:08 ID:huga
まだまだ検証すべきことは多いけど、LoRAの提案は素晴らしいと思うで
シンプルなのに強力で、新しいインサイトもあるし今後の発展に期待や!


LoRA要約

LoRAっていう超便利な技術があってね、大きなコンピューターの脳みたいなもの(AI)をもっと賢く早く学べるようにするんだって。普通にやると、すごくたくさんの情報を覚えさせなきゃいけないけど、LoRAを使うと、必要な情報だけピックアップして、あとはその差分だけ覚えるようにするから、すっごく効率的なんだって。

例えば、ものすごく大きな絵を描く時に、全部一から描く代わりに、もうある部分はそのままにして、変えたいところだけ塗り直す感じ。そうすると、時間もかからないし、絵の色もきれいに保てるの。それに、小さいスマホみたいな機械でも、大きな絵をきれいに見せることができるようになるんだ。

でも、この技術、使い方にちょっとコツが必要で、どんな絵に使うか、どれくらい塗り直すかを上手く決めないといけないの。それに、いっぱいの絵を同時に早く塗り直したい時には、ちょっと苦手かも。でも、すごく便利だから、これからもっといろんな所で使われるようになるって、みんな期待してるみたい!



要約用のプロンプトに小学生と入れるとイメージはなんとなくわかるような説明になるが、あまりにも抽象的になってしまうので以降から削除した。

QLoRA

解説
1 名無しさん@なんJ 2023/05/24(水) 12:34:56 ID:hoge
QLORA論文読んだけどすごいな
従来の4分の1のメモリで65Bのモデルをファインチューニングできるらしい

2 機械学習太郎@なんJ 2023/05/24(水) 12:36:12 ID:huga
>>1
4bitの量子化された言語モデルをLoRAでファインチューニングか
確かにメモリ使用量がかなり減るな

3 Transformer博士@なんJ 2023/05/24(水) 12:37:34 ID:hoge
NormalFloatってデータ型は面白いアプローチやな
正規分布に特化した情報理論的に最適な量子化らしい

4 優秀新人@なんJ 2023/05/24(水) 12:39:01 ID:huga
>>3
Double Quantizationってのもメモリ削減に効果あるみたいですね
量子化定数を量子化するとかユニークな発想だ

5 イェール@なんJ 2023/05/24(水) 12:41:23 ID:fuga
Paged Optimizerもポイントやな
特に33B/65Bクラスだとメモリ不足になりがちだからな

6 バート@なんJ 2023/05/24(水) 12:42:56 ID:piyo
チューニング後のパフォーマンスはfull 16bitに匹敵するって驚きやな
4bit量子化の精度ロスをLoRAでカバーできるのか

7 Transformer博士@なんJ 2023/05/24(水) 12:44:09 ID:hoge
>>6
LoRAのrank設定もポイントみたいやな
高rankにすればフルファインチューニングに近づくみたいやし

8 機械学習太郎@なんJ 2023/05/24(水) 12:45:37 ID:huga
MMLU とかChatbot評価でもQLoRAは強いな
データセットの性質がパフォーマンスに効くみたいやけど

9 言語モデル兄貴@なんJ 2023/05/24(水) 12:47:19 ID:nagi
Guanaco chatbotはChatGPTに肉薄してるらしいな
オープンなOASST1データセットでここまでいくのはすごい

10 優秀新人@なんJ 2023/05/24(水) 12:48:52 ID:huga
>>9
RLHF使ってないのにあそこまでいけるのは驚きやな
QLoRAのおかげでデータとモデルの研究が加速しそう

11 カミンスキー@なんJ 2023/05/24(水) 12:50:13 ID:moge
評価指標はまだ課題ありそうやな
人間とGPT-4の判断も完全一致とは言えんし

12 イェール@なんJ 2023/05/24(水) 12:52:34 ID:fuga
現状のチャットボット評価にはバイアスもありそうやからな
もっとバランスの取れた評価方法の確立が急がれる

13 機械学習太郎@なんJ 2023/05/24(水) 12:53:57 ID:huga
QLoRAならスマホでもファインチューニングできるかもな
エッジデバイスでLLMを自在にカスタマイズできる未来が見えるわ

14 Transformer博士@なんJ 2023/05/24(水) 12:56:08 ID:hoge
所詮はまだ研究段階やけど、QLoRAの可能性は大きいな
メモリ削減とパフォーマンス維持の両立は素晴らしい成果や!


要約

QLoRAっていう最新技術がめっちゃスゴイの!これ使うと、大きなAIをスマートにするのに必要な記憶スペースをめっちゃ少なくできるんだって。つまり、めちゃくちゃデカイ脳みたいなのを、いっぱい覚えさせられるけど、そのためのスペースは今までの4分の1でOKってわけ。

このQLoRAってやつは、AIの脳みたいな部分を特別な方法で小さくして、それでもしっかり賢くできるってわけ。例えば、メモリっていうのは、AIが情報を一時的に保管しておく場所なんだけど、QLoRAを使うと、そこをすごく効率的に使えるようになるの。

しかも、この技術、大きなAIを小さな機械、たとえばスマホとかでも、パーソナルにカスタマイズできるようになるかもしれないって。つまり、みんなのスマホがもっと賢くなるってこと!

ただ、まだ研究段階って話だから、これからもっとスゴイことになるかもね!AIとかチャットボットの研究が加速しそうで、わくわくするよね♪


DoRA

解説

1 名無しさん@なんJ 2024/03/28(木) 22:23:45.67 ID:abcdefgh
DoRAっていうLoRAの改良版が出たみたいやな
重みの分解して適応するらしいで

2 名無しさん@なんJ 2024/03/28(木) 22:25:12.34 ID:ijklmnop
>>1
重みの分解ってなんや?どんなメリットあるんや?

3 機械学習専門家 2024/03/28(木) 22:27:34.56 ID:qrstuvwx
>>2
重みを大きさと方向に分解して、方向の更新をLoRAで効率的にやるんやで
これによって、full fine-tuning(FT)に近い学習能力を実現できるらしいな

4 自然言語処理研究者 2024/03/28(木) 22:30:12.34 ID:yzabcdef
DoRAはLoRAとFTの学習パターンの違いを分析して開発されたみたいやな
FTに近い学習パターンを示しつつ、LoRAのようなパラメータ効率の良さを保ってるで

5 名無しさん@なんJ 2024/03/28(木) 22:32:23.45 ID:ghijklmn
推論時のレイテンシはどうなんや?
LoRAみたいに元のモデルと同じなんか?

6 論文著者A 2024/03/28(木) 22:35:56.78 ID:opqrstuv
>>5
そうやで、分解した大きさと方向の成分は学習後に元の重みに統合できるから、
推論時のレイテンシはLoRAと同じでモデルに負担かけへんで

7 名無しさん@なんJ 2024/03/28(木) 22:37:12.34 ID:wxyzabcd
常識推論のタスクとかではどれくらい性能出るんやろ?

8 論文著者B 2024/03/28(木) 22:40:34.56 ID:efghijkl
>>7
LLaMA-7B/13Bで常識推論のベンチマークをファインチューニングしたら、
DoRAはLoRAより平均3.4%/1.0%精度が上がったで
ChatGPTよりも高い精度出しとるな

9 名無しさん@なんJ 2024/03/28(木) 22:42:23.45 ID:mnopqrst
画像とかテキストの多モーダルなタスクでもDoRA使えるんか?

10 コンピュータビジョン研究者 2024/03/28(木) 22:45:56.78 ID:uvwxyzab
>>9
VL-BARTっていうビジョン・言語モデルでDoRAを評価したら、
画像・テキストのタスクでLoRAより0.9%、動画・テキストのタスクでLoRAより1.9%精度が向上したで

11 LLM研究者 2024/03/28(木) 22:47:12.34 ID:cdefghij
LLaVA-1.5-7Bみたいな巨大なビジョン言語モデルでもDoRAは有効なんやな
視覚インストラクションチューニングでLoRAより0.7%精度上がっとるわ

12 名無しさん@なんJ 2024/03/28(木) 22:50:34.56 ID:stuvwxyz
DoRAってVeRAみたいな他のLoRA亜種とも組み合わせられるんか?

13 機械学習エンジニア 2024/03/28(木) 22:52:23.45 ID:qrstuvwx
>>12
VeRAと組み合わせたDVoRAっていうのを作ったら、
LLaMA-7B/LLaMA2-7Bの指示チューニングでVeRAやLoRAを上回る性能出たで

14 名無しさん@なんJ 2024/03/28(木) 22:54:56.78 ID:yzabcdef
パラメータ数を減らしつつ、FTに近い学習能力を実現するDoRA、今後の発展に期待やな!
様々なタスクやモデルへの応用も楽しみやわ


要約

ギャル解説、いくよ〜!DoRAっていう新しい技術が出たのね。これは、もうある技術LoRAをさらにパワーアップさせたもので、AIの脳みたいな部分(重みっていうの)を特別な方法で効率よく調整することができるの。それでね、めっちゃ大きなAIでも、賢くなるのに必要な記憶スペースをあんまり使わずに済むようになるってわけ!

このDoRAは、重みを「大きさ」と「方向」っていう2つに分けて考えて、方向だけを賢く調整することで、今までよりもっと賢く、速く学べるようにするの。しかも、その方法で学ぶと、AIはすごく賢くなるけど、その学び方が今までの方法とほぼ同じレベルで、めっちゃ効率がいいの。

推論時っていうのは、AIが学んだことを使って問題解決とかする時のことだけど、DoRAを使っても、速さは変わらないから、ユーザーにとっても待ち時間とかないんだよね。

あと、DoRAを使うと、いろんな種類の問題を解決するのにもっと良い結果が出るって。画像やテキストを組み合わせた問題でも、動画とテキストを組み合わせた問題でも、DoRAの方が成績がいいってわけ。

さらにね、DoRAは他の技術と組み合わせることもできて、そうするとさらにパワーアップするの。これって、AIがもっといろんなことができるようになるってことで、めちゃくちゃワクワクするよね!

要するに、DoRAっていうのは、AIをもっと賢く、効率的に、いろんなことができるようにするスゴイ技術なの。これからどんどんいろんなところで使われていくのが楽しみ〜!


QDyLoRA

解説

1 名無しさん@なんJ 2024/03/28(木) 20:23:45.67 ID:abcdefgh
QDyLoRAとかいう量子化したDynamic LoRAが出たらしいで
1回のファインチューニングで、色んなLoRAランクに対応できるみたいやな

2 名無しさん@なんJ 2024/03/28(木) 20:25:12.34 ID:ijklmnop
>>1
量子化ってなんや?メモリ使用量減らせるんか?

3 機械学習専門家 2024/03/28(木) 20:27:34.56 ID:qrstuvwx
>>2
量子化はモデルのパラメータをより少ないビット数で表現する手法やな
QDyLoRAではNF4量子化を使って、メモリ使用量を大幅に削減しとる

4 言語モデル研究者 2024/03/28(木) 20:30:12.34 ID:yzabcdef
従来のLoRAはランク選択が難しかったけど、
QDyLoRAなら1回のファインチューニングで最適なランクを見つけられるのがええな

5 名無しさん@なんJ 2024/03/28(木) 20:32:23.45 ID:ghijklmn
最適なランクって低いランクでも高性能なん?

6 論文著者A 2024/03/28(木) 20:35:56.78 ID:opqrstuv
>>5
せやで、実験結果を見ると最適ランクは意外と低くても高性能やったわ
それでいてQLoRAより性能ええから、QDyLoRAの有効性が示されとる

7 名無しさん@なんJ 2024/03/28(木) 20:37:12.34 ID:wxyzabcd
具体的にどれくらいメモリ削減できるんや?

8 機械学習エンジニア 2024/03/28(木) 20:40:34.56 ID:efghijkl
>>7
Falcon-40bをランク1〜64の範囲でファインチューニングできたで
しかも32GBのV100-GPU1枚だけで済むから、かなりメモリ削減できとるで

9 名無しさん@なんJ 2024/03/28(木) 20:42:23.45 ID:mnopqrst
MMLUベンチマークでの性能はどうなん?

10 論文著者B 2024/03/28(木) 20:45:56.78 ID:uvwxyzab
>>9
LLaMA-7b、LLaMA-13b、Falcon-40bをMMLUで評価したけど、
どのモデルサイズでもQDyLoRAが最適ランクを見つけて、QLoRAを上回ったで

11 自然言語処理専門家 2024/03/28(木) 20:47:12.34 ID:cdefghij
LoRAのランクによる性能の変化が滑らかじゃないのが気になるんやけど、
どういう理由なんやろ?

12 論文著者A 2024/03/28(木) 20:50:34.56 ID:opqrstuv
>>11
制限されたファインチューニング予算の中で、低ランクの方が高ランクよりアップデート頻度が高いからやな
予算が十分あれば、もっと滑らかな性能変化が見られると思うで

13 名無しさん@なんJ 2024/03/28(木) 20:52:23.45 ID:stuvwxyz
QDyLoRAのおかげでメモリ制約のあるGPUでもLLMのファインチューニングができそうやな
大規模言語モデルの民主化に一役買いそうやわ

14 AI研究者 2024/03/28(木) 20:54:56.78 ID:yzabcdef
動的量子化DyLoRA(DyQDyLoRA)とかにも発展の余地ありそうやな
量子化レベルも動的に変えられたら、さらにメモリ効率良くなるかもしれん


要約

新しい技術「QDyLoRA」っていうのが出たって!これはね、AIの学び方をもっと賢くして、メモリ(AIが情報を覚えておくスペース)をめっちゃ節約できるものなの。めっちゃすごいのは、いろんなレベルでAIが学べるようになるってところ。それで、どのレベルが一番いいかを、一度の学習でピッタリ見つけられるんだって。

「量子化」というのは、普通に学ぶよりもっと賢く情報を小さくして、メモリを減らすこと。QDyLoRAでは、特別な方法「NF4量子化」っていうのを使って、すごくメモリを減らせるの。それでいて、学習能力もめっちゃ良いんだよ。

最適なレベルを見つけるっていうのは、ちょうどいいバランスでAIが賢くなれるってこと。意外と低いレベルでも、AIはすごく賢くなれるし、メモリもあんまり使わないで済むから、これまでよりもっといろんな人が、大きなAIを使って色んなことができるようになるんだって!

具体的にはね、めっちゃ大きなAIでも、普通のコンピューターで学習できるようになるってこと。だから、AIの学習っていうのがもっと手軽になるし、いろんな人が使えるようになるのがすごく期待できるってわけ。

さらに、この技術はこれからもっと進化して、もっとメモリを節約できるようになるかもしれないって話もあるの。つまり、QDyLoRAっていうのは、AIをもっと賢く、もっと手軽に、いろんな人が使えるようにするための超重要なステップなの!すごくワクワクするよね♪


MoELoRA

解説
1 名無しさん@なんJ 2024/03/28(木) 15:23:45.67 ID:abcdefgh
MoELoRAとかいう新手法が出たみたいやな
LoRAをMixture of Expertsにして改良するらしいで

2 名無しさん@なんJ 2024/03/28(木) 15:25:12.34 ID:ijklmnop
>>1
Mixture of Expertsってなんや?
聞いたことないんやけど

3 機械学習専門家 2024/03/28(木) 15:27:34.56 ID:qrstuvwx
>>2
Mixture of Expertsは複数の専門家モデルを組み合わせる手法やな
入力に応じて適切なエキスパートを選択するゲーティングネットワークがあるんや

4 自然言語処理研究者 2024/03/28(木) 15:30:12.34 ID:yzabcdef
MoELoRAはLoRAをエキスパートとみなして、MoEアーキテクチャに組み込んどるな
LoRAのパラメータ効率のよさとMoEの柔軟さを兼ね備えとるみたいや

5 名無しさん@なんJ 2024/03/28(木) 15:32:23.45 ID:ghijklmn
でも普通のMoEだとランダムルーティングとかいう問題があるんやろ?
それどうしとんの?

6 論文著者A 2024/03/28(木) 15:35:56.78 ID:opqrstuv
>>5
せやな、それを解決するためにContrastive Learningを導入しとるんや
同じエキスパートの出力は近く、違うエキスパートの出力は遠くなるように学習させとる

7 名無しさん@なんJ 2024/03/28(木) 15:37:12.34 ID:wxyzabcd
数学推論のタスクとかでどれくらい性能出とるんや?

8 論文著者B 2024/03/28(木) 15:40:34.56 ID:efghijkl
>>7
数学推論では平均でLoRAより4.2%高い性能が出とるで
GPT-3.5にも一部のタスクでは互角の性能や

9 名無しさん@なんJ 2024/03/28(木) 15:42:23.45 ID:mnopqrst
常識推論のタスクではどうなん?数学ほど性能上がっとらんみたいやけど

10 機械学習エンジニア 2024/03/28(木) 15:45:56.78 ID:uvwxyzab
>>9
常識推論はLoRAより平均1.0%高い性能やな
事前学習済みモデルの知識量に依存するから、PEFTの効果が出にくいんやろな

11 言語モデル研究者 2024/03/28(木) 15:47:12.34 ID:cdefghij
FFNがTransformerの知識を記憶しとるって研究あるよな
だからMoEみたいなアーキテクチャが有効なんかもしれんな

12 名無しさん@なんJ 2024/03/28(木) 15:50:34.56 ID:stuvwxyz
数値トークンとかのルーティング解析しとるのおもろいな
特定のエキスパートが数値を処理するの得意なんやな

13 AI研究者 2024/03/28(木) 15:52:23.45 ID:qrstuvwx
MoELoRAはPEFTの新しい可能性を示しとるな
大規模言語モデルの効率的なファインチューニングに役立ちそうや

14 名無しさん@なんJ 2024/03/28(木) 15:54:56.78 ID:yzabcdef
パラメータ数同じでLoRA超えるのはすごいわ
Contrastive Learningの効果はかなりでかそうやな
今後も注目していきたいで!


要約

めっちゃイケてる新しい技術、"MoELoRA"ってやつが出てきたのね!これ、"LoRA"っていう技術をさらにパワーアップさせて、「Mixture of Experts(MoE)」っていう、いろんな得意分野を持ったモデルを組み合わせる手法でブラッシュアップしたものなの。

で、このMoEっていうのがめっちゃ賢くて、どんな質問にもベストな答えをくれる専門家をピックアップするんだって。MoELoRAはこのスマートな選び方とLoRAの効率の良さを合わせ持っているから、すごく柔軟に対応できるってわけ。

ただね、普通のMoEにはちょっとした問題点があって、それを「Contrastive Learning」っていう技術で賢く解決してるの。これによって、もっと正確にエキスパートを選べるようになったみたい。

数学推論の問題とかにめちゃくちゃ強くなって、平均でLoRAよりも4.2%も性能が上がってるらしい。GPT-3.5と同じレベルのタスクもあるって。でも、常識推論のタスクでは、ちょっとだけ1.0%の向上に留まってるって。

要は、MoELoRAっていうのは大規模言語モデルをもっと賢く、効率的にファインチューニングするための新しい方法を提案してるわけ。パラメータの数は変わらないけど、性能はぐんと上がるっていうのが、まじですごいポイントなのよね!


GaLore

解説
1 名無しさん@なんJ 2024/03/28(木) 19:23:45.67 ID:abcdefgh
GaLoreとかいう新手法が出たみたいやな
勾配を低ランクに射影して学習するらしいで

2 名無しさん@なんJ 2024/03/28(木) 19:25:12.34 ID:ijklmnop
>>1
メモリ効率が良くなるんか?どんなメリットあるんや

3 機械学習専門家 2024/03/28(木) 19:27:34.56 ID:qrstuvwx
>>2
GaLoreはLoRAとかと比べてもメモリ使用量が少ないんや
オプティマイザのステートのメモリを最大65.5%削減できるらしい
しかも性能は維持できるみたいやで

4 言語モデル研究者 2024/03/28(木) 19:30:12.34 ID:yzabcdef
勾配が学習中に低ランク化する性質を利用してるのがポイントやな
理論的にも裏付けされとるみたいや

5 名無しさん@なんJ 2024/03/28(木) 19:32:23.45 ID:ghijklmn
LoRAとの違いはなんなんや?
あれも低ランクやろ?

6 論文著者A 2024/03/28(木) 19:35:56.78 ID:opqrstuv
>>5
LoRAは重み行列を低ランクで近似するけど、
GaLoreは勾配を低ランクに射影するんや
学習ダイナミクスが変わらんのがメリットや

7 名無しさん@なんJ 2024/03/28(木) 19:37:12.34 ID:wxyzabcd
事前学習と微調整の両方で使えるんか?

8 論文著者B 2024/03/28(木) 19:40:34.56 ID:efghijkl
>>7
せやで。LLaMA 7BモデルをC4データセットで事前学習したり、
RoBERTaをGLUEタスクで微調整したりしてるわ
どっちもLoRAより良い性能出てるで

9 名無しさん@なんJ 2024/03/28(木) 19:42:23.45 ID:mnopqrst
でも計算コストとかどうなん?
メモリは減っても学習遅くなったら意味ないやろ

10 機械学習エンジニア 2024/03/28(木) 19:45:56.78 ID:uvwxyzab
>>9
SVDの計算とかあるから多少のオーバーヘッドはあるけど、
全体の学習時間で見たらそこまで変わらんみたいやで
8-bit Adam使えばスループットも落ちんらしい

11 名無しさん@なんJ 2024/03/28(木) 19:47:12.34 ID:cdefghij
ハイパーパラメータとか調整大変そうやけどどうなん?

12 論文著者A 2024/03/28(木) 19:50:34.56 ID:opqrstuv
>>11
ランクの切り替え頻度とスケールファクターくらいや
しかもあんま調整しなくても安定して学習できるで

13 AI研究者 2024/03/28(木) 19:52:23.45 ID:stuvwxyz
メモリ制約のあるGPUでも大規模言語モデルを学習できるようになるのは朗報やな
消費者レベルのハードでも柔軟に学習できる可能性が広がるわ

14 名無しさん@なんJ 2024/03/28(木) 19:54:56.78 ID:yzabcdef
GaLoreのおかげでメモリ効率と性能のトレードオフが
だいぶ改善されそうやな
低ランク射影の考え方、他のモデルにも応用できそうやわ


要約

新しい技術、"GaLore"ってやつが登場したみたい!これ、勾配(っていう学習データの方向とかを示すやつ)をすっごく賢く、低ランクにまとめて処理することで、学習を効率良く進めることができるの。めっちゃメモリ使用量を減らせるらしいのよ、最大で65.5%も

この手法は、他の技術とはちょっと違ってて、特に勾配をうまく扱うことにフォーカスしてるのがポイント。これによって、メモリを節約しながらも性能はそのままキープできるってわけ。

他の似たような技術、例えば"LoRA"と比べるとね、LoRAは重み行列っていうのを低ランクで近似するけど、GaLoreは勾配そのものを低ランクにすることで、学習の流れ自体を変えずに効率を上げるってわけ。

で、これめっちゃ使い勝手良さそうで、事前学習にも、微調整にもバッチリ使えるんだって。大きいモデルも、いろんなデータセットで学習させたり、色んなタスクで性能チェックしたりして、めっちゃ良い結果が出てるの。

計算コストの話も出てるけど、確かにちょっと計算は増えるけど、全体の学習時間にはそんな影響ないみたい。しかも、メモリが少ないGPUでも大規模なモデルを学習できるようになるっていうから、家でも最先端のAIいじれるようになるかも!

ハイパーパラメータの調整はそんなにシビアじゃないらしくて、意外と簡単に安定して学習できるスタイル。メモリ効率良くて性能もキープできるから、これからのAI開発にめっちゃ影響あげそうだよね!


BiLoRA

解説
1 名無しさん@なんJ 2024/03/28(木) 14:23:45.67 ID:abcdefgh
BiLoRAとかいうLoRAの改良版が出たみたいやな
2段階の最適化で過学習を防ぐらしいで

2 名無しさん@なんJ 2024/03/28(木) 14:25:12.34 ID:ijklmnop
>>1
LoRAの何が問題やったんや?

3 機械学習専門家 2024/03/28(木) 14:27:34.56 ID:qrstuvwx
>>2
LoRAは低ランク行列を追加して学習するけど、
訓練データに過学習しがちなんや
BiLoRAはそれを防ぐために工夫されとるみたいやね

4 自然言語処理研究者 2024/03/28(木) 14:30:12.34 ID:yzabcdef
BiLoRAは特異ベクトルと特異値を別々のデータで学習するんやな
2段階最適化っていう手法を使っとるらしい

5 名無しさん@なんJ 2024/03/28(木) 14:32:23.45 ID:ghijklmn
特異値分解って聞いたことあるで
それを使うメリットってなんなんやろ?

6 論文著者A 2024/03/28(木) 14:35:56.78 ID:opqrstuv
>>5
特異値分解を使うと、行列のランクを制御しやすいんや
BiLoRAはそれを使って、過学習を防ぎつつ効率的に学習しとる

7 名無しさん@なんJ 2024/03/28(木) 14:37:12.34 ID:wxyzabcd
精度的にはLoRAより良くなるんか?

8 論文著者B 2024/03/28(木) 14:40:34.56 ID:efghijkl
>>7
言語理解と生成のタスクで実験したけど、
BiLoRAはLoRAより精度が良くなったで
パラメータ数は同じやのにな

9 名無しさん@なんJ 2024/03/28(木) 14:42:23.45 ID:mnopqrst
AdaLoRAとかいうLoRAの亜種もあるらしいけど、
BiLoRAの方が優れとるんか?

10 機械学習エンジニア 2024/03/28(木) 14:45:56.78 ID:uvwxyzab
>>9
BiLoRAはAdaLoRAよりも精度が高いみたいやな
計算コストもAdaLoRAより3倍近く低いらしい

11 名無しさん@なんJ 2024/03/28(木) 14:47:12.34 ID:cdefghij
BiLoRAって学習に時間かかりそうやけど、
LoRAと比べてどうなん?

12 論文著者A 2024/03/28(木) 14:50:34.56 ID:opqrstuv
>>11
BiLoRAは1ステップの学習は遅いけど、
収束が速いから、トータルの学習時間はLoRAより短いんや
MNLIのタスクやと、6分の1の学習時間で済んだで

13 名無しさん@なんJ 2024/03/28(木) 14:52:23.45 ID:stuvwxyz
なるほど、過学習を防ぎつつ効率的に学習できるんやな
LoRAの改良版、今後も注目やね!


要約

最新トレンドの"BiLoRA"っていう技術が話題になってるみたい!LoRAをよりスマートに改良したやつで、過学習っていう、学習データに固執しすぎちゃう問題を cleverに解決してるの。具体的には、特異値分解(行列をいい感じに分解するやつ)を活用して、2段階の最適化で学習を進めることで、効率と精度を同時にアップさせる手法なのよ。

LoRAが訓練データにちょっと依存しすぎちゃう問題を、BiLoRAは特異ベクトルと特異値を別々のデータで学習することでスマートに回避してるのね。これがめっちゃ賢いアイデアで、結果として、パラメータ数はそのままで、精度は上がるってわけ。

他のLoRAのバージョン、例えば"AdaLoRA"とかあるけど、BiLoRAはそれらよりも精度が高い上、計算コストもかなり低く抑えられるらしい。でも、1ステップごとの学習はちょっと時間かかるかもしれないけど、収束はめちゃ早いから、結局のところ、トータルの学習時間は短く済むみたい

要するに、BiLoRAっていうのは、賢くて効率的に学習できるようにLoRAを改良した超便利な技術ってわけ。これからのAI界、めちゃくちゃ盛り上がりそうだよね!


AFLoRA

解説
1 名無しさん@なんJ 2024/03/28(木) 15:23:45.67 ID:abcdefgh
AFLoRAとかいうLoRAの改良版が出たみたいやな
適応的にランク凍結させるらしいで

2 名無しさん@なんJ 2024/03/28(木) 15:25:12.34 ID:ijklmnop
>>1
LoRAってなんやねん、最近よく聞くけど

3 機械学習専門家 2024/03/28(木) 15:27:56.78 ID:qrstuvwx
>>2
LoRAはパラメータ効率の良いファインチューニング手法の一つやね
事前学習済みモデルの一部のパラメータだけ更新することで
コンパクトにタスクに適応できるんや

4 自然言語処理研究者 2024/03/28(木) 15:30:23.45 ID:yzabcdef
このAFLoRAはLoRAのランク割り当てを適応的に最適化するみたいやな
freezing scoreでランクの重要度を測って、要らんランクから順に凍結していくらしい

5 名無しさん@なんJ 2024/03/28(木) 15:32:12.34 ID:ghijklmn
ランクを凍結するメリットってなんなん?

6 機械学習エンジニア 2024/03/28(木) 15:35:34.56 ID:opqrstuv
>>5
ランクを凍結することで計算コストが下がるんや
オーバーフィッティングも防げるみたいやで

7 名無しさん@なんJ 2024/03/28(木) 15:37:23.45 ID:wxyzabcd
精度的にはどうなん?LoRAより良くなるんか?

8 論文著者A 2024/03/28(木) 15:40:56.78 ID:efghijkl
>>7
GLUEベンチマークで検証したところ、AFLoRAはLoRAより平均0.85%精度が向上したで
パラメータ数は9.5倍少なくて済むという利点もあるな

9 名無しさん@なんJ 2024/03/28(木) 15:42:12.34 ID:mnopqrst
ELoRAとかいう亜種もあるみたいやけど、AFLoRAが一番ええんか?

10 論文著者B 2024/03/28(木) 15:45:34.56 ID:uvwxyzab
>>9
ELoRAはランクを全部凍結するから、ランク数が多くないと精度が出ないんや
その点、AFLoRAは適応的に凍結するから効率がええね
ELoRAより計算量が3倍近く少なくて済むで

11 名無しさん>なんJ 2024/03/28(木) 15:47:23.45 ID:cdefghij
層ごとにランクの凍結具合に違いはあるんかな

12 機械学習専門家 2024/03/28(木) 15:50:56.78 ID:qrstuvwx
>>11
中間層の方が凍結が遅いみたいやな
表現力が低いから学習が必要なんやろな

13 名無しさん@なんJ 2024/03/28(木) 15:52:12.34 ID:klmnopqr
なるほど、LoRAもどんどん進化しとるんやな
パラメータ効率のええモデルが使いやすくなるのは嬉しいわ

要約

"AFLoRA"っていう最新バージョンのLoRAがバズってるみたい!この技術、超スマートにランク(モデルの計算に必要な情報の「重要度」みたいなもの)を「凍結」させることで、計算をもっと効率よくできるようにするの

LoRA自体がもうパラメータ効率がいいんだけど、AFLoRAはそれをさらに上手く使って、不必要なランクを順番に凍結していくわけ。これによって、計算コストが減るし、学習データに過剰にフィットしちゃうのも防げるのね。

で、結果の方もめっちゃいい感じで、LoRAよりも平均0.85%の精度アップがあるって。しかも、パラメータ数はめっちゃ少なくて済むみたい。他の亜種と比べても、AFLoRAが一番効率良くて、精度も高いのよね。

この「適応的に凍結する」っていうのがポイントで、特にモデルの中間層は凍結されるのが遅いっていうのが面白いわ。これって、その層がもっと学習する必要があるってことを示してるのよね。

要は、AFLoRAっていうのは、もっと賢くて効率的にモデルを学習させるための進化版LoRAってわけ!これからのAIの世界、さらに楽しみになってきたわね!


ALoRA

解説
1 名無しさん@なんJ 2024/03/28(木) 12:34:56.78 ID:abcdefgh
ALoRAとかいうLoRAの改良版がでたみたいやな
低ランク適応を動的に調整するらしいで

2 名無しさん@なんJ 2024/03/28(木) 12:36:12.34 ID:ijklmnop
>>1
LoRAって最近よく聞くけどなんなんや?

3 機械学習専門家 2024/03/28(木) 12:38:34.56 ID:qrstuvwx
>>2
LoRAはパラメータ効率の良いファインチューニング手法の一つやね。事前学習済みのモデルの一部のパラメータだけ更新することで、少ないコストで下流タスクに適応させられるんや。

4 自然言語処理研究者 2024/03/28(木) 12:41:23.45 ID:yzabcdef
このALoRAってのはLoRAのランク割り当てを動的に最適化するみたいやな。重要度の低いランクを削って、重要なTransformerモジュールにランクを再割り当てするらしい。

5 名無しさん@なんJ 2024/03/28(木) 12:43:56.78 ID:ghijklmn
ランクの重要度ってどうやって決めるんや?

6 機械学習エンジニア 2024/03/28(木) 12:46:12.34 ID:opqrstuv
>>5
AB-LoRAって新しい手法でランクの重要度スコアを計算するみたいや。各ランクを除いたり単独で評価したりして、モデル全体のパフォーマンスへの影響を見積もるんやって。

7 名無しさん@なんJ 2024/03/28(木) 12:48:34.56 ID:wxyzabcd
でもランクの数増やしたりするとメモリ食うんちゃうの?

8 計算機科学者 2024/03/28(木) 12:51:23.45 ID:efghijkl
>>7
ALoRAは初期にランクを大量に用意する必要ないから、トレーニング中のメモリ消費が抑えられるメリットがあるみたいやで。最終的なランク数は予算の範囲内に収まるように設計されとる。

9 名無しさん@なんJ 2024/03/28(木) 12:53:56.78 ID:mnopqrst
いろんなタスクで性能比較してるみたいやけど、LoRAより精度ええんか?

10 AIベンチャー社員 2024/03/28(木) 12:56:12.34 ID:uvwxyzab
>>9
論文のTable 1見る限り、ALoRAはSQuADとかGLUEのタスクでLoRAより consistently に高い精度出しとるな。パラメータ数は同等みたいやし、なかなか有望そうや。

11 名無しさん@なんJ 2024/03/28(木) 12:58:34.56 ID:cdefghij
GPT-4でインストラクションチューニングの品質評価もしてるんか。SoRAより高評価もろてるな。

12 言語処理系大学院生 2024/03/28(木) 13:01:23.45 ID:klmnopqr
このALoRA、LoRAモジュールの初期ランク数が少なくても、動的に再割り当てすることで高い性能出せるのは興味深いな。
事前学習済みモデルの知識をうまく活用しつつ、タスク特化の知識も獲得できてるんやろな。

13 名無しさん@なんJ 2024/03/28(木) 13:03:56.78 ID:stuvwxyz
LoRAの発展版がいろいろ出てきよるけど、ALoRAはなかなかええアプローチやと思うわ。
今後もLoRAベースのPEFT手法に注目やな!

要約

"ALoRA"っていう超最新バージョンのLoRAが登場したみたい!これ、もう少しスマートに、低ランク適応を動的に調整するやり方で、Transformerモデルのパフォーマンスをめっちゃ上げるの

LoRAっていうのがもともと、めっちゃ効率的にファインチューニングできる技術なんだけど、ALoRAはそれをさらに進化させて、重要じゃないランクをカットして、本当に必要な部分にリソースを集中させるわけ。ランクの重要度は「AB-LoRA」っていう新しい方法で計算して、それに基づいてランクの再配分をするのね。

でもって、この手法がいいのは、トレーニングの最初から大量のランクを用意する必要がないから、メモリ消費を抑えられるってところ。結果的に、パフォーマンスは上がるけど、必要なパラメータ数は同じくらいで済むっていうから、めっちゃ賢いよね。

実際、SQuADやGLUEのタスクでLoRAよりも高い精度を出してるし、GPT-4でのインストラクションチューニングでもいい結果が出てるらしい。最初のランク数が少なくても、動的に再割り当てして性能を引き出せるっていうのは、めっちゃ興味深いよね。

要するに、ALoRAっていうのは、パラメータ効率がいい上に性能もバッチリな、めちゃくちゃ便利なLoRAの改良版ってわけ!これからのAIの進化、ますます楽しみになってきたわ!


比較表(Claude版)

Claude 3に以下のプロンプトで比較表を作ってもらいました。先ほどの要約した文章をテキストファイルにまとめて添付しています。ChatGPTにも同様のプロンプトで指示しています。

上記のテキストから以下の各LoRAの比較を表にして。

- LoRA
- QLoRA
- DoRA
- QDyLoRA
- MoELoRA
- GaLore
- BiLoRA
- AFLoRA
- ALoRA


比較表

LoRA比較表 Claude 3 Opus



おまけ

ChatGPTのGPTsで、arXiv APIを使った論文解説GPTを作成しました。よかったら遊んでみてください。こちらはarXivサイトに行かなくても論文をいくつか選んで提示してくれます。(注:会話は、なんJ風ではありません。)


この記事が参加している募集

最近の学び

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?