ラマ 2 の大型モデルのアルパカの毛をカットするとどのような影響がありますか?本日、プリンストン大学のChen Danqiチームは、LLM-Shearingと呼ばれる大規模モデルの枝刈り手法を提案しました。これは、少ない計算量とコストで、同じサイズのモデルよりも優れたパフォーマンスを実現できます。
大規模言語モデル (LLM) の出現以来、LLM はさまざまな自然言語タスクで目覚ましい結果を達成してきました。ただし、大規模な言語モデルのトレーニングには大量のコンピューティング リソースが必要です。その結果、業界では、効率的な推論と微調整を可能にする LLaMA、MPT、Falcon の登場により、同様に強力な中規模モデルの構築にますます関心が高まっています。 これらのさまざまなサイズの LLM はさまざまなユースケースに適していますが、個々のモデルをゼロからトレーニングするには (10 億の小さなパラメーター モデルであっても)、依然として大量のコンピューティング リソースが必要です。 、これはほとんどの科学研究機関にとって依然として大きな負担となっています。 したがって、この記事では、プリンストン大学の Chen Danqi のチームが次の問題の解決を試みます: 既存の事前トレーニング済み LLM を使用して、より小規模で汎用性の高いパフォーマンスの高い LLM を構築できるか-ゼロからトレーニングするよりもはるかに少ない計算量で効率的な競争力のある LLM を実現できますか? 研究者は、目標を達成するために構造化された枝刈りの使用を検討しています。ここでの問題は、汎用 LLM の場合、特に枝刈り後に大幅な計算投資がない場合、枝刈りされたモデルのパフォーマンスが低下することです。彼らが使用した効率的な枝刈り手法は、より小さいながらもパフォーマンス競争力のある LLM を開発するために使用でき、トレーニングに必要な計算量は、最初からトレーニングするよりも大幅に少なくなります。
- ペーパーアドレス: https://arxiv.org/abs/2310.06694
- コードアドレス: https://github.com/princeton-nlp/LLM-Shearing
- ModelsSheared-LLaMA-1.3B、Sheared-LLaMA-2.7B
# LLM を枝刈りする前に、研究者は 2 つの重要な技術的課題を特定しました。1 つは、強力なパフォーマンスと効率的な推論を備えた最終的な枝刈り構造を決定する方法です。 LLM の現在の構造化枝刈りテクノロジには、指定されたターゲット構造がないため、枝刈りモデルのパフォーマンスと推論速度が不十分になります。第 2 に、期待されるパフォーマンスを達成するために枝刈りモデルの事前トレーニングを続けるにはどうすればよいでしょうか?彼らは、未加工のトレーニング前データを使用したトレーニングでは、モデルを最初からトレーニングする場合と比較して、ドメイン全体で異なる損失削減効果が得られることを観察しました。 これら 2 つの課題に対応して、研究者らは 「LLM - シャーリング」アルゴリズム を提案しました。 「有向構造化枝刈り」と呼ばれるこの新しい枝刈りアルゴリズムは、既存の事前トレーニング済みモデルの構成によって決定される指定されたターゲット アーキテクチャにソース モデルを枝刈りします。これらは、枝刈り手法がソース モデル内の部分構造を検索し、リソース制約の下でパフォーマンスを最大化することを示しています。さらに、動的バッチローディングアルゴリズムが設計されており、損失削減率に応じて各ドメインのトレーニングデータを比例的にロードできるため、データが効率的に利用され、全体的なパフォーマンスの向上が加速されます。 最後に、研究者らは LLaMA2-7B モデルを 2 つの小さな LLM、すなわち Sheared-LLaMA-1.3B と Sheared-LLaMA-2.7B に枝刈りし、その有効性を確認しました。方法。
彼らは、事前トレーニングをプルーニングして継続するために 500 億トークン (つまり、OpenLLaMA 事前トレーニング予算の 5%) のみを使用しましたが、11 の代表的な下流タスク (たとえば、一般知識、読解力、世界知識) とオープンエンドの生成命令チューニングの両方のモデルは、Pythia、INCITE、OpenLLaMA など、同様のサイズの他の人気のある LLM よりも優れたパフォーマンスを示しています。
しかし、本稿が Sheared-LLaMA-3B をリリースしたとき、最強の 3B オープン ソース モデルの記録は StableLM-3B によって破られていたことに言及する必要があります。
さらに、下流タスクのパフォーマンスの軌跡は、より多くのトークンを使用してプルーニングされたモデルをさらにトレーニングすると、より大きなメリットがもたらされることを示しています。研究者らは最大 70 億パラメータまでのモデルのみを実験しましたが、LLM せん断は非常に汎用的であり、将来の研究ではあらゆるサイズの大規模な言語モデルに拡張できる可能性があります。 既存の大規模モデル M_S (ソース モデル ) が与えられると、この記事の目的は、より小さく強力なモデル M_T (ターゲット モデル) を効果的に生成する方法を研究することです。研究では、これを完了するには 2 つの段階が必要であると考えています:
- 最初の段階では、M_S を M_T にプルーニングします。これによりパラメーターの数は減りますが、必然的にパフォーマンスの低下につながります;
- 第 2 ステージでは、引き続き M_T の事前トレーニングを行って、パフォーマンスを強化します。
構造化プルーニングパラメータをモデルから削除できるため、モデルが圧縮され、推論が高速化されます。ただし、既存の構造化された枝刈り手法では、モデルが従来のアーキテクチャ構成から逸脱する可能性があります。たとえば、CoFiPruning メソッドは不均一なレイヤー構成を持つモデルを生成するため、標準の統合レイヤー構成と比較して追加の推論オーバーヘッドが発生します。
この記事では、CoFiPruning を拡張して、ソース モデルを指定されたターゲット構成にプルーニングできるようにします。たとえば、この記事では、2.7B モデルを生成する際のターゲット構造として INCITE-Base-3B アーキテクチャを使用します。
さらに、この記事では、さまざまな粒度のモデル パラメーターに対する一連のプルーニング マスクについても学習します。マスク変数は次のとおりです:
各マスク変数は、関連する部分構造を削除するか保持するかを制御します。たとえば、対応する z^layer= 0 の場合、このレイヤーは削除する必要があります。以下の図 2 は、プルーニング マスクがどの構造をプルーニングするかを制御する方法を示しています。
この論文では、枝刈りの後、各部分構造のマスク変数に関連付けられた最もスコアの高いコンポーネントを保持することで枝刈り後のアーキテクチャを完成させ、引き続き言語構築を使用します。枝刈りされたモデルを事前トレーニングします。
この調査では、多数の枝刈りされたモデルは、モデルのパフォーマンスを回復するには、事前トレーニングが必要です。
この論文では、他の研究に触発されて、モデルのパフォーマンスに基づいてドメインのスケールを動的に調整するだけで済む、より効率的なアルゴリズムである動的バッチ読み込みを提案します。アルゴリズムは次のとおりです。
モデル構成: この記事LLaMA2-7B を使用 モデルをソース モデルとして使用し、構造化枝刈り実験を実行しました LLaMA2-7B を 2.7 B パラメーターと 1.3 B パラメーターの 2 つの小さなターゲット サイズに圧縮し、枝刈りモデルのパフォーマンスをモデルと比較しましたOPT-1.3B、Pythia-1.4B、OPT-2.7B、Pythia-2.8B、INCITE-Base-3B、OpenLLaMA-3B-v1、OpenLLaMA-3B-v2 を含みます。表 8 は、これらすべてのモデルのモデル アーキテクチャの詳細をまとめたものです。
データ: LLaMA2 のトレーニング データは公開されていないため、この記事では RedPajama データセットを使用します。表 1 は、この論文のモデルとベースライン モデルで使用される事前トレーニング データを示しています。
トレーニング: すべての実験で最大 16 個の Nvidia A100 GPU (80GB) を使用しました。
SHEARED-LLAMA は、同等のサイズの LM よりも優れたパフォーマンスを発揮しますこの論文では、Sheared-LLaMA が次のことを示しています。これらのモデルを最初からトレーニングするために使用する計算予算の一部のみを使用しながら、同様のサイズの既存の LLM よりも大幅に優れたパフォーマンスを発揮します。
下流タスク: 表 2 は、下流タスクにおける Sheared-LLaMA と同様のサイズの既存の事前トレーニング済みモデルのゼロショットおよび少数ショットのパフォーマンスを示しています。
命令チューニング: 図 3 に示すように、命令チューニングされた Sheared-LLaMA は、同じスケールの他のすべての事前トレーニング済みモデルと比較して、より高い勝率を達成します。
図 4 は、INCITEBase-3B モデルが非常に高い精度で開始されるが、進行中の事前トレーニング プロセス中にパフォーマンスが横ばいになることを示しています。
その中で、研究者は次の 3 つを研究しました。動的バッチ読み込みの有効性を分析するために、(1) ドメイン全体にわたる最終的な LM 損失、(2) トレーニング プロセス全体にわたる各ドメインのデータ使用量、および (3) 下流タスクのパフォーマンスの影響を分析します。結果は Sheared-LaMA-1.3B アルゴリズムに基づいています。
クロスドメイン損失の差。動的バッチロードの目的は、損失がほぼ同時に基準値に達するように、各ドメインの損失削減率のバランスをとることです。モデル損失 (元のバッチ ロードと動的バッチ ロード) と基準損失の差を図 5 にプロットします。対照的に、動的バッチ ロードは損失を均等に削減し、ドメイン間の損失の差も非常に似ています。これは、次のことを示しています。データをより効率的に活用します。 ###############データ使用量。表 3 は、RedPajama の生データの割合と動的に読み込まれるドメイン データの使用量を比較しています (図 7 は、トレーニング プロセス全体にわたるドメインの重みの変化を示しています)。動的一括読み込みにより、Book ドメインと C4 ドメインの重みが他のドメインに比べて増加します。これは、これらのドメインをプルーニングされたモデルから回復することがより困難であることを示しています。
下流のパフォーマンス。図 6 に示すように、動的バッチ読み込みを使用してトレーニングされたプルーニングされたモデルは、元の RedPajama ディストリビューションでトレーニングされたモデルと比較して、ダウンストリームのパフォーマンスが向上しました。これは、動的バッチ読み込みによってもたらされる、よりバランスのとれた損失削減により、ダウンストリームのパフォーマンスが向上する可能性があることを示唆しています。
さらに、研究者らは LLM を使用しました。せん断手法は他の枝刈り手法と比較され、検証の複雑さが報告されます。これは、モデル全体の機能の強力な指標となります。 計算上の制限のため、次の実験では、各メソッドを最後まで実行するのではなく、比較されるすべてのメソッドの合計計算量を制御します。
表 4 に示すように、同じスパース性の下では、この記事のターゲット プルーニング モデルの推論スループットは、不均一プルーニング CoFiPruning モデルの推論スループットよりも高くなります。しかし、困惑はわずかに高くなります。
#その他の分析
表 5 は、トークンの総量が制御される場合の結果を示しています。 、枝刈りのオーバーヘッドを増やすと、複雑さが継続的に改善される可能性があります。ただし、枝刈りは継続的な事前トレーニングよりもコストがかかるため、研究者は枝刈りに 0.4 億トークンを割り当てました。
研究の詳細については、元の論文を参照してください。 以上が「アルパカ」を段階的に剪断する方法を教えます。Chen Danqi のチームは、LLM-Shearing 大型モデル剪定方法を提案しました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。