SageMaker初心者必見！AWS認定試験(機械学習)に合格するために絶対に覚えるべきこと

# はじめに

先日、AWS認定 機械学習 - 専門知識 (AWS Certified Machine Learning - Specialty) に合格し、**AWS認定試験をすべて制覇することができました。11冠達成！**

この試験で特に重要なのがAWSの機械学習サービスである **「Amazon SageMaker」** です。

**しかし、一口に「SageMaker」といっても「SageMaker ＊＊＊＊」といった関連サービスがとても多い。**
もちろん、機能が多いのはありがたいことなのですが、初心者にとっては覚えるのが大変なので、試験の復習も兼ねて、まとめてみました。


# SageMaker サービス体系

![SageMaker.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2443303/43b656db-802a-52fd-668b-cdcab0c3f9f2.png)

**注意事項**

* AWS re:Invent 2021 (2021/11/29 - 2021/12/03) 以降に発表されたサービスは別枠としているのは、リリースされて6か月以内のサービスや機能に関する問題が認定試験で出題される可能性は低いためです。

* [Exam Readiness: AWS Certified Machine Learning - Specialty (Japanese)](https://explore.skillbuilder.aws/learn/course/external/view/elearning/629/exam-readiness-aws-certified-machine-learning-specialty-japanese) には、以下の記載がありました。

> * 試験問題には、以下は含まれません。
>   * 提供開始から 6 か月以内の新しいサービスや機能
>   * 料金やパフォーマンスメトリクスなど、変更される可能性がある情報

* ただし、本記事を見た時期によっては、これらのサービスや機能に関する問題も出題される可能性はあると思いますので、ご留意ください。


# 各SageMaker関連サービス概要

ここからは各サービスの概要を解説していきます。

* 本記事で触れるのはSageMaker関連サービスの概要です。
  認定試験に合格するには、各サービスの詳細まで把握しておく必要があります。

* SageMaker関連サービスをマスターするだけでは認定試験は合格できません。
  一般的な機械学習の知識やSageMaker以外のAWSサービス（特にAI系サービス）に関する知識も必要になります。


## Amazon SageMaker

まずは本家 **SageMaker**。これを覚えなきゃ始まりません。
機械学習モデルを構築、トレーニング、デプロイするフルマネージドサービスです。

* **キーワード**
  * **モデル作成**
  * **トレーニング**
  * **推論**

https://aws.amazon.com/jp/sagemaker/

### SageMakerの組み込みアルゴリズム (built-in algorithms)

SageMakerの組み込みアルゴリズムは執筆時点（2022/3/14）で17種類あります。
数が多くて大変ですが、各アルゴリズムの特徴や用途は必ず覚えておきましょう。

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/algos.html

1. [BlazingText](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/blazingtext.html)
2. [DeepAR Forecasting](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/deepar.html)
3. [Factorization Machines](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/fact-machines.html)
4. [Image Classification](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/image-classification.html)
5. [IP Insights](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/ip-insights.html)
6. [k-means](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/k-means.html)
7. [k-nearest-neighbor (k-NN)](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/k-nearest-neighbors.html)
8. [LDA](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/lda.html)
9. [Linear Learner](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/linear-learner.html)
10. [Neural Topic Model](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/ntm.html)
11. [Object2Vec](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/object2vec.html)
12. [Object Detection](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/object-detection.html)
13. [PCA](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/pca.html)
14. [Random Cut Forest](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/randomcutforest.html)
15. [Semantic Segmentation](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/semantic-segmentation.html)
16. [Seq2Seq Modeling](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/seq-2-seq.html)
17. [XGBoost (eXtreme Gradient Boosting)](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/xgboost.html)

各アルゴリズムの概要を覚えるには以下のブログが分かりやすかったです。（感謝）

https://www.blog.danishi.net/2021/05/25/post-5001/


## Amazon SageMaker Data Wrangler

データ準備と機能エンジニアリングのプロセスを簡素化し、データ選択、クレンジング、探索、視覚化などをサポートするサービスです。

* **キーワード**
  * **データの準備・前処理**
  * **データクレンジング**

https://aws.amazon.com/jp/sagemaker/data-wrangler/


## Amazon SageMaker Clarify

データと機械学習モデルのバイアスを検出し、解釈可能性を視覚的に表現することができるサービスです。

* **キーワード**
  * **バイアス（データの偏り）の検出**
  * **解釈可能性 (Interpretability)**

https://aws.amazon.com/jp/sagemaker/clarify/


## Amazon SageMaker Ground Truth

トレーニングデータのラベリング（ラベル付け）を行うことができるサービスです。
なお、AWS re:Invent 2021 では [Amazon SageMaker Ground Truth **Plus**](https://aws.amazon.com/jp/blogs/news/announcing-amazon-sagemaker-ground-truth-plus/) が発表されました。

* **可能なラベリング**
  * テキスト分類
  * 画像分類
  * 物体検出
  * セマンティック・セグメンテーション
  * ユーザー定義のカスタムタスク

* **キーワード**
  * **データラベリング（データのラベル付け）**

https://aws.amazon.com/jp/sagemaker/data-labeling/


## Amazon SageMaker Feature Store

特徴データを管理するリポジトリ機能を提供するフルマネージドサービスです。

* **キーワード**
  * **リポジトリ**
  * **特徴データ・特徴エンジニアリング**

https://aws.amazon.com/jp/sagemaker/feature-store/


## Amazon SageMaker Processing

データの前処理や後処理、モデル評価を実行するインフラ環境を提供するフルマネージドサービスです。

* **キーワード**
  * **データ加工・前処理・後処理**
  * **モデル評価**
  * **組み込み Scikit-Learn コンテナ**
  * **独自コンテナ**

https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-processin-fully-managed-data-processing-and-model-evaluation/


## Amazon SageMaker Studio

機械学習のための統合開発環境（IDE）を提供するフルマネージドサービスです。

* **キーワード**
  * **統合開発環境 (IDE)**

https://aws.amazon.com/jp/sagemaker/studio/


## Amazon SageMaker JumpStart

ワンクリックで事前構築済みモデルをデプロイし、機械学習ワークフローを簡単に実現するフルマネージドサービスです。

* **キーワード**
  * **事前構築済みモデル**

https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-jumpstart-simplifies-access-to-prebuilt-models-and-machine-learning-models/


## Amazon SageMaker Autopilot

可視性を備えた機械学習モデルの自動作成機能を提供するサービスです。

* **キーワード**
  * **モデルの自動作成**
  * **可視性**

https://aws.amazon.com/jp/sagemaker/autopilot/


## Amazon SageMaker Debugger

トレーニングメトリックをリアルタイムで監視し、モデルのデバッグ（分析・最適化）をサポートする機能を提供するサービスです。

* **キーワード**
  * **モデルの分析・最適化**

https://aws.amazon.com/jp/sagemaker/debugger/


## Amazon SageMaker Model Monitor

本番環境にデプロイされたモデルを監視し、不正確な予測を検出してアラートを発することにより、モデルの品質を維持するためのモニタリングサービスです。

* **キーワード**
  * **モデルの監視（モニタリング）**

https://aws.amazon.com/jp/sagemaker/model-monitor/


## Amazon SageMaker Neo

クラウドインスタンスとエッジデバイス向けの機械学習モデルを最適化する機能を提供するサービスです。

* **キーワード**
  * **モデル最適化**
  * **推論高速化・省メモリ化**
  * **エッジデバイス最適化**

https://aws.amazon.com/jp/sagemaker/neo/


## Amazon SageMaker Edge

エッジデバイス（スマートカメラ、ロボット、その他のスマートエレクトロニクスなど）にデプロイされたモデルの管理・モニタリング機能を提供するサービスです。

* **キーワード**
  * **エッジデバイス**
  * **管理・モニタリング**

https://aws.amazon.com/jp/sagemaker/edge/


## Amazon SageMaker Pipelines

機械学習向けのCI/CDサービスです。

* **キーワード**
  * **CI/CD**

https://aws.amazon.com/jp/sagemaker/pipelines/


# AWS re:Invent 2021 以降に発表されたサービス・機能

ここからは AWS re:Invent 2021 (2021/11/29 - 2021/12/03) 以降に発表されたサービス・機能を紹介していきます。
前述のとおり、リリースされて間もないサービス・機能に関する問題が認定試験で出題される可能性は低いですが、今後、出題されるようになる可能性はあると思いますので掲載しておきます。
また、認定試験で出題されるかどうかに関わらず、SageMakerを使用している方はぜひ覚えておきましょう。


## Amazon SageMaker Canvas

きました。機械学習に限らず、近年、注目されている **ノーコードサービス** です。
ノーコードでエンジニアではないビジネスユーザーがコードを記述せずに機械学習モデルを構築できるサービスです。

* **キーワード**
  * **ノーコード**

https://aws.amazon.com/jp/blogs/news/announcing-amazon-sagemaker-canvas-a-visual-no-code-machine-learning-capability-for-business-analysts/


## Amazon SageMaker Ground Truth Plus

既存サービスである [Amazon SageMaker Ground Truth](https://aws.amazon.com/jp/sagemaker/data-labeling/) の強化版です。

* **キーワード**
  * **データラベリング（データのラベル付け）**

https://aws.amazon.com/jp/blogs/news/announcing-amazon-sagemaker-ground-truth-plus/

Ground Truth と Ground Truth Plus の違いは以下を参照してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2443303/946ae25a-abb7-0969-c610-86d43b976de7.png)
引用：https://aws.amazon.com/jp/sagemaker/data-labeling/

## Amazon SageMaker Training Compiler

深層学習 (Deep Learning) モデルのトレーニングを高速化する機能をサービスです。

* **キーワード**
  * **深層学習 (Deep Learning)**
  * **トレーニングの高速化**

https://aws.amazon.com/jp/blogs/news/new-introducing-sagemaker-training-compiler/


## Amazon SageMaker Inference Recommender

負荷テストを自動化し、機械学習モデルのパフォーマンスを最適化するAmazon SageMaker Studioの機能です。

* **キーワード**
  * **負荷テストの自動化**
  * **パフォーマンス最適化**
  * **コスト最適化**

https://aws.amazon.com/jp/blogs/news/announcing-amazon-sagemaker-inference-recommender/


## Amazon SageMaker Serverless Inference

機械学習のサーバーレスなインフラストラクチャを提供するサービスです。

* **キーワード**
  * **サーバーレス**

https://aws.amazon.com/jp/about-aws/whats-new/2021/12/amazon-sagemaker-serverless-inference/


## Amazon SageMaker Studio Lab

AWSアカウント不要、かつ、無料で機械学習の学習ができるサービスです。

* **キーワード**
  * **統合開発環境 (IDE)**
  * **無料**
  * **AWSアカウント不要**

https://aws.amazon.com/jp/blogs/news/now-in-preview-amazon-sagemaker-studio-lab-a-free-service-to-learn-and-experiment-with-ml/


# 勉強方法・試験対策

最後に、勉強方法と試験対策の情報を少しだけ書いておきます。

検索するとたくさん出てきますが、私は以下のブログが一番参考になりました。（感謝）

https://tech.nri-net.com/entry/aws_certified_machine_learning_specialty


## 試験ガイド

AWS公式の試験ガイドには、どのような分野やサービスの問題が出題されるかが記載されているので、必ず目を通しましょう。

https://aws.amazon.com/jp/certification/certified-machine-learning-specialty/


## AWSトレーニングライブラリ (Exam Readiness)

AWS公式の試験対策講座です。無料でいつでも受けられます。
認定試験によっては日本語版が提供されていないものもありますが、機械学習は日本語版も提供されています。

https://explore.skillbuilder.aws/learn/course/external/view/elearning/629/exam-readiness-aws-certified-machine-learning-specialty-japanese


## AWSサービス別資料 (Black Belt)

試験に関する主要サービスの資料は読んでおくことをおすすめします。

https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/#ai-wn


## 実際にSageMakerを使ってみる

やはり、これが一番重要だと思います。


# あとがき

本記事では、SageMakerにフォーカスしましたが、AWS認定 機械学習 - 専門知識に合格するには、RekognitionやForecastなどのSageMaker以外のAWSサービスに関するスキルや、一般的な機械学習の知識も求められます。

覚えることが多く、大変と思いますが、この記事が少しでも役に立てば幸いです。