「人工知能と機械学習には高性能ストレージが必要」シリーズ、パート2:学習
人工知能と機械学習に関する当シリーズの前回のブログでは、AIおよびMLとは何かを説明し、データを変換・利用してAIシステムの「インテリジェント」な応答を作成するプロセスについて概要を示しました。そのブログでは、複数の個別のソースから大量のデータをどのように取り込み、AIプロセスにおける次のステップであるトレーニングで使用できる有効なフォーマットに、どのように変換するかを説明しました。
パート2では、そこから説明を開始します。復習のため、以下の画像で一般的なAIワークフローを示します。このワークフローは「取り込み」、「変換」、「トレーニング」、「実行」の4つの主要コンポーネントで成り立っています。前回のブログでは、「取り込み」と「変換」のプロセスを取り扱いました。これらは通常、AIトレーニングプロセスで用いるデータを準備する目的で、一括して行われるからです。
トレーニングのステップは、このプロセスで最もリソース集約型の部分です。ただし、今後のブログ記事で説明するように、推論はもっと大量のリソースを使用する可能性があります。この部分では、非常に重量級のハードウェア、すなわち一般に高速メモリを大量に搭載したグラフィックプロセッシングユニット(GPU)を使用します。AIワークフローのトレーニングフェーズには、取り込んだデータに対し、望ましい応答/結果を高い確率で特定するように設計された一連の数学関数を実行する、反復的なステップの集合が関与します。その後、結果の精度を評価します。この精度が許容可能なレベル(一般に95%以上の範囲)に達しない場合、数学関数を修正し、更新したものを同じデータセットに適用することにより再試行します。
一般的なAIユースケースにおける古典的な例として、単純な画像認識があります。この例では、画像認識用の最もよく知られたモデルとテストデータセットがImageNetと呼ばれ、関数の集合がResNetと呼ばれます。ここでは詳しく述べませんが、ImageNetトレーニングデータセットは120万枚の画像であり、約145GBのデータストレージを占有します。ResNetにはさまざまな複雑性のものがありますが、一般に使用するのはResNet-50です(他にResNet-101および-152もあります)。数字は、「ニューロン」と呼ばれるさまざまな数学関数のニューラルネットワーク「層」を何個使用するかを表します(AIモデルの複雑性も表します)。
以上の事柄は、マイクロンにとって非常に関心の高い、ストレージとメモリに関する議論にどのように関係するのでしょうか? トレーニングプロセスは(その前の取り込み/変換プロセスと同じように)長い時間を必要とする複雑なプロセスになる可能性があります。ただし、取り込み/変換の段階とは違って、トレーニングの段階では数学関数を実行するため、高性能コンピューティングに依存します。
マイクロンで行ったテストでは、ソリューションで使用可能な高速ストレージとメモリの量が、特定のトレーニングランを完了するのに必要な時間に直接影響することが判明しています。各トレーニングラン(エポックと呼ばれます)を速く完了できるほど、より多くのエポックを実行することが可能になり、トレーニング時間を相対的に少なく抑えながら、AIシステムの精度を上げていくことができます。トレーニング用のデータストレージにHDDを使用することもできますが、回転式メディアは非常に低速です。GPUは、トレーニングエポックを適時に完了できる十分な速さでデータを取得することができません。SSDは、一般にHDDと比べて(IOPSとレイテンシーの観点で)桁違いに高速です。この理由から、トレーニングシステムへのデータ供給が速ければ速いほど、迅速に処理を完了できるのは当然のようです。
さらに、各エポックに供給するデータのサイズ(いわゆる「バッチ」)を大きくできれば、同じ結果を得るにしても、各エポックをより速く実行できます。したがって、システムに導入するメモリは多ければ多いほど良いということになります。ただし、2TB以上のDRAMをサーバーに導入して終わりにしても良いとはいえ、それだとコストが非常に高くなります。ほとんどの企業はコストと効率性のバランスを常に追求しています。マイクロンで行ったテストから、より高速なストレージ(SSD)に重点を置けば、より良い結果が生じ、しかもはるかに好ましい価格でそれを達成できると私たちは考えています。SSDは、バイト単価でDRAMよりも低コストです。
マイクロンのAIエンジニアであるウェス・バスクは、いくつかのテストを実行し、これを証明しています。これらのテストについては、彼のブログおよびForresterとともに実施した最近のウェビナーで詳しく述べられていますが、いくつかの結果を見ると、AIトレーニングプロセスに対する高速または低速ストレージおよびメモリの影響が具体的に読み取れます。ウェスによるテスト結果およびグラフから、高速なストレージを使用すると、全体的な性能に対し、メモリを増設した場合と同じ影響が生じることが明らかです。これは、2つの“Low Memory”値に注目し、“Fast Disk/Low Memory”バー(3番目のバー)と“Slow Disk/High Memory”バー(2番目のバー)を比較すると分かります。この場合、高速なストレージを購入するか、メモリを増やすか、あるいはその両方を行うことで、全体的な性能に目覚ましい影響が与えられます。これら2つのリソースの適正なバランスがどこにあるかは、データセットおよび実行するモデルによって異なります。
過去のテストでは、コンピューティングリソース(GPUの追加など)によってAIトレーニングが直接的な影響を受けることが判明していますが、このテストでは、メモリおよびストレージリソースは、たとえ同じCPU/GPUの組み合わせでも、AIパフォーマンスに直接的な影響を与えることが証明されています。マイクロンは、AIにおけるお客様の成功を支援できるユニークな立場にあります。AIモデリングに対するお客様固有の要件に関係するすべての変数を考慮に入れることはできませんが、ResNet-50を使用したマイクロンのテストは、AIワークロードにおいてストレージとメモリがどれほど重要な役割を果たし得るかを示す優れた指標と言えるでしょう。ウェスのブログをお読みになり、さらに詳しく知ることをお勧めします。
Micron.com/AIにアクセスしてください。
Linkedinでマイクロンとつながり、最新情報をチェックしましょう。