~因果関係&イベント推論のアルゴリズム適応型モニタリング~
はじめに
数年前から、幅広い分野で AI の導入が進み AI ブジネス市場が拡大している。富士キメラ 総研の調査によれば、AI を活用した分析サービスをはじめ、AI によるコンサルティングや SI、AI を組み入れたアプリケーションやエッジコンピューティングプラットフォームが開 発されてきている。富士キメラ総研の「2019 人工知能ビジネス総調査」の、2030 年度市 場予測は AI ビジネス市場 2 兆 1,286 億円が期待されている。ただ、AI(人工知能)とい ってもそのレベルは千差万別である。AI もどきの機械学習(ML:Machine Learning)も増 えている。色々なパターンデータを統計解析して必要に応じて自動検索するパターンマッ チングに過ぎず、本来の機械学習ベースの AI 活用ではないと筆者は感じている。ネットワ ーク分野でも AI/ML ベースの製品が増えている。今まで管理者のナレッジでトラフィック の閾値(“ベースライン”)を設定して、ネットワーク上に流れるトラフィックデータを学習 して、正常状態の閾値を自動設定したり、大量に発生するアラートの中から不要不急なアラ ートを正規化する。これは確かに AI/ML を適用した機能と云える。ただ、筆者としてはこ のレベルの自動化は AI/ML とは云いたくない。単なる学習機能である。その中にあって、 筆者が推奨する高度化された AI/ML について実際の事例をベースに解説したい。
出典:富士キメラ総研「2019 人工知能ビジネス総調査」
Ennetix AI/MLアルゴリズム概要
Ennetixは米国USデービス校のコンピュータサイエンスの教授とそのグループが開発して立ち上げた大学発のベンチャー企業である。Ennetix創設者であるDr. Bis Mukherjee の詳細なプロファイルはここでは省略するが、彼は現在も同大学教授で、30年以上光ネットワーク通信とブロードバンドアクセスネットワークのワールドリーダとして有名である。
EnnetixのAI/MLアルゴリズムは以下のコンポーネントで構成されている。
■因果関係グラフ(Causal Dependency Graph)
ユーザグループ毎のアプリケーションアクセスのインフラと因果関係をもつコンポーネ
ント(サーバ、ルータ、DNS/LDAP等)の自動検出に用いている。因果関係とは、片方
の要素がもう片方の要素にどのような影響を与えているかを原因と結果の関係で示す。
因果関係とは、Aを原因としてBが変動することを指す事象。複数の事象(要素)の間の因果関係(因果ネットワークと呼ばれる)を表やグラフで表現し、これを挙動予測や問題発生時の原因推定などに利用するという手法である。
(注)相関関係と因果関係の違いとは
相関関係(correlation)とは、AとBの事柄になんらかの関連性があるものを表し、因果関係(Causal Dependency)とは、Aを原因としてBが変動するものを”因果関係”と云う。即ち、相関関係があくまで平面的な捉え方に対して、因果関係は三次元的な可変的な捉え方である。エンドツーエンドのユーザ体感品質を提供するサービスでは、各ユーザグループの重要なアプリケーションアクセスインフラと因果関係の不具合はAI/MLによる因果関係による自動検出機能が重要となる。
例えば、一方が増加する時、他方が増加もしくは現象する傾向が認められるという二つの量の関係を示す。APM(Application Performance Management)/NPM(Network Performance management)でのモニタリングでよく用いられる相関関係では、モデルからの予想と現状を比較することで、「いつもと違う」挙動を発見して、発生場所の特定を支援する時にその関連付けを行う。要するに相関破壊の検知である。NPMでは、根本原因解析機能によって,大量に発生するイベントの相関関係を調査、レイヤー2およびレイヤー3 のトポロジーに基づいた障害原因の解析をする。一方、APMの相関関係では、Web、アプリケーションサーバ、データベースの情報を突合させることで、トランザクション情報から全体的なアプリケーション利用状況を可視化して原因を特定する。ただ、ネットワークを介して、エンドツーエンドでのアプリケーションアクセスでは、ネットワーク、ネットワークサービス(DNS,LDAP)、アプリケーション(SAP,O-365等々)といった複雑な組み合わせが実際のネットワークアクセスでは存在する。これを包含するには、NPMとAPM更には、ネットワークサービスツールを複合的に組み合わせる必要がある。
■パケットトレイン技術(Packet-Train Technology)
パケットトレインによる測定とは,プローブ用パケットを複数個連続してネットワーク
に送信し,ボトルネックリンクでの伝送遅延やトラフィックロス、パケット間隔によっ
て直接的に帯域を測定する技術である。具体的には、測定トラフィックストリームをミラ
ーポート接続でパケットキャプチャしてエンドツーエンドルート、および帯域幅、容量、
ホップごとのネットワーク特性を推定する。
■ランダムフォレストの決定木モデル(Random Decision Forest Models)
ランダムフォレストは、ディシジョンツリー(Decision tree;決定木)に基づいたAI/ML
の代表的な手法である。重複を許すランダムサンプリングによって多数の決定木ツリー
を作成し、各ツリーの予測結果の多数決をとることで最終予測値を決定する。
具体的には、ユーザトラフィックのパターンと特性(“ビヘイビア”とも云う)を決める。
■パラメトリック回帰(Parametric Regression)
パラメトリック回帰ではある程度の目途をつけてモデルを仮定し、与えられたデータと
最も上手くフィットするモデルパラメータを推定することで、 データを上手く表現する
モデル(数式)を得る。具体的には、自動化された適応型ベースラインとユーザビレイビ
ア(挙動)イベントとパターンを識別して、このアルゴリズムでアラートを生成する。
Ennetixの製品は、真のAI/MLの分析アルゴリズムを適用したミッションクリティカルアプリケーションで、ユーザエクスペリエンス(“ユーザ体感品質”)にフォーカスしている。AI/MLによるユーザエクスペリエンス分析のアルゴリズムといっても多種多様なレベルが存在する。ここでは詳細な技術説明は省略するが、Ennetixで適用されているユニークなAI/MLアルゴリズムについて、事例を参照して解説する:
このユーズケースでは20種類にも及ぶユーザアプリケーションを使用している。ここでは、アプリケーション毎に異なる特性(例:ユーザ数、アラート、スループット等)のパフォーマンスとセキュリティの異常性を自動的に検出および診断をしている。そして、Ennetix製品で運用管理者のアラート分析工数を大幅に軽減している。そして、高度なAI/MLの因果関係(Causal Dependency)機能を用いて、パフォーマンスのホットスポット解析を正確に特定する。以下で示した図は大規模な因果関係グラフデータを対象としたクラスタリング分析の例で、計測データだけを対象にクラス分類などのAI/ML分析を行う。
これにより、AI/MLを適用したエンドツーエンドのリアルタイムトポロジーの推論分析を行う。これにより、パフォーマンスとセキュリティの偏差(deviation)をインテリジェントに推測し、根本原因をリアルタイムに特定する。Ennetix AIOpsソリューションによって提供されるベストプラクティスな情報は、ミッションクリティカルなアプリケーションのユーザエクスペリエンスを実現するのに役立つ。
(注)クラスタリング分析とは、異なる性質のものが混ざり合った集団から、互いに似た性質を持つものをある規則・共通項に従って分類・グルーピングする手法。
このユーズケースでは、1ヶ月に20-30のアラートが発生するアプリケーションもあれば、大量のアラートのアプリケーションもある。また、全てのアラートは、AI/MLアルゴリズムを適用して分析される。一般的に、APM/NPMでは、手動とか半自動で閾値(ベースライン)を設定してアラートを生成する。閾値が設定されていない場合は何千もの膨大なアラートになってしまう。このユーズケースでは、どのアプリケーションをどれだけ多くのユーザが使用しているかを把握出来、こうした単純な情報でさえ、このユーズケースでは価値がある。そして、障害が発生した場合、その障害の内容と要因(アプリケーションなのか、ネットワークなのか、それともネットワークサービスなのか)を迅速に特定したいと考えている。
Ennetixのユーズケースでは、アラートだけに固執している訳ではない。DNS、LDAPなどのネットワークサービスに障害がある場合、非常に役立っている。従って、これらのアラートをサービスレイヤーのアラートと見なす。これはユニークな特長でもあり、間違いなく“必要十分”の機能である。
更に、AI/MLモデルを使用して、異常なトラフィックとユーザアプリケーションの挙動を特定する。
アラート生成の手法とアラート判定方式
Ennetixは収集した全てのパフォーマンスメトリックの閾値を継続的に生成する。これらのパフォーマンスメトリックには、遅延、損失、ジッター、帯域幅、再送信などがある。パフォーマンスメトリックの現時点のデータポイントが閾値より高い場合、パフォーマンスイベントと呼ばれるものを作成する。これらのパフォーマンスイベントをパラメーターと共に1つのモデルに取り込む別のAI/MLアルゴリズムがあり、パラメーター、期間、およびその他特性に基づいて、アラートを生成するかどうかを判定する。
おわりに
AI(人工知能)の適用は冒頭で説明しましたが、機械学習と深層学習があり、機械学習はその名前の通り、大量のデータの中で規則性をモデル化したり、今まで人が得意としてきた作業を機械に行わせる事を得意としている。深層学習は、機械学習よりも一歩進んだ技術で、より難しい認識や認知、判別機能をマシンに持たせる、ニューラルネットと呼ばれる、主に生物の神経系の挙動を模して学習できるようにデザインされたもので、機械学習の一桁多い数のオブジェクトで実行する。画像認識とかセキュリティ挙動を正確に識別するのに使われる。EnnetixのAI/MLアルゴリズム適用の次世代アプリケーション型RCAは益々複雑化するユーザ特定アプリケーションアクセスの障害対策とユーザ体感品質の向上に大きく貢献するものと筆者は期待している。
Comments