LoginSignup
1
3

More than 1 year has passed since last update.

Amazon SageMaker Studioをつかってみる

Posted at

やりたいこと

Amazon SageMaker Studioってどんなことができるの?を疑問に、実際に手を動かしてサービスの感触などをつかんでみたい。

参考サイト

SageMaker Studioとは

Amazon SagemakerとAmazon Sagemaker Studioはどのあたりが違うのでしょうか。
上記の参考サイトより:

Amazon SageMaker は、機械学習モデルの構築から
トレーニング〜デプロイまで可能にするマネージド型サービスです。
機械学習を実際におこなっていく上で問題となるインフラ問題やトレーニング、
パラメータの設定やモデルの評価など多くの部分についてやってくれます。
※100%全部やってくれるわけではないし、機械学習に関する知識は必要です

Amazon SageMaker Studioとは、「機械学習のための統合開発環境」です。
Amazon SageMaker Studio はウェブベースのUIを持ち、
機械学習に関連するすべての手順を実行可能です。
モデルの構築、モデルのトレーニング、パラメータの調整やデプロイ、
さらにエンドポイントに作成や推論実行もできます。
これらの作業はすべてAmazon SageMaker StudioのUI上で実行可能です。

詳しくはこちら

やってみる

SageMaker Studioの起動

SageMakerコンソールから「Studio」を選択し、「Create a SageMaker domain」をクリック。Studioの起動には「ドメイン」が必要らしい。
image.png

今回はStandartd SetUpを使っていきます。Domain nameを設定し、
image.png

IAMロールを作成していきます。ロールに紐づけるS3バケットは事前に作成していたバケット名を指定します。(未作成であればS3コンソールから適当に作成)
image.png

ネットワーク部分は、今回はとりあえずインターネットとつなげられるようにPublic-subnetとWebSGを指定してみます。
image.png

後はデフォルトで進めていき、最後まで進んだら「Submit」をクリック
image.png

5分くらい待ちました。
image.png

無事に作成できました。この画面からStudioを起動できるみたいです。StudioってAppの枠組みになるんですね。
image.png

どんな画面が起動するのか、、、ワクワクです。
image.png

初回起動は時間かかりましたが、カッコいい画面が現れました!
image.png

Studioで手を動かしてみる

ひとまず今回用いるコードは上の参考サイト内で公開されていたサンプルコードを使わせていただきますスクリーンショット 2023-04-07 164416.png

クローンするにはSystem Terminalを選択すればよさそうです。
image.png

以下でクローン

$ git clone https://github.com/cH6noota/SageMakerSample.git

無事にクローンして、フォルダ内にファイルも確認できました。このように操作を少し実施しただけでも「統合開発環境」としてのイメージがつきます。
image.png

データセット作成

参考サイト内の内容にそって、まずはtrain.ipynbを実行してみたいと思います。
こちらのファイルを開こうとした際に、以下のようなnotebook環境のセットアップウィンドウがポップアップされました。なるほど、ここでマシンのスペックを決めたりできるんですね。
image.png

こんな感じのファイルの中身なので、上から順に素直に実施してみます。
backet_nameを指定しているところだけ、sagemaker-studio-data-01に変更してみました。
スクリーンショット 2023-04-07 161644.png

実行後にS3バケットを見てみると、データが入っています。
image.png

モデルの定義・学習

引き続きサンプルコードの実行を進めます。以下の部分です。
image.png

モデル自体は別ファイルのmain.pyに記載されているみたいです。内容をのぞいてみましょう。
image.png
全てはキャプチャーしてませんが、こちらで実施している内容は以下の内容のようです。

今回は、Xceptionで転移学習を行ってます
ノートブックからは、モデルの記述してあるファイル名、入力するパラメータやインスタンスタイプ、フレームワークのバージョンを指定し、fitで学習を行います。

このfitによる学習を実施する部分(上のキャプチャの[69]の部分)にて、以下のようなエラーとなってしまいました。どうやら今回の検証用のStudioではスペックが足りないようです。こちらのLimitを解除するにはAWSサポートからリクエストを送る必要があるとのことでした。(stackoverflow
スクリーンショット 2023-04-07 164416.png

続けるか迷いましたが、実際にStudioを起動してみて、「統合開発環境」と言われるゆえんやnotebookなどをネイティブに使えそうな部分が分かったので今回はここまででよしとしようかと思います。
もう少し軽いMLモデルのサンプル、もしくは自分で適当に作ったようなサンプルで今後の検証は実施していこうと思います。

おわりに

このAmazon SageMaker Studioですが、この記事の執筆に際して触れたのはメインのNotebookへの記述の部分でしたが、他にも便利な機能「ExperimentやAutopilot」など豊富にありそうです。少しずつ触れて慣れていきたいと思います。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3