PLATFORM

機械学習ガイド:適切なワークフローの選択

機械学習械学習と分析を組み合わせれば、データを簡単にアクションにつなげることができます。データは、誰か(またはインテリジェントなアルゴリズム)が分析してビジネス上の問題を解決するためのインサイトに変えない限り、ただの活用されないリソースです。 

たとえば、ネットワークが障害を起こした場合、ネットワークログの履歴データベースがあっても、分析しなければ何の役にも立ちません。問題を解決するには、アナリストがデータベースを検索し、アプリケーションロジックと照合して、引き金となった一連のイベントを手動で特定する必要があります。機械学習を活用した分析は、これらの手順を自動化し、データパイプラインやアプリケーションを利用して実用的なインサイトを引き出すことができ、それにより、より的確かつ迅速にデータに基づいた意思決定を行うことができるようになります。 

インテリジェントな機械学習機能では、パターン認識、数値トレンド、類似性(または非類似性)計算など、一般的な数学的手法が大量データに適用されます。そして、そこから生成されるアルゴリズムによって過去のデータを学習し、将来のデータについて予測します。このアプローチは拡張性が高く堅牢であり、新しい問題が発生するたびにエンジニアが手動でアルゴリズムを設計する従来のプログラミングアプローチと比べて高速かつ包括的でもあります。

Splunkは、その製品スイート全体で機械学習を活用し、データに基づく意思決定とアクションを支援しており、特に、異常値を特定して問題の発生を予測する、不審なアクティビティを検出して不正行為を防止する、調査に基づいて根本原因を究明するといったユースケースにおいて、大きな実績をあげています。

機械学習機能のエコシステムを提供するSplunkプラットフォーム 

機械学習機能はSplunkの製品スイート全体にわたり組み込まれ、コアプラットフォーム機能から、高度なデータ分析ツールキット、プレミアムAppのエクスペリエンスまで、幅広く利用されています。コアプラットフォーム機能はSplunkでのデータ活用をサポートし、Splunk Machine Learning Toolkit (MLTK)や、Splunk Machine Learning Environment (SMLE)などの製品では、ユーザー向けにユースケースごとの手順が示され、開発者向けには、組織の環境に応じた実験、プロトタイピング、高度な分析ワークフローの運用のためのわかりやすいオプションが提供されます。

また、高度なデータ分析ツールキットでは、データサイエンスの知識がないユーザーでも機械学習機能のメリットを十分に得ることができます。たとえば、SPLユーザー向けに、既存のワークフローに事前学習済みのモデルや最新のストリーミングアルゴリズムを組み込むためのフレームワークが提供されています。この機能は、データサイエンティストと一般のSplunkまたはSplunk Appユーザーとの間の壁を取り払うという点で、Splunkの存在を際立たせています。さらに、プレミアムアプリケーションはそれぞれITセキュリティDevOpsのユースケースに応じて設計された業界固有の機械学習手法とアルゴリズムが組み込まれています。たとえば、最新の動的しきい値アプローチはSplunk IT Service Intelligence (ITSI)の設定時間を短縮し、次世代のクラウドUEBA製品は、UEBAとしては初の、機械学習に基づく検出を実現します。  

Splunkの各製品に組み込まれた機械学習機能は、統合的なエコシステムとして、ワークフローの自動化、早期の価値実現、重要業務における意思決定を支援します。開発者、データサイエンティスト、アナリストは、それぞれのニーズやスキルレベルに応じたワークフローを選択してコラボレーションできます。Splunkには、機械学習に関する知識、開発スキルのレベル、データ管理の範囲の異なるさまざまなユーザーに役立つ機能が幅広く用意されています。

たとえば、NOC/SOCアナリストは、Splunk Machine Learning Toolkit (MLTK)でスマートアシスタントのワークフローをデータに適用することで、アルゴリズムに関する詳しい知識がなくても運用に関するインサイトを機械学習から得ることができます。また、スマートアシスタントには、データに関する一般的な課題を解決するための事前設定されたモデルが組み込まれています。このモデルには、Splunkユーザーが利用してきた実績のある再現可能な解決策が反映されています。 

データサイエンティストは、NOC/SOCアナリストと共同で基盤となる機械学習モデルを検証する実験を行い、より高度な問題に対応できるようにアルゴリズムをカスタマイズすることもできます。その際には、Streaming MLアルゴリズムを呼び出すか、Splunk Machine Learning Environment (SMLE)のJupyter Notebookでカスタムモデルを適用して、スマートアシスタントの事前設定済みのオプションと比較しながらさまざまな機械学習アプローチを評価できます。 

SMLE
Splunk Machine Leaning Enviromentのダッシュボード

DSPのStreaming ML
Splunk Data Processorのアノマリー検出

MLTK
Splunk Machine Learning ToolkitのExperiments画面

