ThirdAI と AWS Graviton を使用して CPU 上で大規模なニューラル ネットワーク トレーニングを加速する |アマゾン ウェブ サービス

ThirdAI と AWS Graviton を使用して CPU 上で大規模なニューラル ネットワーク トレーニングを加速する |アマゾン ウェブ サービス

このゲスト投稿は、ThirdAI の Vihan Lakshman、Tharun Medini、Anshumali Shrivastava によって書かれています。

大規模ディープラーニングは、近年、幅広い分野で革命的な進歩をもたらしています。人工知能におけるこの驚くべき進歩は依然として注目に値しますが、GPU などの特殊なハードウェアが必要なため、これらのモデルのトレーニングに必要な財務コストとエネルギー消費が重大なボトルネックとして浮上しています。従来、適度なサイズのニューラル モデルであっても、トレーニングには高価なハードウェア アクセラレータが必要であったため、このテクノロジーを最大限に活用するための経済的余裕のある組織の数は限られていました。

2021 年に設立された ThirdAI Corp. は、深層学習の経済性を根本的に変えるアルゴリズムとソフトウェアの革新を通じて人工知能テクノロジーを民主化するという使命に特化したスタートアップです。私たちは、として知られるスパース深層学習エンジンを開発しました。 BOLTこれは、GPU などの高価でエネルギーを大量に消費するアクセラレータではなく、標準の CPU ハードウェア上でモデルをトレーニングおよびデプロイするために特別に設計されています。当社のお客様の多くは、 強い満足感を報告 ThirdAI の機能により、コスト効率の高い CPU インフラストラクチャ上で重大なビジネス上の問題に対して深層学習モデルをトレーニングおよびデプロイできます。

この投稿では、ThirdAI の独自の CPU ベースの深層学習エンジンのニューラル ネットワーク トレーニングを加速する AWS Graviton3 プロセッサの可能性を調査します。

高性能CPUのメリット

ThirdAI では、特定の入力に対してニューロンのサブセットのみをアクティブにする独自の動的スパース アルゴリズムを通じて、CPU での効率的なニューラル ネットワーク トレーニングでこれらのブレークスルーを達成し (次の図を参照)、それによって完全な密な計算の必要性を回避します。スパース ニューラル ネットワーク トレーニングに対する他のアプローチとは異なり、ThirdAI は 局所性依存ハッシュ 以下の太線で示すように、特定の入力に対してニューロンを動的に選択します。場合によっては、 スパース CPU ベースのモデル GPU 上の同等の高密度アーキテクチャよりも高速にトレーニングできます。

どのニューロンが選択されているかを示す太線の高密度ニューラル アーキテクチャ

私たちのターゲット顧客の多くがクラウドで運用しており、その中でも大部分が AWS を使用していることを考えると、Amazon のシリコン革新による価格パフォーマンスの大幅な向上が当社独自のワークロードに反映されるかどうかを確認するために、AWS Graviton3 プロセッサを試してみることに興奮しました。スパース ニューラル ネットワーク トレーニングの削減により、顧客はさらに節約できます。研究コミュニティと AWS Graviton チームは両方とも、加速において刺激的な進歩をもたらしましたが、 ニューラルネットワーク推論 CPU インスタンス上で、私たちの知る限り、ThirdAI は、CPU 上でニューラル モデルを効率的にトレーニングする方法を真剣に研究した最初の企業です。

結果に示されているように、いくつかの代表的なモデリング ワークロードにおいて、AWS Graviton3 を使用すると、同等の Intel インスタンスや NVIDIA インスタンスと比べてトレーニングが大幅に高速化することが観察されました。

インスタンスタイプ

評価では、Intel の Ice Lake プロセッサを搭載した c6i.8xlarge マシンと AWS Graviton7 を搭載した c8g.3xlarge という XNUMX つの同等の AWS CPU インスタンスを検討しました。次の表は、各インスタンスの詳細をまとめたものです。

