AIシステムのフェーズごとに異なるストレージのI/O特性、NVMeやクラウド利用の可能性について解説する。
最適なメディア、NVMe
PA Consulting Groupのマコーレー氏は次のように語っている。「SSDを適切に利用することが、とてつもなく大きなメリットをもたらす。つまり、どのファイルシステムを使うか、そのファイルシステムをどのように最適化するか、そして(市販の)ストレージハードウェアを最大限に活用するためにアクセラレーターが必要かどうかになる。アクセラレーターはデータ管理とファイルシステムに多くの力を注ぐ」
現在はフラッシュストレージが一般的になっている。さらに、GPUの近くに格納するデータへの高速アクセスが必要なアプリケーションに最適なメディアとして、NVMeフラッシュも浮上している。HDDも依然存在するが、低層の大容量ストレージに追いやられることが増えている。
NVMeに特化したストレージベンダーExceleroでバイスプレジデントを務めるジョシュ・ゴールデンハー氏によると、システムのPCIeバスとGPU密度の高いサーバ内の低容量ストレージは、ストレージ自体の速度よりも大きな制約を課すことがあるという。
AIシステムにはIOPSパフォーマンスの高いストレージが必要だと誤解されることが多いが、実際に重要なのはランダムI/Oの処理能力だ。
デカテ氏は次のように話す。「ディープラーニングを分析すると、ランダム読み取りが集中的に行われており、出力はわずか数KB程度だ。高いIOPSは必ずしも求められず、本当に重要なのはランダム読み取りに最適化されたアーキテクチャだ」
AIの各フェーズとI/Oのニーズ
AIのストレージとI/Oの要件は、ライフサイクルの中で変化する。
一般的なAIシステムはトレーニングが必要で、そのフェーズではI/O処理が特に多くなる。ここで役立つのはフラッシュやNVMeだ。だが「推論」フェーズでは演算リソースの利用が多くなるだろう。
ディープラーニングシステムには動作しながら自身を再トレーニングする機能があるため、データへの継続的なアクセスが必要になる。
IBMのストレージ部門でディレクターを務めるダグ・オフラハーティー氏は次のように述べる。「企業が機械学習のストレージについて語ることがあるが、GPUをビジー状態に保つために非常に広い帯域幅を必要とするモデルのトレーニングだけを話題にしていることが多い。だがデータサイエンスチームの生産性を真に高めるためには、取り込みから推論までのAIデータパイプライン全体を管理する必要がある」
AIの出力は非常に小さいため、最新の企業向けITシステムの多くでは問題にならない。つまり、AIシステムにはストレージの階層が必要だ。その点では従来のビジネス分析、ERP、データベースシステムに似ている。
Logicalis UKでAIリードとチーフデータサイエンティストを務めるジャスティン・プライス氏によると、オンプレミスシステムが商業価値を提供するためには少なくともSSDレベルのパフォーマンスが必要になるという。だが、AIシステムにも大容量ストレージが必要で、これにはHDD、クラウド、さらにはテープも使われる。
「ノードはそれぞれ異なる可能性があり、ユーザーはハイブリッド環境を使うことになる。重要なのは、柔軟性を持つことと、さまざまな応用事例の要件を満たすことだ。情報が“ホット”な場合はNVMeにキャッシュする必要があるが、コピーしてフラッシュに保存することもできる」と語るのは、ソフトウェア定義ストレージメーカーDateraで最高マーケティング責任者を務めるクリス・カミング氏だ。
クラウドストレージも、大量のデータを抱える企業にとって魅力的な選択肢だ。分析企業DataVisorのCEOインリャン・シエ氏は、クラウドも使えるがそのためにはデータがある場所にAIエンジンを移行しなければならないという。現在クラウドベースのAIを使用できるのは、最新世代のGPUを利用しない応用事例に限られる。
「ストレージは具体的なユースケースとアルゴリズム次第で異なる。ディープラーニングなどの一部のアプリケーションは演算リソースを集中的に使う。そのため当社の顧客はGPUを集中的に利用するアーキテクチャを使う。ストレージを多用するアプリケーションは、データがある場所で演算することを推奨する」(シエ氏)
クラウドに適している可能性があるのは、GPUをあまり使用しないアプリケーションだろう。例えばGoogleは、同社のインフラと連動するAI用チップを開発している。だがIBMのオフラハーティー氏は、技術面と金銭面の制約を考えると、現時点でのクラウドはAIの中核というよりも補助的な役割を果たしていると指摘する。