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工程师和开源社区成员的合作,我们很高兴宣布对以下内容的支持:
- 来自AMD开源项目ROCmSoftwarePlatform/flash-attention中的Flash Attention v2,以原生方式集成在Transformers和Text Generation Inference中。
- vLLM的Paged Attention以及在ROCm中可用的各种融合内核,适用于Text Generation Inference。
- 使用Transformers验证和支持了Transformers在ROCm-powered GPUs上使用的DeepSpeed。
- GPTQ,一种用于减少模型内存要求的常见权重压缩技术,通过与AutoGPTQ和Transformers的直接集成,在ROCm GPUs上得到支持。
- Optimum-Benchmark,一种工具,可以轻松对AMD GPUs上的Transformers性能进行常规和分布式环境下的基准测试,支持优化和量化方案。
- 使用ROCMExecutionProvider和Optimum库,通过ONNX Runtime在ROCm-powered GPUs上执行ONNX模型。
この最新テクノロジーの加速ツールをHugging Faceのユーザーに利用しやすく提供することにとてもワクワクしています。AMD Instinct GPU向けの新しい継続的な統合と開発パイプラインに直接統合されたサポートとパフォーマンスを提供します。
128GBのハイバンド幅メモリを備えたAMD Instinct MI250 GPUには、2つの異なるROCmデバイス(GPU 0および1)があり、それぞれ64GBのハイバンド幅メモリを持っています。
つまり、たった1つのMI250 GPUカードで、テンソルとデータ並列処理を使用して非常に簡単に使用できる2つのPyTorchデバイスを使って、より高いスループットと低いレイテンシを実現することができます。
ブログ記事の残りでは、大規模な言語モデルを使用したテキスト生成中に関与する2つの手順のパフォーマンス結果を報告しています:
- プリフィルレイテンシ:モデルがユーザーが提供した入力またはプロンプトの表現を計算するのにかかる時間(「最初のトークンまでの時間」とも呼ばれます)。
- デコーディングごとのトークンレイテンシ:プリフィルステップ後、自己回帰的な方法で新しいトークンを生成するのにかかる時間。
- デコーディングスループット:デコーディングフェーズ中に生成されるトークンの数(1秒あたり)。
optimum-benchmark
を使用し、MI250とA100 GPUで最適化の有無を含む推論ベンチマークを実行すると、以下の結果が得られます:
上記のグラフから、MI250がどれほどパフォーマンスが優れているかがわかります。特に、リクエストが大規模なバッチで処理される本番環境では、A100カードと比較してトークン数(デコードスループット)が2.33倍以上、最初のトークンまでの時間(プリフィルレイテンシ)が半分以下になります。
以下のトレーニングベンチマークを実行すると、1つのMI250カードではより大きなトレーニングサンプルのバッチを取り扱い、より高いトレーニングスループットを実現できます。
プロダクションソリューション
私たちのコラボレーションにおけるもう一つの重要な焦点は、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におけるテキスト生成推論の最新のパフォーマンス数値をご紹介いたします。
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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 「ChatGPTの新たなライバル:Googleのジェミニ」
- ビデオスワップに会おう:対話型意味ポイント対応でビデオの被写体交換をカスタマイズする人工知能フレームワーク
- エンドツーエンドの労働力管理を取得する: Amazon ForecastおよびAWS Step Functions
- 「つながる点 OpenAIの主張されたQ-Starモデルの解明」
- このAI論文は、高品質な3Dセグメンテーションを実現するために、与えられたシーン内の任意のオブジェクトのためのセグメントエニシングのための高品質(SANeRF-HQ)フレームワークを紹介しています
- 「大規模言語モデルをより効率的に最適化できるのか?LLMの効率性に関するアルゴリズムの進化についての包括的な調査をご覧ください」
- 一緒にAIを学ぶ – Towards AI コミュニティニュースレター第4号