高速なトレーニングと推論 Habana Gaudi®2 vs Nvidia A100 80GB

'高速なトレーニングと推論:Habana Gaudi®2 vs Nvidia A100 80GB'

この記事では、Habana® Gaudi®2を使用してモデルのトレーニングと推論を高速化し、🤗 Optimum Habanaを使用してより大きなモデルをトレーニングする方法について説明します。さらに、BERTの事前トレーニング、Stable Diffusion推論、およびT5-3Bファインチューニングなど、第一世代のGaudi、Gaudi2、およびNvidia A100 80GBのパフォーマンスの違いを評価するためのいくつかのベンチマークを紹介します。ネタバレ注意 – Gaudi2はトレーニングと推論の両方でNvidia A100 80GBよりも約2倍高速です!

Gaudi2は、Habana Labsが設計した第2世代のAIハードウェアアクセラレータです。単一のサーバには、各々96GBのメモリを持つ8つのアクセラレータデバイスが搭載されています(第一世代のGaudiでは32GB、A100 80GBでは80GB)。Habana SDKであるSynapseAIは、第一世代のGaudiとGaudi2の両方に共通しています。つまり、🤗 Optimus Habanaは、🤗 Transformersと🤗 DiffusersライブラリとSynapseAIの間の非常に使いやすいインターフェースを提供し、第一世代のGaudiと同じようにGaudi2でも動作します!ですので、既に第一世代のGaudi用の使用準備が整ったトレーニングや推論のワークフローがある場合は、何も変更することなくGaudi2で試してみることをお勧めします。

Gaudi2へのアクセス方法

IntelとHabanaがGaudi2を利用可能にするための簡単で費用効果の高い方法の1つは、Intel Developer Cloudで利用できるようになっています。そこでGaudi2を使用するためには、以下の手順に従う必要があります:

  1. Intel Developer Cloudのランディングページに移動し、アカウントにサインインするか、アカウントを登録します。

  2. Intel Developer Cloudの管理コンソールに移動します。

  3. 「Habana Gaudi2 Deep Learning Server」を選択し、最新のIntel® Xeon®プロセッサを搭載した8つのGaudi2 HL-225Hメザニンカードを搭載していることを確認し、以下の画像の右下隅の「Launch Instance」をクリックします。

  4. インスタンスをリクエストします:

  5. リクエストが承認されると、再度ステップ3を行い、「Add OpenSSH Publickey」をクリックして支払い方法(クレジットカードまたはプロモーションコード)およびSSH公開鍵を追加します。SSH公開鍵はssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsaコマンドで生成することができます。支払い方法やSSH公開鍵を追加するたびにステップ3にリダイレクトされる場合があります。

  6. ステップ3を再度行い、「Launch Instance」をクリックします。実際にインスタンスを起動するために提案された一般条件を承諾する必要があります。

  7. Intel Developer Cloudの管理コンソールに移動し、「View Instances」というタブをクリックします。

  8. Gaudi2インスタンスにリモートでアクセスするためのSSHコマンドをコピーすることができます!

インスタンスを終了させ、Gaudi2を再度使用する場合は、全プロセスを再実行する必要があります。

このプロセスの詳細については、こちらの情報をご覧ください。

ベンチマーク

第一世代のGaudi、Gaudi2、およびA100 80GBのトレーニングと推論の能力を評価するために、さまざまなサイズのモデルに対していくつかのベンチマークが行われました。

BERTの事前トレーニング

数ヶ月前、Hugging FaceのテクニカルリードであるPhilipp Schmid氏が、🤗 Optimum Habanaを使用してGaudiでBERTの事前トレーニングを行う方法を発表しました。デバイスあたりのバッチサイズが32サンプル(合計で8*32=256)で65,000ステップのトレーニングが行われ、合計トレーニング時間は8時間53分でした(この実行のTensorBoardログはこちらでご覧いただけます)。

同じハイパーパラメータで同じスクリプトをGaudi2で再実行し、合計トレーニング時間は2時間55分でした(ログはこちらでご覧ください)。これにより、何も変更せずにGaudi2でx3.04の高速化が実現されました。

Gaudi2は、第一世代のGaudiと比較してデバイスあたりのメモリがおおよそ3倍多いため、より大きなバッチを使用することが可能です。これにより、HPUsにより多くの作業を割り当てることができ、また第一世代のGaudiでは到達できなかったハイパーパラメータの範囲を試すこともできます。デバイスあたりのバッチサイズが64サンプル(合計512)の場合、20,000ステップで前回の実行の65,000ステップと同様の損失収束を得ました。合計トレーニング時間は1時間33分でした(ログはこちらでご覧ください)。この設定ではスループットがx1.16高くなり、新しいバッチサイズは収束を大幅に加速します。全体として、Gaudi2では合計トレーニング時間が5.75倍短縮され、スループットが第一世代のGaudiと比較してx3.53高くなります

Gaudi2はA100よりも高速化も提供しています:バッチサイズ32の場合のサンプル速度は1580.2サンプル/秒で、バッチサイズ64の場合は1835.8サンプル/秒です。これは、バッチサイズ64でのBERT事前学習のフェーズ1においてHabanaが発表した1.8倍の高速化と一致しています。

以下の表は、第1世代のGaudi、Gaudi2、Nvidia A100 80GB GPUのスループットを表示しています。

BSはデバイスごとのバッチサイズです。Gaudiの実行は混合精度(bf16/fp32)で行われ、A100の実行はfp16で行われました。すべての実行は8つのデバイスで分散実行されました。

