AMD + 🤗 AMD GPUでの大規模言語モデルの即戦力アクセラレーション

AMD + AMD GPUによる大規模言語モデルの即戦力アクセラレーション✨

今年早些时候,AMD和Hugging Face宣布合作伙伴关系在AMD的AI Day活动期间加速AI模型。我们一直在努力实现这一愿景,并使Hugging Face社区能够在AMD硬件上运行最新的AI模型,并获得最佳性能。

AMD正在为全球一些最强大的超级计算机提供动力,其中包括欧洲最快的超级计算机LUMI,该计算机拥有超过10,000个MI250X AMD GPUs。在这次活动中,AMD公布了他们最新一代的服务器级GPU,AMD Instinct™ MI300系列加速器,很快将正式推出。

在本博客文章中,我们将提供关于在AMD GPUs上提供良好开箱即用支持以及改进与最新服务器级别的AMD Instinct GPUs互操作性的进展报告。

开箱即用加速

你能在下面的代码中找到AMD特定的代码更改吗?别伤眼睛,跟在NVIDIA GPU上运行相比,几乎没有。

from transformers import AutoTokenizer, AutoModelForCausalLMimport torchmodel_id = "01-ai/Yi-6B"tokenizer = AutoTokenizer.from_pretrained(model_id)with torch.device("cuda"):    model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16)inp = tokenizer(["今日我在巴黎"], padding=True, return_tensors="pt").to("cuda")res = model.generate(**inp, max_new_tokens=30)print(tokenizer.batch_decode(res))

我们一直在努力实现能够在Hugging Face Transformers模型上无需任何代码更改来运行的能力。我们现在支持所有AMD Instinct GPUs上的Transformers模型和任务。我们的合作还在继续,我们正在探索对扩散器模型和其他库以及其他AMD GPUs的开箱即用支持。

达到这一里程碑是我们团队和公司之间重要的努力和合作。为了保持对Hugging Face社区的支持和性能,我们在我们的数据中心上建立了Hugging Face开源库在AMD Instinct GPUs上的集成测试,并能够通过与Verne Global合作在冰岛部署AMD Instinct服务器,最大限度地减少这些新工作负载的碳影响。

除了原生支持,我们合作的另一个重要方面是为AMD GPUs提供最新创新和功能的集成。通过Hugging Face团队、AMD工程师和开源社区成员的合作,我们很高兴宣布对以下内容的支持:

この最新テクノロジーの加速ツールをHugging Faceのユーザーに利用しやすく提供することにとてもワクワクしています。AMD Instinct GPU向けの新しい継続的な統合と開発パイプラインに直接統合されたサポートとパフォーマンスを提供します。

128GBのハイバンド幅メモリを備えたAMD Instinct MI250 GPUには、2つの異なるROCmデバイス(GPU 0および1)があり、それぞれ64GBのハイバンド幅メモリを持っています。

MI250 two devices as displayed by `rocm-smi`

つまり、たった1つのMI250 GPUカードで、テンソルとデータ並列処理を使用して非常に簡単に使用できる2つのPyTorchデバイスを使って、より高いスループットと低いレイテンシを実現することができます。

ブログ記事の残りでは、大規模な言語モデルを使用したテキスト生成中に関与する2つの手順のパフォーマンス結果を報告しています:

  • プリフィルレイテンシ:モデルがユーザーが提供した入力またはプロンプトの表現を計算するのにかかる時間(「最初のトークンまでの時間」とも呼ばれます)。
  • デコーディングごとのトークンレイテンシ:プリフィルステップ後、自己回帰的な方法で新しいトークンを生成するのにかかる時間。
  • デコーディングスループット:デコーディングフェーズ中に生成されるトークンの数(1秒あたり)。

optimum-benchmarkを使用し、MI250とA100 GPUで最適化の有無を含む推論ベンチマークを実行すると、以下の結果が得られます:

Inference benchmarks using Transformers and PEFT libraries. FA2 stands for "Flash Attention 2", TP for "Tensor Parallelism", DDP for "Distributed Data Parallel".

上記のグラフから、MI250がどれほどパフォーマンスが優れているかがわかります。特に、リクエストが大規模なバッチで処理される本番環境では、A100カードと比較してトークン数(デコードスループット)が2.33倍以上、最初のトークンまでの時間(プリフィルレイテンシ)が半分以下になります。

以下のトレーニングベンチマークを実行すると、1つのMI250カードではより大きなトレーニングサンプルのバッチを取り扱い、より高いトレーニングスループットを実現できます。

Training benchmark using Transformers library at maximum batch size (power of two) that can fit on a given card

プロダクションソリューション

私たちのコラボレーションにおけるもう一つの重要な焦点は、Hugging Faceのプロダクションソリューションのサポートを構築することです。まず、テキスト生成推論(TGI)を始めとするサポートを提供します。TGIは、大規模な言語モデルを推論スケールで展開するためのエンドツーエンドソリューションを提供します。

当初、TGIは主にNvidiaのGPUに焦点を当てており、Flash Attention v1およびv2、GPTQウェイト量子化、Paged Attentionなど、最近のAmpereアーキテクチャ向けの最適化を活用していました。

