前回は「Amazon SageMaker Studio」の概要について解説しました。それを踏まえ、今度は実際にAmazon SageMaker Studioを使ってみたいと思います。

今回は、以下を理解していただくことを目標に解説していきます。

  • Amazon SageMaker Studioの使い方がわかる
  • Amazon SageMaker Autopilotの概要と使い方がわかる

実際にAmazon SageMaker Studioを使う

今回は、AWS社が公開するチュートリアル「機械学習モデルを自動的に作成する」に沿って解説を進めていきます。このチュートリアルでは、Amazon SageMaker Studioに加えて、以下の機能も体験することができます。

  • Amazon SageMaker Notebooks:Amazon SageMaker Studioに統合されたフルマネージドなノートブック
  • Amazon SageMaker Autopilot:AutoML機能による機械学習モデルの自動構築
  • Amazon SageMaker Experiments:学習ジョブの実行履歴や設定、結果を一元管理

なお、Amazon SageMaker Studioは、2020年11月に東京リージョンでの提供開始が発表されました。チュートリアルはバージニア北部リージョンを利用する手順となっていますが、本連載では東京リージョンを利用して進めていきます。

チュートリアルの概要

このチュートリアルでは、本連載の第5~8回で使用したものと同じ課題とデータセットを使用します。概要は以下の通りです。

「ポルトガル銀行のダイレクトマーケティングのデータ」を利用して、顧客の属性データから顧客が定期預金を「申し込む」か「申し込まないか」の二値分類を行います。
機械学習を使って見込み顧客を予測することにより、営業活動の効率化を図ることができます。

第5回で背景を説明していますので、必要に応じて確認してください。

チュートリアルの流れを以下に示します。 解説のボリュームが多いため、今回を含め3回にわたって解説を行います。

工程 ステップ 実施内容 連載回
準備 1 AWSアカウントを今すぐ無料で作成 第10回
開発 2 Amazon SageMaker Studioをセットアップする 第10回
3 データセットをダウンロードする 第11回
学習 4 SageMaker Autopilot実験を作成する 第11回
5 SageMaker Autopilot実験のさまざまなステージを調べる 第11回
推論 6 最適なモデルをデプロイする 第12回
7 モデルを使用して予測を行う 第12回
8 クリーンアップ 第12回

注意事項

今回の解説の題材に使うチュートリアルを試す場合、以下の点に留意してください。 特に、課金が発生する可能性があることには注意が必要です。

  • 想定外の影響を避けるため、本番環境 (商用サービスが稼働するAWSアカウント) ではなく、開発環境や検証環境で実施してください
  • チュートリアルの最終更新日が「2020年5月12日」となっています。Amazon SageMaker は2020年11~12月に大幅な機能アップデートがありましたが、その内容がまだ取り込まれておらず、チュートリアルの画面の一部が古いものがあります
  • チュートリアルの「時間」に「10分」と記載されていますが、実際にはAmazon SageMaker Autopilot のジョブ実行による待ち時間を含めると2時間程度はかかります。時間に余裕をもって実行してください
  • Amazon SageMaker Autopilotにより数多くのジョブが起動されます。無償枠を超えて10ドル未満の課金が発生する可能性があります

ステップ 1:AWSアカウントを今すぐ無料で作成

このステップは、AWSアカウントを持っていない場合にのみ実施するステップです。すでにアカウントをお持ちの方は、次のステップ2に進んでください。

開発者ガイドの「Amazon SageMakerをセットアップします」を参照して、AWSアカウントの取得とセットアップを実施してください。

ステップ 2:Amazon SageMaker Studioをセットアップする

AWSマネジメントコンソールにログインして、リージョンが「東京」であることを確認してください。

確認

AWSマネジメントコンソールの上部の検索ウインドウに「sagemaker」などと入力して、Amazon SageMakerのコンソールに移動します。

コンソールに移動

左側のメニューの「Amazon SageMaker Studio」もしくは「今すぐ始める」の配下にある「SageMaker Studio」のいずれかを選択します。

選択

すると、下図のようなセットアップ画面に移動します。

セットアップ画面

ここで、Amazon SageMaker Studioのセットアップ方法について補足しておきましょう。

