概要
機械学習コードを手動で管理する (1 人のノートブック、1 人、一度に 1 回の実行) と、追跡可能性、安全な実験、自動化された品質ゲートを必要とするチームにはスケーリングされません。 このモジュールでは、その自動化レイヤーを段階的に構築する方法について説明しました。
学習した内容
- Git でトレーニング スクリプト、ジョブ定義、環境ファイル、および構成をバージョン管理します。 Azure Machine Learningデータ資産、モデル レジストリ、GitHub シークレットやAzure Key Vaultなどの専用のサービスで、生データ、モデル成果物、実行出力、シークレットを保持します。
- トランクベース開発により、
mainを安定した状態に保てます。 有効期間の短いブランチでは、変更を分離し、プル要求でレビューを有効にし、ブランチ保護規則ではマージ前に必要なチェックが適用されます。 - GitHub Actionsワークフローでは、プル要求でリンティングと単体テストが自動的に実行され、マージをブロックできる状態チェックとして結果が表示されます。
- OIDC とのワークロード ID フェデレーションは、Azureに対するGitHub Actionsを認証するための推奨される方法です。 これにより、有効期間の長い資格情報を格納する必要がなく、サービス プリンシパルのクライアント シークレットと比較してリスクが軽減されます。
- GitHub Actions のワークフローは、Azure CLI を使用して、コマンド ジョブまたはパイプライン ジョブを Azure Machine Learning に送信します。 トリガーには、プッシュ、プル要求、手動実行、スケジュール、Azure Logic AppsやAzure Functionsなどの仲介者によって送信されるリポジトリ ディスパッチ イベントが含まれます。