Google Cloud Platform Professional Machine Learning Engineer Certification(以下、MLE)の取得に向けて勉強していましたが、なんと合格できました。
普段と異質な記事で申し訳ないですが自分語りさせてください。 これから受けようという人にも有益な記事なはずです。
そもそも GCP Professional ML Engineer Certification とは
天下の Google に、「この人は機械学習及び関連する GCP サービスの知識が十分にあるよ」ってことを証明してもらえる試験。
- 現時点で受験料は 200 ドル。
- 受験にあたっての前提条件は無い。
- 現時点で英語版の試験しか用意されていない。
- 120 分で 60 問の 4 択問題を解く。
- 資格は 2 年間有効。期限が切れそうになると、100 ドルで再受験できるクーポンが貰えるらしい。
なぜ受けたの?
- 機械学習が好きだしそこそこやっているから、腕試しのため
- 実はこんな動画も投稿してたりするのです
- GCP 上の機械学習サービスをあまり使ったことが無いので、勉強のため
- この資格を持ってると給料がクッッッッソ高くなるらしい
- 資格保有者の平均年収は 15 万ドルという噂(要出典)
出てくる問題
公式の認定試験ガイドから引用すると、以下のような問題が出てくる。
- セクション 1: ML 問題の枠組みの構築
- セクション 2: ML ソリューションの設計
- セクション 3: データ準備と処理システムの設計
- セクション 4: ML モデルの開発
- セクション 5: ML パイプラインの自動化とオーケストレーション
- セクション 6: ML ソリューションのモニタリング、最適化、メンテナンス
とはいえ、実際のテストではセクションごとに問題が出てくるわけではない。 個人の所感として問題を分類すると、以下のような感じになる。
機械学習とビジネスの関係の理解
機械学習以前に、そもそも何かしらの問題が与えられた時にそれをどう解決したら良いか?の常識を求められる。
- 機械学習は全ての問題を解決する銀の弾丸ではない。
- 機械学習を用いず何とかなる問題であれば、そのようにするべし。
- 機械学習が刺さる問題であっても、データが十分に集まっていなかったりするなら、初めから機械学習を導入する必要はない。
という Google の主張をしっかり受け入れれば大丈夫。
機械学習の一般的知識
GCP サービス以前に、各種機械学習アルゴリズムや分析手法、統計学の一般的な知識が求められる。
- ニューラルネットワークって色々あるけど、どれが何に強いの?
- 画像なら CNN
- 時系列データなら RNN
- テーブルデータなら普通のニューラルネットワーク
- 過学習って何?兆候は?どう対応したら良い?
- 複雑すぎるモデルが一般化に失敗すること。
- トレーニングデータでの損失は小さいのにテストデータでの損失はやたら大きいとか。
- データを増やす、L2 正則化する、モデルをシンプルにする、ドロップアウト層を追加する、などなど
- Precision と Recall って何?アンバランスなデータで AUC ROC 使って良い?
- Precision は「陽性だと予測したサンプルの内どれだけ実際に陽性だったか」
- Recall は「実際に陽性だったサンプルの内どれだけを事前に陽性だと予測できたか」
- アンバランスなデータでは PR ROC を使ってモデルを評価しよう
などなどなどなど。
学部生レベルの知識があれば基本的に大丈夫だが、ビジネス上のシチュエーションとして出題されることもあるので注意する。
例えばこんな問題
あなたは機械学習担当者として、工場のメンテナンス頻度を最適化しようとしている。
どの機械がそろそろぶっ壊れそうか予測するモデルを作って、壊れそうと予測されたらその機械の点検作業を行うことにした。
点検作業はそんなにお金がかからないが、点検をサボって機械がぶっ壊れると滅茶苦茶高く付く。
どんな指標を使ってモデルを選んだら良い?
A. Accuracy の最も高いモデル。
B. Recall の最も高いモデル。
C. Precision が 50%以上かつ Recall の最も高いモデル。
D. Recall が 50%以上かつ Precision の最も高いモデル。
解答
機械がぶっ壊れると滅茶苦茶高く付く
より、見逃しをできるだけ少なくしたい。なので、Recall を高くしたいということになる。 なので C が正解。
A や B は全部陽性とか全部陰性とか答えるガバガバモデルになるので除外。
D を選ぶと、「点検作業をお願いしたけど別に壊れそうじゃなかった」ケースを最小にしようとすることになる。 目的と違っているので除外。
機械学習関係の GCP サービスの知識
- Vertex AI
- Auto ML
- BigQuery ML
- KubeFlow
- DataFlow
- DataProc
- DataPrep
- Data Fusion
- TensorFlow
- TensorFlow Extension
- TensorFlow Data Validation
などなど。GCP の試験なので、やっぱりここがメイン。 モデルの構築とは直接関係なくても、
- データを入れる場所
- BigQuery
- Cloud Strage
- Big Table
- データの注入の仕方
- Pub/Sub
- Cloud Function
- CI/CD
- Cloud Build
- Cloud Source Repository
- Github
といった、ML Ops に必要な各種サービスの特徴、長所と短所、そして文法やコマンドを知っている必要がある。
かなり多くの問題が、「○○ をしたい。□□ という制約がある。△△ を最小化したい。どのサービスを組み合わせたら良いか?」の形式になっていて、以下のようなフローに従って消去法で選ぶことになる。
そもそもその組み合わせで ○○ は実現できるか?
しかしいやらしいことに、4 つの選択肢のいずれも「やろうと思えばできる」場合もままある。
□□ という制約に従っているか?
ノーコードで
とか機械学習の経験を持つチームメンバーはいない
みたいな文言に注目する。
ノーコードで
と言われたのに Tensorflow を使うものを選んではいけない。
機械学習の経験を持つチームメンバーはいない
と言われたら、基本的に AutoML を選んでおけば OK。
Google の推奨するベストプラクティスに従っているか?
意味の分からない回り道をしていたらアウト。
例えばBigQueryのデータに何らかの加工を加えてBigQueryに格納する
のに BigQuery 以外を使う
のは基本的に駄目。
ただし、万が一問題文にノーコードで
みたいな文言があれば、代わりに DataPrep を使って Dataflow を構成するような選択肢が正当化される。
残った選択肢の内、△△ を最小化できるものは?
コストだったり、学習時間だったり、予測を返す時間だったり、人力作業だったり、コーディング知識だったり。 同じようなことができるサービスが残った時に、それぞれの長短も知っていないとここで詰む。
勉強方法と、同じ資格を取ろうとしている人への Tips
Coursera で学んだ後、ひたすら練習問題を解いた。
Coursera
まず 2 ヶ月くらいかけて、Coursera の Google Cloud 認定資格の取得準備:機械学習エンジニア プロフェッショナル認定証 講座を全部やった。
講座は動画が大部分だが、ちょくちょく実際に触ってみようのコーナー(Labs)が入る。 時間制限付きで一時的な GCP アカウントを貸してくれるというもので、本来はそこそこお金がかかるサービスを全部無料で触れるのが嬉しい。 そして実際に手を動かすことで理解が深まる。
Udemy の模擬試験問題
次の一ヶ月で、Udemy のGoogle Cloud Professional Machine Learning Engineer 2022という模擬試験問題を解きまくった。
1 テストあたり 50 問 x4 テスト(最後の 1 テストだけ 20 問)の 170 問が含まれる。
各問題に結構詳細な解説も付属しているのがとてもありがたい。 出題の形式や問題の傾向は本番とほぼ同様なので練習になる。
ただし、新しいサービスや OSS はカバーされていないことに注意。
コース概要では各テストで90%以上をコンスタントに取れるようになるまで繰り返す
ことを推奨しているが、あくまで模擬試験なので、本番でそのまま同じ問題が出るわけではない。
模擬試験の点数を取ることよりも、解説や付属の資料をしっかり読んで、トピックごとの知識を深めることを意識したほうが良い。
試験を受けるにあたっての Tips
その他の有益情報。
WebAssessor のアカウント登録時に、名前は日本語で登録するべし
Yuko Yoshida で登録すると、英語名が書かれた公的身分証明書、要はパスポートを用意する必要がある。
吉田 優子であれば、免許証等の普通の身分証明書で許される。
詳細は利用可能な身分証明書を参照。
万が一パスポートが無いのに英語名で登録してしまった場合はお問い合わせしよう。
なぜこんなに詳しいのかと言うと、自分がまさにこれをやらかしてしまったから。
試験は自宅かテストセンターで受けられる
自宅の場合、試験監督と Zoom を繋いだ状態で問題を解くらしい。 自分はテストセンターで受けた。
テストセンターの予約は 72 時間前までであれば無料でキャンセルやリスケが可能
直近 2 週間の土日はだいたい埋まるので、とりあえずで予約を入れておくと良い。 直前になって対策が間に合わんとなったら、その時リスケすれば良い。
ちなみに自宅受験の場合は 1 週間前から予約変更が不可能になったはず。要確認です。
試験の手引的なメールをしっかり読んでおくべし
- 身分証明書が 2 種類必要になる。事前に用意しておこう。
- 試験会場にはテスト開始時刻の 15 分前に到着しておくこと。
試験中の心得
- 難しい問題が出てきても挫けない。簡単な問題もちゃんと混ざっている。
- 自分は最初 5 問くらい連続してわからん問題が出て心が折れかけた。
- わからない問題には
後で見直す
マークを付けてさっさと次に行こう。- 緊張がほぐれたのか脳が英語モードに切り替わったのか、2 周目の方がスイスイと問題文が頭に入ってきた。
自分の場合、後で見直す
は確実な自信を持って答えられなかった問題全部にチェックした。
- 1 周目終了時点で残り 40 分、後で見直すマークは 30 個
- 後で見直すだけ 2 周目を実施。最後までたどり付けなかったものの、マークを 10 個減らしたところでゲームセット
という感じだった。
試験終了時の心得
試験が終わると 12 問/10 分くらいのアンケートがあるが、これは任意参加。答えても答えなくても良い。
その後、大した演出も強調も無く、あっさりとResult: Pass
みたいな表示が出る。
Pass
の文字が赤色だったので心臓が止まったが、3 回位見直してようやくヤッターってなった。
試験終了後の心得
試験結果は WebAssessor にすぐ反映される(厳密に言えば Google の承認が降りるまで暫定の結果ではあるが)。
改めて試験結果を確認して喜びに浸ろう。
さいごに
合格記念品がもらえるらしい。楽しみです。
補足
認定証が届きました!受験から一週間もかからなかったです。
合格記念品は今の所ベストと募金の 2 択の模様。 そのへんの話はまた改めて記事を書こうと思います。
要点まとめ
GCP Professional Machine Learning Engineer Certificationとは?
Googleが提供する認定資格の一つ。機械学習と、それに関連するGCPのサービスの使い方を知っている証。
GCP Professional Machine Learning Engineer Certificationの勉強法は?
Courseraの「Google Cloud 認定資格の取得準備:機械学習エンジニア プロフェッショナル認定証」コースを受験した上で、Udemyの練習問題を解きまくる。
GCP Professional Machine Learning Engineer Certificationの出題形式は?
120分で60問の4択問題を解く。現時点では英語版の試験しか用意されていない。試験終了と同時に試験結果が明かされる。