SplunkのAI/機械学習エコシステムは、高度な機能を提供すると同時に、すべてのユーザーを柔軟にサポートします。使用するユースケースに適したワークフローを選択するには、次の3つの点を考慮します。 

  1. ユースケースで達成したい目標
  2. コーディングを行うかどうか
  3. データの性質
     

以下に示す図を見れば、これらの点に基づいて、ビジネスニーズに合ったSplunkのAI/機械学習ワークフローを簡単に判断できます。

機械学習のユースケースで達成したい目標別のSplunk製品

ユースケースで達成したい目標

Splunkユーザーは、ストリーミングされるテラバイト単位のメトリクスの処理や、履歴サーチによる詳細調査など、データに関するさまざまな課題に直面しています。どのユースケースでも、適切な機械学習ワークフローを適用することで最適な結果が得られます。 

独自の機械学習モデルを構築したい場合や、さまざまなアプローチで実験を行いたい場合、またはデータサイエンスに関する操作を柔軟に行いたい場合は、Splunk Machine Learning Environment (SMLE)を使用することをお勧めします。SMLEでは、モデルの実験、運用、管理を柔軟かつ詳細に行うことができます。 

データの事前処理、フィルタリング、ストリーミングデータのドリフト検出などの変換を適用したい場合は、DSPのStreaming MLを使用することをお勧めします。このフレームワークでは、独自のパイプラインを柔軟に構築できるほか、アルゴリズムがストリーミングデータに対応しSplunk環境でネイティブに機能することが保証されます。 

用意された機械学習ソリューションをそのまま使用したい場合は、Machine Learning Toolkit (MLTK)を使用することをお勧めします。MLTKの事前構築済みのスマートワークフローやスマートアシスタントでは、一般的なユースケースや、Splunkユーザーがよく直面するデータの課題に応じて、最適な機械学習モデルが自動的に適用されます。 

Splunk機械学習製品で、コーティングを行うかどうか

コーディングを行うかどうか

Splunkユーザーが目標とするビジネス成果はそれぞれ異なりますが、いずれの場合でもSplunkと機械学習はその達成を支援します。 

Python、R、Scala言語を使い慣れている場合は、SMLEのJupyter環境で独自のコードを記述できます。記述したコードはSPL2に変換してSplunk環境で実行できます。 

Splunk開発者としての知識がある場合は、SPLまたはSPL2を使用して、独自のパイプラインを構築し、DSPでStreaming ML演算子を適用できます。SPL2コードをサポートするSMLEでパイプラインを記述することもできます。 

コーディングを行わない場合は、MLTKで機械学習ワークフローを作成します。この場合、事前設定済みの機械学習モデルや用意されたワークフローをドラッグアンドドロップでデータに適用できます。DSPのStreaming MLでもコードを記述せずに独自のデータパイプラインを作成できます。 

Splunk 機械学習製品におけるデータの性質

データの性質

Splunkには、あらゆる形式、量、速度で生成されるデータを取り込むことができます。データの性質を理解することは、意思決定に機械学習を活用するための第一歩です。 

大量のストリーミングデータを処理する場合、またはデータの生成速度が非常に速い場合(1日あたり10PB以上など)は、DSPのStreaming MLを使用することをお勧めします。この超高速フレームワークは、オンライン機械学習をサポートし、インサイトをリアルタイムで提供します。 

データがすでにSplunkに取り込まれていて更新頻度が少ない場合、またはデータに対する予測の実行頻度が少ない場合(バッチ処理が1日あたり数十回など)は、MLTKでモデルを適用することをお勧めします。これらのモデルでは、データをバッチに集約して、従来の段階的アプローチによる機械学習ワークフローを適用できます。 

ストリーミングデータと保存済みのデータの両方がある場合、またはSplunkで入出力されるデータを処理する場合は、SMLEで、さまざまなデータニーズに対応する柔軟なオプションを利用できます。 

始めましょう 

どのワークフローが最適か判断できない場合は、Splunkの担当者に遠慮なくご相談ください。担当者が、ニーズに合わせた最適なツールをお客様とともに検討します。または、下記のリソースで各製品の詳細を確認することもできます。

Splunkの機械学習製品スイートには、幅広いニーズに応じた機能が用意されています。使用するユースケースに適した製品の選択方法がわかったら、さっそく、下記のリソースでオプションの詳細を学びましょう。Splunkブログを購読して、毎週投稿される機械学習に関するブログをチェックすることもできます。  

 


このブログはこちらの英語ブログの翻訳、丸山 潤一によるレビューです。

 

Lila Fridley
Posted by

Lila Fridley

Lila is a Senior Product Manager for ML at Splunk based in the Bay Area. She works across the Splunk product and solution portfolio to bring analytics closer to the data, creating more value for users. Prior to Splunk, Lila worked at AI-platform company C3.ai where she led the application development for C3.ai Reliability and Predictive Maintenance. She has led research, engineering, and customer deployment efforts across manufacturing, energy, petrochemicals, and aerospace industries. She holds a BS in Chemical Engineering and MS in Civil Engineering from MIT, and MBA from the Sloan School at MIT.