(-> % read write unlearn)

My writings on this area are my own delusion

試験勉強: AWS Certified Machine Learning - Specialty / AWS 認定機械学習 - 専門知識

AWS 認定試験の Machine Learning Specialty (機械学習 専門知識)試験を受けた際にどんな勉強をしたか書き残しておきます。諸事情合って Specialty の5つの認定試験を受けました。Machine Learning 以外は試験準備としての勉強は大してしなかったので、それぞれの試験については最初に雑感を簡単に書きます。

AWS 認定 Specialty (専門知識)5試験

Specialty 試験は前は6つあったのですが、そのうちの1つである『認定 Alexa スキルビルダー試験』が 2021年3月22日で提供終了してしまったので現在受けることが可能なのは5つです。

aws.amazon.com

f:id:hatappo:20210506115902p:plain
利用可能な AWS 認定

試験を受けた順は以下の記載順と同じになります。

1. Database

  • MySQLPostgreSQL, Oracle 以外の RDBMS についてもっと復習しておけば良かったです。しかしなんとかなりました。

2. Security

  • 要点整理から攻略する『AWS認定 セキュリティ-専門知識』 この本を事前に読みました。せっかく試験対策本が出ているのでと買ってみましたが良本でした。広い範囲の知識が整理されているのがとても良かったです。また、模擬試験が掲載されているるのも良いです。ただ、一部記述内容に怪しいところもあったように思います。 Public IP がアタッチされていれば OK なところで Elastic IP でなければいけないような記述であったり、 AWS X-Ray はオンプレのサーバをトレーシングはできない、と書かれていました。
  • 振り返ってみると、Security の試験を最初のほうで受けておいて良かったです。なぜなら、基本的に他のどの試験でも Security 関連の問題はそれぞれの試験のメインテーマに即して一定割合出題されます。早い段階で全体的に整理し復習しておくのは効率が良いです。

3. Data Analytics

4. Advanced Networking

  • 出題内容から逆算して AWS Direct Connect についてしっかり復習しておきました。

5. Machine Learning

  • 後述

AWS Certified Machine Learning - Specialty

AWS Certified Machine Learning - Specialty

一番最後に受けました。なぜかというとサンプル問題を解いてみたら 3/10 しか正解しなかったので準備期間をとるためです。サンプル問題は上記の試験概要のページからリンクされています。PDF形式で10問です。公開されているサンプル問題以外に有料の「模擬試験」というのをオンラインで購入・受験可能です。こちらはより問題数が多いのですが、あいにく解答解説は得られないようです。

また、上記ページには「試験ガイド」の PDF もあわせてリンクされています。この試験ガイドには、出題内容の範囲と割合などもまとまっているため、試験勉強する上では重要です。

私自信はプログラマ/インフラエンジニアとしての数年の実務経験がありますが、機械学習は素人です。 以下、勉強に使った教材です。

1) 仕事ではじめる機械学習 第2版

イムリーに第2版が出たばかりで話題になっていたので買ってみました。結果としては最高でした。試験勉強としても関係なしでも役に立つ知見が非常に整理されてまとまっています。第2章は代表的な機械学習アルゴリズムの用途と仕組み、Pros/Cons、チューニング方法などを整理したカタログ然とした形式ですが、ここは必読です。ここに掲載されているアルゴリズムは最低限知っているべきものばかりです。以降〜第8章までで第1部を構成しているのですが、基本的にここまで読んだほうがいいでしょう。第9章からが第2部となり、実際の適用例をもとにしたケーススタディです。試験という意味では9章以降は重要ではないですが、本の内容としてはここからさらに面白く(でありながら読みやすい)なっていくのでたぶん読みたくなってしまうんじゃないかと思います。以下、3〜8章について軽く内容を紹介しておきます。

第3章は学習結果の評価方法についてです。学習のチューニングの前提となる大事な知識です。そもそも適切な評価方法を選択できなければチューニングも改善もありません。評価方法はアルゴリズムとビジネス課題・目的によって変わります。第4章は本番アーキテクチャとデプロイについてです。予測(推論)をどのように処理するかのパターンを整理しているのとログ設計についても触れています。第5章は学習データをどう集め、前処理し、準備するか、です。第6章は継続的なモデルのメンテナンスやシステムの改善、すなわち継続的トレーニング( CI や CD 同様に CT と表現しています)のための考慮事項です。組織課題から掘り下げて考察している点は試験には出なかったとしても非常に勉強になります。第7章はデプロイした機械学習施策の評価についてです。第3章が学習モデルの評価方法だったのに対して、第7章はより大きなビジネスの視点での結果の評価や判断についての話になります。第8章はモデル自体の可視化や説明についてです。これは社内レポーティングの際に求められる要素でありビジネス上は重要かもしれませんが、この試験のスコープからは外れるかもしれません。

