PLATFORM

Deep Learning Toolkit 3.2 - グラフィック、RAPIDS、Sparkなど

データを可視化したい、GPUで分析を実行して反復処理を迅速化し、データサイエンスサイクルを加速させたい、Sparkのお気に入りのMLlibアルゴリズムを活用したい、そんな皆様に朗報です。最新バージョンのDeep Learning Toolkit for Splunk (DLTK)は、そのいずれのユースケースにも対応します。このブログでは、データに関する今日の課題の解消に役立つ新しいコンテンツと機能を紹介します。

可視化の限界を超える

Splunkダッシュボードとその可視化機能は非常に便利です。しかし、大規模なデータセットを可視化しようとすると、厄介な10.000件の表示制限に阻まれることがあります。多くのユースケース、特に探査的データ分析では、できるだけ多くのデータポイントをプロットしたいでしょう。その場合は、seaborndatashaderなどのフレームワークが役立ちます。また、次のように、シンプルな相関行列と散布図行列を作成し、Splunkダッシュボードに統合したい場合もあるかもしれません。

Deep Learning Toolkit 3.2

DLTKの各コンテナモデルには、特定のモデルに関する有用な情報をダッシュボードに表示するためのグラフィックサマリー機能があります。それでも、プロットされるポイントは数百程度です。そこで、もっと精度を高める方法を紹介します。

RAPIDSでデータサイエンスを加速させる

170万のデータを含むようなデータセットにUMAPなどの次元削減技法を適用し、その結果をデータシェーダーでレンダリングして視覚化する場合、RAPIDSのようなGPUアクセラレーションフレームワークが非常に役立ちます。次の図は、DGA Appで生成されたデータセットをRAPIDS GPUコンテナで分析し、Datashaderでオフスクリーンレンダリングして、Splunkに表示した例です。CPUベースの手法と比べると、RAPIDSではUMAPの計算部分だけで処理速度が15倍向上します。

DLTK 3.2

UMAPの結果をクラスタリング技法と簡単に組み合わせてデータセットの構造を把握することもできます。もちろん、構造の解釈を間違えないように注意して、分析のコンテキスト内で評価する必要があります。そこで、このワークフローの結果をすばやく反復処理できれば、貴重な時間を節約しながら高品質な結果を得ることができます。次の図は、UMAPとMLTKのDBSCANを使って、この組み合わせによる分析結果をダッシュボードに表示した例です。

DLTK 3.2

RAPIDSでできることはほかにもまだたくさんあります。たとえば、cuGraphによるグラフ分析をGPUで高速化することができます。皆様の中には、私が最近投稿したグラフ分析に関するブログを読んで、3D Graph Network Topology Visualizationをインストールした方もいらっしゃるかもしれません。ただ、グラフの規模が大きくなると、簡単に計算リソースの制限に達してしまいます。しかし、GPUメモリーにグラフを格納すれば、そのようなことは起こりません。次の図は、モジュラリティを使用するLouvain法を適用して、10万のエッジを含むグラフでコミュニティを検出したグラフの例です。このときの計算時間はわずか66.6msでした(データ転送時間を除く)。

DLTK 3.2

Sparkを活用する

分散コンピューティングと機械学習のフレームワークでは、多くのデータサイエンティストがSparkを使用しています。SparkのMLlibには、さまざまなビジネス課題の解決に大いに役立つ豊富なアルゴリズムが用意されています。次の図に、1つ目の例としてシンプルな購買分析ダッシュボードを示します。この例では、一般的なバスケット分析の問題を処理するために、FP Growthで頻出アイテムセットを算出し、結果をサンキーグラフとしてダッシュボードに表示するSparkコンテナを使用しています。

DLTK 3.2

2つ目の例は、レコメンデーションシステムに関するユースケースです。このシステムでは通常、対象顧客の好みと他の顧客の購買傾向に基づいて対象顧客に適した商品をどのように判断するかが鍵となります。次のダッシュボードの図は、協調フィルタリングモデルをSparkでトレーニングしている様子(上部)と、選択した顧客にそのモデルをインタラクティブに適用して、お勧め商品の上位10点を表示した様子(下部)を示します。こうしたレコメンデーションシステムは、ショッピングサイトやeコマースだけでなく、「群衆の知恵」を学んで新しく優れたアイデアを創出するさまざまなシナリオで活用できます。

Deep Learning Toolkit 3.2

このダッシュボードからわかるとおり、基本的なレコメンデーションシステムを構築するのは非常に簡単です。そこに修正を加えれば、特定のユースケースに応用できます。Spark活用の別の例として、MLlibの勾配ブースティング分類アルゴリズムDGA App for Splunkでのデータ分類に適用した結果を示します。

Deep Learning Toolkit 3.2

最後に、Sparkで円周率の計算に挑戦してみましょう。Sparkを初めて使用するときに多くの人が通る道です。これからは、小数点以下の桁を調べるのにCPUコアを消耗する必要はありません。コンピューティングは楽しくやりましょう!

Deep Learning Toolkit 3.2

Splunkのメリットをどうぞお試しください。

Philipp

ブログ関連情報

毎月1回、Splunkブログの更新情報をメールでお届けします。ぜひマンスリー ダイジェスト をこちらからご登録ください

Philipp Drieger
Posted by

Philipp Drieger

Philipp Drieger works as a Principal Machine Learning Architect at Splunk. He accompanies Splunk customers and partners across various industries in their digital journeys, helping to achieve advanced analytics use cases in cybersecurity, IT operations, IoT and business analytics. Before joining Splunk, Philipp worked as freelance software developer and consultant focussing on high performance 3D graphics and visual computing technologies. In research, he has published papers on text mining and semantic network analysis.