Azure Machine Learning 資産を特定する
データ サイエンティストは、主に Azure Machine Learning ワークスペース内の資産を操作します。 資産は、プロジェクトのさまざまな段階で作成および使用され、次のものが含まれます。
- モデル
- 環境
- データ
- コンポーネント
モデルを作成して管理する
モデルをトレーニングする場合の最終成果物は、そのモデル自体です。 Scikit-learn や PyTorch などのさまざまなフレームワークを使って、機械学習モデルをトレーニングできます。 このようなモデルを保存する一般的な方法は、モデルを Python pickle ファイル (拡張子 .pkl
) としてパッケージ化することです。
または、オープンソース プラットフォーム MLflow を使って、MLModel 形式でモデルを保存することもできます。
ヒント
MLflow と MLModel 形式を使ってワークフロー成果物をモデルとしてログする方法について詳しく学習します。
どのような形式を選択しても、バイナリ ファイルがモデルと対応するメタデータを表します。 これらのファイルを保持するために、ワークスペースにモデルを作成または登録できます。
ワークスペースにモデルを作成するときは、"名前" と "バージョン" を指定します。 登録されたモデルをデプロイする場合に特に便利ですが、バージョン管理を使うと、使いたい特定のモデルを追跡できます。
環境を作成および管理する
クラウド コンピューティングを使用する場合は、使用できる任意のコンピューティングでコードが確実に実行されるようにすることが重要です。 スクリプトをコンピューティング インスタンスで実行する場合も、コンピューティング クラスターで実行する場合も、コードは正常に実行される必要があります。
ローカル デバイス上で、Python または R で作業し、オープンソース フレームワークを使ってモデルをトレーニングする場合を想像してみてください。 Scikit-learn や PyTorch などのライブラリを使用する場合は、それらをデバイスにインストールする必要があります。
同様に、フレームワークやライブラリを使ったコードを記述する場合は、そのコードを実行するコンピューティングに必要なコンポーネントが必ずインストールされている必要があります。 必要なすべての要件をリストアップするには、環境を作成します。 環境を作成するときは、"名前" と "バージョン" を指定する必要があります。
環境では、スクリプトを実行するためのソフトウェア パッケージ、環境変数、ソフトウェア設定を指定します。 環境は、初めて使用したときにワークスペースと共に作成される Azure Container Registry に、イメージとして格納されます。
スクリプトを実行する場合は常に、コンピューティング先で使用される必要がある環境を指定できます。 スクリプトを実行する前に、環境によって必要なすべての要件がコンピューティングにインストールされるので、各コンピューティング先にわたってコードが堅牢かつ再利用可能になります。
データを作成して管理する
データストアには Azure データ ストレージ サービスへの接続情報が含まれていますが、データ資産は特定のファイルまたはフォルダーを参照します。
データ資産を使うと、毎回簡単にデータにアクセスでき、アクセスするたびに認証を行わなくても済みます。
ワークスペースにデータ資産を作成するときは、ファイルまたはフォルダーを指すパスと、"名前" と "バージョン" を指定します。
コンポーネントを作成して管理する
機械学習モデルをトレーニングするには、コードを記述します。 各プロジェクト間には、再利用できるコードが存在する場合があります。 コードを最初から記述する代わりに、他のプロジェクトからコードのスニペットを再利用したいと考えます。
コードの共有を容易にするために、ワークスペースにコンポーネントを作成できます。 コンポーネントを作成するには、"名前"、"バージョン"、コード、コードの実行に必要な "環境" を指定する必要があります。
パイプラインを作成する場合にコンポーネントを使用できます。 そのため、コンポーネントは多くの場合、パイプライン内のステップを表します。たとえば、データの正規化、回帰モデルのトレーニング、検証データセットでのトレーニング済みモデルのテストなどです。