Databricksの機械学習系資格は2つあり、両方に合格したのでまとめてみる。その2つの資格とは
だが、ProfessionalはAssociateの上位資格になる。ぶっちゃけ先人の方の記事で事足りる感はある。
- Databricks Certified Machine Learning Associate 合格体験記
- Databricks Certified Machine Learning Professional 合格体験記
共通
どちらも教材のnotebook(python)とpdfがgithub上で公開されているので、試験対策は無料で事足りる。
- Associateの対策は「Scalable Machine Learning with Apache Spark」
- Professionalの対策は「Machine Learning in Production]」
dbcファイルはDatabricksのアーカイブファイルなので、自分のワークスペース上でインポートすればリポジトリの中身が展開される。
https://learn.microsoft.com/ja-jp/azure/databricks/notebooks/notebook-export-import?source=recommendations
なおDatabricksの資格全般に言えることだが、教材はgithubに公開されており、関連講義もDatabricks Academyで無料で視聴できる。ただしAatabricks Academyの動画講義は全て英語かつ字幕無しなので注意。
notebookとpdfオンリーでも合格水準に達することは可能だが、notebookのコードのみを追っていると恐らく合格できない。notebook上のmarkdownで書かれている解説内容やUI画面についても出題される。従って
- なぜこのコードでなければいけないか
- この方法にすると何が嬉しいか
についても理解しておく必要がある。
Machine Learning Associate
SparkMLを使用した機械学習モデル構築に関する内容が大半を占める印象。MLflowについてはトラッキングとモデルレジストリについてそれなり出題される。「mlflowに記録された実験の元notebookにアクセスする方法」みたいなGUI操作の問題が出たりして少し面食らった。
「pyspark pandas APIがpysparkに比べて遅くなる時の原因」みたいな問題は動画講義中でさらっと解説されてたりするので、講義内容について結構深い理解が必要。notebook上でも解説されているので、コードを追うだけでなく熟読する必要がある。
前提知識として機械学習モデル構築の基本的な知識がある方が無難。
- 手法の知識
- 線形回帰
- 決定木
- ランダムフォレスト
- モデル構築の方法
- ホールド・アウト
- クロスバリデーション
- リーク
- ハイパーパラメータ
このあたりを知っておくとnotebookや講義の内容が頭に入りやすい。
Machine Learning Professional
Associateと重複したトピックが多いものの、出題内容としてはより狭く深くといった印象。特にmlflowについてはかなり深掘りした内容が出題される。ぶっちゃけ試験の大半の内容はmlflowとFeature Store。mlflowを深く理解するにあたってはflavorの理解は必須だが、このflavorが非常に抽象的でわかりにくい。試験対策と割り切るのも手だが、どうしても理解しないと気が済まない人は以下のブログ記事が参考になる。
webhookを使用したモデルの自動テストについては、webhookがサポートするイベント・アクションを確認しておく方がいい。
https://docs.databricks.com/mlflow/model-registry-webhooks.html
ドリフト検知については統計の知識が問われるが、深くは突っ込まれない。ただ内容は資格抜きにしても参考になる無いようなので、しっかり理解しておいて損はない。
試験
現状、試験は英語なのでちょっとハードルが高い。
試験は在宅で、事前に専用のブラウザをインストールと、PCのカメラを使って自分の写真をキャプチャしてアップロードする必要がある。このブラウザは管理者権限がないとインストールできないので、注意が必要。
キャプチャ撮影・アップロードは試験サイトのガイダンスに従って操作するだけなので、特に負担はなかった。
試験中はこのブラウザで試験を受けるのだが、他のアプリケーションにアクセスできなくなる。またカメラとマイクへのアクセス許可が必要で、カメラ映像とマイクでモニタリングされる。なお私は英文を読む際には声に出す癖があるのだが、マイクで音声を拾われて音読しないよう注意する画面が出てしまった。。。
資格試験自体は英語で敷居が高いと思われるが、その分資格取得者が少なく、自習かつ無料で試験対策ができるためコスパは悪くないと思う。実践的な内容も多く、既にdatabricksを利用している人は受験してみて損はない資格。
一応Professionalが上位資格という扱いだが、Professional単体の知識だけではSparkMLを使った機械学習モデル構築の知識が身につかない。2つの資格の知識を兼ね備えてこそ真価を発揮するものだと思われる。