Azure HDInsight での ML Services とはWhat is ML Services in Azure HDInsight

Azure で HDInsight クラスターを作成するときのデプロイ オプションとして Microsoft Machine Learning Server を選択できるようになりました。Microsoft Machine Learning Server is available as a deployment option when you create HDInsight clusters in Azure. このオプションを提供するクラスターの種類は、ML Services と呼ばれます。The cluster type that provides this option is called ML Services. この機能により、HDInsight での柔軟で分散型の分析方法にオンデマンドでアクセスできます。This capability provides on-demand access to adaptable, distributed methods of analytics on HDInsight.

HDInsight の ML Services は、ほぼすべてのサイズのデータセットで R ベースの分析を行うための最新の機能を備えています。ML Services on HDInsight provides the latest capabilities for R-based analytics on datasets of virtually any size. データセットは、Azure BLOB または Data Lake ストレージのいずれかに読み込むことができます。The datasets can be loaded to either Azure Blob or Data Lake storage. R ベースのアプリケーションは、8000 個以上のオープンソースの R パッケージを使用できます。Your R-based applications can use the 8000+ open-source R packages. また、ScaleR (Microsoft のビッグ データ分析パッケージ) のルーチンも使用できます。The routines in ScaleR, Microsoft's big data analytics package are also available.

エッジ ノードは、クラスターに接続して R スクリプトを実行するのに便利な場所です。The edge node provides a convenient place to connect to the cluster and run your R scripts. エッジ ノードでは、サーバーのコア間で、ScaleR の並列化された分散関数を実行できます。The edge node allows running the ScaleR parallelized distributed functions across the cores of the server. また、ScaleR の Hadoop Map Reduce を使用して、クラスターのノード間でそれらを実行することもできます。You can also run them across the nodes of the cluster by using ScaleR's Hadoop Map Reduce. Apache Spark のコンピューティング コンテキストも使用できます。You can also use Apache Spark compute contexts.

分析によって得られたモデルや予測は、ダウンロードしてオンプレミスで使用できます。The models or predictions that result from analysis can be downloaded for on-premises use. また、Azure 内の他の場所で運用化 (operationalized) することもできます。They can also be operationalized elsewhere in Azure. 具体的には、Azure Machine Learning Studio (classic)、および Web サービスを使用します。In particular, through Azure Machine Learning Studio (classic), and web service.

HDInsight での ML Services の概要Get started with ML Services on HDInsight

HDInsight で ML Services クラスターを作成するには、ML Services クラスターの種類を選択します。To create an ML Services cluster in HDInsight, select the ML Services cluster type. ML Services クラスターの種類には、データ ノード上の ML Server と、エッジ ノードが含まれます。The ML Services cluster type includes ML Server on the data nodes, and edge node. エッジ ノードは、ML Services ベースの分析のランディング ゾーンとして機能します。The edge node serves as a landing zone for ML Services-based analytics. クラスターの作成方法のチュートリアルについては、Azure portal を使用した Apache Hadoop クラスターの作成に関するページを参照してください。See Create Apache Hadoop clusters using the Azure portal for a walkthrough on how to create the cluster.

HDInsight で ML Services を選ぶ理由Why choose ML Services in HDInsight?

HDInsight における ML Services のメリットは次のとおりです。ML Services in HDInsight provides the following benefits:

Microsoft およびオープン ソースからの AI 革新AI innovation from Microsoft and open-source

ML Services には、RevoscaleRrevoscalepymicrosoftML など、高い適応性を持つ分散型のアルゴリズム セットが含まれます。ML Services includes highly adaptable, distributed set of algorithms such as RevoscaleR, revoscalepy, and microsoftML. これらのアルゴリズムは、物理メモリより大きいサイズのデータ サイズに対応しています。These algorithms can work on data sizes larger than the size of physical memory. また、分散された方法で、さまざまなプラットフォームで実行することができます。They also run on a wide variety of platforms in a distributed manner. 製品に付属する Microsoft のカスタム R パッケージPython パッケージのコレクションの詳細をご覧ください。Learn more about the collection of Microsoft's custom R packages and Python packages included with the product.

