機械学習モデルをトレーニングする

Microsoft Fabric の Apache Spark を使用すると、ビッグ データを使った機械学習を行うことができます。 Apache Spark を使うと、大量の構造化データ、非構造化データ、変化の速いデータから、価値のある分析情報を得ることができます。 Microsoft Fabric の Apache Spark を使用して機械学習モデルをトレーニングするには、Apache Spark MLlib、SynapseML など、いくつかのオープンソース ライブラリ オプションが利用できます。

Apache SparkML と MLlib

Microsoft Fabric の Apache Spark は、統合されたオープン ソースの並列データ処理フレームワークを提供します。 このフレームワークは、ビッグ データ分析を向上させるためのメモリ内処理をサポートしています。 Spark 処理エンジンは、高速かつ簡単に高度な分析を行うことができるように作成されています。 Spark に備えられたメモリ内の分散計算機能は、機械学習とグラフ計算に使用される反復的なアルゴリズムに対して、非常に有用です。

この分散環境にアルゴリズム モデリング機能を提供するスケーラブルな機械学習ライブラリには、MLlibSparkML の 2 つがあります。 MLlib には、RDD 上に構築されたオリジナルの API が含まれています。 SparkML は新しいパッケージです。 SparkML は、ML パイプラインを構成するために DataFrames 上に構築されたより高レベルの API を提供します。 SparkML はまだ MLlib のすべての機能をサポートしているわけではありませんが、標準の Spark 機械学習ライブラリとして MLlib を置き換えつつあります。

Note

SparkML モデルの作成の詳細については、「Apache Spark MLlib を使用してモデルをトレーニングする」を参照してください。

Apache Spark 用 Microsoft Fabric ランタイムには、機械学習モデルをトレーニングするための一般的なオープンソース パッケージがいくつか含まれています。 これらのライブラリでは、プログラムまたはプロジェクトに含めることができる再利用可能なコードが提供されます。 ランタイムには、次の関連する機械学習ライブラリがあります。

  • Scikit-learn は、従来の ML アルゴリズム用のとても人気のある単一ノード機械学習ライブラリの 1 つです。 Scikit-learn は、教師ありの学習アルゴリズムと教師なしの学習アルゴリズムのほとんどをサポートしており、データ マイニングとデータ分析を処理できます。

  • XGBoost は、デシジョン ツリーとランダム フォレストのトレーニング向けに最適化されたアルゴリズムを含む、人気の高い機械学習ライブラリです。

  • PyTorchTensorflow は、強力な Python ディープ ラーニング ライブラリです。 これらのライブラリを使用して、プール上の Executor の数をゼロに設定すると、単一マシンのモデルを構築できます。 この構成では Apache Spark は利用できませんが、単一マシン モデルを作成するための簡単でコスト効率の高い方法です。

SynapseML

SynapseML (旧称 MMLSpark) は、高度にスケーラブルな機械学習 (ML) パイプラインの作成を簡略化するオープンソース ライブラリです。 このライブラリは、データ科学者の Spark 上での生産性を高め、実験の速度を向上させます。またこのライブラリは、大規模なデータセットに対してディープ ラーニングを含む最先端の機械学習手法を活用するように設計されています。

SynapseML は、スケーラブルな ML モデルを構築するときに、SparkML の低レベル API の上にレイヤーを提供します。 これらの API には、文字列のインデックス作成、特徴ベクトルのアセンブリ、機械学習アルゴリズムに適したレイアウトへのデータの強制変換などが含まれています。 SynapseML ライブラリはこれらのタスクや、PySpark でモデルを構築するためのその他の一般的なタスクを簡略化します。

この記事では、Microsoft Fabric の Apache Spark 内で機械学習モデルをトレーニングするために使用できるさまざまなオプションの概要について説明しています。 詳細については、以下のリソースを参照してください。