この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。 最近では、大規模モデルとともに、大規模モデルを微調整する手法も普及してきました。 このタイプの方法では、少量のデータのみを使用して、大規模なモデルが、元々パフォーマンスが低かった下流のタスクから「際立って」、このタスクの専門家になることを可能にします。 大規模モデルを微調整するための最も一般的な方法はLoRAです。 しかし、LoRA を含むこのタイプの方法の核となる原理は何でしょうか?ビッグモデルとの関係は?詳しく見てみましょう。 1. はじめにまずは最近話題のLoRA (LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS)から始めましょう。 写真 この記事は ICLR2022 で提案されました。低ランク適応法の使用について説明しています。大規模なモデルを使用して下流のタスクに適応する場合、良好な結果を得るには少数のパラメータのみをトレーニングする必要があります。 LoRA はどのようにして下流のタスクを微調整し、適応するのでしょうか? プロセスは非常にシンプルです。LoRA は下流のタスクに対応するデータを使用し、新しく追加されたいくつかのパラメータをトレーニングするだけで下流のタスクに適応します。 新しいパラメータがトレーニングされた後、再パラメータ化メソッドを使用して古いモデルのパラメータとマージされます。これにより、推論時間を増やすことなく、新しいタスクでモデル全体を微調整できます。 LoRA の概略図は次のとおりです。 写真 図の青い部分は、事前トレーニングされたモデルのパラメータです。LoRA は、事前トレーニングされたモデル構造の横に 2 つの構造 A と B を追加します。これら 2 つの構造のパラメータは、それぞれガウス分布と 0 に初期化されるため、トレーニング開始時には追加パラメータは 0 になります。 Aの入力次元とBの出力次元は元のモデルの入力次元と出力次元と同じですが、Aの出力次元とBの入力次元は元のモデルの入力次元と出力次元よりもはるかに小さくなっています。これは低ランク(Resnetの構造に少し似ています)の具現化です。これにより、トレーニングするパラメータを大幅に削減できます。 トレーニング中は、A と B のパラメータのみが更新され、事前トレーニング済みモデルのパラメータは固定されます。推論中は、再パラメータ化の考え方を使用して AB と W をマージできるため、推論中に追加の計算が導入されることはありません。 さらに、さまざまな下流タスクでは、事前トレーニング済みのモデルに基づいて AB を再トレーニングするだけで済むため、大規模なモデルのトレーニングペースを高速化することもできます。 この記事では LoRA について具体的に紹介していないため、詳細については元の LoRA テキストを参照してください。 LoRA の記事で後続の実験によってこの方法の有効性が実証されたことだけを知っておく必要があります。 では、さらに考えてみましょう。なぜこの LoRA のアイデアはうまく機能するのでしょうか? その答えは、次に説明する本質的次元です。 この点は、元の LoRA の記事でも言及されています。この記事の着想は、次の 2 つの記事から得ています。 1. 客観的な風景の内在的次元の測定、ICLR 2018で発表、便宜上、この論文は[論文1]と呼ばれます。 2. 固有次元が言語モデルの微調整の有効性を説明する、ACL2021で発表された、便宜上、この論文は[論文2]と呼ばれます。 2. 本質的次元とは何ですか?固有次元の概念は[論文1]で提案されました。 ニューラル ネットワークのトレーニングには、多くの場合、次の手順が含まれます。 1.与えられたデータセットに対して、まずネットワーク構造を設計し、対応する損失を選択する。 トレーニング段階は、固定された目標地形上で効果的なパスを見つけることと考えることができます。 ターゲット グラフが固定される理由について説明します。データセットとネットワーク構造が固定されると、最適化する問題が定義されるため、ターゲットグラフも決定されます。 次の図に示すように: したがって、D 個のパラメータを持つモデルの場合、モデルをトレーニングするということは、D 次元空間で有効なソリューションを見つけることを意味します。この記事では、D は冗長である可能性があり、効果的なソリューションを見つけるには実際にはパラメータの d のみを最適化する必要がある可能性があると主張しています。 式は次のとおりです。 ここで、はD次元の最適化パラメータを表し、はランダムに初期化されたパラメータを表し、トレーニング中に更新されません。Pはランダムに初期化されたD×d行列であり、トレーニング中に更新されません。は最適化されるd次元のパラメータを表します。 つまり、ネットワークをトレーニングするときに、ネットワークの望ましい効果を実現するために d 次元パラメータのみを更新することができます。この d は、いわゆるモデルの固有次元です。 ここまで話した後でもまだ少し目が回っているかもしれませんので、次の図を見てみましょう。 上図では、青い部分は初期化されたネットワークパラメータ、緑の部分は、赤い部分は です。ネットワークをトレーニングする場合、赤い部分のみがトレーニングされ、他のパラメータは固定されます。 d は固有次元です。 上記は、ネットワークが目的の効果を達成できるように d 次元パラメータを更新するだけなので、目的の効果とは何でしょうか?論文では、d 次元のパラメータのみを更新して元のモデルをトレーニングしたときの効果の 90% にネットワーク効果が達したときに、「期待される効果」が達成されたとみなされると定義しており、d は固有の次元です。 例えば、MNISTデジタル分類タスクを実行する場合、元のモデルの精度が0.9に達することができる場合、d次元のパラメータのみを更新すると、精度は90%×0.9 = 0.81に達することができ、このときのdは固有次元であると見なされ、として記録されます。 3. 内在次元を使用して大規模モデルの微調整の有効性を考える【論文2】先に提案した内在次元は、大規模モデルの微調整の有効性を考えるために使われます。なぜ数百枚、数千枚の写真だけで大規模モデルを効果的に微調整できるようになったのでしょうか? [論文1]によれば、ある種の問題に対しては、一定の精度(例えば90%の精度に達する)で固有の特徴が存在します。大規模なモデルの場合、固有次元をテストすると、特定の種類の下流の問題を近似的に解決するために調整する必要があるパラメータの数を理解するのに役立ちます。 いくつかのパラメータを調整するだけで下流の問題をうまく解決できることを証明できる実験が本当にある場合、上記の質問に答えることができます。つまり、大規模なモデルに少し微調整を加える(少数のパラメータを調整する)ことで、現在の問題を解決できます。 別途指定がない限り、「論文」は[論文2]を指します。 3.1 大規模モデルの場合、固有の次元はありますか?[論文 1]と同様に、[論文 2]でも式を使用してモデルをトレーニングします。つまり、トレーニング中にd次元パラメータのみが調整されます。しかし、[論文1]の実験は[論文1]の実験とは少し異なり、パラメータはランダムに初期化されるのに対し、[論文2]のパラメータは事前にトレーニングされています。 [論文2] まず、BERT-Base\BERT-Large\RoBERTa-Base\RoBERTa-Largeの4つのモデルを選択し、GLUEベンチマークのMRPCデータセットとQQPデータセットを選択します(両方のデータセットは、文のペアが同じ意味を持つかどうかをテストするために使用されます) 。 上部と下部のサブグラフはそれぞれ MRPC タスクと QQP タスクを表しています。各サブグラフには、4 つのモデルの精度を表す 4 本の実線と、微調整されたモデル全体の 90% の精度に達する値を表す 4 本の点線があります。横軸はトレーニング d 次元のサイズを表しています。図から、2 つのタスクと 4 つの異なるモデルの場合、90% の精度を達成するには、より小さな d 次元パラメータのみをトレーニングする必要があることがわかります。大規模モデルでは、固有次元の概念が有効です。 したがって、ダウンストリーム タスクをトレーニングする場合、良好な結果を得るには少数のパラメータのみをトレーニングする必要があります。この時点で、記事の冒頭の問題は解決されました。しかし、著者は他の実験もいくつか行い、興味深い結論を見つけました。 3.2 事前トレーニングの質と内在的次元の関係この記事では、事前トレーニング済みモデルがさまざまな NLP タスクにおけるモデルの固有の次元を暗黙的に削減できるという仮説を提唱しています。 この推測に基づいて、論文では以下の実験を行いました。RoBERTa ベース モデルを事前トレーニングする際、対応する事前トレーニング済みモデルを 10K ごとに保存し、保存した事前トレーニング済みモデルを 6 つのデータセット (MRPC、QQP、Yelp Polarity、SST-2、MNLI、ANLI) の固有次元でテストしました。 結果は次のとおりです。 さまざまなデータ セットに共通の傾向があることがわかります。つまり、事前トレーニングの回数が増えるほど、各タスクにおけるモデルの固有の次元が低くなります。この実験では、いわゆる固有次元を特に最適化するのではなく、少し長めに事前トレーニングしただけです。これは、事前トレーニング済みモデルの表現能力が強くなるほど(トレーニングの質が高くなるほど) 、固有次元が小さくなることを証明しています。 3.3 事前学習済みモデルパラメータと固有次元の関係事前トレーニングパラメータと固有次元の関係を研究する場合、より説得力のあるモデルの構造を統一する必要があります。しかし、これには多くの大規模なモデル実験のトレーニングが必要であり、論文の比較を容易にするために、既存の構造に基づいて実験が行われたと著者は述べています。実験結果の傾向から判断すると、異なる構造でも有効な結論を導き出すことができます。 この記事では、既存の事前トレーニング済みモデルを使用して、MRPC データセットの固有次元を計算します。 実験結果は次のとおりです。 上図では、縦軸は固有次元の値を表し、横軸はモデルのパラメータ数を表しています。図の傾向から、モデルが大きくなるほど、固有次元が小さくなる、つまり、モデルが強力になるほど、固有次元が低くなることがわかります。 3.4 内在的次元と一般化能力の関係上記では、微調整(3.1) 、事前トレーニング(3.2)と内在次元の関係を紹介したが、内在次元と一般化能力の関係は検証されていない。つまり、固有次元を削減する方法はわかりましたが、固有次元を削減すると、一般化能力は向上するのでしょうか? この記事では、3.2 に保存したモデルを、対応する固有次元のさまざまなデータ セットでテストする次の実験も行いました。結果は次のとおりです。 写真 固有次元が低いモデルは、トレーニング時に精度が高くなることがわかります。つまり、固有次元が低いほど、一般化のパフォーマンスは向上します。 冒頭の質問に戻ります。LoRA のアイデアはなぜ機能するのでしょうか? 大規模モデルには固有次元の概念があるため、下流のタスクで良好な結果を得るには、少数のパラメータを調整するだけで済みます。 |
<<: スタンフォード大学の博士が独力で注意力を9倍に加速! FlashAttention はビデオメモリを消費し、Transformer のコンテキストの長さが劇的に増加します
>>: スタンフォード大学の博士によるソロ作品!大規模モデルのトレーニング速度が再び2倍になり、彼はスタースタートアップの主任科学者として参加することを正式に発表した。
2021年、国内の新エネルギー乗用車市場はチップ不足や電池原材料価格の高騰など予想外の事態に見舞わ...
F# の並列ソート アルゴリズムで最も一般的な方法の 1 つは、まず処理するデータを複数の部分に分割...
11月16日、Microsoft Ignite 2023カンファレンスが本日開幕しました。NVIDI...
2021年までに、学習アルゴリズムと人工知能の研究を通じて、機械は多くの面で人間よりも優れていると...
事情に詳しい関係者によると、10月28日、Googleはこれまでの投資に加え、OpenAIの競合企業...
あらゆるものがデータと自動化によって駆動される現代の世界では、人工知能はますます一般的になりつつあり...
人工知能はあらゆる業界に混乱をもたらしています。医療分野では、AI 技術が病気の診断において人間を上...
デジタルセンチネル現在、上海では多くの場所にデジタル監視装置が配備されており、出入国する人は健康コー...
[[430430]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...
BBCによると、サイズミック社は「スーパースーツ」と呼ばれる新しいウェアラブルデバイスを開発した。こ...