SageMaker Studioが東京リージョンで使えるようになりました。 #SageMaker
せーのでございます。
この度、SageMaker Studioがいよいよ東京リージョンでGAになったのでご紹介いたします。
SageMaker Studioとは
SageMaker StudioとはAWSのSageMaker周りの機能を一つの画面から効率的に操作できるようにしたIDE(統合開発環境)のことです。
ブラウザベースなのでOSは問いません。
現在SageMakerは学習したモデルの比較やデプロイ先への最適化など、様々な機能があるのですが、それを一つのIDEから統合的に操作できるのがSageMaker studioです。
使いこなせれば色々楽になりそうです。今回で東京リージョンにお目見えということで、業務などでも使う機会が増えそうです。
ということで、とりあえずサンプルを動かしてみましょう。
動かしてみる
では早速動かしてみましょう。東京リージョンでSageMaker Studioを開きます。
とりあえず何も考えずにクイックスタートで動かしてみます。
VPCも適当にあるもので。
しばらく待つとSageMaker Studioが使える状態になります。「Studioを開く」をクリックしSageMaker Studioを開きます。
ローディング画面を経て
SageMaker Studioが立ち上がりました。
ではせっかくなのでサンプルを少し動かしてみます。FileからNew => Terminalをクリックします。
ターミナルが出てきますので、AWSから提供されているサンプルをダウンロードします。以下のコマンドを叩きます。
git clone https://github.com/awslabs/amazon-sagemaker-examples.git
左パネルよりamazon-sagemaker-examples => aws_sagemaker_studio => getting_started とクリックしていき、サンプルコード「xgboost_customer_churn_studio.ipynb」をダブルクリックするとノートブックが開きます。カーネルの指定パネルが出たら「Python 3 (Data Science)」を選択します。
あとはこれを上から叩いていけば機能を試せるのですが、今回はツアーの通りにSageMaker Experimentsという機能をのぞいてみたいと思います。これは学習の経過や結果をロギングして、複数の学習経過を整理、可視化させて比べる機能です。
まずはSageMaker Experimentsの欄までリンクをクリックしてジャンプします。
その項目より上を全て実行しておきます。Run => Run All Above Selected Cellをクリックします。これで上のブロックが全て実行されます。
次にこのSageMaker Experiments のキモであるExperimentsをCreateします。各ブロックはShiftキー + Enterキーで実行されます。
左ペインにあるビーカーのマークをクリックしてExperimentsができているか確認します。
ハイパーパラメータを設定して、学習を開始します。操作的にはこのブロック2つを実行するだけです。
ポイントは「トライアル」と呼ばれる1学習の結果をロギングする要素をcreateして、学習(fit)時にexperimentsと共に紐付けているところです。
trial = Trial.create(trial_name="algorithm-mode-trial-{}".format(strftime("%Y-%m-%d-%H-%M-%S", gmtime())), experiment_name=customer_churn_experiment.experiment_name, sagemaker_boto_client=boto3.client('sagemaker'))
xgb.fit({'train': s3_input_train, 'validation': s3_input_validation}, experiment_config={ "ExperimentName": customer_churn_experiment.experiment_name, "TrialName": trial.trial_name, "TrialComponentDisplayName": "Training", } )
学習が進むとエラー率がエポックごとに表示されていきます。「Completed - Training job completed」というメッセージが表示されたら完了です。
ロギングしたトライアルを見てみます。左ペインからExperimentsを開き、Traialをダブルクリックします。
[Metrics]を開くと、先程の学習結果がロギングされています。
あとはこのままノートブックを進めていけば複数の実験が紐付いていき、実験結果の比較ができるようになります。
こんな感じでSageMaker Studioを使うと、機械学習を行う時に必要になる機能を簡単に実現できます。
まとめ
ということで、ようやく東京リージョンにやってきたSageMaker Studioをご紹介しました。
SageMakerは高性能なサーバを買わなくても効率的に機械学習が試せるサービスですが、使い勝手が色々あるがゆえに「モデルの精度を上げる」となると色々な仕組みを手で組んでいく必要がありました。SageMaker Studioは機械学習を使えば使うほど欲しくなるIDEですので、ぜひ一度試してみてください。