インスタンス vCPU RAM(GB) プロセッサ オンデマンド価格 (us-east-1)
c7g.8xlarge 32 64 AWS グラビトン 3 $ 1.1562 /時
c6i.8xlarge 32 64 インテルアイスレイク $ 1.36 /時
g5g.8xlarge (GPU) 32 64、16 GB GPU メモリ搭載 2 つの NVIDIA T1G GPU を搭載した AWS Graviton4 プロセッサ $ 1.3720 /時

評価 1: 極端な分類

最初の評価では、検索と推奨における多くの実用的なアプリケーションを備えた、ますます人気が高まっている機械学習 (ML) パラダイムである極端なマルチラベル分類 (XMC) の問題に焦点を当てます ( Amazon)。私たちの評価では、一般の人々に焦点を当てています Amazon-670K 製品推奨タスクは、入力製品が与えられると、670,000 を超えるアイテムのコレクションから類似の製品を識別します。

この実験では、前述のハードウェア選択 (Intel Ice Lake、AWS Graviton2.11、NVIDIA T2.0G GPU) で、ThirdAI の BOLT エンジンを TensorFlow 3 および PyTorch 4 に対してベンチマークします。 Intel と AWS Graviton での実験には、AWS Deep Learning AMI (Ubuntu 18.04) バージョン 59.0 を使用します。 GPU の評価には、 NVIDIA GPU に最適化された Arm64 AMI、AWS Marketplace から入手できます。この評価には、 スライドモデルのアーキテクチャこれにより、この極端な分類タスクでの競争力のあるパフォーマンスと、CPU での強力なトレーニング パフォーマンスの両方が達成されます。 TensorFlow と PyTorch の比較では、高密度行列乗算を備えた SLIDE 多層パーセプトロン (MLP) アーキテクチャの類似バージョンを実装します。固定バッチ サイズ 256、学習率 0.001 で、各モデルを 33.6 エポック (トレーニング データセットのフル パス) トレーニングします。すべてのモデルが同じ XNUMX% のテスト精度を達成していることがわかりました。

次のグラフは、Amazon2.11k 極限分類ベンチマークにおける ThirdAI の BOLT のトレーニング時間を TensorFlow 2.0 および PyTorch 670 と比較したものです。すべてのモデルが同じテスト精度を実現します。 AWS Graviton3 は、カスタマイズの必要がなく、すぐに使用できる BOLT のパフォーマンスを大幅に (約 40%) 高速化することがわかりました。 AWS Graviton3 上の ThirdAI の BOLT も、GPU でトレーニングされた TensorFlow または PyTorch モデルよりも大幅に高速なトレーニングを実現します。 BOLT は CPU 上で実行するように設計されているため、NVIDIA GPU ベンチマークには ThirdAI の結果がないことに注意してください。トレーニング時間が法外に長いため、TensorFlow および PyTorch CPU ベンチマークは含めていません。

Amazon 670k トレーニング時間インスタンス c6i.8xlarge と c7g.8xlarge を比較する棒グラフ

次の表は、各プロセッサ/専用プロセッサ (GPU) のトレーニング時間とテスト精度をまとめたものです。

プロセッサ エンジン トレーニング時間(秒) 試験精度
インテル Ice Lake (c6i.8xlarge) BOLT 1470 33.6
AWS Graviton3 (c7g.8xlarge) BOLT 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) パイトーチ 5130 33.6

評価 2: Yelp Polarity 感情分析

2 回目の評価では、人気のあるものに焦点を当てます。 Yelpの極性 感情分析ベンチマーク。レビューを肯定的または否定的に分類します。この評価では、ThirdAI の ユニバーサルディープトランスフォーマー (UDT) 微調整されたモデルに対する 蒸留BERT network は、推論レイテンシーを削減しながら、ほぼ最先端のパフォーマンスを実現する、圧縮済みの事前トレーニング済み言語モデルです。 CPU 上で DistilBERT モデルを微調整するには法外に長い時間がかかるため (少なくとも数日)、GPU 上で微調整された DistilBERT に対して ThirdAI の CPU ベースのモデルをベンチマークします。データの単一パス (256 エポック) に対してバッチ サイズ XNUMX ですべてのモデルをトレーニングします。 BOLT ではデータのパスを追加することでわずかに高い精度を達成できることに注意してください。ただし、一貫性を保つために、この評価では XNUMX つのパスに制限しています。