ML Services は、Microsoft の革新技術とオープンソース コミュニティの貢献 (R、Python、AI ツールキット) を橋渡しします。ML Services bridges these Microsoft innovations and contributions coming from the open-source community (R, Python, and AI toolkits). それは、すべて 1 つのエンタープライズ レベルのプラットフォーム上で行われます。All on top of a single enterprise-grade platform. R または Python のすべてのオープン ソース機械学習パッケージが、Microsoft 独自の革新技術とサイド バイ サイドで動作できます。Any R or Python open-source machine learning package can work side by side with any proprietary innovation from Microsoft.

簡単で、安全性が高く、高スケールの運用化と管理Simple, secure, and high-scale operationalization and administration

従来のパラダイムと環境に依存する企業は、運用化に多くの時間と労力を費やすことになります。Enterprises relying on traditional paradigms and environments invest much time and effort towards operationalization. その結果、モデルの変換時間、それらを有効で最新状態にしておくためのイテレーション、規制の承認、アクセス許可の管理などのコストと遅延が増加します。This action results in inflated costs and delays including the translation time for: models, iterations to keep them valid and current, regulatory approval, and managing permissions.

ML Services は、エンタープライズ レベルの運用化を提供します。ML Services offers enterprise grade operationalization. 機械学習モデルが完成した後は、わずか数クリックで Web サービス API が生成されます。After a machine learning model completes, it takes just a few clicks to generate web services APIs. これらの Web サービスはクラウドのサーバー グリッドでホストされ、基幹業務アプリケーションと統合できます。These web services are hosted on a server grid in the cloud and can be integrated with line-of-business applications. 弾力性のあるグリッドに展開できるので、バッチとリアルタイム スコアリングの両方について、ビジネスのニーズに合わせてシームレスに拡張できます。The ability to deploy to an elastic grid lets you scale seamlessly with the needs of your business, both for batch and real-time scoring. 方法については、HDInsight での ML Services の運用化に関する記事をご覧ください。For instructions, see Operationalize ML Services on HDInsight.

注意

HDInsight の ML Services クラスター タイプは、HDInsight 3.6 でのみサポートされます。The ML Services cluster type on HDInsight is supported only on HDInsight 3.6. HDInsight 3.6 は、2020 年 12 月 31 日に廃止される予定です。HDInsight 3.6 is scheduled to retire on December 31, 2020.

HDInsight での ML Services の主要機能Key features of ML Services on HDInsight

HDInsight の ML Services には次の機能が含まれます。The following features are included in ML Services on HDInsight.

機能カテゴリFeature category 説明Description
R 対応R-enabled R パッケージ: R で記述されたソリューション用であり、R のオープンソース ディストリビューションと、スクリプト実行用のランタイム インフラストラクチャを含みます。R packages for solutions written in R, with an open-source distribution of R, and run-time infrastructure for script execution.
Python 対応Python-enabled Python モジュール: Python で記述されたソリューション用であり、Python のオープン ソース ディストリビューションと、スクリプト実行用のランタイム インフラストラクチャを含みます。Python modules for solutions written in Python, with an open-source distribution of Python, and run-time infrastructure for script execution.
事前トレーニング済みモデルPre-trained models ビジュアル分析とテキストのセンチメント分析に対応し、ユーザーが提供するデータをスコア付けできる状態になっています。For visual analysis and text sentiment analysis, ready to score data you provide.
展開と使用Deploy and consume サーバーを運用化 (Operationalize) し、Web サービスとしてソリューションを展開します。Operationalize your server and deploy solutions as a web service.
リモート実行Remote execution クライアント ワークステーションからネットワーク上の ML Services でリモート セッションを開始します。Start remote sessions on ML Services cluster on your network from your client workstation.

HDInsight 上の ML Services 向けのデータ ストレージ オプションData storage options for ML Services on HDInsight

