Amazon Web Services ブログ
Amazon EFS または Amazon FSx for Lustre ファイルシステムを使用して、Amazon SageMaker のトレーニングをスピードアップする
Amazon SageMaker は、データサイエンスと機械学習のワークフローに向けて完全管理型のサービスを提供します。Amazon SageMaker の最も重要な機能の 1 つに、機械学習モデルをトレーニングするための完全管理型のトレーニングジョブを実行する機能が挙げられます。サービスコンソールにアクセスして、Amazon SageMaker で自分自身で機械学習モデルをトレーニングしてください。
今では、Amazon Elastic File System (EFS) または Amazon FSx for Lustre に保存されているデータから機械学習モデルをトレーニングすることで、トレーニングジョブの実行をスピードアップすることができます。 Amazon EFS は AWS クラウドサービスとオンプレミスリソースで使用するために Linux ベースのワークロードに対して、単純でスケール自在、伸縮自在なファイルシステムを提供します。Amazon FSx for Lustre は、機械学習、分析、ハイパフォーマンスコンピューティングなどのワークロードに対して最適化されたハイパフォーマンスファイルシステムです。
機械学習モデルのトレーニングでは、トレーニングジョブに対してトレーニングデータセットを提供することが必要です。 ファイル入力モードで Amazon Simple Storage Service (S3) をトレーニングデータソースとして使用するとき、トレーニングジョブの開始時にすべてのトレーニングデータが Amazon S3 からトレーニングインスタンスにアタッチされた EBS ボリュームにダウンロードされます。Amazon EFS または FSx for Lustre などの分散型ファイルシステムは、このダウンロード手順の必要性を排除することで、機械学習トレーニングをスピードアップできます。
この記事では、ファイルシステムを使用してモデルをトレーニングする利点について見ていき、ファイルシステムを選択し、開始する方法を示すために役立つ情報を提供します。
SageMaker のトレーニングモジュールのファイルシステムの選択
ファイルシステムから機械学習モデルをトレーニングすべきかどうかを考えるとき、最初に考えるべきことは、ご自分のトレーニングデータが今どこに常駐しているのか、ということです。
トレーニングデータがすでに Amazon S3 にあり、トレーニングジョブのためにより短いトレーニング時間を指示する必要がない場合は、データの移動必要なしで Amazon SageMaker を開始できます。 しかし、より高速な開始と短いトレーニング時間を必要とする場合は、Amazon SageMaker の Amazon FSx for Lustre ファイルシステムとの統合を利用することをお勧めします。これにより、ハイスピードキャッシュとして機能することでトレーニングジョブをスピードアップさせることができます。
トレーニングジョブを初めて実行するとき、Amazon FSx for Lustre が Amazon S3 にリンクされている場合、Amazon S3 から自動的にデータを読み込み、1 秒間当たり数百ギガバイト、サブミリ秒のレイテンシーでそれを Amazon SageMaker で利用可能にします。さらに、その後のトレーニングジョブの繰り返しでは、Amazon FSx のデータに瞬時にアクセスできるようになります。このために、Amazon FSx は Amazon S3 から複数のダウンロードを必要とするいくつかの繰り返しがあるトレーニングジョブ、または異なるトレーニングアルゴリズムやパラメータを使用して数回実行しなければならないワークフローに対して最も有利で、最高の結果をもたらします。
トレーニングデータがすでに Amazon EFS ファイルシステムにある場合、Amazon EFS をファイルシステムデータソースとして選択することをお勧めします。この選択では、データ移動を必要とせずに、Amazon EFS のデータからトレーニングジョブを直接開始する利点があり、トレーニング開始時間がより早くなります。新規データをもたらすことでモデルで素早く反復し、同僚とデータを共有し、含めるフィールドやラベルで実験をすることで、データサイエンティストが Amazon EFS にホームディレクトリをもつ環境でしばしば見られる事例です。たとえば、データサイエンティストは Jupyter ノートブックを使用して、トレーニングセットの初期クレンジングを行い、Amazon SageMaker からトレーニングジョブを開始し、その後ノートブックを使用して列をドロップして、トレーニングジョブを再開して、結果のモデルを比較してどちらがうまく機能しているか確認することができます。
Amazon SageMaker のトレーニングに対して Amazon FSx を開始する
- トレーニングデータ Amazon S3 バケットとパスを書き留めます。
- 希望のサイズとスループットで Amazon FSx システムを開始し、トレーニングデータ Amazon S3 のバケットとパスを参照します。作成したら、ファイルシステム ID を書き留めます。
- ここで Amazon SageMaker コンソールに進み、トレーニングジョブページを開き、トレーニングジョブを作成し、VPC サブネット、セキュリティグループを関連付け、トレーニングのためのデータソースとしてファイルシステムを提供します。
- トレーニングジョブを次のとおり作成します。
- 必要なアクセスコントロールと権限ポリシーをもつ IAM ロールの ARN を提供します。詳細については、「AmazonSageMakerFullAccess」を参照してください。
- トレーニングジョブとファイルシステムがアクセスする VPC を指定します。また、自分のセキュリティグループがポート 988 上の Lustre トラフィックがファイルシステムに保存されたトレーニングデータセットへのアクセスをコントロールすることを許可することも確認してください。詳細については、「Amazon FSx の開始」を参照してください。
- データソースとしてファイルシステムを選択し、適切にファイルシステム ID、パス、およびフォーマットを適切に参照してください。
- トレーニングジョブを開始します。
Amazon SageMaker のトレーニングに対して Amazon EFS を開始する
- Amazon EFS の固有のディレクトリにトレーニングデータを入れます。
- ここで、Amazon SageMaker コンソールに進み、「トレーニングジョブ」ページを開いてトレーニングジョブを作成し、VPC サブネット、セキュリティグループを関連付け、トレーニングのためのデータソースとしてファイルシステムを提供します。
- トレーニングジョブを次のとおり作成します。
- 必要なアクセスコントロールと権限ポリシーをもつ IAM ロールに対して IAM ロール ARN を提供します。
- トレーニングジョブとファイルシステムがアクセスする VPC を指定します。 また、自分のセキュリティグループがポート 2049 上の NFS トラフィックがファイルシステムに保存されたトレーニングデータセットへのアクセスをコントロールすることを許可することも確認してください。
- データソースとしてファイルシステムを選択し、適切にファイルシステム ID、パス、およびフォーマットを適切に参照してください。
- トレーニングジョブを開始します。
トレーニングジョブが完了した後で、トレーニングジョブのステータス履歴を確認して、ファイルシステムデータソースを使用するとダウンロードが高速になることを観察してください。
まとめ
Amazon EFS と Amazon FSx for Lustre をデータソースとして、Amazon SageMaker の機械学習モデルをトレーニングするために追加することで、ご自分のユースケースに適したデータソースを選択する上で、より大きな柔軟性が得られます。この記事では、ファイルシステムデータソースを使用して、機械学習モデルをトレーニングして、データダウンロード手順を排除することで、結果としてより早い開始時間を得ることができました。
ここに進み、Amazon SageMaker で機械学習モデルのトレーニングを自分で開始するか、サンプルノートブックを参照して詳細を学ぶために、ファイルシステムデータソースを使用したライナー学習者モデルをトレーニングしてください。
著者について
Vidhi Kastuar は、Amazon SageMaker のシニア製品マネージャーで、機械学習と人工知能の使用をより単純で容易にし、すべてのユーザーとビジネスにスケール自在にすることに焦点を当てています。AWS に入社する前、Vidhi は Veritas Technologies の製品管理担当のダイレクターでした。Vidhi は屋外での仕事を好み、スケッチや絵画を愛し、キャリアコーチとして仕事をし、家族や友人と時間を過ごします。
Will Ochandarena は、Amazon Elastic File System チームのプリンシパル製品マネージャーであり、顧客のアプリケーションアーキテクチャを最新化するための EFS の使用を支援することに焦点を当てています。AWS に入社前、Will は MapR において製品管理担当シニアダイレクターでした。