あなたの GPU は Llama 2 のような大規模なモデルを実行できますか?このオープンソースプロジェクトを試してみてください

あなたの GPU は Llama 2 のような大規模なモデルを実行できますか?このオープンソースプロジェクトを試してみてください

コンピューティング能力が重要視される時代に、GPU は大規模モデル (LLM) をスムーズに実行できるでしょうか?

多くの人は、この質問に明確な答えを出すのが難しく、GPU メモリの計算方法を知りません。 GPU がどの LLM を処理できるかを確認するのはモデルのサイズを確認するほど簡単ではないため、モデルは推論中に大量のメモリを消費する可能性があります (KV キャッシュ)。たとえば、シーケンス長が 1000 の llama-2-7b では、1 GB の追加メモリが必要です。それだけでなく、モデルのトレーニング中は、KV キャッシュ、アクティベーション、量子化のすべてが大量のメモリを消費します。

上記のメモリ使用量を事前に知ることはできないかと疑問に思わざるを得ません。最近、LLM のトレーニングや推論中に必要な GPU メモリの量を計算するのに役立つ新しいプロジェクトが GitHub に登場しました。それだけでなく、このプロジェクトの助けを借りて、詳細なメモリ配分、評価に使用する量子化方法、処理する最大コンテキスト長などの問題も知ることができ、ユーザーが自分に適した GPU 構成を選択するのに役立ちます。

プロジェクトアドレス: https://github.com/RahulSChand/gpu_poor

それだけでなく、このプロジェクトはインタラクティブです。以下に示すように、LLM を実行するために必要な GPU メモリを計算できます。空欄を埋めるだけの簡単な作業です。ユーザーは必要なパラメータをいくつか入力し、最後に青いボタンをクリックするだけで答えが得られます。

交流アドレス: https://rahulschand.github.io/gpu_poor/

最終的な出力は次のようになります。

 { "Total": 4000, "KV Cache": 1000, "Model Size": 2000, "Activation Memory": 500, "Grad & Optimizer memory": 0, "cuda + other overhead": 500 }

このプロジェクトが行われた理由について、著者の Rahul Shiv Chand 氏は、次のような理由があると述べています。

  • GPU 上で LLM を実行する場合、モデルを適応させるためにどのような量子化方法を使用する必要がありますか。
  • GPU が処理できるコンテキストの最大長はどれくらいですか?
  • どのような微調整方法があなたに適していますか?フル?LoRA?それともQLoRA?
  • 微調整中に使用できる最大バッチ サイズはどれくらいですか?
  • どのタスクが GPU メモリを消費しているか、また LLM が GPU に適応できるようにそれを調整する方法。

それで、どうやって使うのでしょうか?

最初のステップは、モデル名、ID、モデル サイズを処理することです。 Huggingface のモデル ID を入力できます (例: meta-llama/Llama-2-7b)。現在、このプロジェクトでは、Huggingface で最もダウンロード数が多い上位 3000 個の LLM のモデル構成をハードコードして保存しています。

カスタム モデルを使用する場合、または Hugginface ID が利用できない場合は、json 構成をアップロードするか (プロジェクトの例を参照)、モデル サイズ (例: llama-2-7b の場合は 70 億) を入力する必要があります。

次は量子化です。現在、プロジェクトは bitsandbytes (bnb) int8/int4 と GGML (QK_8、QK_6、QK_5、QK_4、QK_2) をサポートしています。後者は推論にのみ使用されますが、bnb int8/int4 はトレーニングと推論の両方に使用できます。

最後のステップは推論とトレーニングです。推論中は、HuggingFace を使用するか、vLLM または GGML を使用して推論用の vRAM を見つけます。トレーニング中は、vRAM を見つけてモデル全体を微調整するか、LoRA (現在のプロジェクトでは、LoRA 構成用に r=8 がハードコードされています) または QLoRA を使用して微調整します。

ただし、プロジェクトの作成者は、最終結果はユーザー モデル、入力データ、CUDA バージョン、量子化ツールなどによって異なる可能性があると述べています。実験では、著者はこれらすべての要素を考慮し、最終結果が 500 MB 以内になるように努めました。次の表は、Web サイトで提供されている 3b、7b、13b モデルのメモリ使用量と、著者が RTX 4090 および 2060 GPU で取得したメモリ比較をクロスチェックしたものです。すべての値は500MB以内です。

興味のある読者は自分で体験することができます。提示された結果が不正確な場合、プロジェクト作成者は、プロジェクトは適時に最適化され、改善されると述べています。

<<:  視覚的な手がかりに「マーカー」を追加することで、Microsoft と他の企業は GPT-4V をより正確かつ詳細にしました。

>>:  テイラー・スウィフトが本物の中国語を話す動画が話題になっている。ほぼ完璧な唇の動きと時間通りのパフォーマンスが特徴だ。その背後にはAIツールがあることが判明した。

ブログ    
ブログ    
ブログ    

推薦する

...

Google MITの最新の研究は、高品質のデータを入手することは難しくなく、大規模なモデルが最適な方法であることを証明しています。

高品質なデータの取得は、現在の大規模モデルのトレーニングにおける大きなボトルネックとなっています。数...

アリインデックスシステムの設計と実践

今回の講演者は、アントグループの王高航氏です。講演のテーマは、アントインデックスシステムの設計と実践...

たった1ミリ低くなれば時間が遅くなります!科学者が初めてミリメートルスケールで一般相対性理論を検証

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIGCの投資刺激策のおかげで、マイクロソフトとグーグルのクラウドコンピューティング事業は大幅に成長した

MicrosoftとGoogleはAI市場の支配を競っており、両社ともAIハードウェアに多額の投資を...

...

エッジAI: インテリジェンスをソースに近づける

人工知能の発展により、データをアルゴリズムに渡すのではなく、アルゴリズムがデータを処理するようになり...

OpenAI が Stable Diffusion を救います! Ilya Song Yang らによるオープンソースの Dall E3 デコーダー

予想外にも、OpenAI は「競合相手」である Stable Diffusion を活用しました。話...

...

マスク着用時の顔認識成功率は80%以上。顔はどうやってあなたを裏切るのでしょうか?

[[388175]]今年の315では、物議を醸している顔認証が再び前面に押し出されました。自分の顔...

...

BingチャットAIの品質に問題があるとユーザーが報告、マイクロソフトはエクスペリエンスの改善を約束

ここ数週間、ユーザーは Microsoft Edge に組み込まれている GPT-4 AI チャット...

ハイテク:米国は1キロメートル以内のターゲット認識を実現する長距離顔認識システムを開発

海外メディアの報道によると、最近「ニューサイエンス」誌に次のような記事が掲載された。 「米軍は1キロ...

音声認識技術の開発と応用の概要

[[280529]] [51CTO.com クイック翻訳] コミュニケーションは私たちの生活において...