HDFS ファイル システムの既定のストレージには、Azure Storage アカウントまたは Azure Data Lake Storage を指定できます。Default storage for the HDFS file system can be an Azure Storage account or Azure Data Lake Storage. 分析中にクラスター ストレージにアップロードされたデータは永続的になります。Uploaded data to cluster storage during analysis is made persistent. このデータは、クラスターの削除後も使用できます。The data is available even after the cluster is deleted. ストレージへのデータ転送は、さまざまなツールで処理できます。Various tools can handle the data transfer to storage. このツールには、ストレージ アカウントのポータルベースのアップロード機能と AzCopy ユーティリティが含まれます。The tools include the portal-based upload facility of the storage account and the AzCopy utility.

クラスターの作成中に、追加の BLOB および Data Lake Store へのアクセスを有効にできます。You can enable access to additional Blob and Data lake stores during cluster creation. 使用しているプライマリ ストレージ オプションによって制限されることはありません。You aren't limited by the primary storage option in use. 複数のストレージ アカウントの使用について詳しくは、HDInsight の ML Services 向けの Azure Storage オプションに関する記事をご覧ください。See Azure Storage options for ML Services on HDInsight article to learn more about using multiple storage accounts.

エッジ ノードで使用するストレージ オプションとして、 Azure Files を使用することもできます。You can also use Azure Files as a storage option for use on the edge node. Azure Files により、Azure Storage で作成されたファイル共有を Linux ファイル システムで有効にできます。Azure Files enables file shares created in Azure Storage to the Linux file system. 詳細については、HDInsight の ML Services 向けの Azure Storage オプションに関する記事を参照してください。For more information, see Azure Storage options for ML Services on HDInsight.

ML Services エッジ ノードにアクセスするAccess ML Services edge node

ブラウザーまたは SSH/PuTTY を使用して、エッジ ノードの Microsoft ML Server に接続できます。You can connect to Microsoft ML Server on the edge node using a browser, or SSH/PuTTY. R コンソールは、クラスターの作成時に既定でインストールされます。The R console is installed by default during cluster creation.

R スクリプトの開発と実行Develop and run R scripts

R スクリプトでは、8000 個以上のオープンソース R パッケージのいずれも使用できます。Your R scripts can use any of the 8000+ open-source R packages. また、ScaleR ライブラリの並列化および分散化されたルーチンも使用できます。You can also use the parallelized and distributed routines from the ScaleR library. エッジ ノード上で実行されるスクリプトは、そのノードの R インタープリター内で実行されます。Scripts run on the edge node run within the R interpreter on that node. Map Reduce (RxHadoopMR) または Spark (RxSpark) のコンピューティング コンテキストで ScaleR 関数を呼び出すステップを除きます。Except for steps that call ScaleR functions with a Map Reduce (RxHadoopMR) or Spark (RxSpark) compute context. この関数は、データに関連付けられているデータ ノード全体で、分散された方法で実行されます。The functions run in a distributed fashion across the data nodes that are associated with the data. コンテキスト オプションの詳細については、「HDInsight 上の ML Services 向けのコンピューティング コンテキスト オプション」をご覧ください。For more information about context options, see Compute context options for ML Services on HDInsight.

モデルを運用化 (Operationalize) するOperationalize a model

データ モデリングが完了したら、モデルを運用化 (operationalize) して、Azure とオンプレミスの両方で新しいデータについての予測を行うことができます。When your data modeling is complete, operationalize the model to make predictions for new data either from Azure or on-premises. このプロセスはスコア付けと呼ばれます。This process is known as scoring. スコア付けは、HDInsight や Azure Machine Learning のほか、オンプレミスで行うことができます。Scoring can be done in HDInsight, Azure Machine Learning, or on-premises.

HDInsight でのスコア付けScore in HDInsight

HDInsight でスコア付けを行うには、R 関数を記述します。To score in HDInsight, write an R function. この関数は、モデルを呼び出して、ストレージ アカウントに読み込んだ新しいデータ ファイルについて予測を行います。The function calls your model to make predictions for a new data file that you've loaded to your storage account. その後、予測をストレージ アカウントに保存します。Then, save the predictions back to the storage account. このルーチンは、クラスターのエッジ ノードでオンデマンドで実行することも、スケジュールされたジョブを使用して実行することもできます。You can run this routine on-demand on the edge node of your cluster or by using a scheduled job.

