Azure Databricks での機械学習
Azure Databricks は、機械学習モデル開発のための包括的なクラウドベースの環境を提供します。 Machine Learning は、データ を分析してモデル化する データ サイエンティストと、モデルをデプロイおよび管理する 機械学習エンジニア とのコラボレーションを含む規範です。 Azure Databricks を使用すると、データ サイエンティストは、データ インジェスト、探索、準備のタスクだけでなく、モデルのトレーニング、評価、管理のタスクも実行できます。
Machine Learning Databricks ランタイム
Azure Databricks ワークスペースにクラスターを作成するときに、クラスターにインストールする Databricks ランタイムを指定できます。 Azure Databricks には、機械学習用に最適化された databricks ランタイムがいくつか含まれています。 これには、機械学習の操作を管理するための機械学習フレームワークやユーティリティなど、機械学習ワークロードでよく使用されるライブラリのサポートが含まれます。
機械学習ソリューションを実装する場合は、 ML ランタイムのいずれかを使用してクラスターを作成します。 従来の機械学習シナリオでは CPU ベースのランタイムを選択できます。ディープ ラーニング フレームワークを使用して複雑なニューラル ネットワークを構築する必要がある場合は GPU ベースのランタイムを選択できます。これは、マトリックスベースとベクター ベースのデータを効率的に処理する GPU 機能を利用できます。
Azure Databricks の機械学習フレームワーク
Azure Databricks は、分散データ処理のための高度にスケーラブルなプラットフォームである Apache Spark 上に構築されています。 Spark では、データ サイエンティストと機械学習エンジニアは通常、対話型ノートブックで作業します。このノートブックでは、データを準備し、それを使用して機械学習モデルをトレーニングするコードが PySpark (Spark 用に最適化された Python の一種) で記述されます。 Python エコシステム内には、次のような多くの一般的に使用される機械学習フレームワークがあります。
- Scikit-Learn: 予測モデルのトレーニングと評価に役立つさまざまなアルゴリズムやその他のライブラリを提供する機械学習用の一般的なフレームワークです。
- Spark MLlib: Spark 専用に構築された機械学習ライブラリ。 MLlib には、機械学習モデルをトレーニングおよび評価する 2 つの方法が用意されています。
- Spark 回復性のある分散データセット (RDD) 構造に基づくクラス。
- Spark データフレーム構造に基づくクラス。 このフレームワーク (一般に Spark ML と呼ばれます) は、MLlib を使用するための推奨されるフレームワークです。
- PyTorch: 複雑な予測、コンピューター ビジョン、自然言語処理ワークロード用のニューラル ネットワーク モデルを構築するために使用されるディープ ラーニング フレームワーク。
- TensorFlow: よく使用されるもう 1 つのディープ ラーニング フレームワーク。
Azure Databricks でこれらのフレームワーク (その他) のいずれかを使用して、機械学習モデルのトレーニングと評価を行うことができます。
