Amazon SageMakerについて調べてみた
投稿日: 2022/01/20
はじめに
こんにちは、高橋です。
前回はAWSのAI/MLサービスについて記事を書きましたが、今回はそれをブレイクダウンして、Amazon SageMakerについてまとめてみました。
機械学習の運用サイクル
機械学習をビジネスで実際の利用しようとする場合、単にデータからモデルを作成するだけではすみません。機械学習をビジネスで利用していくためには、「データの収集と準備→モデルの作成→トレーニングの実行→本番環境へのデプロイ/運用→最新データの収集と準備→・・・」というサイクルを延々と回し続け、常に最適な状態で運用し続ける必要があります。
このサイクルを実行する環境を独自に開発する場合、複数のシステムを構築し、運用する必要がありますが、Amazon SageMakerを利用すれば、簡単にこのサイクルを実行することができます。
機械学習の運用サイクルとAmazon SageMaker
Amazon SageMakerを先程のライフサイクルに当てはめてみると下記の様になります。
データ準備 | SageMaker Ground Truth | データのラベル付け |
---|---|---|
開発 | SageMaker Studio Notebooks | EC2ベースのJupyter Notebook |
Built-in and bring your-own algorithms | 監視付き/監視なしアルゴリズム | |
SageMaker Autopilot | 自動的にモデルを構築・ トレーニング |
|
AWS Marketplace | 3rd Partyによる事前構築されたアルゴリズムおよびモデル | |
トレーニング | One-click Training | 簡単にトレーニングジョブを実行 |
Automatic Model Tuning | ワンクリックでハイパーパラメータの最適化 | |
SageMaker Experiments | すべてのステップをキャプチャ、整理、比較 | |
SageMaker Debugger | トレーニング実行をデバッグ | |
本番環境の運用 | Amazon Augmented AI | モデル予測のヒューマンレビュー機能を追加 |
SageMaker Neo | 一度のトレーニングでどこにでも展開 | |
One-click Deployment | リアルタイム、バッチおよびマルチモデルをサポート | |
Model Monitor | コンセプトドリフトを自動検出 |
上記の内、AWS Marketplace 、SageMaker Ground Truth、Amazon Augmented AI、SageMaker Neo以外はSageMaker Studioという機械学習のための統合開発環境にて実装されている機能となります。次の章ではAWSの機械学習の中核となる、SageMaker Studioを動かしたいと思います。
SageMaker Studioを利用してみた
SageMaker StudioはAWSのコンソールでAmazon SageMakerを開いた画面に表示されている、今すぐ始めるにある「SageMaker Studio」ボタンを押すことでセットアップを開始することができます。
初期設定はプロファイル名の指定とノートブックインスタンスに割り当てるロール、アクセス可能なS3バケット、デプロイするネットワークを指定するだけです。
初期設定は数分で完了し、SageMaker Studioを利用開始できるようになります。完了したら、「アプリケーションを起動」をクリックして、ノートブックを起動します。こちらも起動には数分の時間を要します。
起動したらサンプルのトレーニングを実行するために、ターミナルを起動します。ターミナルは「File→New→Terminal」で開くことが可能です。
SageMakerのサンプルはgit上に公開されているため、ターミナルで 「git clone https://github.com/awslabs/amazon-sagemaker-examples.git」と打ち込んでサンプルのダウンロードを行います。
ダウンロードが完了したら、左側のメニューから「amazon-sagemaker-examples→aws_sagemaker_studio→getting_started」を選択し、「xgboost_customer_churn_studio.ipynb」をダブルクリックしてサンプルを実行します。
サンプルでは必要なライブラリなどのダウンロードやトレーニングデータの加工、トレーニングの実行と結果の表示、トレーニング済みモデルのエッジへの配備、配備後のモニター等、一連の流れが解説とともに表示され、実際に実行されます。サンプルは多数用意されていますので、自身が興味のあるもの、実行したいものを選択して是非SageMaker Studioの学習に取り組んでみて下さい。
さいごに
今回はAmazon SageMakerについての説明と、実際の利用方法について記載してみました。次回はAWS re:Invent 2021で発表された、機械学習をより簡単に利用することができるようになった、SageMaker Canvas を試してみたいと思います。
CTCは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にお問い合わせください。