連載
» 2018年05月18日 05時00分 公開

「分析ライフサイクル全体が対象」:データサイエンティストにとっての機械学習自動化とは、SAS Viyaの場合

ディープラーニングを含む機械学習のプロセスを自動化する製品・サービスが増えている。SAS Instituteの「SAS Viya」も、こうしたソリューションと比較して検討するケースが多いと考えられる。では、SAS Viyaは、他の機械学習自動化ソリューションと比べてどのような特徴があるのだろうか。

[三木泉,@IT]

 ディープラーニングを含む機械学習のプロセスを自動化する製品・サービスが増えている。SAS Instituteが提供を開始している「SAS Viya」も、既存SASユーザーでなければ、こうしたソリューションと比較して検討するケースが多いと考えられる。

 ではSAS Viyaは、他の機械学習自動化ソリューションと比べてどのような特徴があるのか。SAS Instituteのアナリティクス製品ディレクター、ソーラブ・グプタ(Saurabh Gupta)氏に聞いたことを中心に、お届けする。

 SAS Viyaでは、SASのさまざまなアナリティクス関連ツール/機能が利用できる。PythonやR、Java、Luaを利用可能(SAS言語ももちろん使える)。

 機械学習/ディープラーニング関連機能は、主にSAS Viya上のアプリケーションの1つである「SAS Visual Data Mining and Machine Learning」で提供されている。数値/テキスト形式のデータに基づく分類や予測に加え、画像分類、自然言語処理の機能もある。本記事では「SAS Viya」と呼んで話を進める(既存のSAS製品でもほぼ同じ機能が利用できるが、本記事はSAS Viyaに特化している)。

機械学習の自動化機能はDataRobotなどと比べてどうか

 機械学習の自動化では、「DataRobotなどと同じことができ、さらに高度なことが実行できる」とグプタ氏は主張する。同氏の説明によると、機械学習/ディープラーニングモデル構築作業の自動化で、2製品には次のような違いがある。

 DataRobotの場合、データを入力、ターゲットを選択した後、ワンクリックで各種のモデルを自動的に構築して走らせることができる。精度や速度に基づく順位表が示され、ユーザーはその中から自分にとってベストなもの(チャンピオンモデル)が選べるようになっている。

 一方、SAS Viyaでは、次のようになる。ターゲットを選択し、問題の種別(「分類」「回帰分析」「アノマリー検知」など)を選ぶ。

 SAS Viyaでは、次に解決すべき問題種別のそれぞれについて、「Basic」「Intermediate」「Advanced」の3種類のテンプレートが提示される(これらには、利用できるモデルの数に違いがある)。いずれかを選び、パイプラインを作成して実行する。3種のテンプレート全てを利用することもできる。各パイプラインでは、サポートベクターマシンや勾配ブースティングなど、複数のテクニックを使い、ワンクリックで複数のモデルを自動構築して評価、ビジュアルに比較できる。

図のようなパイプライン上で、複数のアルゴリズムをドラッグ&ドロップで配置、ワンクリックでモデルを自動的に構築できる

実行結果として、複数のアルゴリズムによるモデルの順位が示される

 例えばニューラルネットワークでは、自身で層を増減するなどが簡単にできる。パラメーターの自動チューニング機能も備える。

ニューラルネットワークでは、インタラクティブに層の追加やパラメーター変更などができる

 各モデルの評価では、実行結果に影響を与える項目を、影響度の高さの順にグラフで示す機能もある。

 「つまり、機械学習/ディープラーニングのモデル構築作業を完全に自動化したいなら、それを実行できる。さらにそれ以上のことが可能だ。例えば、データサイエンティストは往々にして、モデル構築が自動化できても、自身のスキルでより良いモデルを作りたいものだ。前述のパイプラインで、ビジュアルにカスタマイズを加えることができる」(グプタ氏)

 SAS Viyaではさらに、「構築したモデルを、同一の画面からワンクリックで(コードを自動生成し)、データベース、ストリーミングエンジン、サーバなど、どこにでも投入できる」。つまり、モデル構築から適用までの流れを継ぎ目なく行えるのだという。

 端的に言えば、DataRobotとSAS Viyaは、想定ユーザーが異なる。

 DataRobotは「市民データサイエンティストのためのノンプログラミング機械学習ツール」というコンセプトだ。このため、完全なブラックボックスではないものの、基本的には「電子レンジでチン」の世界を目指している。

 一方、SAS Viyaでは、主にデータサイエンティストによる利用を想定している。従って、(ノンプログラミングによる)機械学習モデルの構築を自動化するものの、一連の作業をプロセスとしてユーザーに見せ、このプロセスの中でさまざまなカスタマイズが加えられるようにしている。一方で、必要に応じてコーディングにより、SAS Viyaの機能を呼び出すこともできる。関連して、SAS ViyaではTensorFlow、Caffeなどの機械学習ライブラリも併用できる。すなわち、同じプログラムから、それぞれのライブラリを呼び出せばいい。データも共用できる。

