Databricks Certified Machine Learning Associate 問題集

Databricks Certified Machine Learning Associate 試験対策公式 Exam Guide(2025年3月1日公開の試験の版)準拠

Databricks Certified Machine Learning Associateの日本語問題集。全170問に解説つき。

Databricks Certified Machine Learning Associate 無料問題 10 / 10 ・ 分野4: Model Deployment

MLflow で記録した学習済みのモデルで、毎晩の表全体のスコアリングと、届き続けるイベントの Structured Streaming でのスコアリングの両方を行いたい。MLflow のモデルの使い方として、Databricks の文書に合うものはどれか。

  1. バッチは mlflow.pyfunc.spark_udf の UDF を使い、ストリーミングはモデルをエンドポイントに置いて各行から REST で呼ぶ
  2. mlflow.pyfunc.spark_udf の UDF はバッチの DataFrame 専用なので、ストリーミングには pandas UDF を書き直して使う
  3. mlflow.pyfunc.spark_udf でモデルを Spark の UDF にし、その UDF をバッチのジョブにもストリーミングのジョブにも使う
  4. バッチは mlflow.pyfunc.load_model で読み込み、ストリーミングはマイクロバッチごとにドライバで load_model し直す
正解と解説を見る

正解: C

正解の理由
「Log, load, and register MLflow models」の API の説明は、モデルを Apache Spark の UDF として書き出し、Spark のクラスタでスコアに使えるとし、その使い方を「バッチのジョブとしても、リアルタイムの Spark Streaming のジョブとしても」と書いている。例は spark.table で読んだ DataFrame に mlflow.pyfunc.spark_udf(spark, model_path) で作った UDF を withColumn でかける形である。同じ UDF を、ストリーミングで読んだ DataFrame にもかけられる。

違う選択肢
「バッチは mlflow.pyfunc.spark_udf の UDF を使い、ストリーミングはモデルをエンドポイントに置いて各行から REST で呼ぶ」… ストリーミングでもモデルを Spark の UDF としてクラスタの上で使えると書かれているので、ストリーミングだけをエンドポイントへ回す必要は無い。各行から REST で呼ぶと、行ごとに往復の通信が増える。
「バッチは mlflow.pyfunc.load_model で読み込み、ストリーミングはマイクロバッチごとにドライバで load_model し直す」… load_model で読み込んだモデルは predict に pandas などの入力を渡して使うもので、ドライバの上の1台で動く。マイクロバッチごとに読み直すと読み込みの時間が毎回かかり、ストリーミングの用途として文書が示す形でもない。
「mlflow.pyfunc.spark_udf の UDF はバッチの DataFrame 専用なので、ストリーミングには pandas UDF を書き直して使う」… spark_udf をバッチ専用とする記述は無く、文書は Spark Streaming のジョブにも使えると書く。pandas UDF を自分で書き直す必要は無い。

押さえどころ
MLflow のモデルの形式は、同じモデルを Apache Spark のバッチ推論にも REST のリアルタイムのサービングにも使えるように決められた共通の形である。どの推論の方式を選んでも、モデルを作り直さずに済むのがこの形式の利点になる。

Databricks Certified Machine Learning Associateの演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る