SnowPro Advanced: MLOps Engineer 無料問題 7 / 10 ・ 分野4: Pipeline Orchestration and Automation (CI/CD)
ある会社は、データ基盤のために約200本の Airflow の DAG を動かしている。そこへ Snowflake ML を使う学習のパイプラインを足し、学習は大きなテーブルを読む。Snowflake ML の手引きが勧めるやり方はどれか。
- Airflow を残し、重い学習の段を ML Jobs へ送る
- テーブルを Airflow のワーカーへ引き出し、そこで学習する
- 学習を始める前に、既存の DAG をタスクグラフへ移し替える
- Snowflake ML が好む Dagster に Airflow を置き換える
正解と解説を見る
正解: A
正解の理由
「Pipeline orchestration」の節には、Snowflake ML は Airflow・Dagster・Prefect を含むほとんどのオーケストレーションの仕組みと合うと書かれている。既存のワークフローや DAG の仕組みがあるなら、既存のワークフローを Snowflake ML の機能とつなぎ、計算やデータの重い段を ML Jobs か UDF へ送るよう勧めている。既存の DAG の仕組みが無ければ、Snowflake に組み込まれた解として Snowflake のタスクグラフを使える。この会社は Airflow の DAG を残し、大きなテーブルを読む学習の段を ML Jobs へ送ればよい。
違う選択肢
「学習を始める前に、既存の DAG をタスクグラフへ移し替える」… 手引きが Snowflake のタスクグラフを示しているのは、既存の DAG の仕組みを持たないチームに対してである。この会社は持っており、その場合の手引きの勧めは、作り直すのではなくそれとつなぐことである。
「テーブルを Airflow のワーカーへ引き出し、そこで学習する」… 大きなテーブルをワーカーへ持ち出すのは、手引きの勧めと逆である。手引きは計算やデータの重い段を ML Jobs か UDF へ送るよう書いており、仕事はデータのあるところで動く。
「Snowflake ML が好む Dagster に Airflow を置き換える」… 手引きには、Snowflake ML は Airflow・Dagster・Prefect を含むほとんどのオーケストレーションの仕組みと合うとある。どれかを上に置いてはいないので、ここで切り替えても得るものは無い。
オーケストレーターは残し、重い仕事を移す
オーケストレーターが決めるのは、段がいつどの順で動くかで、計算が起きる場所である必要は無い。すでに運用しているスケジューラーを残し、データの重い段を Snowflake へ押し出せば、やり直し・履歴・通知は慣れた道具から得られ、学習はデータの隣で動く。