データ準備をはじめとし、ライフサイクル全体で自動化支援

 グプタ氏が、SAS Viyaにおける最大の特徴として強調するのは、アナリティクスのライフサイクル全体をカバーしているということだ。すなわち、「データを準備」「データの特徴を把握」「機械学習」「モデルの適用」「適用後のチューニングおよび新たなデータを使ったモデルの再構築」というサイクルの全段階で、ビジュアル画面を通じた自動化支援機能を提供している。次の段階へ移る際にデータをリロードしなければならないといったこともない。

 「データサイエンティストの仕事の50〜60%は、データ管理にある」(グプタ氏)。そこで特に、データの準備およびディスカバリの機能強化に力を入れているという。

 データ準備では、例えば次のような機能がある。個人情報と考えられる項目を自動的に検出し、マスクすることを提案する機能を備える。また、例えば日付など、特定項目における表記の揺れを解消する機能もある。値の欠けているフィールドについて補完する機能も搭載している。

 さらに、多数の変数がある場合、特定変数間の相関関係を自動的に検出し、相関が高い複数の変数については、その一部を用いることを提案する機能が加わる。すなわち、多数の変数が存在する場合、どれを分析に使うかを選ぶ作業を自動化する。

 関連して、SAS Viyaは元々、テキスト分析機能も統合している。大量のテキスト非構造化データを自動的に構造化データへ変換し、他の構造化データと合わせて分析に使えるようにしているという。

SAS Viyaの消費モデル/課金モデルは?

 どんな機能が提供されるにしろ、データサイエンティスト/データエンジニアにとって活用しやすい消費モデルおよび課金モデルが望ましい。

 まず、SAS Viyaはオンプレミスに導入できるソフトウェアとして、さらに米国ではクラウドサービスとして提供されている。SAS Viyaの機能を製品/サービスに組み込みたい場合は、OEMライセンスもある。

 課金モデルとしては、アプリケーションに応じてコア課金、トランザクション数課金、ユーザー数課金を用意している。APIコール数に基づく課金も加えようとしているという。


 SAS Viyaが提供する、機械学習/ディープラーニングのライフサイクル全体をカバーした自動化機能は、ユニークな存在だ。では、どこまでデータサイエンティスト/データエンジニアに受け入れられるだろうか。それはSAS Viyaがシンプルに、機械学習/ディープラーニング用のツールとして使えることを、SASが示せるかどうかによると言えそうだ。

 SAS Viyaは、SASがこれまで提供してきた多様なアプリケーション/機能を拡張しながら、Pythonなどに親しむ新世代のデータサイエンティストやデータエンジニアにとって使いやすいような形で提供しようとする取り組みとも表現できる。

 SASは多様なアナリティクス関連製品を提供してきた。SAS Viyaでも、本記事で主に紹介したVisual Data Mining and Machine Learningに加え、SAS Data Preparation、SAS Decision Manager、SAS Econometrics、SAS Visual Forcastingなど、既に多数の製品がリリースされている。このため、「複雑」で「重い」ものではないのかというイメージが付きまとう。

 そこで、分かりやすく、試しやすい環境が必要だ。SAS Viyaの各種アプリケーション/ツールには無償の試用版が用意されている。だが、例えば米国で試験的に開始されているクラウドサービスが日本で、一般的なパブリッククラウドと同様な料金体系の下に提供されることが望ましい。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。