すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:OSS Connector for AI/MLを使用したPyTorchトレーニングジョブのOSSデータへのアクセスと保存

最終更新日:Dec 10, 2024

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トレーニングジョブを実行する方法を示しています。

image

機能の説明

次の表に、OSS Connector for AI/MLの主な機能を示します。

項目

機能

クラス

移動方法

マップスタイルのデータセット

トレーニング中に特定のデータにすばやくアクセスできるように、ランダムアクセスに適しています。

OssMapDataset

OssMapDatasetクラスとOssIterableDatasetクラスは、データセットを構築するための同じメソッドを提供します。

  • from_prefix()

    OSS_URIプレフィックスを使用してデータセットを作成します。 この方法は、OSSデータのストレージパスに統一ルールがあるシナリオに適しています。

  • from_objects()

    OSSのOSS_URIリストを使用してデータセットを作成します。 この方法は、OSSデータのストレージパスがクリアで分散しているシナリオに適しています。

  • from_manifest_file()

    マニフェストファイルを作成し、マニフェストファイルを使用してデータセットを作成します。 この方法は、作成するデータセットに数千万などの多数のファイルが含まれ、データセットが頻繁に読み込まれ、バケットに対してデータインデックス作成が有効になっているシナリオに適しています。

Iterableスタイルのデータセット

連続ストリーミング読み取りに適しており、多数の連続データストリームを効率的に処理できます。

OssIterableDataset

チェックポイントAPI操作

モデルトレーニング中にOSSからチェックポイントをロードし、定期的なモデルトレーニング後にチェックポイントをOSSに保存します。 これにより、ワークフローが簡素化されます。

OssCheckpoint

  • OssCheckpoint()

    モデルトレーニング中にチェックポイントの読み取りと書き込みに使用するOssCheckpointオブジェクトを初期化します。

  • reader()

    OSSからチェックポイントを読み取ります。

  • writer()

    OSSにチェックポイントを書き込みます。

手順

ユースケース

  • 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イメージの構築」をご参照ください。