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