Deep Learning Containers (DLC) トレーニングジョブを送信する際、コード構成またはマウントを使用して Object Storage Service (OSS)、NAS、CPFS、または MaxCompute ストレージを構成できます。これにより、トレーニング中に選択したストレージサービスから直接データを読み書きできます。このトピックでは、DLC トレーニングジョブ用に OSS、MaxCompute、NAS、または CPFS ストレージを構成する方法について説明します。
前提条件
PAI を有効化し、ワークスペースを作成します。詳細については、「PAI の有効化とデフォルトワークスペースの作成」をご参照ください。
(オプション) OSS データストレージを構成するには、次の手順を実行します:
OSS を有効化し、PAI に必要なアクセス権限を付与します。詳細については、「OSS の有効化」および「PAI サービスアカウントへの権限付与」をご参照ください。
OSS バケットを作成します。詳細については、「コンソールのクイックスタート」をご参照ください。
(オプション) NAS データストレージを構成するには、汎用型 NAS ファイルシステムを作成します。詳細については、「ファイルシステムの作成」をご参照ください。
(オプション) MaxCompute ストレージを構成するには、MaxCompute を有効化し、MaxCompute プロジェクトを作成します。詳細については、「MaxCompute の有効化」および「MaxCompute プロジェクトの作成」をご参照ください。
OSS ストレージの使用
マウントによる OSS ストレージの構成
分散トレーニング (DLC) ジョブを作成する際、OSS ストレージをマウントできます。次のマウントタイプがサポートされています。構成の詳細については、「トレーニングジョブの作成」をご参照ください。

マウントタイプ | 説明 |
Mount dataset | データセット (カスタムまたはパブリック) を使用してマウントします。次の点にご注意ください:
タイプ OSS のデータセットを選択し、「Mount Path」を設定します。DLC ジョブが実行されると、システムがこのパスで OSS データにアクセスします。 |
Mount storage | OSS バケットパスをマウントし、[読み取り専用] トグルを使用して読み取りおよび書き込み権限を設定します。 |
DLC は JindoFuse または ossfs を使用して OSS をマウントします:
マウントなしでの OSS ストレージの構成
DLC ジョブは、OSS PyTorch コネクタまたは OSS SDK を使用して OSS からのデータの読み取りと書き込みをサポートします。トレーニングジョブを作成する際、コード構成を使用して必要なコードファイルを含めることができます。コード例については、「AI/ML 向け OSS コネクタ」または「OSS SDK」をご参照ください。

NAS/CPFS ストレージの使用
分散トレーニング (DLC) ジョブを作成する際、NAS/CPFS タイプのカスタムデータセットをアタッチするか、ストレージマウントを使用することで、NAS/CPFS ストレージを利用できます。構成の詳細については、「NAS/CPFS の使用」をご参照ください。

マウントタイプ | 説明 |
Mount dataset | カスタムデータセットを使用してマウントします。[読み取り専用] トグルを使用して読み取りおよび書き込み権限を設定します。 |
Mount storage | NAS/CPFS ファイルシステムをマウントし、[読み取り専用] トグルを使用して読み取りおよび書き込み権限を設定します。 また、[詳細設定] で nconnect パラメーターを設定することで、DLC コンテナーが NAS にアクセスする際のスループットパフォーマンスを向上させることもできます。nconnect は、クライアントとサーバー間により多くの TCP 接続を確立することでスループットを向上させる NFS クライアントの Linux マウントオプションです。詳細については、「Linux での NAS パフォーマンスが低い問題を解決するにはどうすればよいですか?」をご参照ください。パラメーター例: |
MaxCompute ストレージの使用
MaxCompute ストレージはマウントせずに構成できます。トレーニングジョブを作成する際、コード構成を使用して必要なコードファイルを含めます。コード例については、「MaxCompute の使用」をご参照ください。

よくある質問
Q:テーブル読み取り時に paiio がエラーなしでログに "killed" と表示されるのはなぜですか?
システムリソースが不足している場合、制限のない paiio が MaxCompute データをメモリに読み込む際にメモリ肥大化を引き起こします。オペレーティングシステムや他のシステムコンポーネントもメモリを消費するため、リソース不足の一因となります。