AWS の個別サービスに対する言及も本書内で複数ありますが、基本的には AWS に縛られない汎用的な書籍ですが、整理された知見と機械学習をビジネスにどう落とし込むかという考え方のどちらも試験にも大いに役に立つと思います。

2) Amazon SageMaker のドキュメント

ドキュメントは全体を一読したほうが良いですが、特に各組み込みアルゴリズムの用途、特徴、Pros/Cons、チューニングについて整理して理解しておくのに公式ドキュメントが役に立ちます。これを読む際も前記『仕事ではじめる機械学習 第2版』の第2章を中心とした内容は予備知識としても効いてきます。

docs.aws.amazon.com

3) これならわかる機械学習入門 (KS物理専門書)

何冊かトライしましたが、機械学習自体の仕組みを数学的に理解するにはこちらが一番分かりやすかったように思います。Amazon レビューを読むとこの本で数学的なところを理解できたと思うのは間違いなのかなという気がしてきますが、入り口としては有効なのではないかと思います。この本のような内容を理解していなくても試験自体は合格可能かもしれません。しかし、基礎知識としてあると各アルゴリズムを理解していく上でも全然違います。

4) 見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑

こちらも各アルゴリズムを理解していく助けになります。図鑑という形式なことからも分かるとおり図やグラフが豊富なので取っ付きやすいし見ていて楽しいです。早い段階でざっと一読すると良いと思います。

5) ディープラーニング (やさしく知りたい先端科学シリーズ2)

こちらは何年か前に読んだ本ですが、深層学習や機械学習について本当に何も知らない人だとしたらこのあたりから読むのがも良いと思います。専門学校卒 IT 素人の私の家族も読んでましたが、なんとなく分かったかも、と言っていました。

6) 眠れなくなるほど面白い 図解 AIとテクノロジーの話

ディープラーニング (やさしく知りたい先端科学シリーズ2)』よりさらに初心者向け、文系の人も読める AI の本です。機械学習の話も出てきますが、どちらかというと AI の話です。AI 開発歴史などをも知れるので休憩がてら。かなり昔にコンビニでジャケ買いしました。

7) AWSでつくる AIプログラミング入門

AWS機械学習関連の一連のサービスは次のスライドのように Tier を分けて分類することができます。*1 一番上の「AI サービス」というのは、AWS 側で予めトレーニングが完了している汎用的なモデルであり、Web API 化されておりユーザのシステムにダイレクトに組み込むことが可能な提供形態になっています。画像認識や、音声認識自然言語理解、OCR など多様なジャンルのサービスがありますが、これらを一通り学習するのに最適な書籍でした。ただ、私はこのあたりは以前から十分に知識があったため、書籍自体は斜め読みしただけできちんとは読んでおりません。

8) AWS ホワイトペーパー

機械学習関連のホワイトペーパーも複数あるので一通り目を通すのが良いですが、おすすめは

  • MLOps: Continuous Delivery for Machine Learning on AWS
  • Managing Machine Learning Projects

少し古い内容もある(後者はとくに)ので、記載内容を SageMaker Studio など新しい機能でどう変わるかなど自身で脳内補完するようにしてください。

9) ml-system-design-pattern by mercari

engineering.mercari.com

メルカリさんによる機械学習デザインパターン集です。 AWS 関係なく汎用なアーキテクチャが論じられている内容なので「これを AWS で構築するとどうなるか?」というのを自問自論しながらで読んでいくと良いです。結構ボリュームがあるので アンチパターン から読んでくのもおすすめです。実際の失敗や苦労が見えるように感じ興味深いです。

10) n月刊ラムダノート Vol.1, No.1(2019)

n月刊ラムダノート Vol.1, No.1(2019)www.lambdanote.com

『仕事ではじめる機械学習 第2版』の著者の1人である有賀さんが『MLOps の歩き方』という章を寄稿されています。ML システムの運用が単なるウェブシステムの運用と何が異なるのか、という視点で初心者向けに書かれているので、 MLOps という概念事態に馴染みのない方には特におすすめ。私は出版当時2019年頃に読んでいたので特に試験前には読んでいません。

11) ML Ops on AWS AWS Summit Tokyo 2018

https://d1.awsstatic.com/events/jp/2018/summit/tokyo/aws/44.pdf

少し古いですが、こちらも MLOps という課題をイメージ理解するのに役立つスライド資料です。

まとめ

AWS Certified Machine Learning - Specialty 試験は、ビジネスで使う機械学習システムの構築・運用を学ぶには最適の内容です。AWS のサービスについての知識ももちろん問われますが、総合的には実践的なないようなので、これを口実に機械学習の勉強を進めるのは良い方法だと思います。私もそのように勉強できたかなと思っています。

試験対策という観点では、他試験も受ける予定であればまずはセキュリティをおさえる。それから自分の足りない所を上記リソースなども使って勉強していくといいと思います。

*1:このスライドは古いので最新のラインナップや構成は公式ドキュメントをご確認ください