セットアップには、次の2つの方法があります。

セットアップ方法 説明
クイックスタート ・Amazon SageMaker Studioの操作に必要なアカウントや権限設定の大部分をAmazon SageMakerに任せる
・認証方法はIAMとなる
標準セットアップ ・Amazon SageMaker Studioの操作に必要なアカウントや権限設定を詳細に行う場合に選択する
・認証方法はIAMに加えて、AWS SSOが選択可能である

ここではチュートリアルに従って、「クイックスタート」でセットアップを進めます。なお、IAM認証を選択して構築したドメイン(Amazon SageMaker Studioの環境)をAWS SSO認証に変更する場合は、一度ドメインを削除した後、再作成が必要です。特に、本番環境で利用する際は注意して選択してください。

クイックスタートでの設定項目やその意味について、下表にまとめました。今回は検証なので、特に理由がない限り、以降の設定はデフォルト値のまま進めることとします。

設定項目 説明 デフォルト値
ユーザー名 Amazon SageMaker Studioで利用するユーザーを作成する default-xxxxxxxxxxxxx(ハイフン以降は自動で採番)
実行ロール 上記のユーザーに付与するAWSリソースの操作権限を設定する。本表の下に記載した補足情報も参照されたい IAMロールを選択する(新しいIAMロールの作成)
SageMakerプロジェクトとJumpStart Amazon SageMaker Pipelines(MLOpsプロジェクト)およびAmazon SageMaker JumpStartの利用可否を設定する 有効

※ これらはAWS Service CatalogやAWS CloudFormationを利用して実装されているため、それぞれの利用するリソースへのアクセス許可を設定する。

ここで作成されるIAMロールは、連載の第5回で作成したものと同様です。「AmazonSageMakerFullAccess」と、下記で設定した条件に当てはまるAmazon S3のバケットとオブジェクト(ファイル)の操作権限を持つIAMロールが作成されます。今回は下図の設定でIAMロールを作成しますが、本番環境で利用する場合は必要最低限の権限を付与してください。

IAMロール

「送信」ボタンをクリックして、以下のように「SageMaker Studioコントロールパネル」が表示されればセットアップは完了です。

セットアップ完了

注意事項

ここまでの手順を進める中で、筆者のAWSアカウントでは下図のようなエラーが発生しました。プロジェクトの「起動制約ロール」と「製品使用ロール」が存在しないことを示すエラーです。

しかし、「SageMaker Studioコントロールパネル」の赤枠内に示したようにどちらのロールも正常にアタッチされていますので、問題なしと考えて進めることにします。

インスタンスの停止方法

ここで作業を中断する場合は、下記の手順で「インスタンスの停止」もしくは「停止」を確認してください。背後でインスタンスが稼働している場合は、課金対象になります。

まず、左側のナビゲーションペインで、赤枠内の「■」を選択します。

四角を選択

「RUNNING INSTANCES」の横の「×」を選択します。

バツを選択

「Shut Down All」を選択します。

「Shut Down All」を選択

「RUNNING INSTANCES」以下に稼働しているコンポーネントがないことを確認します。念のため、右上のリフレッシュボタンを選択しても何もコンポーネントが現れないことを確認してください。

確認

* * *

今回はAmazon SageMaker Studioのセットアップまで完了させました。次回はAmazon SageMaker Autopilotを使って機械学習モデルの構築を行っていきます。

著者紹介


菊地 貴彰 (KIKUCHI Takaaki) - 株式会社NTTデータ
システム技術本部 デジタル技術部
Agile プロフェッショナル担当

大学・大学院では、機械学習を専攻。ベイズ的枠組みを用いて、複数の遺伝子のデータから遺伝子どうしの相互作用ネットワークの推定に関する研究を行った。

株式会社NTTデータに入社後は、法人や金融のシステム開発のシステム基盤担当としてキャリアを積み、現在はデジタル技術やAgile開発を専門に扱う組織でシステム開発全般を担当する。
2019, 2020 APN AWS Top Engineers, Japan APN Ambassador 2020に選出に選出。

本連載の内容に対するご意見・ご質問はtwitter: @kikuchitk7まで。