コンテナイメージは、金融モデルとそのランタイムや依存関係をパッケージ化できます。 このアプローチにより、実行を再現し、同じテスト済みアプリケーションバージョンを開発環境とバッチ計算環境間で移動させることができます。
現在のプールとタスク設定にはAzure BatchでRun container applicationsを使いましょう。 以下の実践を金融シミュレーション画像に適用してください。
画像境界を定義します
画像に以下の項目を含めてください:
- バージョン付きモデルの実行ファイルまたはスクリプト。
- ランタイムライブラリとオペレーティングシステムパッケージ。
- 入力、出力、パーティション識別子の安定したコマンドラインインターフェース。
- 健康診断やバージョンのコマンドは、オペレーターが診断に使えるものです。
ポートフォリオデータ、市場データ、認証情報、実行マニフェストは、イメージの外部に保持してください。 保護されたストレージを通じて入力を届け、各タスクの後に結果を永続化します。
繰り返しプレイできるビルドを作ってください
- テストするベースイメージとパッケージ版をピン留めします。
- 画像ダイジェストをランマニフェストに記録してください。
- 画像をローカルで、既知の小さなデータセットと照らして実行します。
- コンテナが結果や診断をバッチタスクがアップロード可能なパスに書き込むか確認してください。
- 展開前にイメージの脆弱性をスキャンしてください。
Azure Container Registryにプライベートイメージを保存してください。 Batchプールにユーザー割り当ての管理IDを割り当て、タスクが必要とするレジストリとストレージアクセスのみを付与します。
バッチプールとタスクの設定
対応するコンテナイメージとノードエージェントでプールを作成します。 各タスクのコンテナ設定、コマンドライン、リソースファイル、出力ファイルを設定します。 可変 latest タグの代わりに、本番用に不変画像タグやダイジェストを使いましょう。
モデルがGPUを使用している場合は、コンテナとモデルの実行時間をサポートするGPU対応プールイメージを選択してください。 「 バッチプールでGPU対応のVMサイズを使う」に従って、ドライバーおよびフレームワークの互換性を検証してください。
スケーリング前に検証を行ってください
まずパーティションを1つ実行してください。 モデルバージョン、入力バージョン、出力スキーマ、出口コード、診断ログを確認してください。 その後、タスクとノード数を増やしながら、ストレージスループットと画像プル時間を監視します。
コスト管理のために、実行期限や中断許容度に応じて専用 またはスポットノード と自動スケールを組み合わせましょう。 プレイ終了後にプールをゼロにスケールするか削除してください。
次のステップ
- Azure Batch ベストプラクティスをレビューしてください。
- Azure Batchコストの計画と管理方法を学びましょう。
- Azure Batch の信頼性を確認する。