Amazon SageMaker について少しまとめてみました

SageMaker

はじめに

私事ですが、先日 AWS の認定資格である Machine Learning - Specialty を取得いたしました。加えて、新たに Machine Learning Engineer - Associate の試験も開始されるということで、MLS を取得するにあたり勉強をした知識がまだ残っているうちになんとか振り絞って 改めて Amazon SageMaker と個人的によく目にするなと思った機能の 5 つを取り上げて、ざっくりとまとめてみました。

この記事が、これから SageMaker について学ぼう!と思っている皆様の一助になれば幸いです。

※ 本当にざっくりとまとめていますので、確実な情報はぜひ公式ページを参照していただければと思います。

Amazon SageMaker とは

一言でまとめると「機械学習を簡単にやってくれるサービス」です。特別な知識やコーディングのスキルがなくても、やりたいことがあれば簡単に動かすことができます。フルマネージドサービスなので、別途サーバーを作成して用途に合わせてスケーリングして…という手間もありません。
とらえ方としては SageMaker という機能そのものが存在するのではなくて、SageMaker というサービス群が存在する、という方がわかりやすいかもしれません。

機能について

ここからは、SageMaker に備わっている機能のうち、個人的にすごくてすごいなと思った5つを取り上げて説明します。

Amazon Augmented AI

Amazon A2I と表記されます。AI を用いて判断した事柄に対し、人間の目を用いたレビューが必要な場合に利用できるサービスです。

たとえば Amazon Rekognition という画像認識サービスを用い、サイト上に存在する不適切なコンテンツを検出、非表示にするというワークフローがあるとします。ですが AI に任せきりでは「本当に大丈夫?ちゃんと処理できてる?」と不安になる場合も出てくるかなと思います。こういった場合に Amazon AI2 を使用して、Rekognition が判断した画像の信頼値(AI が対象画像を何%の確度で不適切であると判断したか)に応じて、人間のレビューを挟むかどうか、といったワークフローを作成することができます。
「AI により 60% 不適切と判断されたが、本当にその通りか一度人間の目でも確認しておきたい!」というようなときに便利です。

SageMaker Feature Store

機械学習で用いられる「特徴量」を管理するためのサービスです。

特徴量とは、正確なデータを予測するために必要な手掛かりのことです。たとえば、アップロードされた画像を分析して、そこに描写されているのが「犬」なのか「猫」なのか、を判別する学習モデルを作るとします。このとき、AI は「しっぽの長さ」や「輪郭」や「模様」など、様々なデータをもとに犬or猫の区別をつけようとします。この時に用いられる「しっぽの長さ」や「輪郭」などの情報が「特徴量」です。

SageMaker Feature Store は、作成した「特徴量」を保存したり、グループ間で共有することができます。たとえば上記の例で挙げた犬or猫のモデルとは別に、新しく「犬」なのか「鳥」なのかを判別するモデルを作りたいと思ったとき、犬or猫で作成した「特徴量」を SageMaker Feature Store に保存、再利用することで、新しく作成するモデルに「犬のしっぽの長さ」や「犬の模様」を改めて学習させる必要がなくなります。

また SageMaker Feature Store を機械学習のパイプラインに組み込むことで、リアルタイムでデータの加工から特微量の作成までを行うこともできます。

Amazon SageMaker Ground Truth

機械学習へ用いるデータに「ラベル付け」するためのサービスです。

ラベル付けとは、データに正解を与えることを言います。とても簡単に言うと、「犬」の画像には「犬」というラベルを付けようね、ということです。そうしてラベリングされたデータから学習をすることで、AI は新しく取り込んだ画像に対しても「これは犬!」という判断を下せるようになります。
データが何千、何万個もある場合、すべてを手動でラベリングするのは途方もない時間がかかります。SageMaker Ground Truth を使用すれば、S3 へアップロードされた画像、テキスト、動画などのファイルタイプに対し、自動的に(もしくは任意のベンダーの手を借りて)ラベリングを行うことが可能です。

更に高品質かつ手間や労力を省いて設定を行いたい場合は、Amazon SageMaker Ground Truth Plus という機能も用意されています。こちらは、Amazon が雇用する専門家チームか、厳選されたサードパーティーベンダーのどちらかに作業を依頼し、設定からラベリングまでの一覧の作業を委託することができます。

Amazon SageMaker Model Building Pipelines

SageMaker Studio という IDE (総合開発環境)で利用ができ、機械学習モデルの構築を自動化することができます。

上記で挙げた犬or猫の学習モデルの例を使って説明します。こちらの学習モデルを作成しようと思った場合、通常であれば以下のプロセスが必要です。

  1. 犬と猫の画像を複数枚用意する
  2. 上記画像を AI に読み込ませ、犬or猫の判断基準を学習させる
  3. 別途画像を用意し、AI が学習した判断基準がどの程度正しいのかを確認する
  4. 判断結果に問題がなければ学習モデルを環境へデプロイする

SageMaker Model Building Pipelines を使用すれば、これらの作業を自動化できる他、再利用することもできます。

Amazon SageMaker Model Dashboard

アカウントに存在するすべての機械学習モデルを表示、検索、探索することができる管理ツールです。どのモデルがどこで使われているか、どの程度正確に動いているかなどといったステータスを見ることができます。

SageMaker のプロセスは CloudWatch を用いても監視ができますが、Model Dashboard は機械学習モデルの監視に特化したサービスなので、より専門的なメトリクスを監視することができます。もちろんアラーム機能もあるので、たとえば「このモデルの予測精度が95%を下回ったら通知が欲しいな」といった場合に使用できます。

さいごに

SageMaker は本当にたくさんの機能がありますので、すべてを把握しよう!と思うととても時間がかかると思います。
個人的な感想ですが、まずは目についたいくつかのサービスを頭に入れたうえで、その派生としてほかのサービスを覚えていくと大分入りやすいのではないかな、と思いました。

最後まで目を通していただきありがとうございました。

投稿者プロフィール

omi
AWS の諸々について、初学者目線から書いていけたらいいなと思っています!