Azure Machine Learning (AML) でのスコア付けScore in Azure Machine Learning (AML)

Azure Machine Learning を使ってスコア付けを行うには、AzureML と呼ばれるオープン ソースの Azure Machine Learning R パッケージを使って、モデルを Azure Web サービスとして発行します。To score using Azure Machine Learning, use the open-source Azure Machine Learning R package known as AzureML to publish your model as an Azure web service. 便宜上、このパッケージはエッジ ノードにあらかじめインストールされています。For convenience, this package is pre-installed on the edge node. 次に、Azure Machine Learning の機能を使って Web サービスのユーザー インターフェイスを作成し、スコア付けが必要なときに Web サービスを呼び出します。Next, use the facilities in Azure Machine Learning to create a user interface for the web service, and then call the web service as needed for scoring. 次に、ScaleR モデル オブジェクトを、Web サービスで使う同等のオープンソース モデル オブジェクトに変換します。Then convert ScaleR model objects to equivalent open-source model objects for use with the web service. この変換には、ScaleR 強制型変換関数 (アンサンブルベースのモデルの as.randomForest() など) を使用できます。Use ScaleR coercion functions, such as as.randomForest() for ensemble-based models, for this conversion.

オンプレミスのスコア付けScore on-premises

モデルの作成後にオンプレミスのスコア付けを行うには、R でモデルをシリアル化し、ダウンロードし、逆シリアル化してから、新しいデータのスコア付けに使用します。To score on-premises after creating your model: serialize the model in R, download it, de-serialize it, then use it for scoring new data. 新しいデータのスコア付けは、「HDInsight でのスコア付け」で前述した方法を使用するか、Web サービスを使用して実行できます。You can score new data by using the approach described earlier in Score in HDInsight or by using web services.

クラスターの管理Maintain the cluster

R パッケージのインストールと管理Install and maintain R packages

使用する R パッケージのほとんどは、R スクリプトのほとんどの手順が実行されるエッジ ノードに配置する必要があります。Most of the R packages that you use are required on the edge node since most steps of your R scripts run there. エッジ ノードに追加の R パッケージをインストールするには、R の install.packages() メソッドを使用します。To install additional R packages on the edge node, you can use the install.packages() method in R.

ScaleR ライブラリ ルーチンを使用しているだけの場合は、通常、追加の R パッケージは必要ありません。If you're just using ScaleR library routines, you don't usually need additional R packages. データ ノードで rxExec または RxDataStep を実行するには、追加のパッケージが必要になる場合があります。You might need additional packages for rxExec or RxDataStep execution on the data nodes.

追加のパッケージは、クラスターの作成後にスクリプト アクションを使ってインストールできます。The additional packages can be installed with a script action after you create the cluster. 詳しくは、HDInsight クラスターでの ML Services の管理に関する記事をご覧ください。For more information, see Manage ML Services in HDInsight cluster.

Apache Hadoop MapReduce のメモリ設定の変更Change Apache Hadoop MapReduce memory settings

ML Services で使用可能なメモリは、MapReduce ジョブを実行しているときに変更できます。Available memory to ML Services can be modified when it's running a MapReduce job. クラスターを変更するには、クラスターに Apache Ambari UI を使用します。To modify a cluster, use the Apache Ambari UI for your cluster. Ambari UI の説明については、「Ambari Web UI を使用した HDInsight クラスターの管理」をご覧ください。For Ambari UI instructions, see Manage HDInsight clusters using the Ambari Web UI.

ML Services で使用できるメモリは、RxHadoopMR への呼び出しで Hadoop スイッチを使用して変更できます。Available memory to ML Services can be changed by using Hadoop switches in the call to RxHadoopMR:

hadoopSwitches = "-libjars /etc/hadoop/conf -Dmapred.job.map.memory.mb=6656"

