AI トレーニングでは、大規模なデータセットを繰り返し読み取ることが多く、これが大きなネットワークオーバーヘッドを生み、トレーニング効率を低下させる可能性があります。この問題に対処するため、Platform of AI (PAI) は Lingjun AI Computing Service 向けのローカルキャッシュアクセラレーションを提供しています。この機能は、ローカルの計算ノードにデータをキャッシュすることで、ネットワークオーバーヘッドを削減し、トレーニングスループットを向上させ、データ読み取り性能を改善し、AI トレーニングジョブを高速化します。
メリット
-
高速キャッシュ:計算ノードのメモリとローカルディスクからシングルノードおよび分散読み取りキャッシュを作成します。これらのキャッシュは、データセットやチェックポイントへのアクセスを高速化し、データアクセスレイテンシーを大幅に削減します。
-
水平スケーリング:キャッシュスループットは計算ノード数に比例して線形にスケーリングし、数百から数千ノードの環境をサポートします。
-
Peer-to-peer (P2P) モデルディストリビューション:Peer-to-peer (P2P) 技術により、大規模モデルの高同時実行ロードとディストリビューションをサポートし、GPU ノード間の高速ネットワークを活用してホットデータの並列読み取りを高速化します。
-
サーバーレスで使いやすい:ワンクリックで機能を有効または無効にできます。コードの変更は不要で、非侵入型で動作するため、メンテナンスフリーです。
制限事項と注意事項
-
サポートされるストレージ:Object Storage Service (OSS) と Lingjun CPFS をサポートします。
-
適用リソース:この機能は Lingjun AI Computing Service のリソースでのみ利用可能です。有効にすると、各計算ノードでリソース (CPU:4 コア、メモリ:14 GB) を消費します。
-
容量とポリシー:最大キャッシュ容量は、ご利用の Lingjun AI Computing Service リソースの仕様に依存します。立ち退きポリシーは Least Recently Used (LRU) です。
-
アクセラレーション対象:主な目標はデータ読み取り性能の向上です。書き込み操作はサポートされていません。
-
データの高可用性:ローカルキャッシュは高可用性を提供せず、キャッシュデータが失われる可能性があります。重要なトレーニングデータは速やかにバックアップしてください。
-
仕組み:マルチエポックトレーニング中、最初のエポックでは OSS や Lingjun CPFS などのストレージインスタンスからデータを読み取ります。このときの性能は、ストレージインスタンスから直接読み取る場合と同じです。後続のエポックでは、データはローカルキャッシュから読み取られ、読み取り速度が向上します。
操作手順
-
リソースクォータでローカルキャッシュを有効にします。左側のナビゲーションウィンドウで、Resource Quota > Intelligent Computing LINGJUN Resources に移動し、対象のクォータ名をクリックします。Enable Local Cache スイッチをオンにし、キャッシュするストレージパスを指定します。
ネストされたリソースクォータを使用する場合、最上位のリソースクォータでローカルキャッシュが有効になっていることを確認してください。
[詳細情報] セクションで、[ローカルキャッシュ] スイッチをオンにした後、[設定の表示] をクリックすると、設定済みのストレージサービス (OSS の URI や Lingjun CPFS のファイルシステムなど) を確認できます。
-
対象のリソースクォータから Lingjun リソースを使用して DLC ジョブを作成し、Use Cache を有効にします。マウントされたストレージの場所がステップ 1 で指定したキャッシュされた場所と一致する場合、アクセラレーションはデフォルトで有効になります。無効にすることも選択できます。
[環境情報] ステップの [直接マウント] セクションで、OSS マウント URI とマウントパス (例:
/mnt/data/) を設定します。対応する [キャッシュの使用] スイッチが自動的に有効になります。
セキュリティグループのインバウンドルールの設定
エンタープライズセキュリティグループを使用する場合、Virtual Private Cloud (VPC) からのトラフィックを許可するインバウンドルールを追加する必要があります。
-
リソースクォータページで、[ネットワーク情報] セクションにある設定済みのセキュリティグループを見つけます。後で特定できるように、セキュリティグループ名または ID をメモしておきます。
-
キャッシュアクセラレーションを有効にする場合、設定するインバウンドポートの数は、設定済みのストレージサービスの数と等しくなければなりません。この例では 4 つのサービスを使用します。
リソースクォータページの [詳細情報] セクションで、[キャッシュアクセラレーション] スイッチをオンにします。表示される [ローカルキャッシュを有効化] ダイアログボックスの [ストレージサービス] リストには、設定済みの OSS エントリの数が表示されます。この例では 4 つのエントリがあるため、4 つのインバウンドポートを設定する必要があります。
-
ご利用のセキュリティグループに移動します。エンタープライズセキュリティグループの場合は、インバウンドルールを追加する必要があります。
ルールのパラメーター:[認証ポリシー] を [許可]、[優先度] を [1]、[プロトコル] を [カスタム TCP] に設定します。[ソース] を IPv4 タイプに設定し、
10.0.0.0/8(この VPC の CIDR ブロック) を入力します。[宛先] (このインスタンス) については、[ポートタイプ] を選択し、10080/10083を入力します。設定が完了したら、[送信] をクリックします。[ソース] は、リソースクォータが使用する vSwitch の CIDR ブロックです。[宛先] については、ポートを設定する必要があります。ポートの数は、キャッシュ設定内のストレージサービスの数と等しくなければなりません。ストレージサービスの数が n の場合、ポート範囲を 10080/10080+n-1 (n<=10) として設定します。(これはポート範囲が10080-10080+n-1であることを示します)。たとえば、4 つのストレージサービスが設定されている場合、ポート範囲は10080/10083です。