AWS Amazon SageMaker つかってみた1 〜概要〜


はじめに

Amazon SageMaker を利用する上で自分が気になったところ、詰まったところを中心にまとめていきます。
実際にエンドポイントを公開するまで記事にできたらと思っております。
まずは Amazon SageMaker の概要についてまとめます。
詳しくは公式ドキュメントを確認してください。
次の記事はこちら

Amazon SageMakerとは

Amazon SageMaker は、開発者やデータサイエンティストが機械学習モデルをあらゆる規模ですばやく簡単に構築、トレーニング、デプロイできるようにするフルマネージドサービスです。(参考)

できること

分析の前処理から公開までサポートしています。

ノートブックインスタンス

Jupyter Notebook のインスタンスが簡単に立ち上がります。
Jupyter Notebook はデータ分析のための環境です。
こちらでデータ分析の前処理をしたりジョブを実行したりできます。
作業過程を残すことができるのでとても便利です。

ジョブ

S3にある学習データを学習して出力データをS3に保存します。
簡単に分散学習ができて、学習が終わるとリソースを開放してくれます。
最初から主要な学習アルゴリズムが用意されています。
コンテナをつかって独自アルゴリズムで学習させることも可能なようです。

モデル

学習済みデータからモデルを作成できます。

エンドポイント

モデルを公開できます。

料金

最初の2ヶ月間は無料枠があります。

  • ノートブックインスタンス: t2.medium 250時間
  • ジョブ: m4.xlarge 50 時間
  • エンドポイント: m4.xlarge 125 時間

ジョブは実行している時間だけ料金が発生するので安心
くわしくはこちら

使ってみた感想

  • 環境構築が超簡単。
  • 学習で使用するインスタンスのタイプや並列起動数等を簡単にプログラム内で指定できる。
  • Jupyter でトレーニングの手順が残せるので再現性があったり、少しオプションを変えたりとかしやすい。

注意

/sample-notebooks 配下のノートブックを変更してsaveしても、ノートブックインスタンスを再起動すると変更内容が初期化されてしまいます。
変更内容が消えないようにするには、 /sample-notebooks 以外のディテクトリに移動またはコピーしましょう。