MEGAZONEブログ
AWS re:Invent 2024 セッションレポート #ANT306-R|マネージドApache AirflowによるデータとMLワークフローオーケストレーション[REPEAT]
Orchestrate data and ML workflows with managed Apache Airflow [REPEAT]
セッション概要
- タイトル:Orchestrate data and ML workflows with managed Apache Airflow [REPEAT]
- 日付:2024年12月2日(月)
- Venue:Caesars Forum |レベル1 |アライアンス315
- スピーカー:
- Mikhail Vaynshteyn(Architect, AWS)
- Lucas Azevedo(Enterprise Solutions Architect、AWS)
- Aditya Challa(Sr. Solutions Architect、AWS)
- Fabricio Quiles (Senior Data Strategy SA, Amazon Web Services)
- Vivek Shrivastava(Principal BigData Architect、Amazon)
- 業種:Cross-Industry Solutions
- 概要:Amazon Managed Workflows for Apache Airflow(Amazon MWAA)は、データ処理とMLワークフローを調整するためのマネージドApache Airflowサービスです。このビルダーセッションでは、Amazon MWAAがAirflowを管理および拡張し、収集、変換、および消費のためのエンドツーエンドのデータおよびML処理ワークフローを調整および自動化する方法を確認できます。
はじめに
データを手動で処理することによって発生する問題は、Apache Airflowによる自動化によって解決できます。データの処理速度と信頼性を向上させるプロセスは、Amazon Managed Workflows for Apache Airflow(MWAA)を使用して可能です。データの効率的な管理は、ビジネスに直結することです。
セッション概要
このセッションでは、Apache AirflowのマネージドサービスであるAmazon Managed Workflows for Apache Airflow(MWAA)とSageMakerを使用して、エアフローを管理し、消費のためのエンドツーエンドのデータ前処理とMLワークフローをオーケストレーションして自動化する方法について説明します。
自動化されていないデータパイプラインの制限
自動化されていないデータパイプラインには、ビジネスの観点からデータを活用しようとすると障害が発生する可能性があります。エラーが発生しやすくなったり、データを処理するプロセス全体がかなり遅くなり、実際にビジネスに利用できない状況です。
データをビジネスに活用するためには、そのデータを収集し、前処理した後、モデルのトレーニングと展開のプロセスが早い時間内に、問題が発生することなく繰り返し進行する必要があります。このような複雑なプロセスを手作業で進めると、企業は数多くのエラーに直面し、すぐに非効率的なモデル開発とスケーラビリティをもたらします。エラーが発生すると、最終的にビジネス全体に大きな影響を与えます。
データオーケストレーション
手作業で進行するデータ処理プロセスにより、さまざまな問題が発生しやすくなり、これを防止して改善するためにはプロセス自動化が必要です。そしてオートメーションが設定されている場合、データオーケストレーションは非常に重要です。
通常、これらのオーケストレーションはApache Airflowなどのツールを使用して管理されます。 Apache Airflowは、依存関係、エラー処理、カレンダー管理、繰り返し操作など、さまざまなプロセスを処理しやすくします。
しかし、これらの多くの利点にもかかわらず、1つの欠点を挙げると、それ自体を管理するために多くの努力が必要であるということです。これにより、AmazonはApache Airflowを管理するサービスとしてAmazon Managed Workflows for Apache Airflow(MWAA)を提供します。
MWAAは、完全管理サービスでスケーリングが可能で安全で費用対効果の高いサーバーレスサービスです。
処理する必要があるデータが多い場合は、自動的にリソースを追加して処理し、データ処理後は自動的にリソースを解放し、費用対効果の高い運用が可能になります。
主に4つの重要な要因があります。
まず、MWAAはDirected Acyclic Graph(DAG)で構成されています。方向性があるという点でDirected、再実行させない限り無限ループに陥らないように循環しないように設計されたという点でAcyclicと呼ばれます。 DAGは1つのブロックであると考えると便利で、各ブロック(DAG)ごとに1つのタスクを実行することを意味します。各DAGをジョブの流れに沿って接続し、直前のDAGのジョブの結果に応じて成功した場合は次のDAGを実行し、失敗した場合はRetryを試み、特定の区間が繰り返されないように構成します。 Workflowを実行すると、Airflow UIは各DAGごとの現在のステータス、成功/失敗/再試行を確認でき、プロセス全体の監視も可能です。
第二に、別の要素としてスケジューラがあります。スケジューラは、データベースに格納されているすべてのプロセスの順序、タイミングに基づいて実際のプロセスを起動します。スケジューラは、ジョブ固有の依存関係をチェックして、前のプロセスが完了したことを確認した後、指定された時間にジョブが実行されるように管理します。
第三に、タスクが設定され、スケジューラを介して実行されると、実際にプロセスを実行するWorkerです。ワーカーはタスクを実行した後、そのタスクの成功、失敗を報告し、データベースへの保存、スケジューラなどでそれらを追跡できるようにします。
最後にWebアプリケーションです。 Web UIを使用すると、Workflowが実行されているすべてのプロセスを監視、追跡、管理できます。どのジョブが実行され、結果がどうなったか、再起動になったかなど確認が可能です。
セッションを終えて
実際に関連タスクを実行してみると、プロセス全体が自動化されていない場合は、中間段階のタスクでエラーが発生した場合、これを見逃すことが多く、遅れてプロセス全体を再起動する必要があることがありました。
MWAAを使用してデータ収集からモデルトレーニングまで、手作業で進行していた複雑なプロセスをより単純な形で自動化してデータオーケストレーションを構成すれば、より効率的に業務を進めることができると考えられます。
GenAIの大規模な成長により、独自のモデルを構築する企業が増えるにつれて、モデルトレーニングのための正しいデータ処理の重要性が日々高まっている状況で、MWAAによるデータオーケストレーションの自動化を活用すると、ビジネスに大きな利点があると期待されます。
記事 │MEGAZONECLOUD, AI & Data Analytics Center (ADC), Data Engineering 2 Team, チョン・ジソン マネージャー