あなたはまだLORAを使用してLLMを微調整していますか?
LORA(低ランク適応型-ARXIV.org/ABS/2106.09685)は、費用対効果が高く微調整された大手言語モデル(LLM)の一般的なテクノロジーです。しかし、2024年には、多数の新しいパラメーター効率の高い微調整技術が登場し、さまざまなLORAの代替品が次々と出現しました:SVF、SVFT、ミロラ、ピッサ、ロラ-XS?深く飛び込みましょう。
ロラ
Loraからの最初の洞察は、微調整モデルのすべての重量が過剰操作されていることです。代わりに、Loraはモデルをフリーズし、小さな低ランクの「アダプター」マトリックスのペアのみをトレーニングします。以下の図を参照してください(wは変圧器LLMの重量マトリックスです)。
計算および保存する勾配がはるかに少ないため、メモリと計算サイクルを保存できます。たとえば、これはロラの微調整を使用して海賊がどのように話すかをシミュレートするGemma 8Bモデルです。2200万のパラメーターのみをトレーニングでき、85億パラメーターは凍結のままです。
ロラはとても人気があります。シングルラインAPIとしてのKerasなどの主流のMLフレームワークにも入りました。
<code>gemma.backbone.enable_lora(rank=8)</code>
しかし、ロラは最高ですか?研究者は式の改善に取り組んできました。実際、小さな「アダプター」マトリックスを選択するには多くの方法があります。それらのほとんどは、マトリックスの特異値分解(SVD)を巧みに利用しているため、少しの数学のために一時停止しましょう。
SVD:単純な数学
SVDは、マトリックス構造を理解するための優れたツールです。この手法は、マトリックスを3つに分解します:w = usv t 、uとvは直交(すなわち、基底変換)であり、sはソートされた特異値の斜めマトリックスです。この分解は常に存在します。
「教科書」SVDでは、uとvは正方行列であり、Sは斜めとゼロにゼロに特異な値を持つ長方形のマトリックスです。実際、正方行列sを使用し、長方形uまたはvを使用できます - 写真を参照 - 切り捨てられた部分はゼロだけで掛けられます。この「エコノミー」SVDは、numpy.linalg.svdなどの共通ライブラリで使用されます。
それでは、これをどのように使用して、トレーニングするウェイトをより効果的に選択するのでしょうか?解説的な指示を備えた最近の5つのSVDベースの低ランク微調整技術を簡単に見てみましょう。
SVF
LORAの最も簡単な代替品は、モデルの重量マトリックスでSVDを使用してから、単数値を直接微調整することです。奇妙なことに、これはSVFと呼ばれる最新のテクノロジーであり、Transformers²Paper(arxiv.org/abs/2501.06252v2)に掲載されています。
SVFは、ロラよりもパラメーターの点ではるかに経済的です。さらに、微調整モデルを構成可能にします。これの詳細については、Transformers²の説明をこちらで参照してください。ただし、2つのSVF微調整モデルを組み合わせることは、追加操作にすぎません。
svft
より多くの訓練可能なパラメーターが必要な場合は、SVFTペーパー(arxiv.org/abs/2405.19597)は、最初に対角線にさらに訓練可能な重みを追加することで、さまざまな方法を探ります。
また、「M」マトリックスにランダムに散乱するなど、他のさまざまな代替品を評価します。
さらに重要なことは、SVFTの論文は、対角線よりも訓練可能な値を持つことが有用であることを確認しています。以下の微調整の結果を参照してください。
次は、特異値を「大きな」と「小」の2つのグループに分割するいくつかの手法です。しかし、先に進む前に、もう少しSVD数学のために一時停止しましょう。
より多くのSVD数学
SVDは通常、3つのマトリックスw = usv tに分解されると見なされますが、単数の値で重み付けされた多くのランク1マトリックスの加重合計と見なすこともできます。
これを証明したい場合は、 usv tフォームとマトリックスの乗算の式を使用して、一方で単一のマトリックス要素w jkを表現し、他方でσsi u i v i tフォームを使用し、Sが斜長であるという事実を簡素化し、それは同じであることに注意してください。
この表現では、合計を2つの部分に分割できることを簡単に確認できます。また、常に単数値を並べ替えることができるため、それらを「大きな」単数値と「小さな」特異値に分割できます。
3つのマトリックスフォームw = usv tに戻ると、これがセグメンテーションがどのように見えるかです。
この式に基づいて、2つの論文では、大きな特異値または小さな単数値のみ、つまりPissaとMiloraのみを調整した場合に何が起こるかを探ります。
ピッサ
Pissa(メインの特異値と特異ベクトル適応、arxiv.org/abs/2404.02948)は、大きなマスター値のみを調整する必要があると主張しています。メカニズムは次のとおりです。
紙から抜粋:「ピッサは、重量マトリックスの性質を捉えると考えられている主要な特異コンポーネントを調整することにより、完全な微調整を目指しています。代わりに、ミロラは、基礎モデルの知識を最大化しながら新しいタスクに適応するように設計されています。」
Pissa Paperには興味深い発見もあります。完全な微調整は過剰になりやすいです。低ランクの微調整技術を使用すると、絶対値についてより良い結果を得ることができます。
ミロラ
一方、ミロラは、小さなマスター価値のみを調整する必要があると主張しています。同様のメカニズムをPissaに使用します。
驚くべきことに、ミロラは、少なくとも数学のデータセットを微調整するときは、元のトレーニング前と非常に一致する可能性があるようです。 Pissaは、LLMの操作をさらに訓練することからさらに曲げるために、より適しているべきであると主張することができます。
lora-xs
最後に、lora-xs(arxiv.org/abs/2405.17604)に言及したいと思います。 Pissaに非常に似ていますが、メカニズムはわずかに異なります。また、LORAも良い結果をもたらすよりもはるかに少ないパラメーターを示しています。
このペーパーは、このセットアップが2つのケースで「理想」であるという数学的説明を提供します。
- svdから下のメイン値をカットすると、まだ重量マトリックスがよく近似されます
- 微調整データ分布は、トレーニング前のデータ分布に近い
どちらも私には疑っているように思われるので、私は数学に詳細に入りません。いくつかの結果:
基本的な仮定は、特異値が「大きな」と「小」に分割されているということですが、それは本当ですか? colabでGemma2 9bをすぐに確認しました。結論:特異値の99%は0.1〜1.1の範囲です。それらを「大きな」と「小」に分割することが理にかなっているかどうかはわかりません。
結論は
効率的なパラメーター化のための他の多くの微調整技術があります。言及する価値があります:
- dora(arxiv.org/abs/2402.09353)は、重みをサイズと向きに分割し、それらの重みを調整します。
- Adalora(arxiv.org/abs/2303.10512)は、特定のトレーニング可能な体重予算に最適な調整ランクを見つけるための複雑なメカニズムを備えています。
私の結論:10倍のパラメーターでLora標準を上回るために、私は変圧器のSVFのシンプルさが好きです。より多くの訓練可能なウェイトが必要な場合、SVFTは簡単な拡張機能です。どちらもすべての特異値(フルランク、特異値の剪定なし)を使用し、まだ安いですか?幸せな微調整をお祈りします!
注:すべてのイラストは、著者によって作成されるか、コメントやディスカッションのためにarxiv.org論文から抽出されます。
以上があなたはまだLORAを使用してLLMを微調整していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