テキストから画像を生成する安定的な拡散

🤗 Optimum Habanaリリース1.3の主な新機能の1つは、安定的な拡散のサポートです。Gaudi上でテキストから画像を生成することは非常に簡単になりました。GPUの🤗 Diffusersとは異なり、画像はバッチごとに生成されます。モデルのコンパイル時間により、最初の2つのバッチは後続の反復よりも遅くなります。このベンチマークでは、最初の2つの反復は破棄され、第1世代のGaudiとGaudi2のスループットが計算されました。

このスクリプトは、バッチサイズ8のサンプルで実行されました。使用されたのはHabana/stable-diffusion Gaudiの構成です。

以下に表示される結果は、Habanaがここで公開した数値と一致しています。Gaudi2は第1世代のGaudi(3.25秒対0.925秒)よりも3.51倍、Nvidia A100(2.63秒対0.925秒)よりも2.84倍高速です。また、より大きなバッチサイズにも対応できます。

更新:SynapseAI 1.10とOptimum Habana 1.6により、第1世代のGaudiとGaudi2の追加の高速化が実現されました。

BSはバッチサイズです。Gaudiの実行はbfloat16精度で行われ、A100の実行はfp16精度で行われました(詳細はこちら)。すべての実行は単一デバイスで行われました。

T5-3Bの微調整

デバイスごとに96 GBのメモリを持つGaudi2は、より大きなモデルの実行を可能にします。例えば、私たちはgradient checkpointingが唯一の適用されたメモリ最適化でT5-3B(30億のパラメータを含む)を微調整することに成功しました。第1世代のGaudiではこれは不可能です。ここでは、このスクリプトを使用してCNN DailyMailデータセット上でテキスト要約のためにモデルを微調整した実行のログを示します。

以下に達成した結果が示されています。 Gaudi2はA100 80GBよりも2.44倍高速です。ここではバッチサイズ1より大きなバッチサイズを使用することはできないことがわかります。これは、実行の最初の反復中に操作が蓄積されるグラフによるメモリスペースの使用に起因します。Habanaは、SynapseAIの将来のリリースでメモリフットプリントを最適化する取り組みを行っています。同じ傾向が続くかどうかを確認するために、HabanaのSDKの新しいバージョンやDeepSpeedを使用してこのベンチマークを拡張することを期待しています。

BSはデバイスごとのバッチサイズです。Gaudi2とA100の実行は、gradient checkpointingを有効にしたfp32で行われました。すべての実行は8つのデバイスで分散実行されました。

結論

この記事では、Gaudi2の最初の体験について説明しました。第1世代のGaudiからGaudi2への移行は、SynapseAI、HabanaのSDKが両方とも完全に互換性があるため、完全にシームレスです。これは、将来のリリースで提案される新しい最適化が両方に利益をもたらすことを意味します。

Habana Gaudi2は、第1世代のGaudiに比べて性能が大幅に向上し、トレーニングおよび推論の両方においてNvidia A100 80GBに比べておおよそ2倍のスループットを提供することがわかりました。

また、Intel Developer Zoneを介してGaudi2インスタンスをセットアップする方法もわかりました。🤗 Optimum Habanaで簡単に実行できる例をチェックしてみてください。

最新のAIハードウェアアクセラレータとソフトウェアライブラリを使用して、Machine Learningのトレーニングと推論ワークフローを高速化することに興味がある場合は、Expert Acceleration Programをご覧ください。Habanaのソリューションについて詳しくは、こちらのパートナーシップについての記事を読んで、彼らにお問い合わせください。AIハードウェアアクセラレータを使いやすくするためのHugging Faceの取り組みについて詳しくは、Hardware Partner Programをご覧ください。

  • ハバナ ガウディでの Transformers の始め方
  • Hugging Face と Habana Labs での Transformer モデルトレーニングの加速

読んでいただきありがとうございます!もし質問がありましたら、GitHub かフォーラムを通じてお気軽にご連絡ください。LinkedIn でもおつながりいただけます。

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

人工知能

「aiOlaのCEO兼共同創設者、アミール・ハラマティによるインタビューシリーズ」

アミール・ハラマティは、aiOlaのCEO兼共同創業者であり、スピーチを作業可能にし、どこでも完全な正確さで業界固有のプロセ...

人工知能

「サティスファイラボのCEO兼共同創設者、ドニー・ホワイト- インタビューシリーズ」

2016年に設立されたSatisfi Labsは、会話型AI企業のリーディングカンパニーです早期の成功は、ニューヨーク・メッツ、メイシ...

機械学習

もし芸術が私たちの人間性を表現する方法であるなら、人工知能はどこに適合するのでしょうか?

MITのポストドクターであるジヴ・エプスタイン氏(SM '19、PhD '23)は、芸術やその他のメディアを作成するために生成的AIを...

人工知能

「スノーケルAIのCEO兼共同創設者、アレックス・ラットナー - インタビューシリーズ」

アレックス・ラトナーは、スタンフォードAIラボを母体とする会社、Snorkel AIのCEO兼共同創設者ですSnorkel AIは、手作業のAI...

人工知能

ピーター・マッキー、Sonarの開発者担当責任者-インタビューシリーズ

ピーター・マッキーはSonarのDeveloper Relationsの責任者です Sonarは、悪いコードの1兆ドルの課題を解決するプラットフォー...

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...