例えば、性別、収入、年齢、職業などの人口動態データと、特定の商品を購入する可能性を関連づけるモデルを作ったとしよう。3つのクラウドプロバイダーのどの機械学習サービスを使っても、ウェブサービス呼び出し1つで、人口動態データを入力パラメータとして指定して、戻り値として予測値(購入可能性が高いか低いか)を受け取ることができる。
各サービスの違い
しかし、3つのサービスには違いもある。例えば、次のようなものだ。
- Google Prediction APIは、その名前のとおり開発者指向であり、ユーザーインターフェース(UI)を持っていない。
- Amazon MLは1つの(それも不透明な)アルゴリズムしか提供しておらず、これを使ってモデルを構築するようになっている。MicrosoftとGoogleは複数のアルゴリズムを提供しており、Microsoftの場合は、RとPythonのコードが使えるのに加え、パッケージも使用できる。
- Microsoftは、UIで作成できる本格的なフローチャートスタイルのデータフローを提供している。Amazonの場合は入力データセットの指定と、そのデータセットのスキーマから入力変数と目的変数を選択することができるだけだ。
- しかしAmazon MLは、アルゴリズムとUIの制約はあるものの、ウィザードを使って使用でき、非常に使いやすい。
未来の勝者は?
では、このビッグ3のうち、勝利を得るのはどこだろうか。
Amazonには、S3との連携や、多くの企業の大量のデータがすでにそこに保存されているという有利な点がある。一方Googleは、同社の核となる事業でもっとも革新的な機械学習の使い方をしているという評判を得ている。
Microsoftのサービスは、おそらくもっとも洗練されており、柔軟で、他のサービスとの連携も充実している。Hadoopとの統合と、そのデータ統合サービスであるAzure Data Factory(詳細はブログで説明されている)に対応しているのはMicrosoftだけだ。そして、もしMicrosoftがRevolution Analyticsの技術をうまくAzure MLに取り込むことができれば(これは当たり前のことだと考えるべきではない)、絶対的な強みになるだろう。
しかし結局は、顧客は他のデータ処理作業にもっともよく使っているクラウドサービスの機械学習を利用するようになる可能性が高い。このロックインの傾向を乗り越えたければ、機械学習をより幅広い分析サービスと統合する必要があるだろう。
Microsoftにとってこれは、Azure MLを「Power BI」と連携させることを意味している。GoogleはPrediction APIとBigQueryの統合を双方向にし、BigQueryに対するクエリが、SQLのJOINでPrediction APIを参照できるとよいだろう。一番難しいのはAmazonで、EC2上で実行できるサードパーティーのBIプロバイダ(Jaspersoft、Logi Analytics、Tableauなど)と連携する必要がある。しかし、そこから受けられる恩恵は大きい。
情勢がはっきりしてくるまでには、まだ少し時間がかかるだろう。しかしその頃には、機械学習を利用することが一般的になり、企業の競争力が大きく変化する可能性がある。
本稿を締めくくるにあたって、Jen Stirrup氏のロジスティクス的な支援と調査面での貢献に感謝したい。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。