クラスターのスケーリングScale your cluster

HDInsight 上の既存の ML Services クラスターは、ポータルを使ってスケールアップまたはスケールダウンできます。An existing ML Services cluster on HDInsight can be scaled up or down through the portal. スケール アップすることで、より大きな処理タスク用に追加の容量を取得できます。By scaling up, you gain additional capacity for larger processing tasks. アイドル状態のときはクラスターをスケール バックできます。You can scale back a cluster when it's idle. クラスターのスケーリングの手順については、HDInsight クラスターの管理に関する記事をご覧ください。For instructions about how to scale a cluster, see Manage HDInsight clusters.

システムのメンテナンスMaintain the system

OS のメンテナンスは、HDInsight クラスター内の基礎となる Linux VM で時間外に行われます。OS Maintenance is done on the underlying Linux VMs in an HDInsight cluster during off-hours. 通常、メンテナンスは毎週月曜日と木曜日の午前 3 時 30 分 (VM のローカル時刻) に実施されます。Typically, maintenance is done at 3:30 AM (VM's local time) every Monday and Thursday. 更新プログラムの影響を同時に受けるのは、クラスターの 4 分の 1 以下になります。Updates don't impact more than a quarter of the cluster at a time.

メンテナンス中は、ジョブの実行速度が低下することがあります。Running jobs might slow down during maintenance. ただし、完了するまで引き続き実行する必要があります。However, they should still run to completion. クラスターの再構築を必要とする致命的な障害が発生しない限り、カスタム ソフトウェアやローカル データはメンテナンス イベントが発生しても保持されます。Any custom software or local data that you've is preserved across these maintenance events unless a catastrophic failure occurs that requires a cluster rebuild.

HDInsight 上の ML Services 向けの IDE オプションIDE options for ML Services on HDInsight

HDInsight クラスターの Linux エッジ ノードは、R ベースの分析のランディング ゾーンです。The Linux edge node of an HDInsight cluster is the landing zone for R-based analysis. HDInsight の最新バージョンには、エッジ ノードに RStudio Server のブラウザーベースの IDE が提供されています。Recent versions of HDInsight provide a browser-based IDE of RStudio Server on the edge node. RStudio Server は、開発および実行用の R コンソールよりも生産性が高くなります。RStudio Server is more productive than the R console for development and execution.

デスクトップ IDE は、リモート MapReduce または Spark コンピューティング コンテキストを介してクラスターにアクセスできます。A desktop IDE can access the cluster through a remote MapReduce or Spark compute context. そのようなオプションとしては、Microsoft の R Tools for Visual Studio (RTVS)、RStudio、Walware の Eclipse ベースの StatET が挙げられます。Options include: Microsoft's R Tools for Visual Studio (RTVS), RStudio, and Walware's Eclipse-based StatET.

コマンド プロンプトに R と入力して、エッジ ノードの R コンソールにアクセスします。Access the R console on the edge node by typing R at the command prompt. コンソールのインターフェイスを使用しているときは、テキスト エディターで R スクリプトを開発すると便利です。When using the console interface, it's convenient to develop R script in a text editor. 次に、必要に応じてスクリプトのセクションを切り取って R コンソールに貼り付けます。Then cut and paste sections of your script into the R console as needed.

価格Pricing

ML Services の HDInsight クラスターに関する価格は、他の HDInsight クラスターの種類と同様に体系化されています。The prices associated with an ML Services HDInsight cluster are structured similarly to other HDInsight cluster types. それらは、名前、データ、およびエッジの各ノードでの基になる VM のサイズ設定に基づきます。They're based on the sizing of the underlying VMs across the name, data, and edge nodes. コア時間の割増し分も同様です。Core-hour uplifts as well. 詳細については、「HDInsight の価格」をご覧ください。For more information, see HDInsight pricing.

次のステップNext steps

HDInsight クラスターで ML Services を使用する方法の詳細については、次の記事を参照してください。To learn more about how to use ML Services on HDInsight clusters, see the following articles: