機械学習のワークフローとクラウドサービス

前回は Microsoft Azure のサービスである Azure Machine Learning サービス上で利用できる Azure Machine Learning Workbench を紹介しました。 Azure 以外に有力なクラウドサービスとして Amazon Web Services(AWS)と Google Cloud Platform(GCP)がありますが、いずれも同様の機械学習のサービスを展開しています。

機械学習によるデータ分析は、アドホック分析、トレーニング、ホスティングの 3 つのフェーズからなります。

アドホック分析は、データを取得したデータサイエンティストが、そのデータの傾向をつかんだり、データのクレンジングなどを行うことで、本格的な分析を行うための入念な下調べのフェーズです。アドホック分析のフェーズの中でもデータクレンジングは特に重要で、この部分がその後の分析の成功失敗を決めるといっても過言ではないでしょう。このフェーズでは、インタラクティブにデータを操作するために、 Jupyter Notebook のような分析ツールが好んで利用されます。

トレーニングは、アドホック分析により得られた知見を元に、適切な機械学習の手法を用いて学習するフェーズです。学習して得られた結果のことをモデルといいます。近年の機械学習は、ディープラーニングをはじめとして、モデル作成時に特にコンピューティングパワーを大量に消費するため、クラウドのスケールする環境を利用することで、必要な分のリソースを確保できることが重要になります。

ホスティングは、学習して得られたモデルを用いて、新しい入力に対する出力(予測)を行うためのフェーズです。例えば機械翻訳のモデルを作成して、ある文章だけを翻訳するということは珍しく、そのモデルを利用して継続的に予測を提供し続ける環境を作ります。ホスティングはトレーニングに比べてリソースを必要としませんが、安定して結果を提供し続ける環境が必要になります。

クラウドごとの機械学習サービス

前回の記事で Azure Machine Learning Workbench を紹介しました。 Workbench はアドホック分析からホスティングまでを行う Machine Learning サービスのクライアントです。

AWS には、 Amazon SageMaker という、アドホック分析からホスティングまでを一貫して提供するサービスがあります。 Azure がローカルのクライアントを用いて作業を行うのに対し、 AWS は一貫してクラウド上で実施するようになっています。

GCP には、 2018 年 4 月現在において、アドホック分析からホスティングまでを一貫して提供するサービスはないようです。しかし各々のフェーズに対するサービスは存在します。アドホック分析については Cloud Datalab、トレーニングとホスティングについては Cloud Machine Learning Engine を使えば良いでしょう。

企業のデータ分析と機械学習サービス

データサイエンティストに要求される 3 つのスキル領域である分析、エンジニアリング、ビジネスは、今回紹介したアドホック分析、トレーニング、ホスティングの 3 つのフェーズにそれぞれ近い概念であると言えるでしょう。世の中に 3 つのスキル領域を網羅した人材は希少であるといいますが、サービスとしては各クラウドサービスで提供されています。このような機械学習サービスがなぜ存在するのかという観点から、企業におけるデータ分析というものを考えてみても良いかもしれません。

世界の名だたる企業が作ったサービスであるところのこれらのサービスは、その企業を維持・成長させるデータ活用戦略をサポートするように設計されているはずです。これは模範解答のようなものと見ても良いでしょう。自社のデータ分析戦略は、これらのサービスと同じような哲学で設計・実施されているでしょうか。もちろん正解が一つとは主張しませんが、長いものに巻かれてみるのも検討してみてはいかがでしょうか。