Amazon SageMakerとは何なのか、使い方について。

はじめに

皆さん、「Amazon SageMaker」という言葉は聞いたことはないでしょうか? IT業界に携わっている多くの方は聞いたことがあるかもしれませんね。この記事では、「Amazon SageMaker」とはなんなのかという基本的なことから、使い方についてわかりやすく解説していきます。

「Amazon SageMaker」とは

まずは、「Amazon SageMaker」についてです。読みは「Amazon SageMaker( アマゾンセージメイカー )」です。どのようなサービスなのかというと、機械学習モデルを高速に開発、学習、デプロイ( 使える状態にすること )するためのモジュールが用意されているフルマネージド型サービスです。ちなみにフルマネージド型サービスとは、サーバー運用管理、保守、障害時の対応などの業務を請け負うサービスの事です。

そもそも機械学習とはなんなのか

機械学習とは言葉の通り、機械、AIが学習する事です。学習データを使用して、AIがテストデータや実世界のデータを分類するために使用できるモデルを構築することが出来ます。

「Amazon SageMaker」の特徴

「Amazon SageMaker」は、「Jupyter Notebook」をインターフェイスとして「インスタンス作成」、「モデル構築」、「トレーニング」、「デプロイ」までのフローを実施することが可能という特徴があります。では、そもそも「Jupyter Notebook」とはなんなのかというと、読みは「Jupyter Notebook( ジュピターノートブック )」で、データ分析を行うことが出来る対話型ブラウザ実行環境の事です。ノートブックにプログラムを記述すると、実行結果がプログラムの直後に表示されるようになっているので、結果がすぐにわかり大変便利です。2つ目の特徴としては、「Amazon SageMaker」は、主要な機械学習フレームワーク( Apache MXNet、TensorFlowなど )に対応しており、Dockerコンテナ( Dockerエンジン上で動いている仮想環境 )で実行するように事前に構成されているという特徴があります。3つ目の特徴としては、「Amazon SageMaker」は、一般的な機械学習アルゴリズムが事前にインストール、最適化が行われており、他の機械学習サービスと比較して最大10倍のパフォーマンスでこれらのアルゴリズムを実行できるという特徴があります。4つ目の特徴としては、ワンクリックトレーニングというものがあります。「Amazon SageMaker」のコンソールを使用し、ワンクリックでモデルをトレーニングすることが可能です。高度なトレーニングやチューニングの自動化にも対応しているので、モデルを自動的に調整し精度を高めることも可能となっております。5つ目の特徴としては、フルマネージメントスケーリングというものがあります。「Amazon SageMaker」のインフラ部分は自動的に管理され、スケーリング( 規模の増減、面積の拡大縮小の事 )されるので、ペタバイト規模のモデルトレーニングでも簡単にスケーリングできるという特徴があります。このように「Amazon SageMaker」は様々な特徴があり、非常に便利で、利用者の負担も大幅に軽減することが可能です。

「Amazon SageMaker」の使い方

「Amazon SageMaker」の使い方の前に、AWSアカウントをまだ作っていない方はhttps://portal.aws.amazon.com/billing/signup#/start こちらからアカウント作成を行っておきましょう。注意点としてはアカウント作成にはクレジットカードかデビットカードが必要です。もう一つの準備としてモデルのトレーニングデータとモデルのトレーニング中に生成されるモデルアーティファクトが必要です。これらのデータを保存するS3バケットを作成します。バケットの名前は「sagemaker」という文字列を含める必要があります。ここまでが事前準備となります。以降が使い方となります。まずステップ1として「Amazon SageMaker」のトップページからノートブックを作成します。トップページの左側からノートブックインスタンスの作成を押下します。ノートブックのインスタンス作成では、ノートブックの名前を決めることが出来るので、管理しやすい好きな名前を入力しましょう。次にIAMロールを選択します。他は初期設定でも可能です。S3バケットで使いたいバケットがある場合は「指定するバケット」を選択します。特にない場合は「なし」を選択し、「ロールの作成」を押下します。最後に「ノートブックインスタンスの作成」を押下すると、ノートブックが作成されます。作成後はAWSで一時的に保留となりますが、数分待つとステータス部分が緑色にかわり「InService」となります。ステップ2は、Jupyterノートブックの作成です。ノートブックインスタンスのステータスが「InService」に変わると右にある「オープン」を押下していただき、Jupyterノートブックを開きます。次に、「SageMaker Examples」タブの「Introduction to Amazon algorithms」から「Image-classification-lst-format.ipynb」を選択し「USE」を押下します。確認画面が表示されるので「Create copy」ボタンを押下すると、先ほど選択した「Image-classification-lst-format.ipynb」ノートブック画面が表示されます。次にJupyter上で順次コードを実行していきます。「Shift」+「Enter」を押下すると、処理が次々に実行されていきます。すべての処理が完了するまで大体40分程度かかります。最後にJupyterの「Running」タブから確認できるので、終了したいノートブックを選択し「Shutdown」ボタンを押下します。Jupyterはこれで終了できたので、最後にノートブックインスタンス画面で停止ボタンを押下します。これが簡単ではありますが「Amazon SageMaker」の使い方です。

まとめ

本記事では「Amazon SageMaker」とはなんなのか、「Amazon SageMaker」でどのようなことが出来るのか、使い方について紹介させていただきました。「Amazon SageMaker」は大変便利で、慣れれば使い方も簡単です。本記事に書いてあるのは最低限の使い方なので、まだまだ色々な使い方があります。「Amazon SageMaker」に興味を持っていただけた方は、本記事に書いてある使い方を読んでいただき、実際に実行して理解を深めるのもいいでしょうね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です