GENZITSU / UsefulMaterials

34 stars 0 forks source link

almost weekly useful materials - 01/31 - #144

Open GENZITSU opened 3 months ago

GENZITSU commented 3 months ago

Fine-Tuning LLMs: LoRA or Full-Parameter? An in-depth Analysis with Llama 2

Full Parameter学習とLoRA学習の性能差や学習効率などについて述べられているブログ。

LoRAの基礎的な仕組みから説明がなされているため勉強になる。

以下勉強になった点を抜粋

パフォーマンス比較

タスクにも寄るが、7B, 13B, 70BでLoRAとfull parametersはほとんど性能差が無い

anyscale-all

LoRAのハイパラ

rank(r): 8~16くらいで十分だったとのこと、当然8の方がcheckpointのサイズは小さくなる

lora_alpha: 16で固定するのが良いとされている。 (元論文, Platypusの論文)

Target modules: 全パラメータを対象にした方が良い

base learning rate: 1e-4がよく使われているが、もっと低い方が安定する。1e-5や3e-5など

スクリーンショット 2024-01-24 13 00 01

スクリーンショット 2024-01-24 13 00 11

学習時に用いるプロンプト

full finetuningする際は特殊トークンを用いたプロンプトテンプレートの利用が効果的だったが、LoRAだとあまり効果が出ないとのこと(out-of-distributionすぎるから...?)

lora_blog_code_1

以下のようにタスク内容を詳細に説明してあげるようなプロンプトにすると学習が効率的に進んだとのこと

lora_blog_code_2

スクリーンショット 2024-01-24 13 04 50

LoRA時の特殊トークンの扱い方

追加したトークンの分だけ追加のembedding matrixを作成し、Loraをかける。 推論時に追加したembedding matrixもcheckpointとして保存しておくことを忘れずに

スクリーンショット 2024-01-24 13 15 24

学習速度について

1系列あたりのメモリ消費が効率的になった分だけバッチサイズを上げないと学習のスループット速度は上がらないことに注意。

スクリーンショット 2024-01-24 13 17 55

一方で特定性能に達するまでの時間という意味だとfull parameterとLoRAであまり差はない

スクリーンショット 2024-01-24 13 18 56

メモリ消費量

概ねLoRA(r=8)の場合半分程度の消費になる。

スクリーンショット 2024-01-24 13 22 20

モデルの保存容量

スクリーンショット 2024-01-24 13 22 59

Lora8の全レイヤー保存の場合でも1/350程度になる。モデルを複数サービングするときに効果が大きく出る

コメント

学習スループットは上がるが、学習完了までの時間は結局変わらないというのが意外だった。 パラメータ設定部分も参考になる。

出典

GENZITSU commented 3 months ago

brevdev/ notebooks

LLMの推論や学習方法を記載したnotebookをまとめているレポジトリ

スクリーンショット 2024-01-24 14 37 04

コメント

いつか参考にできそう

出典

GENZITSU commented 3 months ago

airllmを使ってT4で70B LLMの推論を実行してみる

70Bなどのモデルサイズがでかいモデルを小メモリPCでも動かせるように層ごとに推論させるライブラリairllmの紹介

t4インスタンスでmeta-llama/Llama-2-70b-chat-hf1を動かしたときに1 tokenあたり 7~8分かかったようで実用はなかなか難しそう。

ただし性能は結構良いようで、AWPなどを駆使したMLMモデルのaccが0.814だったものが0.84程度になったとのこと (厳密には評価データが異なる)

コメント

もう少し最適化されて1分くらいになれば使い道ありそう

出典

GENZITSU commented 3 months ago

Yes, Transformers are Effective for Time Series Forecasting (+ Autoformer)

AAAI2023にて投げかけられたAre Transformers Effective for Time Series Forecasting? という問いに対して、時系列データに対してもTransformer系のモデルは効果的であるという結果を実験的に示している記事

以下が結果

1次元の時系列データに対しての方が多次元のものよりも常によく、Transformerでも全然精度が出ることを示している。

スクリーンショット 2024-01-26 18 33 01

ただし、学習データのサイズが十分にないと効力が発揮しづらいとも述べられているため、実際のデータに適用する時はよく考えないとダメそう。

コメント

評価指標的にはTransofmerはいいぞって感じになっているが、予測結果のplotを見るとほんまか...?ってなる

まぁ時系列予測自体が難しいというのが大きそう

スクリーンショット 2024-01-26 18 39 02 スクリーンショット 2024-01-26 18 38 55

出典