Skip to the content.

Too many pipes pattern

Case

Situation

機械学習の学習パイプラインでは、学習だけでなくモデルのチューニングや実験、評価を行います。多様なパラメータチューニングや実験を同時並行で実行する場合、パイプラインも一本道ではなく多岐に渡るものになるでしょう。パイプライン内のジョブ間の依存関係がある場合は更に複雑化します。パイプラインがエラーで停止した場合の障害対応が発生し、パイプライン運用のためのSREが必要になるでしょう。社内システム基盤運用の一環として考えるならば機械学習の学習基盤運用は必須ですが、エラー箇所を局所化する、またはユーザビリティを向上させるために、パイプラインをシンプルに留めることは重要です。
学習パイプラインを複雑化するもう一つの要因はデータアクセス方法が多様であることです。学習に使うデータが様々なDWH(RDB、NoSQL、NAS、Web API、クラウド、Hadoop、更には複数拠点等々)に格納されている場合、それらへのアクセス方法や認証認可は各々に定められています。各データ格納庫へのアクセスを抽象化するライブラリを使うことを推奨しますが、データが散らばっている状態はデータエンジニアの工数と健康に悪影響を与えるため、データを整理しておく(適切にDWHを選択する)ことが重要です。

Diagram

diagram

Pros

Cons

Work around