【51CTO.comオリジナル記事】 1. AI ビジネス異常検出システムが必要な理由企業は、業務上の異常を適時に解決できないために、大きな損失を被る可能性があります。たとえば、ある有名なインターネット企業が、元の価格が 50 元のクーポンを18元で販売したため、ユーザーが短期間で大量に購入しようと殺到し、大きな損失が発生しました。同様に、金融、小売、電子商取引の分野でも、 ITシステムのバグや人的要因によって引き起こされた業務異常が、企業に計り知れない経済的損失をもたらしています。 しかし、ビジネス上の異常が発生した場合、企業がその異常に気づくのは数日後、あるいは数週間後になる場合がよくあります。ある会社を例に挙げましょう。同社はオンライン融資を主な業務としています。あるとき、融資金利が突然上昇し、問題が発生してから 10 時間以上が経過しました。その結果、融資資格のない多くの人々に融資が行われ、回収率と収益が大幅に減少しました。 そのため、企業ビジネスの急速な成長と情報化の普及が続く中、ビジネスパーソンはビジネスの変化を包括的かつリアルタイムに把握する必要があります。このとき、 IT運用・保守担当者はサーバーやネットワークの運用に関心を持ち、製品管理者はユーザー アクセス、クリック率、ユーザー エクスペリエンスに関心を持ち、ビジネス管理者は売上などのビジネスの中核となるKPIに関心を持つことになります。これらの指標は、人間の心拍数、血圧、体温のようなもので、企業の事業の健全性を反映しています。 企業にとって特に重要なのは、ビジネス指標から異常を迅速かつ正確に特定し、問題の根本原因を見つけ出し、タイムリーに解決することです。 現在、この点に関して、さまざまな企業がさまざまなアプローチを採用しています。従来のビジネス監視方法では、毎日確認するためのレポートを手動で生成することがよくあります。リアルタイム性が求められる重要な指標については、しきい値を手動で設定し、指標がしきい値を超えるとアラームがトリガーされます。周期性が知られている指標の場合、前年比や前月比と類似した方法が一般的に使用されます。 企業の事業量や事業内容が増加し続けるにつれて、手動による監視も増加します。ただし、この手動アプローチにはいくつかの欠点があります。 1.多数のビジネス指標がリアルタイムで監視されていません。電子商取引を例にとると、総売上のみを監視する場合は、手動の方法を使用して簡単に実現できます。しかし、特定の地域やカテゴリーの売上が異常になると、全体の売上指標だけを見ても問題を検出することは困難です。 たとえば、ある小売会社では、ヨーグルトの在庫回転率の問題により、ある地域でのヨーグルトの売上が以前に比べて減少しています。賞味期限切れのヨーグルトが継続的に販売されていたため、同社はユーザーから多数の報告を受けていた。この場合、総売上だけを監視していると、問題を見つけるのが難しくなります。このとき、カテゴリと地域という2つの次元で、より細かい指標を監視する必要があります。指標を多次元で監視する場合、監視する指標の数は指数関数的に増加し、明らかに手作業の能力を超えてしまいます。 2.洪水警報。ビジネス上の問題が発生すると、アラームを受信する担当者は大量のアラームを受信することが多く、その数に圧倒され、問題の根本原因を正確に特定することが困難になります。アラームの精度が低いことに加えて、ビジネス指標間にも強い相関関係があり、それは主に次の 2 つの側面に反映されています。 1つ目は指標間のリンク関係です。たとえば、電子商取引の小売業界では、サーバーエラーが増加するとユーザーアクセスが減少し、下流の注文も減少します。もう 1 つの要因は、指標の多次元性です。たとえば、注文が減少すると、複数の製品ラインと複数の地域での注文が同時に減少することがよくあります。そのため、ビジネス上の問題が発生すると、関連する複数の指標が同時にアラームを発し、アラームフラッドが発生することがよくあります。 3.誤報および報告漏れ。ビジネスリーダーとしては、ビジネス上の問題を土壇場で知りたくはないはずですし、午前 3 時に誤報で起こされたくもないはずです。しかし、誤報が複数回発生すると、「狼少年」効果が発生し、実際に問題が発生したときに、受信担当者が警報を簡単に無視してしまうことがよくあります。 4.労働維持費。ビジネスが変化し続けると、多数のアラームしきい値とルールを手動で調整する必要がありますが、これではビジネスの変化のペースや監視指標の増加に追いつけないことは明らかです。 そのため、指標の変化のルールを学習して指標データの正常と異常のパフォーマンスパターンを自動的に把握し、企業ビジネスのさまざまなレベルと次元でさまざまな指標を包括的かつリアルタイムに監視できる、自動化されたインテリジェントなビジネス監視および異常検出システムが必要です。そのため、人工知能アルゴリズムに基づいたビジネス異常検出システムを構築する必要があります。 2. システム構築の課題と設計コンセプト人工知能アルゴリズムは異常検出の分野で何十年も研究されてきましたが、そのようなシステムを構築するのは簡単ではありません。主な課題は次のとおりです。 まず、異常の定義はかなり曖昧であり、さまざまなデータ指標の現れ方は大きく異なります。たとえば、 IT CPU の異常は売上の異常とは異なるため、一般的なアルゴリズムを使用してさまざまな種類の指標の異常を検出しようとすると、精度が低くなることがよくあります。ある種類のデータの異常な現れが、別の種類のデータ インジケーターに置かれると異常であるとは見なされない可能性があるためです。さらに、将来発生する異常現象の多くは、過去には見られなかったものになります。 これは、ラベル付けされたデータを取得するのが難しいという 2 番目の困難に直接つながります。データの変化が異常であるかどうかを判断するのが難しいだけでなく、異常は非常にまれにしか発生しないため、従来の機械学習の問題のように多くの正と負のサンプルを取得することが困難になります。 第三に、アルゴリズムとシステムには高いリアルタイム性とスケーラビリティの要件があります。多数の指標をリアルタイムで監視できず、異常を検知できず、警報を発することができなければ、システムは意味を失ってしまいます。 上記の問題点に対処し、さまざまな課題を考慮するために、 DataPipeline はシステムを設計する前にいくつかの設計原則を特定しました。 1.主に教師なし(半教師あり)機械学習アルゴリズム データを正常か異常かに分類することが目標ですが、異常の定義が曖昧で、ラベル付きデータを取得するのが難しいため、主に教師なし機械学習アルゴリズムを採用しています。もちろん、ユーザーに送信されるアラートについては、システムがユーザーからのフィードバックを収集し、それを使用してアルゴリズムの精度を向上させる必要があります。一般的に、これは半教師あり学習法です。 2.アルゴリズムとビジネスの分離 人工知能アルゴリズムの利点は、手作業を解放し、自動化を実現することです。そのため、アルゴリズムはビジネスから可能な限り切り離す必要があります。アルゴリズムは、インジケーターの履歴データ自体のパターン (周期性など) を学習することによってモデル化できます。ビジネス指標データはそれぞれ表現形式が異なり、全体的に時系列データの種類は限られています。そのため、アルゴリズムには、表現形式の違いに応じて異なるモデルを選択できる機能が必要です。 3.異常相関学習と根本原因分析 上で述べた大きな問題点は、アラートの氾濫です。ビジネス上の問題が発生すると、ビジネス担当者は大量のアラームに圧倒され、問題を迅速かつ正確に特定することが困難になることがよくあります。したがって、監視指標間の相関関係を学習し、ビジネス上の問題が発生したときにユーザーに要約されたアラームを提供する必要があります。これにより、アラームの氾濫を回避できるだけでなく、ユーザーは問題を反映する関連指標を一目で確認できるため、問題の根本原因をより迅速に見つけることができます。製品の観点から見ると、これは成熟したビジネス異常検出システム、つまり根本原因分析の非常に重要なコンポーネントでもあります。私たちは、ビジネス上の問題にタイムリーに対応するだけでなく、問題の発見から解決までの時間とコストを短縮したいと考えています。 4.アルゴリズムのスケーラビリティとリアルタイムパフォーマンス アルゴリズムとシステム全体は、数十億のデータ指標に数秒以内にリアルタイムで応答できる必要があります。そのため、オンライン学習をサポートする軽量アルゴリズムモデルの適用を主に検討します。近年、異常検知分野におけるディープラーニングの応用は徐々に成熟し、従来の統計モデルアルゴリズムよりも強力な一般化能力を備えています。ただし、これらのアルゴリズムのトレーニング コストは比較的高いため、リアルタイム要件が高いインジケーター システムとのトレードオフを行う必要があります。 3. DataPipelineアルゴリズムの実装アイデア上記の設計原則に基づいて、 DataPipeline は問題を解決するためのいくつかの手順を提案します。 1.データにアクセスする まず、 DataPipeline独自のデータ統合機能を使用して、さまざまなデータ ソースからのリアルタイム データ ストリームまたはバッチ データ セットにアクセスし、それらを前処理して複数のインジケーターの時系列データを形成します。 2.通常のパフォーマンスのモデリング 次に、各単一指標の時系列データについて、通常のパフォーマンス パターンが学習され、モデルが適合され、信頼区間が自動的に生成されます。下の図に示すように、濃い青の部分がデータそのもの、薄い青の部分が自動生成された信頼区間、赤い部分が異常値です。 3.異常検出とフィルタリング 新しいデータ ポイントについては、信頼区間を超えると、システムはそれを異常と見なします。識別された各異常はスコア付けされ、フィルタリングされます。 4.複数の異常を関連付けて自動的に警報を発する 複数の異常が検出された場合、アルゴリズムは自動的に相関関係を学習し、それらを関連付けます。最後に、概要アラートが生成され、ユーザーに送信されます。 以下では、単一データの正常なパフォーマンスのモデリング、異常検出、および複数の指標の異常の関連付けの具体的な技術的実装について説明することに重点を置いています。 1.単一データセットの通常のパフォーマンスのモデル化 過去数十年にわたり、この問題を解決するために、さまざまな種類のアルゴリズムが研究され、開発されてきました。その中には、統計モデルに基づく従来のアルゴリズムや、時系列データに基づく分析手法も数多くあります。近年人気のディープラーニングモデルも、時系列データの予測や異常検出において高い精度を持つことが実証されています。 これらのアルゴリズムは、一般的に次の手順に従います。まず、履歴データをモデル化し、通常のデータ パフォーマンスのルールを学習します。新しいデータ ポイントについては、データ ポイントが通常のパフォーマンス モデルからどの程度逸脱しているかに基づいて異常かどうかが判断されます。 例えば、最も単純なアルゴリズムモデルはガウス分布です。指標データがガウス分布に従っていると仮定すると、履歴データポイントを通じてガウス分布の平均と期待値(平均)μと標準偏差σを推定し、新しいデータポイントを判断できます。期待値からの偏差が3標準偏差を超える場合、データポイントがモデルで説明できない確率は99.7%であり、異常と判断できます。しかし、現実には、ほとんどのデータはガウス分布で単純に表現することはできません。 したがって、まずデータ自体に基づいて最も適切なアルゴリズム モデルを自動的に選択する必要があります。これは、多くのオープンソースの異常検出アルゴリズムが直接使用された場合、満足のいく結果が得られないことが多い理由の 1 つでもあります。これは、一般的に、データの基盤となるパフォーマンスは一定であり、データは定期的にサンプリングされていると想定しているためです。不適切なアルゴリズム モデルを使用してデータをモデル化すると、非常に悪い結果が得られるか、まったく使用できなくなります。そこで、 DataPipeline は、データの表現に基づいてフィッティングに最適なアルゴリズムを自動的に選択できるアルゴリズムを開発しました。最も一般的に使用されるアルゴリズムは、統計モデルに基づくアルゴリズムとディープラーニングに基づくアルゴリズムに分けられます。 統計モデルアルゴリズム 上記のガウス分布に加えて、より一般的に使用されるモデルには、指数平滑法に基づくモデルが含まれます。指数平滑法は、実際には過去のデータを平均して将来のデータを予測しますが、時間的に現在に近いデータ ポイントに大きな重みを付けます。より古典的なものには、周期的なパターンも考慮できるHolt-WintersやARIMAなどがあります。 ディープラーニングアルゴリズム ディープラーニング アルゴリズムは、定期的にサンプリングされず、静的に動作しないデータに適しています。 LSTM ( Long Short-Term Memory ) は最も一般的に使用されるアルゴリズムであり、最新のアルゴリズムの多くはLSTMのバリエーションに基づいています。しかし、ディープラーニングアルゴリズムはリアルタイムでのトレーニングが難しく、つまりモデルが新しいデータポイントでリアルタイムに更新され、監視データの量が多い場合はCPUを大量に消費します。 アルゴリズムが最適なモデルを自動的に選択した後、システムは履歴データに基づいてモデルを適合させ、モデル パラメータを推定し、各データ ポイントの予測を行うことができます。ガウス分布を使用して、実際のデータポイントと予測されたデータポイント間の差(誤差)をシミュレートし、ガウスモデルを使用して信頼区間を計算することができます。新しいデータの誤差が信頼区間から大きく外れると、異常と判断されます。 2.循環学習 多くの指標データは明らかな周期性を示しており、周期性の学習は異常検出の精度にとって非常に重要です。周期性を自動的に学習する最も一般的な方法は自己相関学習です。簡単に言うと、このアルゴリズムはデータを時間差 ( Lag )だけ過去にシフトし、シフトしたデータと元のデータの間の統計的相関を計算します。特定のLagシフト後のデータが元のデータと高い相関関係にある場合、 Lag はデータの周期性であると見なされます。このアルゴリズムの主な問題は、複数のLagを計算する必要があるため、大量の計算が必要になることです。 前述のリアルタイム性とスケーラビリティの要件を考慮して、 DataPipeline はサブサンプリング方式を使用してアルゴリズムを最適化し、計算の複雑さを軽減します。 3.関連性学習 前述のように、アラームの氾濫の問題を解決するには、指標間の相関関係を自動的に計算できるアルゴリズムが必要です。複数の異常が同時に発生した場合、同じビジネス上の問題を反映した異常を関連付けて、ユーザーに要約されたアラームを提供できます。この種の問題に対する従来のアプローチは、多変量解析を使用することです。これは、すべての時系列データを複数の相互に関連する変数としてモデル化し、全体的なレベルで異常を検出することです。この方法の主な問題は、スケーリングが難しく、異常が発生した場合の検出結果の解釈が不十分なことです。 そのため、DataPipeline では、単変量解析を使用して各指標の異常を検出し、大規模なクラスタリングアルゴリズムを使用して相関の高い指標をクラスタ化します (上図を参照)。このようにして、各指標の機械学習と相関学習の部分を個別に拡張できるため、システム全体の計算効率が向上します。クラスタリング アルゴリズムは、いくつかの種類の機能を通じて計算されます。 異常なパフォーマンスの類似性 つまり、2 つの指標が複数回、かつ同時に異常である場合、それらの指標はより相関していると考えられます。異常なパフォーマンスの特徴ベクトルを生成できます。ある時点で指標が正常に機能している場合は 0 に設定されます。パフォーマンスが異常な場合は、異常スコアに設定されます (アルゴリズムは異常の重大度に応じて自動的にスコアを付けます)。 統計モデルの類似性 つまり、指標の値が同様のパターンを持っているかどうかです。 2 つの時系列データの数値類似性を計算する最も一般的なアルゴリズムは、ピアソン相関係数です。 メタデータの類似性と人間のフィードバック DataPipeline は、メタデータのトポロジ関係に基づいて関連性も判断します。たとえば、同じ指標の複数のディメンションによって生成された複数のサブ指標は、より関連性が高いと見なされます。さらに、ユーザーは自分で情報を入力して、どの指標がより関連性が高いかをシステムに伝えることもできます。 4. DataPipelineシステムアーキテクチャエンタープライズ レベルのビジネス監視および異常検出システムを構築する場合、どのようなコンポーネントを含める必要がありますか? DataPipeline に関するアイデアをいくつか紹介します。 1.製品の機能コンポーネント 製品機能の観点で見ると、企業のさまざまな業務システム(左側)に接続でき、基幹業務システムやデータ分析・監視システムなどのさまざまな既存システムに接続できます。課題は、複数のソースの異種データに一貫した方法でアクセスし、ストリーミング データとバッチ データの両方を同時に処理する方法です。 DataPipelineの既存のデータ融合製品はこれをうまく実現できます。企業が独自に構築する場合は、具体的な状況に応じて実装方法を決定する必要があります。 さらに、中間のシステムカーネルをビジネスから完全に切り離したブラックボックスとして設計しました。右側はユーザーインタラクションUIで、2つの部分で構成されています。1つ目はアラームシステムで、会社のアラームニーズに応じて、 DingTalk、電子メール、電話などの企業コミュニケーションアプリを受信できます。 2 つ目は監視ダッシュボードです。ここでは、監視対象の指標データを確認し、さまざまな指標を検索して、複数のディメンションで表示できます。また、異常指標の概要表示、根本原因表示なども確認できます。ダッシュボードから、ユーザーは表示された異常に基づいてフィードバックを提供し、それが正しい異常であるか誤検知であるかを示すことができます。また、インジケーターの異常検出の感度を調整することもできます。このフィードバックと調整はシステムにフィードバックされます。 2.コアシステムアーキテクチャ コアシステムは、主にオンライン処理とオフラインモデルトレーニングの 2 つの部分に分かれています。オンライン部分は、リアルタイムデータ指標の最新のデータストリームを処理し、モデルストレージデータベースからモデルを読み取ってメモリに保存し、データストリーム内の各データ指標に対してリアルタイムのしきい値計算、異常検出、スコアリングを実行します。その後、複数のデータ指標の異常検出結果が相関プロセッサにまとめられ、異常が関連付けられます。最後に、関連付けられた異常指標グループがまとめられ、アラームが生成されてトリガーされます。リアルタイムのインジケーター データを処理する場合、プロセッサはオフライン トレーニングの準備として、最新のインジケーター データと検出された異常をデータベースに書き込みます。 オフライン部分は、データ指標の履歴データベースからデータを定期的に読み取り、前述のアルゴリズムの自動選択と定期的な学習を含むオフラインモデルトレーニングを実行します。また、ユーザーからのフィードバックを定期的に活用してモデルを評価し、偽陽性率や偽陰性率などを計算します。 要約する 業務上の異常を速やかに解決しないと、会社に多大な経済的損失が発生します。手動レポート生成と手動しきい値に依存する従来の監視方法と比較して、AI ベースのビジネス異常検出システムは、さまざまなビジネス指標をより自動的かつ包括的に監視し、より正確で役立つアラームとビジネス分析情報を提供できます。 しかし、このようなシステムを構築するには、ビジネスデータの表示形式が多様であること、アラームが多すぎること、精度が低いことなどの課題があります。エンタープライズレベルの人工知能ビジネス異常検出システムの登場により、企業はビジネスをより効率的、タイムリー、包括的に制御できるようになり、ビジネスと経済の利益が向上します。 DataPipelineのAI責任者であるWang Rui氏が、51CTO Big Names Open Classで「ビジネス異常のリアルタイム自動検出 - 人工知能に基づく実践的なシステム運用」と題したプレゼンテーションを行いました。本記事は、そのプレゼンテーションの内容をもとにまとめたものです。 元Facebook/Instagram の AI テクノロジー責任者であるWang Rui氏は、現在DataPipelineのAI責任者として、エンタープライズ レベルのビジネス異常検出製品の研究開発を担当し、企業がビジネス自動化監視と異常検出の問題をワンストップで解決できるよう支援することを目指しています。この共有では、主に次の 4 つの側面からこの製品を構築するためのアイデアと実践を共有します。 |
<<: 180 の大学が人工知能専攻の追加を承認されました。これらの大学への出願をお勧めしますか?
現在、ビッグデータ、クラウドコンピューティング、人工知能技術が急速に発展しており、産業インターネット...
大学で何を専攻するかは、慎重に考える必要があります。結局のところ、大学の専攻の選択は私たちの将来の発...
[[254553]]マーティン・フォードは2015年に出版した『ロボットの台頭』で大きな話題を呼びま...
トランプ大統領は米国の製造業がかつての栄光を取り戻すことを望んでいる。彼はロボットに狙いを定め、米国...
[[387119]]近年、ロボット産業の急速な発展に伴い、伝統的な飲食業界も徐々に第二の春を迎えてい...
[[431006]]アルゴリズムの速度最適化でボトルネックが発生し、要件を満たすことができませんか?...
ニューラルネットワークの威力を示す証拠文字通り、普遍近似定理はニューラル ネットワークがどのように機...
物体検出とその他のコンピュータビジョンの問題分類問題これはおそらくコンピュータービジョンにおける最大...
[[443226]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...