共有

公開 February 13, 2024

著者 Sarika Mehta, Wayne Gao, Yi Wang

記事

AI ストレージの進歩における Solidigm SSD の役割

人工知能が人類の願望を実現するために急速に進歩するにつれて、コンピューティング能力も成長しなければなりませんでした。高スループット、低レイテンシー・ネットワーク、ディープラーニングモデルを搭載した何千という GPU クラスターがいたるところに出現しています。この進化する市場は、AI アーキテクトたち深い思索を促しています。最も重要な質問の 1 つは、アイドルタイムなしに AI アクセラレータ (GPU、CPU など) とネットワークデバイスをフル容量で動作させることができる AI ストレージ・インフラストラクチャーとはどのようなものなのか、ということです。

AI プロジェクト・サイクルのフェーズ

業界の慣行を分析すると、一般的な AI プロジェクト・サイクルは 5 つの主要なフェーズで構成されています。 

    1. データ取り込み
    2. データ準備
    3. モデル開発 (トレーニング)
    4. モデル展開 (推論)
    5. アーカイブ

    AI のストレージ要件を理解するには、各フェーズにおけるプライマリ入出力 (I/O) 操作の性質を理解し、それらを総合的に検討して包括的なビューを形成することが不可欠です。

    データ取り込み、データ準備、モデル開発、推論、アーカイブステップを含めた一般的な AI データ・パイプラインの概要

    図 1. 一般的な AI データ・パイプラインの概要

    フェーズ 1: データ取り込み

    パイプラインは、プロセスの最初のステップで始まり、生データがそこで取得され、最終的にモデルのトレーニングに使用されます。 モデルの目標に応じて、このデータはさまざまな形をとります。 LLM にとって、これは Common Crawl によって維持され更新される情報のコーパスなど、膨大な量の公開ウェブサイトデータになる可能性があります。 その他のアプリケーションでは、自動運転車からの LIDAR データ、医療画像記録、クジラの鳴き声の音声記録などが挙げられます。 生データの性質は、開発者の目標に完全に依存します。

    この段階は、生データがディスクに書き込まれるにつれて、ストレージ・サブシステムで大規模なシーケンシャル書き込み処理を誘導する傾向があります。

    フェーズ 2: データ準備

    トレーニングを開始する前に、トレーニング・クラスターに送り込まれるデータを徹底的に準備することが重要です。

    1. データの発見、抽出、前処理

    AI モデリングに使用される生データは、量、速度、多様性という従来のビッグデータの古典的な「3V」特性を継承します。データソースは、イベントログ、取引記録、IoT 入力から CRM、ERP、ソーシャルメディア、衛星画像、経済、株式取引まで多岐にわたります。これらの多様な情報源からデータを抽出し、データ・パイプライン内の一時ストレージ領域に統合する必要があります。通常、このステップは「抽出」と呼ばれます。 データは、さらなる分析に適した形式に変換されます。 当初のソース・システムでは、データは混沌としており、解釈しにくい状況でした。 変換の目的の 1 つはデータ品質の向上です。 具体的には、以下が含まれます。 

    1. 無効なデータのクリーンアップ

    2. 重複項目の削除

    3. 単位の標準化

    4. 種類に基づくデータの整理 

    変換フェーズでは、データは具体的な事業目的に合わせて構造化され、再フォーマットされます。 

    2. データ探索とデータセットの分割

    データアナリストたちは、規模、量、精度など、データセットの特性を記述できるように可視化と統計の手法を採用しています。 探索を通して、さまざまな変数間の関係、データセットの構造、異常の有無、値の分布を特定し、調べます。 データ探索により、アナリストは生データをさらに深く掘り下げることができます。 探索は、明らかなエラーの特定、データ内のパターンのより深い理解、異常値や異常事象の検出、変数間の興味深い関係の明瞭化において役立ちます。 データ探索が完了すると通常、データセットはトレーニングとテストのサブセットに分割されます。 これらのサブセットは、モデル開発中にトレーニングとテストの目的で個別に使用されます。

    3. 特徴抽出、特徴選択、パターンマイニング

    AI モデルの成否は、選択した特徴が研究中の分類問題を効果的に表現できるかどうかにかかっています。 例えば、合唱団の個々のメンバーについて考えてみましょう。特徴には性別、身長、肌の色、教育レベルなどが含まれる場合もあれば、声域のみに焦点を当てることもあります。 前述の 4 つの次元ではなく、声域を特徴として使用すると、次元はわずか 4 分の 1 になる (つまり、データ量が大幅に減る) にもかかわらず、合唱団メンバーの関連する本質をより適切にカプセル化できる可能性があります。   高次元の危険を回避し、計算の複雑さを軽減するために、最も効果的な特徴を識別して特徴の次元を下げるプロセスを特徴選択と呼びます。 一連の特徴のうち相互に排他的な特徴や共存しうる特徴を見つけ、それらの本質的な関係とロジックを明らかにすることをパターンマイニングと呼びます。

    4. データ変換

    データ変換の必要性が生じる理由はさまざまです。具体期には、あるデータを他のデータと整合する、互換性を保つ、データの一部を別のシステムに移行する、他のデータセットとの接続を確立する、データ内部の情報を集約する、などの要望による可能性があります。 

    データ変換の一般的な側面としては、タイプの変換、セマンティクスの変更、値範囲の調整、粒度の変更、テーブルまたはデータセットの分割、行と列の変換などが挙げられます。

    成熟したオープンソースのプロジェクト・コミュニティのおかげで、当社にはデータ取り込みと準備の段階で自由に使える信頼性の高いツールが豊富にあります。これらのツールにより、ETL (抽出、変換、ロード) または ELT (抽出、ロード、変換) タスクを実行できます。以下にその例を挙げます。

    さらに、多数の特徴セットの作成などのタスクでは、次のようなツールを活用できます。

    5. データ準備フェーズ用のストレージ特性

    典型的なワークフローでは、データ準備フェーズでデータをランダムに読み込み、処理した項目をシーケンシャルに書き込みます。 ストレージ・インフラストラクチャーでは、小規模なランダム読み取りでレイテンシーを低く抑えながら、同時に高いシーケンシャル書き込みスループットを実現することが不可欠です。

    フェーズ 3: モデル開発とトレーニング

    トレーニング・データセットの準備が完了すると、次のフェーズでモデル開発、トレーニング、ハイパーパラメータのチューニングに取り組みます。 アルゴリズムの選択は、ユースケースの特性によって決定され、モデルはデータセットを使用してトレーニングされます。

    1. AI フレームワーク

    モデルの効率は、テスト・データセットに照らして評価され、必要に応じて展開され、最終的に導入されます。AI をフレームワークは、以下を含む一般的なフレームワーク伴って継続的に進化しています。

    • TensorFlow

    • PyTorch

    • Scikit Learn

    • H2O.ai

    • さらに詳しく

    • この段階は、コンピューティング・リソースに対して非常に高い需要を課します。リソースのアイドル状態を排除するためには、これらのリソースにデータをより高速かつ効率的に供給することが優先事項となるため、ストレージは非常に重要です。

    モデルの開発中にデータセットは拡大し続け、多数のデータ・サイエンティストが別々のワークステーションから同時にアクセスを要求します。過適合を防ぐために、彼らは何千ものバリエーションの中から動的にエントリーを補強します。

    2. ストレージ容量の拡張性とデータ共有

    ストレージ容量はこの段階で重要になり始めますが、同時データアクセス操作の回数が増えるので拡張性の高いパフォーマンスが真の成功の鍵となります。 ワークステーションとサーバーの間でのデータ共有は、迅速かつシームレスな容量拡張と並んで不可欠なストレージ機能です。 トレーニングが進むにつれて、データセットのサイズは倍増し、多くの場合は数ペタバイトに達します。 各トレーニング・ジョブには通常、ランダム読み取りが含まれ、プロセス全体は同じデータセットにアクセスする多数の同時ジョブで構成されます。 データアクセスをめぐって複数のジョブが競合すると、全体的なランダム I/O ワークロードが増大します。 モデル開発からトレーニングへの移行には、何十億というデータ項目に対応できる拡張性を備えたストレージが必要です。 また、高速のマルチホストのランダムアクセスとして、特に高いランダム読み取りパフォーマンスが必要です。 

    トレーニング・ジョブでは、特に数十億のパラメータの文脈で、入力データの伸長、増強、乱用、ランダム化、トレーニングデータ項目のリストをストレージにクエリするためのデータ項目の列挙が必要となることがよくあります。 

    3. チェックポイント: 大規模なシーケンシャル書き込みのバースト

    トレーニングの規模が膨大になると、新たな需要が生まれます。 今日のトレーニング・ジョブには、数日、数週間、数か月かかる場合があります。 その結果、ほとんどのジョブは、障害から迅速に回復できるように定期的にチェックポイントを書き込み、ゼロからやり直す必要性を最小限に抑えます。  したがって、トレーニング中の主なワークロードはランダム読み取りで構成され、チェックポイント時に大規模なシーケンシャル書き込みが中断されることもあります。 ストレージ・システムは、チェックポイント時の大規模なシーケンシャル書き込みのバースト中であっても、同時トレーニング・ジョブに必要とされる集中的なランダムアクセスを維持できる必要があります。

    4. 検証と量子化

    モデルのトレーニングが完了したら、展開前にいくつかの重要なステップが残っています。

    検証時に開発者は別のデータセット (または、トレーニングから除外された元データの一部) を使用してモデルをテストし、モデルが期待どおりに動作し、合理的な出力を生成することを確認します。 そうでない場合は、トレーニング・プロセスを再検討して改善すべきであるという指示になります。 もう 1 つの重要な活動はモデルの量子化です。これは個々のモデル・パラメータの精度の低下を含みます。 トレーニング・プロセスの成果は、例えば 4 ビットで十分な場合に 16 ビットのパラメータになるというようなことがよくあります。 量子化することで、モデルのサイズが小さくなり、推論が高速になります。 モデル開発のいくつかの時点で量子化が発生しうることは注目に値します。 最も一般的な 2 つは、展開直前に実施されるトレーニング後の量子化 (PTQ) とトレーニング段階でリアルタイムにパラメータを縮小するアプローチである量子化対応トレーニング (QAT)です。

    5. モデル開発フェーズのまとめ

    まとめると、AI ょの的モデル開発は非常に反復的なプロセスであり、実験の連続によって仮設を確認または反駁するのです。 モデルが進化するにつれて、データ・サイエンティストはサンプル・データセットを使用しながら多くの場合には数万回の反復を通してデータをトレーニングします。  反復ごとにデータ項目を増やし、過適合を防ぐためにわずかにランダム化することで、トレーニング・データセットに対して正確でありながらライブデータにも適応可能なモデルを作成します。トレーニングが進むにつれて、データセットは成長し、データ・サイエンティストのワークステーションから、より大規模なコンピューティングとストレージ機能を備えたデータセンター・サーバーへの移行が発生します。

    Video discussion of Solidigm and VAST Data engineers on why storage is key to AI workload performance.

    Solidigm のパートナーである VAST Data が AI データ・パイプラインの諸段階、およびストレージ要件が最初から最後までどのように形成されるかについて説明しています

    フェーズ 4: モデル展開と推論

    モデル開発が完了したら、サービスを展開して稼働を始めます。 この推論フェーズでは、実際のデータがモデルに反映され、理想的にはその出力によって有益な洞察が得られるようになります。 多くの場合、モデルは継続的に微調整されます。 推論フェーズでモデルにインポートされた新しい実際のデータは、再トレーニング・プロセスに組み込まれ、パフォーマンスの向上につながります。

    1. 実際の応用時の微調整

    AI ストレージ・インフラストラクチャーは、プロジェクトのライフサイクル全体にわたって 24 時間体制でシームレスに動作する必要があります。 コンポーネントの故障に対処し、破壊的でない拡張とアップグレードを可能にする自己修復機能を備えている必要があります。  データ・サイエンティストは、モデルを微調整し、変化するパターンと目的を探れるように実稼動データを必要とし、これは統一プラットフォーム、つまりプロジェクト内のすべてのフェーズに対応する単一のストレージ・システムの重要性を強調するものです。 このようなシステムにより、開発、トレーニング、実稼働のどの段階でも動的に進化するデータに簡単にアクセスできるようになります。

    2. 実稼働に向けたモデル準備

    常に正確な結果を生成するようになれば、そのモデルは実稼働環境に展開されます。 その後、モデルの改良から堅牢な IT 環境の維持へと焦点が移ります。 インタラクティブであれバッチ指向であれ、実稼働にはさまざまな形態があります。 新しいデータの継続的な利用はモデルの精度向上のための改良に役立ち、データサイエンティストたちはモデル出力を分析しながら定期的にトレーニング・データセットを更新します。

    3. 検索拡張生成 (RAG)

    生成 AI モデルで重要性が増している開発の 1 つは、検索拡張生成 (RAG) です。これは、トレーニングされたモデルが推論中に追加の知識ソースに接続するためのメカニズムを提供するものです。

    RAG を使用せず、6 か月前に当時最新であった公開データセットでトレーニングされた LLM の例を考えてみましょう。いくつもの欠点が明らかになります。

    • このモデルは、6 か月以内に発生した事実やイベントに関係するプロンプトに有意義な回答を提供することはできません。
    • メールの受信トレイの内容や企業の SharePoint ファイルなど、ユーザーの個人データに特化した回答はできません。
    • 特定の情報源が他の情報源よりも信頼性が高いかどうか、またはユーザーにとって役立つかどうかについての洞察はほとんどありません。
    • 開発者がこの問題を解決するには、モデルを頻繁に再トレーニングする (コストがかかる) か、トレーニング・セットにプライベート・データを追加する (潜在的にリスクを伴うか不可能) 必要があります。または、RAG を利用して、事前にトレーニング済みのモデルを公開検索エンジン、ニュース・サイト、企業のメールサーバーなどに接続することもできます。

    RAG を利用すると、この例に示した LLM はユーザーから入力を受け取り、そのプロンプトを追加の知識ソースにルーティングし、元の入力と推論用に追加されたコンテキストの両方を返し、より有用な応答を生み出せるようになります。

    フェーズ 5: アーカイブ

    推論の入出力がパイプラインにフィードバックされてモデルを微調整できるようになったら、プロセスの最終ステップに入る時期です。AI ブームに対する規制当局の関心が高まるにつれて、データ保持の要件も増えています。コンプライアンスと監査の目的で、AI パイプライン全体からデータを保存する必要性により、より高いストレージの書き込みパフォーマンスと容量のニーズが増加しています。

    表 1 は、AI プロジェクト・サイクルの各フェーズとそれぞれの I/O 特性とその後のストレージ要件をまとめたものです。

    AI フェーズ I/O 特性 ストレージ要件 影響 データ取り込み 大規模なシーケンシャル書き込み 高いシーケンシャル書き込みスループット ストレージの最適化により、さらに迅速に取り込みプロセスを実行できるようになる データ準備 データをランダムに読み込み、前処理済み項目をシーケンシャルに書き込む 少ないランダム読み込みで低レイテンシー、高シーケンシャル書き込みスループット ストレージの最適化により、パイプラインでさらに多くのトレーニング用データを提供でき、より正確なモデルが生まれる モデル開発 (トレーニング) ランダムデータ読み取り マルチジョブのパフォーマンスと容量における拡張性、最適化されたランダム読み取り、チェックポイント用のための高いシーケンシャル書き込みパフォーマンス ストレージの最適化により、高価なトレーニング・リソース (GPU、TPU、CPU) の使用率が向上 モデル展開 (推論) ランダム読み書き両用 コンポーネントの故障に対処する自己修復機能、無停止の拡張とアップグレード、モデルが継続的に微調整される際のトレーニング段階と同じ機能 ビジネスには高い可用性、保守性、信頼性が求められる アーカイブ バッチ (シーケンシャル) またはリアルタイム (ランダム) で発生する可能性のある書き込み 特に生成 AI モデルにおける高い書き込みパフォーマンス コンプライアンスと監査を目的とするデータ保持の向上

    表 1. I/O 特性とその後のストレージ要件による AI プロジェクト・サイクル

    AI 展開のための主なストレージ特性

    初期モデルの開発時にシングルシャーシ・システムとして始まる AI プロジェクトは、トレーニング中にデータ要件が増えるので、実稼動時に蓄積されるライブデータの増加に伴い、柔軟な拡張が必要とされます。 大容量化を実現するために、インフラストラクチャー・レベルでは、個々のディスク容量を増やすことと、ストレージ・エンクロージャーのクラスターサイズを拡張するという 2 つの重要な戦略が採用されています。 

    1. 容量

    個々のディスクの容量を増やし、ストレージ・ノードの水平方向の拡張性を向上させることは極めて重要な要素です。 ディスクレベルでは、Solidigm D5-P5336 QLC SSD などの製品は最大 61.44 TB の容量に達しています。 ストレージ・エンクロージャー・レベルでは、EDSFF (Enterprise and Datacenter Standard Form Factor) が比類のないストレージ密度を示しています。 U.2 15mm フォームファクター・ドライブの場合、一般的な 2U エンクロージャーは、24~26 枚のディスクを収容でき、最大 1.44 PB の容量を実現します。 E1 へのアップグレード。L 9.5 mm フォームファクター・ディスクは、図 1 に示すように、1U エンクロージャーで 32 枚のディスクをサポートします。 2U の場合、ストレージ密度は 2U の U.2 エンクロージャーの約 2.6 倍になります。 表 2 に比較を示します。

    フォームファクター 2U ラックスペースの 60TB ドライブ数 2U ラックスペース当たりの容量 レガシー U.2 15 mm 24 1.47 PB E1.L 9.5 mm 64  3.93 PB

    表 2. ドライブ・フォームファクターに基づく 2U ラックユニットの容量

    単一のエンクロージャー内のストレージ密度が上がると、ストレージ・ノードが占めるラックスペースや必要なネットワーク・ポートの数、およびそれらを動作させるうえで必要な電力、冷却、スペアパーツ、人件費が大幅に削減されることは注目に値します。

    System designed for E1.L SSD form factor]

    図 2. E1 用に設計されたシステム。L 

    2. データ共有機能

    前述した複数チームの共同作業、そしてサービス提供前により多くのデータをトレーニングしたいという願望を考慮すると、ストレージのデータ共有機能は最も重要なものです。 これはストレージ・ネットワークの高い IOPS、低レイテンシー、帯域幅に反映されています。 さらに、ネットワーク・コンポーネントが故障してもネットワーク・サービスを継続するためには、マルチパスのサポートが不可欠です。 時が経つにつれて、既存のネットワークはイーサネットと InfiniBand に統合されました。 InfiniBand は、RDMA ネイティブ・サポートにより、高いデータ転送速度と優れた帯域幅とレイテンシー・パフォーマンスを実現します。 その結果、InfiniBand は、AI ストレージをサポートする強力なネットワークになります。 現在、人気のあるイーサネット帯域幅は 25 Gbps、40 Gbps、100 Gbps です。 最近の AI 展開では、200 Gbps および 400 Gbps ネットワークが活用されています。

    3. さまざまな I/O への適応性

    AI ストレージのパフォーマンスは、あらゆるタイプの I/O 操作で一貫しているべきです。 1KB の小さな項目ラベルであろうと 50 MB の巨大な画像であろうと、すべてのファイルとオブジェクトは TTFB (Time To First-Byte の略で「最初の 1 バイトを受け取るまでの時間」) の一貫性が確実に保たれるように、ほぼ同じ時間内にアクセスできるようになっている必要があります。

    4. 並列ネットワークファイル操作

    AI プロジェクトでは、バルクコピー、列挙、プロパティの変更などの一般的なタスクで、効率的な並列ネットワーク・ファイル操作が要求されます。 これらの操作は、AI モデル開発を大幅に促進します。 1984 年に Sun Microsystems によって初めて開発された NFS (Network File System) は、現在でも最も主要なネットワーク・ファイルシステムのプロトコルです。 NFSoRDMA (NFS over Remote Direct Memory Access) は特に、大量のデータを転送するコンピューティング集約型のワークロードに適しています。 RDMA のデータ移動オフロード機能により、不要なデータコピーが減って効率が上がります。

    5. AI ストレージの主な特性のまとめ

    AI ストレージ・ソリューションは、十分な容量、堅牢なデータ共有機能、各種の I/O タイプで一貫したパフォーマンス、並列ネットワークファイル操作のサポートを提供する必要があります。 これらの要件を満たすことで、AI プロジェクトで成長し続けるデータセットを効果的に管理でき、AI モデルの開発と展開のパフォーマンス要件を確実に満たせるようになります。

    結論

    AI 開発は、私たちが抱いている大きな期待を上回り続けています。 巨大な計算機にもっと多くのデータをもっと高速に供給することが急務なので、処理時間や電力を浪費する余地はありません。 Solidigm は、さまざまな AI 展開のニーズを満たすために、各種のフォームファクター、密度、価格帯のドライブを提供しています。 高密度 QLC SSD は、パフォーマンス、容量、信頼性、コストの面で実証済みです。

    TLC SSD を搭載したレガシー構成ラックから、SLC および TLC SSD、QLC SSD を搭載した新しい構成ラックまで。]

    図 3. TLC のみのソリューションから SLC/TLC+QLC への移行

    CSAL と Solidigm D7-P5810 SLCと SSD と D5-P5336 SSD を併用することで、ユーザーはパフォーマンス、コスト、容量について展開を調整できる活用できます。1 革新的で完全なスタックとオープンソース・ストレージ・ソリューションにより、Solidigm SSD が AI ストレージの進歩を促す独自の優位性を持っていることは明らかです。

    従来の書き込みキャッシュと CSAL による書き込みシェーピング・キャッシュの比較

    図 4. CSAL による書き込みシェーピング・キャッシュ

    著者紹介

    Sarika Mehta は、ストレージの分野で 15 年以上の経験を持つ Solidigm のシニア・ストレージ・ソリューション・アーキテクトです。 彼は Solidigm の顧客やパートナー企業との緊密な連携を通して、コストとパフォーマンスを両立するストレージ・ソリューションの最適化に注力しています。  Wayne Gao は、 Solidigm するのストレージ・ソリューション・アーキテクトを務めるプリンシパル・エンジニアです。 Wayne は、Pathfinding から Alibaba の商用リリースまで CSAL の研究開発に取り組んできました。Wayne は、Dell EMC ECS オールフラッシュ・オブジェクト・ストレージ・チームの一員として、20 年以上のストレージ開発経験を持ち、米国特許出願/助成金を 4 回受け、EuroSys の論文著者でもあります。  Yi Wang は、 Solidigm のフィールド・アプリケーション・エンジニアです。 Solidigm に入社する前は、Intel、Cloudera、NCR で技術職を歴任しました。 彼は「Cisco Certified Network Professional」、「Microsoft Certified・Solutions Expert」、「Cloudera Data Platform Administrator」の認定を受けています。

    Ace Stryker は、Solidigm の市場開発ディレクターであり、同社のデータセンター・ストレージ・ソリューション・ポートフォリオの新興アプリケーションに注力しています。

    [1] CSAL の紹介: https://www.solidigm.com/products/technology/cloud-storage-acceleration-layer-write-shaping-csal.html

    The Role of Solidigm SSDs in AI Storage Advancement