はじめに
AWSで機械学習を「実装・運用できるエンジニア」であることを問われる資格、
MLA(AWS Certified Machine Learning Engineer - Associate)を勉強していると、
SageMaker関連サービス、多すぎない…?
となったので、
それぞれのサービスが何なのかを「一言」でざっくり理解できるようにまとめてみました!
特に、
- 機能が多いもの
- 試験で重要そうなもの
については、補足として「実際に何ができるのか」も書いています。
MLA対策としてはもちろん、
実際にAIを使ったサービスを作るときにも
「これ、ここで使えそうだな〜」
とイメージする助けになれば嬉しいです!
SageMaker関連サービスを一言で理解する
-
SageMaker AI(旧称 SageMaker)
👉 機械学習の開発から運用までをまとめて提供する総合プラットフォーム -
SageMaker Studio
👉 機械学習用の統合開発環境(IDE) -
SageMaker Canvas
👉 コードを書かずにモデルを作れるGUIツール -
SageMaker Data Wrangler
👉 学習前のデータ加工・前処理を行うツール -
SageMaker Model Registry
👉 学習済みモデルを管理・バージョン管理する場所 -
SageMaker Pipelines
👉 機械学習の一連の処理を自動化するワークフロー -
SageMaker Experiments
👉 実験ごとのパラメータや結果を記録・比較する機能 -
SageMaker ML Lineage Tracking
👉 データ・コード・モデルの関係を追跡する履歴管理 -
SageMaker Model Monitor
👉 本番モデルの劣化や異常を監視する仕組み -
SageMaker Debugger
👉 学習中の問題(過学習・勾配爆発など)を検知するツール -
SageMaker Clarify
👉 モデルの予測が「なぜそうなったか」を可視化するツール -
SageMaker Feature Store
👉 特徴量を一元管理・共有するためのデータベース -
SageMaker Feature Processing
👉 特徴量生成・変換を本番でも再利用できる仕組み -
SageMaker Autopilot
👉 データを渡すだけでモデルを自動作成するAutoML -
SageMaker JumpStart
👉 すぐ使える学習済みモデルやテンプレート集 -
SageMaker Inference Recommender
👉 推論に最適なインスタンス構成を提案するツール -
SageMaker Ground Truth
👉 高品質な教師データを作成するためのアノテーション機能 -
SageMaker Training Compiler
👉 学習処理を高速・低コストに最適化する仕組み
補足
ここからは、特に重要 or できることが多いサービスについて補足します。
MLA対策としても理解を深めるのにおすすめです!
SageMaker AIの4種類のエンドポイント
SageMakerでは、用途に応じて4種類のエンドポイントが用意されている。
-
リアルタイムエンドポイント(Real-time Inference)
常時起動しておき、低レイテンシで即座に推論結果を返すエンドポイント -
サーバーレスエンドポイント(Serverless Inference)
アクセス時のみ自動で起動し、トラフィックが少ない用途向けのエンドポイント -
非同期エンドポイント(Asynchronous Inference)
推論に時間がかかるリクエストをキューイングして非同期で処理するエンドポイント -
バッチ変換(Batch Transform)
大量データをまとめて一括推論するためのジョブ実行型推論
SageMaker Data Wranglerでできること
SageMaker Data Wranglerは、機械学習の前工程である
データ理解・前処理・特徴量作成を効率化するためのツール。
主に以下のことができる。
-
データの取り込み(Import)
S3、Redshift、Athena などからデータを読み込む -
データの可視化・理解
分布、欠損値、外れ値などをGUIで確認できる -
データ前処理・加工
欠損値補完、正規化、型変換、カテゴリ変数のエンコードなど -
特徴量エンジニアリング
新しい特徴量の作成や既存特徴量の変換 -
処理後データの書き出し(Export)
前処理済みデータをS3やSageMakerの学習・処理ジョブ向けに出力できる
SageMaker Model Registryでできること
SageMaker Model Registryは、
学習済みモデルを登録・管理し、ステータスと承認状態を管理しながら本番利用するための仕組み。
主に以下のことができる。
-
モデルの登録(Register)
学習済みモデルをバージョン付きで登録する -
モデルのバージョン管理
同一モデルの複数バージョンを履歴として管理できる -
モデルの承認・却下
モデルに対して「承認済み / 未承認」を設定し、
その結果がステータス管理やデプロイ可否に反映される -
ステータス管理
検証中・承認済みなど、
モデルが現在どの段階にあるかを明示的に管理できる -
モデルの共有
AWSアカウント間でモデルを共有し、別環境から利用できる -
モデルの追跡(トラッキング)
どのモデルが・いつ・どの状態で利用されたかを履歴として追跡できる -
デプロイ連携
承認状態やステータスを条件として、
利用可能なモデルのみをエンドポイントやバッチ推論に使用できる
おわりに
今回は、MLAでよく出てくるSageMaker関連サービスを一通りまとめました。
SageMakerはサービス数が多くて、
「名前は聞いたことあるけど違いがわからない…」
となりがちですが、一言で整理すると意外とスッと理解できます。
MLAの勉強中や、AIサービスを設計・実装するときに、
この記事を思い出してもらえたら嬉しいです!
また、MLA対策として他にも記事を書いているので、
よければそちらもあわせて見てもらえると嬉しいです。