## Memo ## Abstract Artificial Intelligence for IT Operaions ([[AIOps]]) のコンセプトは、ビッグデータと機械学習の手法を組み合わせて、サービスの可用性とパフォーマンスの監視を含む広範な IT 業務を置き換えるものである。このようなプラットフォームでは、一般的に、クラウドサービスの障害や今後の異常を検出するために、監視データのモダリティごとに別々のモデル(例えば、ログやトレースのテキスト特性や実測値応答時間)を使用していますが、モダリティ間の既存の相関関係を把握することはできません。本論文では、利用されているデータ型の範囲を拡張し、単一のモデルを作成することで異常検知を改善する。本研究では、大規模なクラウド基盤のバイモーダル分散トレースデータを用いて、システム構成要素の実行異常を検出する。本研究では、トレース構造に関する情報を持つデータの単一モダリティを利用した異常検知手法を提案する。次のステップでは、単一モダリティのニューラルアーキテクチャを長短期記憶を持つマルチモダリティニューラルネットワーク([[LSTM]])に拡張し、トレースデータ中の両モダリティの逐次性から学習を可能にする。さらに、実行パスを再構成するモデルの能力を利用して、依存イベントと同時発生イベントを検出するアプローチを実証する。実装されたプロトタイプは、大規模な生産クラウドからのデータを用いて実験的に評価された。その結果、従来のアーキテクチャに基づく他の深層学習手法よりも、この新しいアプローチの方が優れていることが示された。 ## 背景 - システムが障害に繋がる前に異常を検出して認識することを目指す. - 既存の異常検知の研究は,単一のデータモダリティのみで動作する、または複数のモダリティに対して別々のモデリング技術を適用し,後に統一された指標に統合される. - ログデータを使用した異常検知のための現在の最先端のシステム(DeepLog)は,テキストログキーまたは実測値のパフォーマンスパラメータである単一のデータタイプから正常なシステムの動作をモデル化しています。 - しかし、このような加法モデルは、データソース間の既存の相関関係を利用していないため、部分的で限られたデータから正常なシステムの挙動を学習するのみである. - そこで本研究では,システムデータのマルチモーダルな性質を利用した単一モデルの開発を目指している. ## 提案 - 学習データとして,以下の2つのモーダリティで構成されるトレースデータを用いる(ログやメトリックは使っていない) - 実数値データである「サービス応答時間」 - テキストラベルの系列として表される関連サービスとの「因果関係」 - まず,単一モダリティの逐次テキストデータを用いて、トレース中のサービス間の因果関係をモデル化するための深層学習モデルを提示する - (この単一なモデルの時点で異常検知はできているが,さらなる拡張として実数データも取り込むという感じだった) - 次に,テキストと実値シーケンスの組み合わせとしてマルチモーダルトレースデータを利用するモデルを導入することで、シングルモーダルアーキテクチャを拡張する。 - モデルには,multimodal LSTMを用いる. - 本研究では、マルチモーダルアプローチを用いて、通常のシステム動作をモデル化し、サービスの因果関係だけでなく、トレース内のサービスの応答時間も考慮して異常を検出できることを示す。さらに、このモデルを用いて実行パスを再構成することで、依存タスクや並列タスクを検出することができる。実運用クラウドのデータを用いた網羅的な実験により、我々のアプローチが90%以上の精度でベースラインを上回り、マルチモーダルLSTMが最高の総合的な精度を達成することを示す。 モデルの全体像. ## 評価 - トレーシングにはZipkinを採用 - Openstackにより独自に構築したクラウド環境(production cloud platformと書いてあるのでおそらく何かのサービスの本番環境)を利用 - 1000以上のマイクロサービスをもつ - 構造異常検出のタスクの精度の面では,マルチモーダルLSTM予測を使用した場合に最も良い結果だった. - シングルモーダルLSTMアーキテクチャと比較して,マルチモーダルLSTMは応答時間情報が追加されているため.より良い精度を達成している - 以下の結果をみるとtop-kでの精度で,k = 3 と k = 5 の結果はシングルモーダルと同程度であり,k = 1 の結果はシングルモダリティよりも 16%の差でマルチモーダルアプローチの方が優れている. - この差をどう捉えるかだけど,確かにマルチモーダルにすることで精度は上がってはいるが,シングルモーダルでも十分精度が出ているように見える.(マルチモーダルでも実用上はtop-1で取ることはなさそうなので)