GPUは計算を高速化するために長い間使用されてきましたが、近年、機械学習アルゴリズムに典型的な特定のデータ形式のサポートが大きくなりすぎて、実際には独自のグラフィックブロックが失われています。しかし、近い将来、新しいAWS開発であるTrainiumチップなど、特殊なAIプロセッサによって多くの点でそれらを超える可能性があります。
AWS Re:Inventで、同社はP3dn(Nvidia V100)およびP4(Nvidia A100)インスタンスを使用した機械学習の進歩を強調しました。最初のバリアントは、BERT-Largeモデルが複雑さの例であった2018年にデビューし、256GBのメモリと100GbEネットワークを備えており、印象的な結果をもたらしました。ただし、機械学習モデルの複雑さは毎年ほぼ1桁増加しており、AIアクセラレーターの機能の成長は明らかにこれらの速度に遅れをとっています。
昨年P4dバリアントが導入されたとき、処理能力とメモリが4倍になり、有名なGPT-3モデルはBERT-Largeを500倍複雑に上回りました。そして現在、後者の1,750億のパラメーターは、新しいモデルの10兆と比較して何もありません。また、ローカルメモリの量を増やし(Trainiumには512 GBのHBMがあり、合計帯域幅は13.1 TB / s)、分散学習をより積極的に使用する必要があります。
後者のアプローチでは、ネットワークサブシステムがボトルネックになり、Elastic Fabric Adapter(EFA)スタックを開発する際に、同社は新しいTrn1インスタンスに800 Gb / s(P4dの2倍)の接続を提供することでこれを考慮しました。超低遅延、および2倍の帯域幅を持ち1.6 Tbit / sに達するTrn1nのより最適化されたバージョン。インスタンス内のチップ自体間の通信には、NeuroLinkインターコネクトが768 GB / sの速度で使用されます。
しかし、2週間以内にGPT-3をトレーニングできるようになるだけでなく、使用されるリソースの量も重要です。 P3dの場合、これには600のインスタンスを同時に実行する必要があり、Ampereアーキテクチャに移行しても、この数は200に減少します。ただし、Trainiumチップに基づくトレーニングには130のTrn1インスタンスしか必要ありません。最適化のおかげで、新しいインスタンスの通信コストはわずか7%ですが、Ampereの場合は14%、Voltaの場合はなんと49%です。
Trainiumはシストリックアレイに依存しています(GoogleはTPUに同じアプローチを使用しました)。ネイバーから受信したデータを独立して処理し、その結果を次のネイバーに送信する、非常に密接に関連する多くの計算ユニットで構成されています。このアプローチは、特に、「従来の」GPUに典型的な多数のレジスタとメモリアクセスを排除しますが、そのようなアクセラレータの柔軟性を奪います。
Trainiumでは、AWSによると、柔軟性が維持されています。アクセラレータには、16個の完全にプログラム可能な(C / C ++の)ハンドラーがあります。他の最適化もあります。たとえば、確率的丸めのハードウェアアクセラレーションは、超大型モデルではオーバーヘッドのために「高価」になりますが、混合精度でのトレーニングの効率を向上させることができます。これにより、低精度の計算で最大3.4 Pflops、FP32の計算で最大840Teraflopsを取得できます。
AWS Neuron SDKは一般的な機械学習フレームワークをサポートしているため、AWSは開発者にとって可能な限り苦痛のないTrainiumへの移行を試みました。ただし、たとえばCUDAエコシステムからの移行が難しい場合があるため、同社は顧客をTrn1インスタンスに強制的に誘導することはなく、他のアクセラレータの選択肢を提供し続けます。ただし、Amazonは、独自のニーズに対応する機械学習の観点から、完全に独立しています。最新のCPUGraviton3と推論アクセラレーターInferentiaの両方を備えています。
2021-12-06 22:44:05
著者: Vitalii Babkin