エージェントAIに取り組んでいる間、開発者は速度、柔軟性、リソース効率の間のトレードオフをナビゲートすることがよくあります。私はエージェントAIフレームワークを探索していて、Agnoに出会いました(以前はPhi-でした。

このリリースには、GPT-4.1、GPT-4.1 MINI、およびGPT-4.1 NANOの3つの異なるモデルが含まれており、大規模な言語モデルのランドスケープ内のタスク固有の最適化への動きを示しています。これらのモデルは、ようなユーザー向けインターフェイスをすぐに置き換えません

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

埋め込みモデルのパワーのロックを解除する:Andrew Ngの新しいコースに深く飛び込む マシンがあなたの質問を完全に正確に理解し、応答する未来を想像してください。 これはサイエンスフィクションではありません。 AIの進歩のおかげで、それはRになりつつあります

Rocketpy:A包括的なガイドでロケット発売をシミュレートします この記事では、強力なPythonライブラリであるRocketpyを使用して、高出力ロケット発売をシミュレートすることをガイドします。 ロケットコンポーネントの定義からシミュラの分析まで、すべてをカバーします

GoogleのAI戦略の基礎としてのGemini Geminiは、GoogleのAIエージェント戦略の基礎であり、高度なマルチモーダル機能を活用して、テキスト、画像、オーディオ、ビデオ、コード全体で応答を処理および生成します。 DeepMによって開発されました

「オープンソースロボットを世界に持ち込むために花粉ロボットを獲得していることを発表して非常にうれしいです」と、Facing FaceはXで述べました。

AIコミュニティの重要な開発において、Agenticaと一緒にAIは、DeepCoder-14Bという名前のオープンソースAIコーディングモデルをリリースしました。 Openaiのようなクローズドソースの競合他社と同等のコード生成機能を提供する