今日、我々はAMD Instinct MI210およびMI250 GPUのTGIへの初期サポートを発表し、上記のすべての優れたオープンソースワークを統合した完全なエンドツーエンドソリューションを展開する準備ができました。

パフォーマンスに関しては、AMD Instinct GPUでのテキスト生成推論をベンチマークにかなりの時間を費やし、最適化に焦点を当てるべき箇所を検証・発見しました。そのため、AMD GPUのエンジニアのサポートを受けながら、TGIが既に提供していたパフォーマンスと比較して同等のパフォーマンスを達成することができました。

この文脈において、AMDとHugging Faceの間で築いている長期的な関係と共に、TGIで使用しているGeMM(行列乗算)カーネルを調整するためのAMD GeMM Tunerツールを統合およびテストしています。このGeMM Tunerツールは、PyTorchの今後のリリースの一部としてリリースされ、皆さんが恩恵を受けられるようになる予定です。

以上を考慮した上で、我々は非常に興奮しています。最先端の効率的な推論ソリューションであるLlamaモデルファミリーによる、AMD GPUにおけるテキスト生成推論の最新のパフォーマンス数値をご紹介いたします。

Llama 34BのTGIレイテンシー結果。AMD Instinct MI250をA100-SXM4-80GBと比較。上記で説明したとおり、MI250はPyTorchデバイス2つに相当します。
Llama 70BのTGIレイテンシー結果。AMD Instinct MI250を2つ、A100-SXM4-80GBを2つ(テンソル並列処理を使用)と比較。

A100のバーグラフがないのは、Llama 70Bがfloat16で138GBの重みを持ち、中間アクティベーション、KVキャッシュバッファー(2048シーケンス長、バッチサイズ8の場合は5GB以上)などに十分な空きメモリが必要とされるため、メモリエラーが発生しているためです。Instinct MI250 GPUには128GBのグローバルメモリがあり、A100は80GBですので、MI250ではより大規模なワークロード(より長いシーケンス、大きなバッチ)を実行することができます。

テキスト生成推論は、AMD Instinct GPU上のプロダクション展開に準備ができています。Dockerイメージghcr.io/huggingface/text-generation-inference:1.2-rocmを参照してください。サポートおよび制約に関するドキュメントも参照してください。

次は何ですか?

このブログ記事がAMDとのパートナーシップについてHugging Faceが興奮しているのと同じくらい、皆さんにも興奮していただけたら幸いです。もちろん、これは私たちの旅の始まりに過ぎません。さらに多くの利用ケースをAMDのさまざまなハードウェアで実現できるようにしていくことを楽しみにしています。

今後の数ヶ月間、AMD Radeon GPUに対するサポートと検証をさらに強化していきます。これらのGPUは、ローカルで使用するために自分自身のデスクトップに搭載できるものです。これにより、アクセスの障壁を下げ、ユーザーにより多くの柔軟性を提供する道を築いていきます。

もちろん、MI300ラインアップのパフォーマンス最適化にも取り組みます。最新のイノベーションを提供することで、Hugging Faceが常に求めている最高の安定性レベルを実現するためです。

また、私たちの重点はAMD Ryzen AIテクノロジーにも向けられます。これは最新世代のAMDノートパソコンCPUに搭載されており、デバイス上でエッジにAIを実行することができます。コーディングアシスタント、画像生成ツール、個人アシスタントなどがますます幅広く利用可能になっている時代において、これらの強力なツールを活用するためのプライバシーのニーズに応えるソリューションを提供することが重要です。この文脈で、Ryzen AI対応モデルは既にHugging Face Hubで利用可能になっており、今後もAMDと緊密に協力してさらなるモデルを提供していきます。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「伝統的な機械学習はまだ重要ですか?」

伝統的な機械学習が生成モダルAIの時代でも不可欠である理由を探求し、その強み、弱点、およびさまざまな産業における重要な...

AI研究

中国の研究者がiTransformerを提案:時間系列予測のためのTransformerアーキテクチャの見直し

トランスフォーマーは、自然言語処理とコンピュータビジョンで大成功を収めた後、スケーリングのルールに従う基本モデルとな...

データサイエンス

なぜハイプが重要なのか:AIについて現実的な考え方が必要

ELIZAはChatGPTにいくつかの類似点を持つ初期のチャットボットでしたなぜこの興奮が重要なのでしょうか?船を発明すると、船...

データサイエンス

「Pyroを使ったベイジアンABテスト」

この記事は、Pythonの確率プログラミング言語(PPL)であるPyroを使用したABテストの入門ですこれはPyMCの代替手段ですこの記...

機械学習

DeepMind RoboCat:自己学習ロボットAIモデル

世界的に有名なAI研究所であるDeepMindは、ロボットアームの様々なモデルを使用して幅広い複雑なタスクを実行できるAIモデルR...

AI研究

この人工知能の研究は、トランスフォーマーベースの大規模言語モデルが外部メモリを追加して計算的に普遍的であることを確認しています

トランスフォーマーベースのモデル(GPT-2やGPT-3など)によって達成された驚くべき結果は、研究コミュニティを大規模な言語...