タイトルの通りで、何番煎じかわかりませんが先駆者たちに倣って自分も体験記書きます。
前回 SAP-C02を取ったので、次はAWS Certified Machine Learning - Specialtyを狙いに行きました。
結論としては1ヶ月くらいかけてしまいましたが、そこまでの道のりとやったことをまとめます。
目次
1. はじめに
自分の今の状況
詳細は Solutions Architect Professional 取ったときに書いてありますが、機械学習専門知識の領域でのバックグラウンドを少し深堀りします。
学生のときに機械学習の研究を行っていたこともあり、基礎的な用語や概念はある程度わかっていました。ただし、深層学習が流行る前のこともあったのでそちらの知識は若干疎い状態で社会人になりました。
その後研究した内容や知識を活かす事ができずに2年ちょい経ちましたが、そんなのは嫌だな〜の気持ちでG検定やら幸い業務としてE資格を取る機会があったので、一定レベルで機械学習の知識は持てていたのかなというところです。
機械学習専門知識でのAWSとの関わり方(いつから使い始めて、どのようなプロジェクトに使用してきたかなど)
機械学習専門知識では、機械学習のためのデータをどうやって集めるのかとか、どうやってコスト・リソース効率よく精度の高いモデルを動かすのかとか、データベースや機械学習・分析のカテゴリに属するAWSサービスの理解が必要になります。
今回受験前に Solutions Architect Professional を受験していたので、メインで分析や機械学習のサービスを使っていなくてもある程度のサービスの概要や使い方・できることなどがわかっている状態でした。
また、メイン業務やプロジェクトとしてガッツリ機械学習や分析系のサービスを使ったことはないですが、簡単にSageMakerのサンプルを動かしたり、推論エンドポイントをデプロイして確認するみたいなことはしていたため、最低限のハンズオンができている状態だったのかなと言えます。
なぜ受けようと思い立ったか
前回の記事参照
はじめのまとめ
- 前提として少し離れていた期間はあったものの、ある程度機械学習についての知識は持ち合わせている
- 専門知識で必要とされるサービスについて一部ハンズオンレベルで触ることができていた
2. 学習準備
使用した学習教材
下記、個人的に心に響いた学習教材と所感と一番学習に効果のあった度合いと実際の活用割合です。
- 学習に効果のあった度合い -> 自分が今回の勉強を振り返った中で、合格する上で一番効果的だったなと思う教材を1~10段階でつけた。合格後に何から手をつけるべきか?と言われたらこの順番で過去の自分に教えたい。
- 活用割合 -> 一番使っていたなと思う教材。どの教材が良いのかわからなかったので片っ端から試していた中で、どれくらい活用していたのかを表す。
上記なので、これから受ける人は学習に効果のあった度合いを参考にいただき、この人は効果度合いがこれくらいでもこんだけ教材を活用していたら受かるのか〜くらいに見てもらえばいいかと思います。
学習教材 | 所感 | 効果度合い | 活用度合い |
---|---|---|---|
Exam Readiness: AWS Certified Machine Learning - Specialty | 色んなところで評価されているように、試験の難易度とか傾向を確かめるという意味で役に立った印象。機械学習専門知識ではこんなところに注意して知識を問うからね!みたいな感覚を掴むためのもので、演習問題的なやつもある程度知識としてわかっていないとうまく解けなかった気がする。 | 7 | 30% (一通り流して演習問題で解けなかったところは理解するようにした) |
AWS Certified Machine Learning Specialty Practice Exams 2023 | 練習問題としてやった。英語版だったけど解説がある程度しっかりしていた印象で、解説に付随する内容をしっかり把握しておけばこれだけ集中的にやって受かってしまった感じ。本番でも同じようなユースケースの問題が出てた気がする。最初に3回分、自分の実力を計測するために解いて復習して、少し時間を空けて残り3回をまた解いて復習というのを2週した。1週目の最後には80%超えてた。 | 10 | 70% (20問×6回の問題を2週) |
他の方はBlackBeltなどを参考として読んでいる方が多い気がしますが、今回については一切見ていませんでした。模擬試験の解説にはaws公式ドキュメントへのリンクが貼ってあったりするので、それがBlackBelt分の内容を補完してくれていたかなと思います。
バックグラウンドとしての機械学習の知識があったので、そういった教材がほとんど活用できていない印象です。強いて言うならG検定とE資格の間くらいの知識があれば対応できそうな気がします。
学習スケジュールや時間管理
学習スケジュール
自分の学習スタイルは前回の記事を参照です。
Exam Readinessを見てみるの部分では、ある程度前提知識があるというところで、ダラダラ見てしまった感じです。ここではやっぱり難易度とか問われる知識を確認する意味合いが強いので、正直気合い入れてさっさと1日休みとかを使って見たほうがいいと思います。
演習問題・模擬試験めっちゃ解くでは面白みがないのですが、本当の意味でひたすら練習問題を解いていた状況です。機械学習で必要な数学的な定義とか原理については理解できていなくてもなんとかなると思います。一部しっかりと定義を覚えていないといけないもの(混同行列の計算とか)がありますが、概念とかキーワードを暗記するだけでも合格できる印象です。なので、分からない用語や概念に出会ったら、それをひたすら暗記してユースケースとかメリデメを叩き込むみたいな感じでやれば良いと思います(それでもバックグラウンドとしてG検定レベルの知識とかあるだけでも違うとは思いますが)。
時間管理
前回の記事では、しっかりと勉強時間確保してやっていましたが、Udemyの練習問題が1回20問と手軽なので、平日1日あたりの勉強時間は1.5時間(1回分の回答と復習)くらいでした。波は多少ありますが、それを2日おきにやってた感じです。単純計算で、Exam Readiness(=4h) + 1.5h * 12(練習問題回数) = 22h になりますが、土日にも多少周辺知識の補強みたいなことをやったりしていたので大体30hくらいです。ゼロの知識の人でも1ヶ月あれば合格できるみたいなことも記事としてでてきますが、僕みたいなダラダラ勉強マンでは無理でした。
3. 試験体験
試験当日と実際の試験の感想
Pearson VUEのOnVUEによるオンライン受験になります。
朝は寝起きが頭がぼーっとしてしまい、昼すぐは頭がぼーっとしてしまう気がしましたが、昼寝を導入してなんとなかるやろ!と思って土曜日の14:00試験開始の回に申し込みました。
また、自分の環境がMacBook Air M1なので、その環境でちゃんと動くのかどうか、テストの前日の夜に簡単な動作テストを実施しました。
めちゃ具体的には、試験当日の動きは下記の感じでした。
- 8:30 ~ 9:30 起きる、朝のだらだら
- 9:30 ~ 10:30 VUEの準備
- 10:30 ~ 11:30 ダラダラ復習
- 11:30 ~ 12:30 ちょっと休憩して軽食
- 12:30 ~ 14:00 心いれかえてちゃんと復習
- 14:00 ~ 試験開始
直前まで若干怪しい部分があったりした(XGBoostのパラメータとか。。。)ので、始まる前まで少し焦っていましたが、実際に始まると今まで練習問題でそこそこ取れているかなぁとか思い返して吹っ切れた感じでした。練習問題とかExam Readinessで似たような問題が出てきていたりしたので、そのへんをちゃんとやっていたから冷静に対応できたかなというところです。しかしどうしても、なんだこれ!?どれだ!?みたいな問題もいくつか出会ったので、合格しているとは思うけどギリギリかなぁとか考えていました。
タイムマネジメント
模擬試験の量をある程度こなしていたので、65問/120分で終わらすくらいのイメージでタイムマネジメントしていました。すぐにわからない問題で考え込んでしまった場合は「後で見直す」にチェックを入れて、まずは120分くらいで終わらすことを目標にして最終的に見直し時間は目標通り60分くらい確保できていたかなと思います。
前回の記事でも言及していますが、後で見直すをチェック入れたところについて、「よく見たら日本語が正しいこと言ってないやん!こっちやん!あぶな!」みたいなことがあったので、後からある程度時間に余裕を持って対応できるようにしておくのは良かったと思います。
4. 合格後の感想と次のステップ
合格した感想ですが、やはりバックグラウンドによって結構難易度が変わってくるなぁと思ったのが正直なところです。AWSのサービスとしての使い方を問われるものはSAAとかと比べると少ない印象なので、機械学習・深層学習を研究テーマとして扱っている学生さんだったり、ML開発者の方であれば特に勉強時間確保せずに合格できると思いました。逆に自分としては日和って勉強時間かけすぎたなという印象です(久し振りだったので楽しくなって数式レベルで確認したりしていたため)。
前回の次のステップとして、DVA や SOA などアソシエイト資格をやるぞとか言っていたので、次こそは本当に頑張ろうと思います。もしかしたら血迷ってSpecialtyのセキュリティとかデータベースとかやるかもれないですけど。
5. アドバイス
最後に、自分が合格できたと思ったポイントをいくつか上げておきます。
学習のポイント
- Exam Readinessは優秀なので、さっさと感覚をつかもう
- 今後のAWSの試験はこれから始めたいと思います
- しかも短期間で叩き込みます
- 機械学習の用語系は暗記でもイケる
- 目的が試験合格だけなら暗記するだけでも十分対応できます
- が、個人としてはなぜそうなるのか、定義としてはどんななのかまで理解したほうが楽しかったです
- 用語を叩き込んだら後は練習問題をひたすら解く
- 最初に練習問題を解いてもいいのですが、わからん用語がたくさん出てきて復習コストが高くなる気がする
- なので用語をある程度叩き込んでから、後はひたすら問題解いて知識定着で
- ユースケースパターンとかもそこまで複雑じゃないので暗記してしまってもいい
- AWSのサービスを使ったアーキテクトの出題パターンは限られているので全部覚えたほうが早い気がしました
- 例:
- 動画のdata ingestion:
Kinesis Video Streams
- リアルタイム異常検知:
Kinesis Data Streams -> Kinesis Data Analytics(RCF) -> (必要であれば)Firehose -> S3 <- Athenaでクエリ <- Quicksightで見る
- 動画のdata ingestion:
モチベーションの保ち方のポイント
前回に詳細に書いていますが、その上で機械学習専門知識やるぞ!となった自分のモチベは下記のとおりです。
- 機械学習・深層学習ってやっぱり楽しくない?
- バックグラウンドによりますが、仕事でやっていなくてもやっぱり昔興味を持って学んだことは、楽しいって思える
- ただし本来の目的から逸れてしまったりするので注意
- ていうか前提知識としてこの辺、わかっていないとまずくない?
- バックグラウンドで機械学習・深層学習ある程度知っていてAWSも触っているので、むしろ持ってないとダメじゃない!?
まとめ
今後も同様の体験記を書こうととは思いますが、やはり興味があったり前提知識がある資格については勉強のモチベが上がったり合格までそこまで苦じゃないと感じました。しかしながらモチベとしては「いやお前、できる前提なんだから取れなきゃダメだよ?」みたいな感じで取り組んでいたので、ストレスレベルは少し高めだったかもしれません。未経験だからチャレンジするぞ!みたいな前向きな姿勢で、資格取得に対する姿勢を改めて見直そうと思ったきっかけになる試験でした。