ModelOps で Airflow ワークフローを実行する - Model Factory ソリューション アクセラレータ
概要
[ ClearScape Analytics の モデルファクトリーソリューションアクセラレータ の目的は 1回の作業でビジネスドメインの何百ものモデルを作成、を運用化することで、 水平スケール の組織内で機械学習モデルの開発、デプロイ、管理のエンドツーエンドのプロセスを合理化し、加速することです。これは、データベース内分析のスケーラビリティと、H2O や Dataiku などのパートナー モデル形式をサポートするオープン性を活用します。この独自の組み合わせにより、エンタープライズ環境における機械学習ライフサイクルのさまざまな段階で効率、スケーラビリティ、一貫性が向上します。
モデル ファクトリー ソリューション アクセラレータは、ベスト プラクティス、自動化、標準化されたワークフローを組み込むことで、チームが使用するデータを迅速に選択し、必要なモデルを構成し、再現性を確保し、 無制限 個のモデルをシームレスに本番環境にデプロイできるようにします。最終的には、機械学習イニシアチブの価値実現までの時間を短縮し、大規模なモデルの構築とデプロイに対するより構造化された効率的なアプローチを促進することを目指しています。自動化されたワークフローの図を以下に示します。
Airflow と ClearScape Analytics ModelOps を使用して Model Factory Solution Accelerator を実装する手順は次のとおりです。Apache Airflow は、データ パイプラインまたはワークフローのスケジュールとオーケストレーションに使用されます。このチュートリアルでは、ModelOps のライフサイクルを自動化するために実行される Airflow DAG (有向非巡回グラフ) を作成します。
前提条件
- このチュートリアルでは、 Visual Studio code IDE を使用してローカル マシンに実装します。
シェル コマンドを実行するには、次のリンクを使用して VS コード拡張機能 「リモート開発」 をインストールできます。この拡張機能パックには、リモート - SSH 拡張機能と Dev Containers 拡張機能に加えて WSL 拡張機能が含まれており、コンテナ内、リモート マシン上、または WSL 内の任意のフォルダを開くことができます。 VSコードマーケットプレイス.
- Teradata VantageインスタンスとClearScape Analytics(ModelOpsを含む)へのアクセス。
Vantage のテストインスタンスが必要な場合は、 https://clearscape.teradata.com で無料でプロビジョニングできます
Visual Studio Code の設定と docker-compose での Airflow のインストール
-
Visual Studioコードを開き、リモートウィンドウを開くオプションを選択します。次に、WSL-Ubuntuに接続を選択します。
-
ファイル > フォルダを開くを選択します。次に、目的のフォルダを選択するか、次のコマンドを使用して新しいフォルダを作成します: mkdir [folder_name]
-
AIRFLOW_HOME 環境変数を設定します。Airflow にはホーム ディレクトリが必要で、デフォルトでは ~/airflow を使用しますが、必要に応じて別の場所を設定することもできます。AIRFLOW_HOME 環境変数は、Airflow に必要な場所を通知するために使用されます。
- PyPI リポジトリから apache-airflow 安定バージョン 2.8.2 をインストールします。
- Airflow Teradataプロバイダの安定バージョンをPyPIリポジトリからインストールします。
-
Docker コンテナを使用して Airflow を実行できるように、Docker Desktop をインストールします。Docker デスクトップが実行されていることを確認します。
-
次のコマンドを使用して docker のバージョンを確認します。
docker composeのバージョンを確認してください。Docker Composeは、マルチコンテナアプリケーションを定義および実行するためのツールです。
Docker Compose に Airflow をデプロイするには、この curl コマンドを使用して docker-compose.yaml を取得する必要があります。
次のコマンドを使用して、後で使用するためにこれらのフォルダを作成します。
モデルファクトリーソリューションアクセラレータの構成
config フォルダ内に config ファイルを作成し、トレーニングするモデルに応じてパラメーターを対応する値に設定します。
クリックするとPythonコードが表示されます
次に、ModelOps ユーザー インターフェイス (左側のメニュー -> アカウント -> セッションの詳細) から Bearer トークンをコピーし、次のコマンドを使用してここで環境変数として設定します。
これで、以前に作成した構成ファイルを実行することができます。これにより、DAG 作成手順で使用されるすべての必要なパラメータを含む新しい ini ファイルが config フォルダ内に作成されます。
完全な ModelOps ライフサイクルを含む Airflow DAG を作成する
これで、次の Python コードを使用して DAG を作成できます。この Python コード ファイルを dags フォルダ内に追加します。この DAG には、ModelOps ライフサイクルの 5 つのタスク (トレーニング、評価、承認、デプロイ、および廃止) が含まれています。
クリックするとPythonコードが表示されます
Docker Compose で Airflow を初期化する
Linux 以外のオペレーティング システムでは、内部 Airflow データベースなどの Airflow サービスを初期化する際に、AIRFLOW_UID が設定されていないという警告が表示されることがあります。ただし、次のコマンドを使用して環境変数を設定することで、この警告を無視しても問題ありません。
内部データベースの移行を実行し、最初のユーザー アカウントを作成するには、次のコマンドを使用してデータベースを初期化します。
初期化が完了すると、次のようなメッセージが表示されます。
Airflowデモ環境をクリーンアップする
次のコマンドを使用して、事前にロードされたサンプル DAG を削除して環境をクリーンアップできます。
次に、docker-compose.yaml ファイルでこのパラメータを以下のように更新します。
モデルファクトリーソリューションアクセラレータでAirflowを起動する
次のコマンドを使用して Airflow を起動します。
ModelOps でモデル ファクトリー ソリューションの Airflow DAG を実行する
- これで、次の http://localhost:8080/ を使用して Airflow UI にアクセスできます。
- ユーザー名: airflow、パスワード: airflow でログインします。DAG メニューで、作成した DAG を確認できます。
- 最後に作成した DAG を選択すると、グラフは次のようになります。
-
これで、右上の再生アイコンを使用して DAG をトリガーできます。
-
任意のタスクを選択し、ログ メニューをクリックすると、ログを確認できます。
-
ClearScape Analytics ModelOps - ジョブ セクションで、ジョブの実行が開始されたことを確認できます。
- これで、すべてのタスクが正常に実行されたことがわかります。
まとめ
このチュートリアルの目的は、Linux サーバーに Airflow 環境をインストールする方法と、Airflow を使用して ClearScape Analytics ModelOps および Teradata Vantage データベースとやり取りする方法を実際に体験することです。また、Airflow とデータ モデリングおよびメンテナンス ツール dbt を統合し て Teradata Vantage データベースを作成してロードする方法の例も示します。