次の図に示すように、AWS Graviton3 は、ThirdAI の UDT モデル トレーニングを再び大幅に高速化します。さらに、UDT は、GPU を必要とせずに、わずかなトレーニング時間で DistilBERT と同等のテスト精度を達成できます。最近の取り組みもあることに注目してください。 微調整の最適化 CPU 上の Yelp 極性。ただし、私たちのモデルは依然として大幅な効率向上を実現し、GPU などのハードウェア アクセラレータの使用を必要とする多額の事前トレーニングのコストを回避します。

Yelp Polarity C7g と c6i のトレーニング時間

次の表は、トレーニング時間、テスト精度、推論レイテンシをまとめたものです。

プロセッサ エンジン モデル トレーニング時間(秒) 試験精度 推論遅延 (ミリ秒)
インテル Icelake (c6i.8xlarge) BOLT UDT 47 93.2 <1
Graviton3 (c7g.8xlarge) BOLT UDT 29 92.9 <1
T4G GPU (g5g.8xlarge) TensorFlow 蒸留BERT 4200 93.3 8.7
T4G GPU (g5g.8xlarge) パイトーチ 蒸留BERT 3780 93.4 8.3

評価 3: 複数クラスのテキスト分類 (DBPedia)

最終的な評価では、複数クラスのテキスト分類の問題に焦点を当てます。これには、3 つ以上の出力クラスのセットから特定の入力テキストにラベルを割り当てることが含まれます。私たちは次のことに重点を置いています DBペディア ベンチマークは、14 の可能な出力クラスで構成されます。繰り返しになりますが、AWS Graviton3 は同等の Intel インスタンスと比べて UDT パフォーマンスを約 40% 高速化していることがわかります。また、BOLT は、ミリ秒未満のレイテンシーを達成しながら、GPU で微調整された DistilBERT トランスフォーマー ベースのモデルと同等の結果を達成していることもわかります。

c7g と c6i での ThirdAI BOLT トレーニング時間

次の表は、トレーニング時間、テスト精度、推論レイテンシをまとめたものです。

プロセッサ エンジン モデル トレーニング時間(秒) 試験精度 推論遅延 (ミリ秒)
インテル Icelake (c6i.8xlarge) BOLT UDT 23 98.23 <1
Graviton3 (c7g.8xlarge) BOLT UDT 14 98.10 <1
T4G GPU (g5g.8xlarge) TensorFlow 蒸留BERT 4320 99.23 8.6
T4G GPU (g5g.8xlarge) パイトーチ 蒸留BERT 3480 99.29 8

AWS Graviton で ThirdAI を使ってみる

当社は、AWS Graviton3 を含むすべての主要な CPU アーキテクチャと互換性を持つように BOLT ソフトウェアを設計しました。実際、AWS Graviton3 で実行するためにコードをカスタマイズする必要はありませんでした。したがって、追加の労力を必要とせずに、ThirdAI を使用してモデルのトレーニングと AWS Graviton3 へのデプロイを行うことができます。さらに、最近の記事で詳しく説明したように、 研究白書では、スパース モデルに関連付けられた特殊なハイパーパラメータを自動的に調整する一連の新しい数学的手法を開発し、モデルが箱から出してすぐに適切に動作できるようにしました。

また、私たちのモデルは主に、大規模で高次元の出力空間と非常に低い推論レイテンシーの要件を特徴とする検索、推奨、および自然言語処理のタスクに適していることにも注意してください。私たちは、コンピューター ビジョンなどの追加のドメインにメソッドを拡張することに積極的に取り組んでいますが、現時点では効率の向上がすべての ML ドメインに反映されるわけではないことに注意してください。

