Object Storage Service (OSS) Connector for AI/MLは、PyTorchトレーニングジョブのOSSデータに効率的にアクセスして保存するために使用されるPythonライブラリです。
メリット
項目 | AI/MLにOSSコネクタを使用しない | AI/MLでのOSSコネクタの使用 |
パフォーマンス | パフォーマンスを手動で最適化する必要がありますが、非効率的な場合があります。 | OSS Connector for AI/MLは、OSSデータダウンロードとチェックポイントストレージのパフォーマンスを自動的に最適化します。 |
データの読み込み方法 | 事前にデータをダウンロードする必要があるため、コストと管理ワークロードが増加します。 | OSS Connector for AI/MLはストリームロードをサポートし、コストと管理の複雑さを軽減します。 |
データアクセス | アダプタを使用してデータを読み書きする必要があるため、アクセスが複雑になります。 | OSS Connector for AI/MLは、アクセスを簡素化するためにOSSのデータを直接読み書きします。 |
設定の難しさ | コードをコンパイルする必要があるため、設定が困難です。 | OSS Connector for AI/MLは、開発効率を向上させるためのシンプルな設定項目を提供します。 |
仕組み
次の図は、OSS Connector for AI/MLがOSSのデータを使用してPyTorchトレーニングジョブを実行する方法を示しています。
機能の説明
次の表に、OSS Connector for AI/MLの主な機能を示します。
項目 | 機能 | クラス | 移動方法 |
マップスタイルのデータセット | トレーニング中に特定のデータにすばやくアクセスできるように、ランダムアクセスに適しています。 | OssMapDatasetクラスとOssIterableDatasetクラスは、データセットを構築するための同じメソッドを提供します。
| |
Iterableスタイルのデータセット | 連続ストリーミング読み取りに適しており、多数の連続データストリームを効率的に処理できます。 | ||
チェックポイントAPI操作 | モデルトレーニング中にOSSからチェックポイントをロードし、定期的なモデルトレーニング後にチェックポイントをOSSに保存します。 これにより、ワークフローが簡素化されます。 |
|
手順
PyTorchトレーニングジョブでOSSにアクセスしてデータを保存する前に、OSS Connector for AI/MLをインストールして設定する必要があります。 詳細については、「AI/ML用OSSコネクタのインストール」および「AI/ML用OSSコネクタの設定」をご参照ください。
OSS Connector for AI/MLをインストールして設定した後、Pytorchトレーニングジョブで次の操作を実行できます。
OssMapDatasetを使用して、ランダムな読み取りに適したマップスタイルのデータセットを作成します。 詳細については、「OSSでデータを使用してランダム読み取りに適したマップデータセットを作成する」をご参照ください。
OssIterableDatasetを使用して、連続ストリーミング読み取りに適した反復可能なスタイルのデータセットを作成します。 詳細については、「OSSでデータを使用して、連続ストリーミング読み取りに適した反復可能なデータセットを作成する」をご参照ください。
OssCheckpointを使用して、チェックポイントを保存およびアクセスします。 詳細については、「OSSでのチェックポイントの保存とアクセス」をご参照ください。
- 説明
マップスタイルと反復可能なスタイルのデータセットとチェックポイントのデータは同じタイプです。 サポートされているデータ型のメソッドの詳細については、「OSS Connector For AI/MLのデータ型」をご参照ください。
ユースケース
OSSデータを使用してPyTorchトレーニングジョブを実行し、トレーニング結果をOSSに保存する方法をすばやく学習したい場合は、OSS Connector for AI/MLを使用して手書きの数字認識モデルをトレーニングするデモを提供します。 詳細については、「OSS Connector For AI/MLの使用を開始する」をご参照ください。
OSS Connector for AI/MLのパフォーマンスをさらに向上させるには、OSS内部エンドポイントではなく、OSSアクセラレータのアクセラレーションエンドポイントを使用することを推奨します。 OSSインターナルエンドポイントを使用するOSS Connector For AI/MLと、OSSアクセラレータのアクセラレーションエンドポイントを使用するOSS Connector for AI/MLのパフォーマンス比較の詳細については、「パフォーマンステスト」をご参照ください。
コンテナー化された環境でOSS Connector for AI/MLを使用する場合は、OSS Connector for AI/ML環境を含むDockerイメージを使用できます。 Dockerイメージを構築する方法の詳細については、「AI/ML環境用のOSSコネクタを含むDockerイメージの構築」をご参照ください。