Timee Product Team Blog

タイミー開発者ブログ

Google Cloud Professional Machine Learning Engineer 合格体験記

こんにちは、タイミーのデータ統括部でデータサイエンティストをしている小関です。

タイミーのデータサイエンスチームでは、データ分析、機械学習モデル構築に加えて、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観点で分類出来ると感じました。

  1. 機械学習をビジネス活用する際のベストプラクティス
  2. Google CloudのML関連サービス
  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系のサービスを選択する
    • モデリング工数を掛けるのか否か

      • モデリングの必要が無く、事前学習済みのモデルで事足りる場合は、事前学習済みのモデルを使用できるサービスを選択する
      • 少ない工数でカスタムモデルを構築する必要がある場合は、AutoML系サービスを選択する
      • 自由度が高くある程度工数の掛かるモデルを構築する必要がある場合には、Vertex AI Workbenchなどの開発環境系サービスを選択する
    • Googleのベスプラに則ったアーキテクチャで構成できているか

  • 下記のGoogle Cloud上のML関連サービスとその機能を抑えておくと良さそうです

    データベース系

    • BigQuery
      • フルマネージド、サーバーレスデータウェアハウス
    • BigTable
      • 大量のデータをリアルタイムで処理することに優れているNoSQLデータベース
    • CloudSQL

    分析基盤系

    • Dataflow
      • リソースのオートスケーリングなどを特徴に持つETLツール
    • Data Fusion
      • GUI操作でETL・ELTパイプラインを構築出来るサービス
    • Dataproc
      • 分散処理ツールであるHadoop/Sparkの実行環境をクラウド上で提供してくれるサービス
    • Pub/Sub
      • リアルタイムデータやイベントデータの取り込みを行うためのメッセージングサービス

    運用系

    前処理系

    • 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
    • Recommendations AI
      • EC向けのレコメンドシステムを提供するフルマネージドサービス
      • 最適化したい指標によって推薦の仕方を選択出来る
    • Kubeflow

    自然言語系

    • Speech to Text API
      • 音声データをテキストに変換するAPI
    • Text to Speech API
      • テキストを自然な音声に変換するAPI
    • Natural Language AI
      • Natural Language API
        • 事前学習済みモデルによって、感情分析、エンティティ分析、エンティティ感情分析、コンテンツ分類、構文分析などを提供するAPI
        • 以下のサービスは、Vertex AI AutoMLへの統合に伴い公式に非推奨となったが、受験当時には出題されていた
    • Document AI API
      • 非構造化データを対象に、データを簡単に理解、分析、利用できるようするAPI
    • Dialogflow
      • チャットボットサービスを作成できるサービス

    動画像系

    • Vision AI
      • Vision API
        • 事前学習済みモデルによって、画像分類、オブジェクト検出などを提供するAPI
      • Vertex AI Vision
        • 動画像データの取り込みからモデル構築、デプロイまで一貫して行えるサービス
      • 以下のサービスは、Vertex AI Visionへの統合に伴い公式に非推奨となったが、受験当時には出題されていた
        • AutoML Vision
          • カスタムモデルを構築して、Vision APIの機能を提供するサービス
        • AutoML Vision Edge
          • エッジデバイス向けに最適化されたモデルによって、Vision AIの機能を提供するサービス
    • Video AI
      • Video Intelligence API
        • 事前学習済モデルによって、動画からの物体検出などを提供するAPI
      • 以下のサービスは、Vertex AI Visionへの統合に伴い公式に非推奨となったが、受験当時には出題されていた

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など
    • 過学習への対応

      • 適切な正則化手法の選び方
      • Leakageが発生しうる条件の理解とその対応

合格後貰えるCertificateとノベルティ

Certificate

www.credential.net

ノベルティ

このMachine Learning Engineer Vestを着て出社すれば、社内で一目を置かれること間違いなしです。
2年前に受験した同僚は、タンブラーを貰えたらしい。羨ましい。

Machine Learning Engineer Vest

We’re Hiring!

タイミーのデータ統括部では、ともに働くメンバーを募集しています!

現在募集中のポジションはこちらです。

「話を聞きたい」と思われた方は、まずは面談からでもウェルカムですので、どうぞよろしくお願いいたします!