まとめ

この投稿では、ThirdAI の独自の CPU ベースの深層学習エンジンのニューラル ネットワーク トレーニングを加速する AWS Graviton3 プロセッサの可能性を調査しました。検索、テキスト分類、および推奨ベンチマークに関するベンチマークは、AWS Graviton3 が、同等の x30 インスタンスと比較して、ThirdAI のモデルトレーニング ワークロードを 40 ~ 86% 高速化し、価格パフォーマンスが 50% 近く向上することを示唆しています。さらに、AWS Graviton3 インスタンスは、類似の Intel や NVIDIA マシンよりも低コストで利用でき、トレーニングと推論にかかる時間を短縮できるため、低コストを使用することで AWS の従量課金制使用モデルの価値をさらに引き出すことができます。マシンの使用時間を短縮します。

私たちは AWS Graviton3 の価格とパフォーマンスの節約に非常に興奮しており、これらの改善点をお客様に提供して、お客様が低コストの CPU でパフォーマンスが向上し、より高速な ML トレーニングと推論を楽しめるようにしていきたいと考えています。私たち自身も AWS の顧客として、AWS Graviton3 によってモデルを実験できる速度に満足しており、今後も AWS の最先端のシリコンイノベーションを使用することを楽しみにしています。 グラビトン技術ガイド Graviton で実行する ML ワークロードを評価する際に検討するのに適したリソースです。 Graviton t4g インスタンスを試すこともできます 無料試用.

この投稿の内容と意見はサードパーティの作成者によるものであり、AWS はこの投稿の内容や正確性について責任を負いません。ブログの執筆時点では最新のインスタンスは c6i であったため、比較は c6i インスタンスで行われました。


著者について

ヴィハン・ラクシュマン – Vihan Lakshman は、ThirdAI Corp. の研究員で、リソース効率の高いディープ ラーニング システムの開発に注力しています。 ThirdAI に入社する前は、Amazon で応用科学者として働き、スタンフォード大学で学士号と修士号を取得しました。ヴィハン氏は、国立科学財団の研究フェローシップの受賞者でもあります。

タルン・メディニ – Tharun Medini は、ThirdAI Corp. の共同創設者兼 CTO です。ライス大学で「検索と情報取得のためのハッシュ アルゴリズム」の博士号を取得しました。 ThirdAI に入社する前は、Tharun は Amazon と Target で働いていました。タルンは、その研究に対して、ケン・ケネディ研究所BPフェローシップ、アメリカ・インディアン技術者協会奨学金、ライス大学大学院フェローシップなど、数多くの賞を受賞しています。

アンシュマリ・シュリヴァスタヴァ – アンシュマリ・シュリヴァスタヴァは、ライス大学コンピューターサイエンス学部の准教授です。彼はまた、ソフトウェア イノベーションを通じて AI を汎用ハードウェアに普及させている会社、ThirdAI Corp の創設者兼 CEO でもあります。彼の幅広い研究対象には、リソースを節約した深層学習のための確率的アルゴリズムが含まれます。 2018年、サイエンスニュースは彼を10歳未満の注目すべき科学者トップ40の2014人に挙げた。彼は、米国科学財団キャリア賞、空軍科学研究局から若手研究者賞、Amazon から機械学習研究賞、Adobe からデータ サイエンス研究賞を受賞しています。彼は、NIPS 2022 および MLSys 2019 での最優秀論文賞、SIGMOD XNUMX での最も再現性の高い論文賞など、数多くの論文賞を受賞しています。CPU 上の効率的な機械学習テクノロジに関する彼の研究は、ウォール ストリート ジャーナル、ニューヨークタイムズ、TechCrunch、NDTVなど

タイムスタンプ:

より多くの AWS機械学習