こんにちは、タイミーのデータ統括部でデータサイエンティストをしている小関です。
タイミーのデータサイエンスチームでは、データ分析、機械学習モデル構築に加えて、Google Cloudを主軸としたMLOps基盤の構築などの業務に日々取り組んでいます。
その中でもGoogle Cloudを主軸としたMLOps基盤の構築に関連して、Google Cloud Professional Machine Learning Engineer認定資格を社内制度も活用しながら取得したので、実際にした勉強の内容などを紹介したいと思います。
これから受験される方の参考になれば大変嬉しいです!
受験の動機
- Google CloudのML関連サービス・ML周りの思想を資格勉強を通して整理したかったため
- MLOps基盤におけるアーキテクチャ設計を行うためのインプットをしたかったため
- 弊社で始まった資格取得支援制度をすぐ活用したかったため
- 当時、ドル円レートが¥140を超えており、受験料$200を会社で負担頂けるのは大変ありがたい...
筆者の勉強開始時の状況
勉強開始時の状況によって、勉強時間や内容が異なると思うので、
本試験に必要だと思われる知識・能力における、筆者の勉強開始時の状況を3つの観点で共有しようと思います。
下記の通り、筆者の勉強開始時の状況は、機械学習の前提知識、英語能力はある程度あるが、Google Cloudに関する知識はまだ浅めといった状況でした。
Google Cloud
- 触り始めて4ヶ月ぐらい
- Vertex AI上でのMLパイプライン構築をする過程で、その他の関連サービスも一通り経験している
- NLP、動画像系のサービスは一度も触った事がない
- TensorFlowとその関連サービスの深い知識はない
-
- 新卒から3年間データサイエンティストとして働いており、主要なML関連の理論とその実装は身についている
英語
- 今回の試験で要求されるReadingレベルには、余裕を持って達している
勉強方法
試験ガイドに記載されている内容と受験した所感から、 出題される問題は以下の3観点で分類出来ると感じました。
ここからは、上で定義した3観点ごとに勉強した内容を紹介させて頂きます。
前章で触れた通りGoogle Cloudのサービス周りの知識がまだ浅かった事もあり、その点を重点的に学習しました。
1. 機械学習をビジネス活用する際のベストプラクティス
1.1. Googleが考える機械学習プロジェクトのベスプラ*1を理解
- DS、MLエンジニアとして働いている方は、一度は読んでおいた方が良さそうです
- 出題ポイントとして、特に抑えておいた方が良い主張は以下の通りです
- 解くべき課題に対してMLを用いるか否かは慎重に検討する
- MLを用いた解決策とMLを用いない解決策を比較する際は、改善幅、コストや保守性の観点から比較する
- MLの活用には、十分な量かつ品質が担保されたデータがある事が重要
- 実際の問題では、MLを用いた解決策と非MLな解決策が選択肢にあり、問題文にある具体的な課題設定に対して適切な解決策を選択するといった形式で出題されます
2. Google CloudのML関連サービス
2.1. Google CloudのサービスをWhizlabsのコース*2に付属している練習問題を解きながら整理
各サービスの特性やアーキテクチャの設計を理解する上で重要な観点(出題ポイント)
ノーコードで実現したいのか否か
- ノーコードと問題に書いてある場合には、GUI系 or AutoML系のサービスを選択する
下記のGoogle Cloud上のML関連サービスとその機能を抑えておくと良さそうです
運用系
- Cloud Build
- CI/CDの構築、実行を提供するサービス
- Cloud Source Repositories
前処理系
- Dataprep
- データを効率的にクレンジング処理出来るサービス
- Cloud Data Loss Prevention
- 機密性の高いデータを検出、分類、保護する機能を提供するサービス
ML系
- Vertex AI
- Google CloudのML関連のサービスが統合されたプラットフォーム
- AutoML系のサービスもこちらに全て統合された
- Vertex AI Workbench, Vertex AI Data Labeling, Vertex AI Feature Store等の詳細な機能の概要も抑えておくと良さそうです
- gcloud CLI経由でVertex AIのjobを実行するためのコードも少し出題されます
- BigQuery ML
- SQLを使用して、BigQuery上でMLモデルを構築し、実行できるサービス
- BQML上でサポートされているモデルは抑えておいた方が良さそうです
- Recommendations AI
- EC向けのレコメンドシステムを提供するフルマネージドサービス
- 最適化したい指標によって推薦の仕方を選択出来る
- Kubeflow
- Googleが公開している機械学習ワークフローをKubernetes上で実現するためのOSS
- Pythonでは、Kubeflow Pipelines SDKを用いてMLパイプラインを実装する事が出来る
自然言語系
- Speech to Text API
- 音声データをテキストに変換するAPI
- Text to Speech API
- テキストを自然な音声に変換するAPI
- Natural Language AI
- Natural Language API
- 事前学習済みモデルによって、感情分析、エンティティ分析、エンティティ感情分析、コンテンツ分類、構文分析などを提供するAPI
- 以下のサービスは、Vertex AI AutoMLへの統合に伴い公式に非推奨となったが、受験当時には出題されていた
- Natural Language API
- Document AI API
- 非構造化データを対象に、データを簡単に理解、分析、利用できるようするAPI
- Dialogflow
- チャットボットサービスを作成できるサービス
動画像系
- Vision AI
- Vision API
- 事前学習済みモデルによって、画像分類、オブジェクト検出などを提供するAPI
- Vertex AI Vision
- 動画像データの取り込みからモデル構築、デプロイまで一貫して行えるサービス
- 以下のサービスは、Vertex AI Visionへの統合に伴い公式に非推奨となったが、受験当時には出題されていた
- Vision API
- Video AI
- Video Intelligence API
- 事前学習済モデルによって、動画からの物体検出などを提供するAPI
- 以下のサービスは、Vertex AI Visionへの統合に伴い公式に非推奨となったが、受験当時には出題されていた
- AutoML Video Intelligence
- カスタムモデルを構築して、Video Intelligence APIの機能を提供するサービス
- AutoML Video Intelligence
- Video Intelligence API
- Cloud Build
2.2. Googleが考える設計パターンをアーキテクチャセンター*3から理解
- ここに載っているアーキテクチャと類似するものが実際の問題でも出題されていました
- 出題される形式は、アーキテクチャを構成する一部サービスが空白になっており、そこに当てはまるサービスを選択するといった感じでした
2.3. TensorFlow関連サービス*4の概要を理解
- 出題数は多くなかったですが、ここに載っているTensorFLow関連サービスの名前とその機能は一応抑えておくと良さそうです
3. 機械学習・統計学に関する知識
3.1. Googleが提供している無料の機械学習コース*5を一通り閲欄
- 出題ポイントとして、特に理解しておいた方が良さそうな内容は以下の通りです
機械学習モデル
- 問題設定に対する適切な機械学習モデルの選び方
- 画像分類にはCNN、時系列問題にはRNNなど
- TensorFlowで書かれたDNNの構造を読み取る
- 問題設定に対する適切な機械学習モデルの選び方
評価指標
- Precision, Recall, F1-scoreに代表される分類問題の評価指標の定義
- 目的に対する適切な評価指標の選び方
- 不均衡データに対する評価指標の選び方
前処理
- カテゴリカルデータへの適切な前処理手法の選択
- One-hot encoding, Label encodingなど
- 数値データへの適切な前処理手法の選択
- Min-Max normalization, Z-score normalization, Log scalingなど
- 欠損データへの適切な対応
- カテゴリカルデータへの適切な前処理手法の選択
ハイパーパラメータチューニング
- DNNにおけるハイパーパラメータチューニング
- 学習率、バッチサイズ、エポック数、ドロップアウトなど
- 問題設定に対する適切なデータ分割手法の選び方
- k-fold, group k-fold, leave-one-out, time series splitなど
- DNNにおけるハイパーパラメータチューニング
過学習への対応
- 適切な正則化手法の選び方
- Leakageが発生しうる条件の理解とその対応
合格後貰えるCertificateとノベルティ
Certificate
ノベルティ
このMachine Learning Engineer Vestを着て出社すれば、社内で一目を置かれること間違いなしです。
2年前に受験した同僚は、タンブラーを貰えたらしい。羨ましい。
We’re Hiring!
タイミーのデータ統括部では、ともに働くメンバーを募集しています!
現在募集中のポジションはこちらです。
「話を聞きたい」と思われた方は、まずは面談からでもウェルカムですので、どうぞよろしくお願いいたします!