第12章 Apache Airflowによるデータ パイプラインの自動化
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
最も洗練度の高いAutoMLモデルであっても、それを支えるデータパイプラインの質にその効果は左右される。私はヘルスケア分析プロジェクトにおいて、この分野で直接的な経験を積んだ。開発段階では、当社のAutoMLシステムは一貫して優れた結果を出し、150の一般的な診断コードのサブセットにおけるICDコード予測で、トップ3の精度87%を達成していた。しかし本番環境にデプロイすると、最初の1ヶ月で性能は72%程度にまで低下してしまった。 原因はモデルには全くなかった。スケジュールされたスクリプトと手動介入で構築されたデータパイプラインは、古いデータを送り込み、重要な更新を見逃し、時にはレコードを重複させていたのだ。AutoMLシステムは、データからパターンを発見するという本来の目的を正確に果たしていたが、データそのものが根本的に信頼できないものだった。
注
ICD-10には7万を超えるコードが含まれており、全コードの予測は極めて困難だ。本番システムでは通常、ユースケースに関連する最も一般的なコードについて、上位N件の精度に焦点を当てている。
この経験から、本章の根幹をなす重要な洞察が得られた。AutoMLはモデル構築を民主化する一方で、データパイプラインの信頼性に対する要求も同時に高めているのだ。ビジネスアナリストやドメインエキスパートが最小限のコーディングで本番環境レベルのモデルを作成できるようになると、ボトルネックはモデル開発からデータインフラへと移行する。データパイプラインを習得せずにAutoMLを習得した組織は、単に問題を上流に押し上げているに過ぎない。
Apache Airflowは、複雑なデータワークフローをオーケストレーションするための主要な標準として台頭してきたが、利用可能なツールの全体像を理解することも重要だ。表12-1は、各プラットフォームが持つ独自の強みを示している 。
| ツール | 主な強み | 適している用途 |
|---|---|---|
| Apache Airflow | 成熟したエコシステム、豊富な統合機能、大規模なコミュニティ | 多様なデータソースを扱う複雑なエンタープライズワークフロー |
| Prefect | PythonicなAPI、ハイブリッド実行モデル、動的なワークフロー | よりモダンなPythonネイティブの体験を好むチーム |
| Dagster | ソフトウェア定義のアセット、強型付け、ML固有の機能 | MLに重点を置き、資産中心の考え方を重視するデータチーム |
| Mage | ビジュアルパイプラインビルダー、リアルタイムパイプライン | ストリーミング対応のローコードオプションを求めるチーム |
| Netflix Maestro | Javaバックエンド、大規模対応、Netflixで実証済み | Javaエコシステムの統合を必要とする企業 |
本章では、Airflowの広範な採用、充実した文書化、そしてAutoMLデプロイにおける実績を踏まえ、Airflowに焦点を当てる。ただし、ここで論じるアーキテクチャパターン(検証ゲート、べき等な操作、増分処理)は、どのオーケストレーションツールを選択しても適用可能だ。
Airflowの有向非巡回グラフ(DAG)モデルは、本番システムに求められる信頼性と可観測性を維持しつつ、機械学習データパイプラインの動的かつ反復的な性質を扱う柔軟性を提供する。金融、ヘルスケア、小売業界の組織でAutoMLシステムを実装してきた私の経験を通じて、Airflowは実験的なAutoMLを本番環境対応のAIシステムへと変革する「結合組織」としての役割を一貫して果たしてきた。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access