先日(2021/5/11)、AWS Certified Machine Learning – Specialtyを受験して合格したので、それまでに行った勉強方法を紹介します。
筆者のスペック
前提条件の私のスペックです。
機械学習の知識
AI系のスタートアップでソフトウェアエンジニアをしています。
しかし、データサイエンティストやMLエンジニアではないので機械学習の用語はある程度知っている程度で、そこまで詳しいわけではないです。最近は主にIoTやWeb周りをやることが多いので、少し機械学習関連の仕事からは遠ざかってました。
AWSの知識
AWSに関しては今の会社に入社して以来、1年半ぐらい使っています。メジャーサービスはほぼ使っていて、今年の3月ぐらいにAWS SAPを取得しました。
学習開始当時、Sagemakerはまだ使ったことがなかったです。(今は結構使っています)
勉強方法
二ヶ月ぐらいかけてまったりと勉強していました。総学習時間は土日+GWの8日分(一日5時間程度)ぐらいなので、めちゃめちゃ勉強したわけではないです。
ゼロから作るDeepLearningなどの機械学習入門の本を勧めている合格体験記もありますが、単純に合格を目指すのであれば少し遠回りかなという印象です。
G検定を受けてみる
合格体験記を眺めているとG検定をやった方が効率的という記事を見つけたので、G検定を受けてみました。
勉強する過程で機械学習の基本的な用語は網羅されるし、G検定もついでに取れたので、おすすめです。トータル勉強時間は3日ぐらいで、G検定の問題集を一通り解きながら、チートシートを用意しました。このチートシートは次のML Specialtyの勉強にも自分用のノートとして加筆していきました。(ML全く知らんという人は5日あれば十分かと思います。)
試験当日は自分の用意したチートシートとネットを探して出てきたチートシートを使って、問題を解いていきました。チートシートを用意すれば難しい試験ではないと思います。
一回手を動かす
どうやらSagemakerについての問題が多く出題されるということだったので、Sagemakerを知るために手を動かしてみました。
記事を調べながらSagemaker Studioを使って、データの前処理・モデルの作成・モデルのデプロイの一連の流れを一回やってみました。データセットはKaggleの有名なタイタニックのデータセットを使いました。実際Sagemakerを動かしてから勉強すると頭に入りやすかったです。
Udemyで模擬問題を受ける
この模擬問題集は全て英語です。日本語の問題集はほぼないので仕方ないですね。でも、自動でブラウザのGoogle翻訳を行いながら解くと割と本番のような問題文で解けるのでおすすめです。(AWSの試験は毎回日本語がおかしい)
Sagemakerの細かい設定に関する問題まで出てきますが、そこまで細かい話は本番出てきませんでした。しかし、本番とほぼ同じ問題がちらほらありました。この模擬問題さえ解けるようになれば基本的に合格すると思います。
自分は、50%ぐらいの正解率でした。一通り解いて見直しをして、G検定のチートシートに加筆していきました。(めんどくさかったので二回目は解いてません。)
AWSの模擬試験を受ける
60分で20問あります。問題は解きながら、スクリーンショットを撮って後から見直しできるようにします。(良いのかわかりませんが)
模擬試験は本番よりはやや簡単でしたが当たり前ですが、本番に近い問題が多かったです。以前にAWSの試験を受けて無料バウチャーを持っている方はできれば受けた方が良いと思います。自分は90%ぐらいの正解率でした。
公式ドキュメント
このMLSpecialtyについては自分はAWSの公式ドキュメントはあまり読まずに勉強しました。わからなかったところを検索して出てきたところや気になったところだけクラスメソッドさんの記事とホワイトペーパーを参照する形で勉強しました。
ただ、AWSのML系のサービス一覧はある程度覚えていた方が良いので以下の一覧は目を通しておいた方が良いです。
本試験の概用・感想
180分で65問の問題数があります。受験料は3万円でかなり高いので、落ちることはできません。50%OFFバウチャーを使って1万5千円で受けました。
SAPのように一問一問時間がかかるというようなことはなく、ゆっくり解いてもかなり時間に余裕がありました。私は見直し込みで70分程度で終了しました。ただ、確実に受かってるか自信があったわけではなく、合っている確信がない問題が13問ぐらいありました。(特にForecastについての問題がわからなかったです。)
SageMakerに関する問題は思ったより多くなかったです。一般的な機械学習の話が半分ぐらいあり、Sagemaker以外のAI系のサービスに関する問題や、ETLに関連するAWSサービスについての問題がバランスよく出題されていました。(詳しいことは規約により書けません)
スコア
自分のスコアは855点でした。(合格は750点以上)
思ったよりも余裕がありました。
取得後
今では会社でもSagemakerを使い始めていて、現在社内にて布教中です。Sagemaker独特のお作法が多いのでそこは厄介ですが、データの前処理やモデルのデプロイが簡単にjupyter Lab上でできるサービスは他になかなかないので重宝してます。