ここ数カ月間、大規模な言語モデルが広範な研究開発の対象となっており、GPT-4、Meta LLaMa、Alpaca などの最先端のモデルが自然言語処理とその実行に必要なハードウェアの限界を押し広げています。 。これらのモデルで推論を実行することは計算的に困難になる可能性があり、リアルタイムの結果を提供するには強力なハードウェアが必要です。
ここ数カ月間、大規模な言語モデルが広範な研究開発の対象となっており、GPT-4、Meta LLaMa、Alpaca などの最先端のモデルが自然言語処理とその実行に必要なハードウェアの限界を押し広げています。 。これらのモデルで推論を実行することは計算的に困難になる可能性があり、リアルタイムの結果を提供するには強力なハードウェアが必要です。
ストレージ レビュー ラボでは、8000 つの NVIDIA RTX XNUMX GPU を Meta の LLaMa モデルの実行に使用して、大規模な言語モデルで推論を実行する際のパフォーマンスを確認しました。私たちが使用したのは、 レノボP920 カードのホストとして機能し、ボトルネックを最小限に抑えます。 RTX 8000 は、AI およびディープ ラーニング アプリケーションで使用できるハイエンド グラフィックス カードであり、各カードに 48GB の GDDR6 メモリと 4608 個の CUDA コアを搭載しているため、特にスタックからこれらを選択しました。 ケビンは A6000 をすべて買いだめしていますです。
Meta LLaMA は、さまざまなインターネット テキストのセットでトレーニングされた大規模な言語モデルです。これは一般に公開されており、さまざまな自然言語処理タスクで最先端の結果を提供します。この記事では、NVIDIA GPU で LLaMA 推論をセットアップして実行する方法について段階的なガイドを提供します。これはすべての人に機能することが保証されているわけではありません。
メタ LLaMa の要件
始める前に、次の要件がインストールされていることを確認する必要があります。
- 少なくとも 16 GB の VRAM を搭載した NVIDIA GPU
- NVIDIA ドライバーがインストールされている (バージョン 440.33 以上)
- CUDA ツールキットがインストールされている (バージョン 10.1 以上)
- アナコンダがインストールされました
- PyTorch がインストールされている (少なくともバージョン 1.7.1)
- ディスクスペース; LLaMa チェックポイントのセット全体が 200 TB を超えています。
注: LLaMA には専用の Anaconda 環境を用意することをお勧めします。テストベンチにはいくつかの Anaconda 環境があるので、パッケージやパラメータをいじることができ、ベースのインストールに影響を与えることはありません。
NVIDIA GPU で Meta LLaMA 推論を実行する手順
- LLaMA リポジトリをダウンロードします。 最初のステップは、GitHub から LLaMA リポジトリのクローンを作成することです。
git clone https://github.com/EleutherAI/LLaMA.git
- LLaMA チェックポイントとトークナイザーを取得します。 GitHub ページにアクセスし、リンクされた Google フォームに記入してダウンロードにアクセスします。 Alpaca など、他の LLM も利用できます。この目的のために、LLaMa ファイルにアクセスできることを前提とします。
- クローン作成されたリポジトリ ディレクトリ内から次のコマンドを実行して、LLaMa に必要なプログラムを一覧表示してインストールします。
pip install -r requirements.txt
pip install -e .
- 推論スクリプトを設定します。 この
example.py
LLaMA リポジトリで提供されるスクリプトを使用して、LLaMA 推論を実行できます。スクリプトは、単一または複数の GPU ノード上で実行できます。torchrun
2 つの事前定義されたプロンプトの入力候補を出力します。
Open example.py
好みに応じて次のパラメータを設定します。各パラメータの説明とその機能を以下に示します。
--max_seq_len
: 最大シーケンス長 (デフォルトは 2048)--max_batch_size
: 最大バッチ サイズ (デフォルトは 8)--gen_length
: 世代の長さ (デフォルトは 512)--temperature
: 生成温度 (デフォルトは 1.0)--top_p
: top-p サンプリング (デフォルトは 0.9)
たとえば、ディレクトリ内のチェックポイント ファイルとトークナイザー ファイルを使用して、単一の GPU で LLaMA 推論を実行するには /path/to/files
次のコマンドを使用します。
torchrun --nproc_per_node 1 example.py --ckpt_dir /path/to/files --tokenizer_path /path/to/files/tokenizer.model
注: nproc_per_node
引数は、モデルのサイズと、デフォルトの LLaMa チェックポイントに必要な GPU の数によって異なります。次の表を参照して、実行しているシステムとモデルに適切な値を設定してください。
モデル | 必要なGPU |
---|---|
7B | 1 |
13B | 2 |
33B | 4 |
65B | 8 |
以下の例では、サンプル ファイルの標準プロンプトを使用していますが、 temperature
と top_p
変数を使用すると、興味深い結果が得られます。応答の長さも長くしました。
知っておく必要がある example.py ファイルと変数の内訳
これらのほとんどはモデル内に事前設定されているため、調整する必要はありません。ただし、LLM の使用と推論を始めようとしている場合は、フラグとスイッチの機能を詳しく説明した便利な情報がいくつかあります。
local_rank
: モデルの並列処理に使用される GPU のグループ内の現在の GPU (プロセス) のランク。これは自動的に設定されます。world_size
: モデルの並列処理に使用されている GPU の合計数。これは自動的に設定されます。ckpt_dir
: モデルのチェックポイントを含むディレクトリ。これは実行時に設定されます。tokenizer_path
: テキストの前処理に使用されるトークナイザーへのパス。これは実行時に設定されます。temperature
: 生成されるテキストのランダム性を制御するパラメーター (値が高いほど出力がよりランダムになり、値が低いほど出力がより集中します)。top_p
: 核サンプリング戦略を制御するパラメータ。これは、累積確率が最大で最も可能性の高いトークンのみを選択するテキストを生成する方法です。top_p
.max_seq_len
: モデルの入力および出力の最大シーケンス長。これを調整して、VRAM の必要性を減らすことができます。max_batch_size
: モデルが並列処理できる入力シーケンスの最大数。これを調整して、VRAM の必要性を減らすことができます。prompts
: モデルがテキストを生成するための入力プロンプトのリスト。results
: 各入力プロンプトに対応する生成されたテキストのリスト。
最終的な考え
私たちのテストでは、RTX 8000 GPU が、モデル パラメーターと入力サイズに応じて数秒から約 XNUMX 分の推論時間で優れたパフォーマンスを実現できることがわかりました。 GPU は大きなバッチ サイズを処理し、目立った速度低下を引き起こすことなく複数のモデルで同時に推論を実行できます。
推論に GPU を使用する利点の 1 つは、システムに GPU を追加することで簡単にスケールアップできることです。これにより、さらに大規模なモデルをリアルタイムで実行できるようになり、チャットボット、質問応答システム、センチメント分析などの分野で新しいアプリケーションが可能になります。
Alpaca は、スタンフォード大学のコンピューター科学者のチームによって作成されたコンパクトな AI 言語モデルです。これは、7 億のパラメーターを誇り、Web からの膨大な量のテキストを使用してトレーニングされた Meta の LLaMA 7B モデルに基づいて構築されています。 Alpaca を微調整するために、自然言語命令に基づいてさまざまなタスクを実行できる多用途モデルである OpenAI の text-davinci-52,000 モデルを使用して、003 の命令に従うデモンストレーションが生成されました。アルパカは、指示に従い、要約、物語、ジョークを書くなど、さまざまな目的でテキストを作成するのが得意です。 Alpaca はトレーニング費用が 600 ドル未満で、費用対効果が高く、簡単に複製できるように設計されています。非常に印象的なのは、Alpaca はラップトップだけでも実行できることです。私たちは、スタンフォード大学が行った方法を使用して、アルパカに似たモデルをトレーニングしていますが、独自の工夫を加えています。
これは、研究室で最新の技術進歩を活用する方法の 1 つにすぎません。強力な NVIDIA GPU のおかげで、単なる推論以上のことが可能になります。私たちは訓練しています。 Meta LLaMa のようなモデルの微調整に関する次の記事が近々公開される予定ですので、ご期待ください。
StorageReview と連携する
ニュースレター | YouTube |ポッドキャスト iTunes/Spotifyは | Instagram | Twitter | TikTok | RSSフィード