IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-512323異常検出のための監視システムを訓練する方法、システム、プログラム
<>
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図1
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図2
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図3
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図4
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図5
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図6
  • 特表-異常検出のための監視システムを訓練する方法、システム、プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-19
(54)【発明の名称】異常検出のための監視システムを訓練する方法、システム、プログラム
(51)【国際特許分類】
   G06N 3/098 20230101AFI20240312BHJP
   G06N 20/00 20190101ALI20240312BHJP
   G06F 11/30 20060101ALI20240312BHJP
【FI】
G06N3/098
G06N20/00
G06F11/30 140A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023553517
(86)(22)【出願日】2022-02-15
(85)【翻訳文提出日】2023-09-03
(86)【国際出願番号】 CN2022076329
(87)【国際公開番号】W WO2022206197
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】17/218,035
(32)【優先日】2021-03-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100091568
【弁理士】
【氏名又は名称】市位 嘉宏
(72)【発明者】
【氏名】ルオ、トン
(72)【発明者】
【氏名】ダイ、イー
(72)【発明者】
【氏名】チャン、グアンミン
(72)【発明者】
【氏名】スン、ビンジアン
(72)【発明者】
【氏名】ツァオ、シュンシン
(72)【発明者】
【氏名】チェン、ヤン
(72)【発明者】
【氏名】ヂオ、リン
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ02
(57)【要約】
コンピューティング動作における異常を検出するために使用される非常に多くの機械学習パフォーマンス・モデルの訓練を容易にするための方法が提示される。モデルは、モデル・タイプに応じてグループ化され、監視されている動作を遂行するために使用されるコンピューティング環境の異なるポッドに割り当てられる。あるグループにおいて、モデルの最初の訓練は、リソース使用率を監視しながら遂行され、さらなる訓練のために特別なポッドがリソース使用率に基づいて選択される。訓練用に選択されるポッドは、最初の訓練の前後でリソース使用率の最小変化を有することが好ましい。訓練されたモデルをスコアリングするために、異なるポッドを選択することができる。スコアリング用に選択されるポッドは、最初のスコアリングの間すべてのポッドの中で、最大リソース使用率を有することが好ましい。
【特許請求の範囲】
【請求項1】
コンピューティング動作における異常の検出のための監視システムを訓練するコンピュータ実装方法であって、
前記異常を検出する際に使用される複数のパフォーマンス・モデルに関する詳細を受信することであって、前記詳細が前記パフォーマンス・モデルの数、前記パフォーマンス・モデルのタイプ、および前記パフォーマンス・モデルのそれぞれで使用されるメトリクスを含む、前記受信することと、
前記パフォーマンス・モデルのグループを形成することであって、前記グループが、前記パフォーマンス・モデルの総数よりも数が少ない前記パフォーマンス・モデルのサブセットである、前記形成することと、
前記グループにおいて前記パフォーマンス・モデルのうち特別な1つを選択することと、
前記特別なパフォーマンス・モデルを訓練することと、
前記訓練を、前記グループ中の残りのパフォーマンス・モデルに適用することと
を含む、コンピュータ実装方法。
【請求項2】
前記グループ中の前記パフォーマンス・モデルは、機械学習を使用して訓練される、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記グループ中の前記パフォーマンス・モデルのそれぞれは、同一のモデル・タイプを有する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記グループ中の前記パフォーマンス・モデルの少なくとも一部は、所与のコンピューティング・ポッド内のすべてのコンテナについて共有ストレージ、共有ネットワーク・リソース、および共有コンテキストを提供する、複数のコンピューティング・ポッドのうち特別な1つにおける個々のコンピューティング・コンテナにおいて具現化され、
前記選択することは、前記特別なコンピューティング・ポッドを前記訓練のために選択することを含み、
前記特別なコンピューティング・ポッドは、前記訓練を遂行する訓練サービスを含む、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記特別なコンピューティング・ポッドの前記選択は、前記特別なコンピューティング・ポッドが、最初の訓練の前の第1の期間と最初の訓練の後の第2の期間を比較すると、前記グループ中でパフォーマンス・モデルを含むすべてのコンピューティング・ポッドの中で、リソース使用率の最小変化を有していると決定することを含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
いくつかのコンピューティング・ポッドにおいて、訓練されたパフォーマンス・モデルの最初のスコアリングを開始することと、
前記最初のスコアリングの間、前記いくつかのコンピューティング・ポッドのリソース使用率を監視することと、
継続するスコアリングのために、前記特別なコンピューティング・ポッド以外の特定のコンピューティング・ポッドを、前記リソース使用率に基づいて選択することと、
前記特定のコンピューティング・ポッドに含まれるスコアリング・サービスを使用して少なくとも1つのパフォーマンス・モデルのスコアリングを完了することと
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記特定のコンピューティング・ポッドの前記選択は、前記特定のコンピューティング・ポッドが、前記最初のスコアリングの間、前記最初のスコアリングを遂行するすべてのコンピューティング・ポッドの中で最大リソース使用率を有していると決定することを含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
コンピュータ・システムであって、
プログラム命令を処理する1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに接続されるメモリ・デバイスと、
異常を検出する際に使用される複数のパフォーマンス・モデルに関する詳細を受信することであって、前記詳細が前記パフォーマンス・モデルの数、前記パフォーマンス・モデルのタイプ、および前記パフォーマンス・モデルのそれぞれで使用されるメトリクスを含む、前記受信することと、前記パフォーマンス・モデルのグループを形成することであって、前記グループが、前記パフォーマンス・モデルの総数よりも数が少ない前記パフォーマンス・モデルのサブセットである、前記形成することと、前記グループにおいて前記パフォーマンス・モデルの中で特別な1つを選択することと、前記特別なパフォーマンス・モデルを訓練することと、前記訓練を、前記グループ中の残りのパフォーマンス・モデルに適用することとによって、コンピューティング動作における前記異常の検出のための監視システムを訓練するための、前記メモリ・デバイスに常駐するプログラム命令と
を備える、コンピュータ・システム。
【請求項9】
前記グループ中の前記パフォーマンス・モデルは、機械学習を使用して訓練される、請求項8に記載のコンピュータ・システム。
【請求項10】
前記グループ中の前記パフォーマンス・モデルのそれぞれは、同一のモデル・タイプを有する、請求項8に記載のコンピュータ・システム。
【請求項11】
前記グループ中の前記パフォーマンス・モデルの少なくとも一部は、所与のコンピューティング・ポッド内のすべてのコンテナについて共有ストレージ、共有ネットワーク・リソース、および共有コンテキストを提供する、複数のコンピューティング・ポッドのうち特別な1つにおける個々のコンピューティング・コンテナにおいて具現化され、
前記特別なパフォーマンス・モデルの前記選択は、前記特別なコンピューティング・ポッドを前記訓練のために選択することを含み、
前記特別なコンピューティング・ポッドは、前記訓練を遂行する訓練サービスを含む、
請求項8に記載のコンピュータ・システム。
【請求項12】
前記特別なコンピューティング・ポッドの前記選択は、前記特別なコンピューティング・ポッドが、最初の訓練の前の第1の期間と最初の訓練の後の第2の期間を比較すると、前記グループ中でパフォーマンス・モデルを含むすべてのコンピューティング・ポッドの中で、リソース使用率の最小変化を有していると決定することを含む、請求項11に記載のコンピュータ・システム。
【請求項13】
前記プログラム命令はさらに、いくつかのコンピューティング・ポッドにおいて、訓練されたパフォーマンス・モデルの最初のスコアリングを開始し、前記最初のスコアリングの間、前記いくつかのコンピューティング・ポッドのリソース使用率を監視し、継続するスコアリングのために、前記特別なコンピューティング・ポッド以外の特定のコンピューティング・ポッドを、前記リソース使用率に基づいて選択し、前記特定のコンピューティング・ポッドに含まれるスコアリング・サービスを使用して少なくとも1つのパフォーマンス・モデルのスコアリングを完了する、請求項11に記載のコンピュータ・システム。
【請求項14】
前記特定のコンピューティング・ポッドの前記選択は、前記特定のコンピューティング・ポッドが、前記最初のスコアリングの間、前記最初のスコアリングを遂行するすべてのコンピューティング・ポッドの中で最大リソース使用率を有していると決定することを含む、請求項8に記載のコンピュータ・システム。
【請求項15】
コンピュータ・プログラム製品であって、
1つまたは複数のコンピュータ可読記憶媒体と、
異常を検出する際に使用される複数のパフォーマンス・モデルに関する詳細を受信することであって、前記詳細が前記パフォーマンス・モデルの数、前記パフォーマンス・モデルのタイプ、および前記パフォーマンス・モデルのそれぞれで使用されるメトリクスを含む、前記受信することと、前記パフォーマンス・モデルのグループを形成することであって、前記グループが、前記パフォーマンス・モデルの総数よりも数が少ない前記パフォーマンス・モデルのサブセットである、前記形成することと、前記グループにおいて前記パフォーマンス・モデルの中で特別な1つを選択することと、前記特別なパフォーマンス・モデルを訓練することと、前記訓練を、前記グループ中の残りのパフォーマンス・モデルに適用することとによって、コンピューティング動作における前記異常の検出のための監視システムを訓練するための、前記1つまたは複数のコンピュータ可読記憶媒体に集合的に常駐するプログラム命令と
を含む、コンピュータ・プログラム製品。
【請求項16】
前記グループ中の前記パフォーマンス・モデルは、機械学習を使用して訓練される、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記グループ中の前記パフォーマンス・モデルのそれぞれは、同一のモデル・タイプを有する、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
前記グループ中の前記パフォーマンス・モデルの少なくとも一部は、所与のコンピューティング・ポッド内のすべてのコンテナについて共有ストレージ、共有ネットワーク・リソース、および共有コンテキストを提供する、複数のコンピューティング・ポッドのうち特別な1つにおける個々のコンピューティング・コンテナにおいて具現化され、
前記特別なパフォーマンス・モデルの前記選択は、前記特別なコンピューティング・ポッドを前記訓練のために選択することを含み、
前記特別なコンピューティング・ポッドは、前記訓練を遂行する訓練サービスを含む、
請求項15に記載のコンピュータ・プログラム製品。
【請求項19】
前記特別なコンピューティング・ポッドの前記選択は、前記特別なコンピューティング・ポッドが、最初の訓練の前の第1の期間と最初の訓練の後の第2の期間を比較すると、前記グループ中でパフォーマンス・モデルを含むすべてのコンピューティング・ポッドの中で、リソース使用率の最小変化を有していると決定することを含む、請求項18に記載のコンピュータ・プログラム製品。
【請求項20】
前記プログラム命令はさらに、いくつかのコンピューティング・ポッドにおいて、訓練されたパフォーマンス・モデルの最初のスコアリングを開始し、前記最初のスコアリングの間、前記いくつかのコンピューティング・ポッドのリソース使用率を監視し、継続するスコアリングのために、前記特別なコンピューティング・ポッド以外の特定のコンピューティング・ポッドを、前記リソース使用率に基づいて選択し、前記特定のコンピューティング・ポッドに含まれるスコアリング・サービスを使用して少なくとも1つのパフォーマンス・モデルのスコアリングを完了する、請求項18に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的にコンピュータ・システムに関し、より詳細には動作異常を検出するためにパフォーマンス・モデルを訓練する方法に関する。
【背景技術】
【0002】
コンピューティング動作がより複雑になるにつれ、基礎となるインフラストラクチャは、クラウド・コンピューティングにおけるようにあまり中央集権化されなくなっており、システム・パフォーマンスを最適化するために、そのような動作を監視できることが益々重要となっている。大規模なコンピューティング・システムの機能における、深刻な動作上の問題を示し得る潜在的な異常を自動的に検出するために、多くの手法が考案されている。このような手法の一部は、時間的に重要なパフォーマンス・インジケータに基づいた、システムのための様々なモデルを使用する。
【0003】
この領域は、大量で、しばしば多ノイズなパフォーマンス・データ中で複雑なパターンを発見することを試みる、情報技術(IT)動作アナリティクスと称される広範な技術分野の一部である。これらのアナリティクスには、AIOPと称される、コグニティブ・システムに依拠する、IT運用のための人工知能が含まれることがある。コグニティブ・システム(深層学習と称されることもある)は、機械学習および問題解決を使用する人工知能の形態である。コグニティブ・システムは、ニューラル・ネットワークを利用することが多いが、サポート・ベクタ・マシン(SVM)またはベイジアン・ネットワークなどの代替的な設計を使用することが可能である。人工知能の現代的な実装形態は、インターナショナル・ビジネス・マシーンズ・コーポレーションより販売されているWatson(TM)コグニティブ技術である。
【0004】
異常検出に使用されるモデルは、このようなコグニティブ・システムを採用することができる。モデルは、コンピューティング動作の正常機能を捉えるよう試みる。現在の動作状態が、モデルから著しく逸脱する場合、異常が検出されている可能性があり、スーパバイザまたは他の自動化されたソリューションに向けてアラートが生成され得る。異常検出には、単純な統計方法もしくは課題、または密度ベース、クラスタリング・ベース、SVMベース、ベイジアン・ネットワーク、およびカスタムの検出モデルなどの機械学習ベースの手法など、様々なモデルのタイプを使用することができる。各モデルは、そのモデル・タイプにしたがって適当に訓練される必要、つまり、システムの正常な挙動を示す訓練データ・セットを与えられる必要がある。訓練は、教師なし、教師あり、または半教師ありであってもよい。
【発明の概要】
【0005】
少なくとも1つの実施形態において、本発明は一般的に、異常を検出する際に使用されるパフォーマンス・モデルに関する詳細を受信することと、パフォーマンス・モデルのグループを形成することと、グループにおいてパフォーマンス・モデルのうち特別な1つを選択することと、特別なパフォーマンス・モデルを訓練することと、この訓練を、グループ中の残りのパフォーマンス・モデルに適用することとによって、コンピューティング動作における異常の検出のための監視システムを訓練するコンピュータ実装方法を対象とする。例示の実装形態では、パフォーマンス・モデルは、機械学習を使用して訓練され、グループ中のパフォーマンス・モデルのそれぞれは、同一のモデル・タイプを有する。パフォーマンス・モデルは、所与のコンピューティング・ポッド内のすべてのコンテナについて共有ストレージ、共有ネットワーク・リソース、および共有コンテキストを提供する、コンピューティング・ポッドの個々のコンピューティング・コンテナにおいて具現化されることが可能であり、特別なコンピューティング・ポッドが訓練のために選択され、特別なコンピューティング・ポッドは、訓練を遂行する訓練サービスを含む。このコンピューティング・ポッドの選択は、そのポッドが、最初の訓練の前の第1の期間と最初の訓練の後の第2の期間とを比較して、グループ中でパフォーマンス・モデルを含むすべてのコンピューティング・ポッドの中で、リソース使用率の最小変化を有していると決定することを含むことができる。本発明は、パフォーマンス・モデルが訓練されてしまうと、いくつかのコンピューティング・ポッドにおいて、訓練されたパフォーマンス・モデルの最初のスコアリングを開始することと、最初のスコアリングの間、これらのコンピューティング・ポッドのリソース使用率を監視することと、スコアリングを継続するために、訓練に使用されたコンピューティング・ポッド以外の特定のコンピューティング・ポッドを、リソース使用率に基づいて選択することと、この特定のコンピューティング・ポッドに含まれるスコアリング・サービスを使用してパフォーマンス・モデルのスコアリングを完了することとによって、追加的なスコアリングを用いてさらに実施することができる。このコンピューティング・ポッドの選択は、そのポッドが、最初のスコアリングの間、最初のスコアリングを遂行するすべてのコンピューティング・ポッドの中で最大リソース使用率を有していると決定することを含むことができる。
【0006】
本発明の様々な実施形態における、上記ならびに追加的な、目的、特徴、および利点は、以降の詳細に記載された説明から明らかとなろう。
【0007】
添付の図面を参照することによって、本発明はよく理解され、その様々な実施形態の、その多くの目的、特徴、および利点が当業者に明らかとなろう。
【図面の簡単な説明】
【0008】
図1】本発明の一実装形態による、動作異常を検出するために使用されるパフォーマンス・モデルの訓練を遂行するようにプログラムされた、コンピュータ・システムのブロック図である。
図2】本発明の一実装形態による、クラウド・コンピューティング環境の図的表現である。
図3】本発明の一実装形態による、そのパフォーマンスがモデル化される対象となる、クラウド・コンピューティングを介してデプロイされるアプリケーション、この例ではデータベースを有する、コンピューティング・システムのブロック図である。
図4】本発明の一実装形態による、様々なモデルならびに訓練およびスコアリング・サービスを示す、図3のコンピューティング・システムのコンピューティング・ポッドのブロック図である。
図5】本発明の一実装形態による、モデルを訓練する目的で特別なコンピューティング・ポッドの選択を統制する方程式のセットである。
図6】本発明の一実装形態による、モデルの訓練プロセスのための論理フローを図示するチャートである。
図7】本発明の一実装形態による、モデルのスコアリング・プロセスのための論理フローを図示するチャートである。
【発明を実施するための形態】
【0009】
異なる図面における同一参照符号の使用は、類似または同一の項目を指す。
【0010】
クラウドでデプロイされるデータベースなど、大規模なアプリケーションでのコンピューティング動作を監視する場合、あらゆる種類の動作異常を多くのメトリクスで検出できることが重要である。典型的な監視システムは、異常検出の精度を高めるために、メトリクスごとにパフォーマンス・モデルを構築する。しかしながら、その結果、大きなコンピューティング動作では、数十万、場合によっては百万を越える異なるモデルが必要となる可能性がある。例えば、2,000の関連データベースとデータベースごとに100のメトリクスを有するデータベース・バンクは、メトリクスごとにリアルタイムに異常を見つけられるようにするには200,000モデルが必要となる。これらは様々なモデル・タイプおよび関連メトリクス・データに基づいて個々に訓練しなければならないため、このことは、モデルを作成する際に大きな問題を生じる。単一の異常検出モデルの訓練は、広範囲にわたる場合があるため、そのような多数のモデルを訓練することは、法外なものとなる。いったん訓練されてしまうと、モデルはさらにスコアリングする必要があり、この規模では、さらに計算集約的となり得る。
【0011】
したがって、非常に多くのパフォーマンス・モデルの作成および評価を管理する、改善された方法を考案することが望ましい。方法によって、リソースが比較的限られたシステムにおいて、非常に多くのモデルの訓練およびスコアリングが可能となれば、さらに有益であろう。これらのおよび他の利点は、モデルの数およびタイプならびに経時的なリソース使用率に基づいてモデルを訓練しつつ、計算インフラストラクチャ(ポッド)および利用可能なリソースを調整することによって、本発明の様々な実装形態において達成される。訓練は、異なるポッドへの分散によってバランスを取ることができる。モデルは、タイプによってグループ化することができ、また特別なポッドが、リソース使用率に基づいて、あるグループを訓練するために選択されてもよい。モデルのスコアリングはまた、モデルを異なるポッドにパックした後、モデルのスコアリングのリソース消費に基づくことができる。
【0012】
次に、図面、特に図1を参照すると、大規模コンピューティング動作における異常検出のためのパフォーマンス・モデルの訓練を遂行するために、本発明を実装することができる、コンピュータ・システムの一実施形態10が描かれている。コンピュータ・システム10は、システム・バス14に接続された、複数のプロセッサ12a、12bを有する対称型マルチプロセッサ(SMP)システムである。システム・バス14は、システム・メモリ18とのインターフェースを実現する、結合されたメモリ・コントローラ/ホスト・ブリッジ(MC/HB)16にさらに接続され、MC/HB16と通信する。システム・メモリ18は、ローカル・メモリ・デバイスであってもよいし、代替的に複数の分散メモリ・デバイス、好ましくはダイナミック・ランダム・アクセス・メモリ(DRAM)を含んでもよい。メモリ階層構造には、オンボード(L1)キャッシュおよび二次キャッシュ(L2)または三次(L3)キャッシュなど、描かれていない追加的な構造が存在する。システム・メモリ18は、本発明にしたがって、そこに1つまたは複数のアプリケーションまたはプログラム・モジュールをロードしてある。例示の実装形態では、アプリケーションは、リソース管理ツールを有するデータベース・アプリケーションを含み、プログラム・モジュールは、パフォーマンス・モデルならびに訓練およびスコアリング・サービスを含む。
【0013】
MC/HB16はまた、peripheral component interconnect(PCI)Expressリンク20a、20b、20cへのインターフェースを有する。各PCI Express(PCIe)リンク20a、20bは、個々のPCIeアダプタ22a、22bに接続され、各PCIeアダプタ22a、22bは、個々の入力/出力(I/O)デバイス24a、24bに接続される。MC/HB16は、スイッチ(I/Oファブリック)28に接続されたI/Oバス26へのインターフェースを、追加的に有する。スイッチ28は、I/Oバスに複数のPCIリンク20d、20e、20fへのファンアウトを提供する。これらのPCIリンクは、さらなるPCIeアダプタ22c、22d、22eに接続され、これらはさらなるI/Oデバイス24c、24d、24eをサポートする。I/Oデバイスとしては、限定はしないが、キーボード、グラフィカル・ポインティング・デバイス(マウス)、マイクロフォン、ディスプレイ・デバイス、スピーカ、永続ストレージ・デバイス(ハード・ディスク・ドライブ)またはそのようなストレージ・デバイスのアレイ、CDまたはDVDなどの光学ディスク25(コンピュータ可読記憶媒体の一例)を受け入れる光学ディスク・ドライブ、およびネットワーク・カードを挙げることができる。各PCIeアダプタは、PCIリンクと個々のI/Oデバイスとの間にインターフェースを提供する。MC/HB16は、低レイテンシ経路を提供し、これを通じて、プロセッサ12a、12bは、バス・メモリまたはI/Oアドレス空間内のどこかにマッピングされたPCIデバイスにアクセスすることができる。MC/HB16は、さらに高帯域幅経路を提供し、PCIデバイスが、メモリ18にアクセスできるようにする。スイッチ28は、異なるエンドポイント間のピアツーピア通信を実現し、このデータ・トラフィックは、MC/HB16がキャッシュコヒーレントなメモリ転送に関与しないのであれば、MC/HB16に転送される必要はない。スイッチ28は、別個の論理コンポーネントとして示されているが、MC/HB16に一体化することが可能である。
【0014】
この実施形態では、PCIリンク20cは、MC/HB16をサービス・プロセッサ・インターフェース30に接続して、I/Oデバイス24aとサービス・プロセッサ32との間の通信を可能にしている。サービス・プロセッサ32は、JTAGインターフェース34を介してプロセッサ12a、12bに接続され、プロセッサ12a、12bの動作に割り込むアテンション・ライン(attention line)36を使用する。サービス・プロセッサ32は、自身のローカル・メモリ38を有してもよく、システムのスタートアップ用の様々なプログラム命令を記録する読み取り専用メモリ(ROM)40に接続される。サービス・プロセッサ32はまた、システム・ステータスおよび診断情報を提供するために、ハードウェア・オペレータ・パネル42へのアクセスを有してもよい。
【0015】
代替的な実施形態では、コンピュータ・システム10は、これらのハードウェア・コンポーネントの変更形態もしくはそれらの相互接続、または追加的なコンポーネントを含んでもよく、そのため、描かれる例は、本発明に関して、いかなるアーキテクチャ上の限定をも意味するものとして解釈されてはならない。本発明は、等価なクラウド・コンピューティング・ネットワーク上にさらに実装されてもよい。
【0016】
コンピュータ・システム10が、最初に電源を入れられると、サービス・プロセッサ32は、JTAGインターフェース34を使用して、システム(ホスト)プロセッサ12a、12bおよびMC/HB16に問い合わせをする。問い合わせが完了した後、サービス・プロセッサ32は、コンピュータ・システム10についてのインベントリおよびトポロジを取得する。次いでサービス・プロセッサ32は、ビルトインセルフテスト(BIST)、基本保証テスト(BAT)、およびメモリ・テストなど、様々なテストをコンピュータ・システム10のコンポーネントに対して実行する。テスト中に検出される障害のあらゆるエラー情報は、サービス・プロセッサ32によってオペレータ・パネル42にレポートされる。テスト中に障害と分かったあらゆるコンポーネントを取り除いた後、システム・リソースの有効な構成がなお可能であれば、コンピュータ・システム10は続行することを許される。実行可能コードは、メモリ18にロードされ、サービス・プロセッサ32は、ホスト・プロセッサ12a、12bを、プログラム・コード、例えばアプリケーションならびに特に本発明のモデル訓練およびスコアリング・プログラムの起動に使用されるオペレーティング・システム(OS)の実行用に解放し、この結果は、システムのハード・ディスク・ドライブ(I/Oデバイス24)に記憶することができる。ホスト・プロセッサ12a、12bが、プログラム・コードを実行する間、サービス・プロセッサ32は、冷却ファン速度および動作、熱センサ、電源レギュレータ、ならびにプロセッサ12a、12b、メモリ18、およびMC/HB16のいずれかによってレポートされるリカバリ可能およびリカバリ不能エラーなど、あらゆる動作パラメータまたはエラーを監視およびレポーティングするモードに入ってもよい。サービス・プロセッサ32は、エラーのタイプまたは定義されたしきい値に基づいて、さらなるアクションを取ってもよい。
【0017】
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をまとめて有する1つまたは複数のコンピュータ可読記憶媒体を含むことができる。
【0018】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは前述のあらゆる好適な組合せであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下が挙げられる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令が記録されたパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる好適な組合せ。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【0019】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個別のコンピューティング/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータまたは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを含むことができる。それぞれのコンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0020】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはJava(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの従来的な手続き型プログラミング言語もしくは類似するプログラミング言語を含む、1つまたは複数のプログラミング言語のあらゆる組合せで記述されたソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上で一部はリモートのコンピュータ上で、またはすべてリモートのコンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオでは、リモートのコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用するインターネットを介して)外部のコンピュータに対してなされてもよい。一部の実施形態において、例えば、プログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行し、電子回路を個別化することができる。
【0021】
本発明の態様は、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装されることが理解されよう。
【0022】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実装する手段を作成すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実装するための命令を含む製造物品を備えるべく、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるものであってもよい。
【0023】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実装するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実施させるものであってもよい。
【0024】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態では、ブロックで示される機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には1つのステップとして遂行されてもよく、同時に、実質的に同時に、部分的もしくは全体的に時間的に重なるやり方で実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは動作を実施する、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実装されることにも留意されたい。
【0025】
コンピュータ・システム10は、新規な計算技術を使用して、非常に多くのパフォーマンス・モデルの作成および評価を管理する、動作監視プロセスのためのプログラム命令を実行する。したがって、本発明を具現化するプログラムは、様々なパフォーマンス・モデリング・ツールの従来の態様を追加的に含んでもよく、これらの詳細は、本開示を参照すれば、当業者に明らかとなろう。訓練は、パフォーマンス・モデル、特にコグニティブ・システムの適切な動作に重要であり、それ自身が一技術分野を構成する。故に、本発明は、コグニティブ・システム訓練の技術分野に著しい改善を意味する。
【0026】
一部の実施形態では、本発明の1つまたは複数の態様は、クラウド・コンピューティングを使用して遂行される場合がある。本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書で述べられる教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ本発明の実施形態は、現在既知の、または後に開発されるあらゆる他のタイプのコンピューティング環境と併せて実装することができる。
【0027】
クラウド・コンピューティングは、構成可能なコンピューティング・リソースの共有プール(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械、およびサービス)への便利でオンデマンドのネットワーク・アクセスを可能とするためのサービス提供のモデルであり、最小限の管理努力で、またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースすることができる。このクラウド・モデルは、様々な特性、サービス・モデル、およびデプロイメント・モデルを含むことができる。
【0028】
特性としては、限定はしないが、オンデマンドのサービス、幅広いネットワーク・アクセス、リソース・プーリング、迅速な拡張性、およびサービスの計測を挙げることができる。オンデマンドのセルフサービスとは、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングするための、クラウド消費者の能力を称する。幅広いネットワーク・アクセスとは、ネットワーク上で利用可能であり、異質なシン・クライアントまたはシック・クライアントのプラットフォーム(例えば、携帯電話、ラップトップ、および携帯情報端末など)による使用を促進する、標準的なメカニズムを通じてアクセスされる機能を称する。リソースのプーリングは、プロバイダのコンピューティング・リソースが、マルチテナントのモデルを使用して複数の消費者にサービス提供するためにプールされると生じ、異なる物理的および仮想的なリソースが需要に応じて動的に割り当ておよび再割り当てされる。消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の意味があるが、より高い抽象レベルにおいて場所(例えば、国、州、またはデータセンタ)を特定できることもある。迅速な拡張性とは、機能を迅速かつ柔軟にプロビジョニングすることができ、場合によっては自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされることを意味する。消費者にとって、プロビジョニングに利用可能な機能は、しばしば無制限に見え、いつでもいくらでも購入できる。サービスの計測は、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な何らかの抽象レベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、最適化するための、クラウド・システムの能力である。リソース使用率は、監視、制御、および報告することができ、利用されるサービスのプロバイダおよび消費者の両方に透明性を与えている。
【0029】
サービス・モデルとしては、限定はしないが、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、およびサービスとしてのインフラストラクチャを挙げることができる。サービスとしてのソフトウェア(Software as a Service(SaaS))とは、クラウド・インフラストラクチャで実行中のプロバイダのアプリケーションを使用するために、消費者に提供される機能を称する。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有のアプリケーション構成設定が可能である。サービスとしてのプラットフォーム(Platform as a Service(PaaS))とは、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成の、または既成のアプリケーションをクラウド・インフラストラクチャにデプロイするために、消費者に提供される機能を称する。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、デプロイされたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。サービスとしてのインフラストラクチャ(Infrastructure as a Service(IaaS))とは、消費者が任意のソフトウェアをデプロイおよび実行することができる処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングするために、消費者に提供される機能を称し、このようなソフトウェアにはオペレーティング・システムおよびアプリケーションが含まれ得る。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションの制御、および場合によっては選択ネットワーキング・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御を有する。
【0030】
デプロイメント・モデルとしては、限定はしないが、プライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、およびハイブリッド・クラウドを挙げることができる。プライベート・クラウドとは、ある組織のためだけに運用されるクラウド・インフラストラクチャを称する。これは、その組織またはサード・パーティによって管理され、オンプレミスまたはオフプレミスで存在することができる。コミュニティ・クラウドは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス検討)を有する特定のコミュニティをサポートするクラウド・インフラストラクチャを有する。これは、組織またはサード・パーティによって管理され、オンプレミスまたはオフプレミスで存在することができる。パブリック・クラウドでは、クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。ハイブリッド・クラウド用のクラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組合せたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術(例えば、クラウド間でロード・バランシングを行うためのクラウド・バースト)によって結合される。
【0031】
クラウド・コンピューティング環境は、ステートレス性、低い結合性、モジュール性、および意味論的な相互運用性に焦点をあてたサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。例示のクラウド・コンピューティング環境50を、図2に描く。示されるように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)または携帯電話54a、デスクトップ・コンピュータ54b、ラップトップ・コンピュータ54c、または自動車コンピュータ・システム54dあるいはその組合せなどのクラウドの消費者によって使用されるローカルのコンピューティング・デバイスと通信することができる1つまたは複数のクラウド・コンピューティング・ノード52を含む。ノード52は、互いに通信することができる。本明細書において上述のようなプライベート、コミュニティ、パブリック、またはハイブリッドのクラウドあるいはその組合せなどのうち、1つまたは複数のネットワークにおいて、これらは物理的または仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウドの消費者がローカルのコンピューティング・デバイスでリソースを維持する必要がない、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして提供することができる。図2に示されるコンピューティング・デバイス54a~54dのタイプは、単に例示的であることを意図されており、コンピューティング・ノード52およびクラウド・コンピューティング環境50は、あらゆるタイプのネットワーク上またはネットワーク・アドレス可能接続で(例えば、ウェブ・ブラウザを使用して)あるいはその両方で、あらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解されよう。
【0032】
例示の実装形態では、本発明のいくつかの態様は、クラウド・サーバまたはクラウド・コンピューティング・システムによって遂行することが可能である。クラウド・コンピューティング・システムは、例えば、図1のコンピュータ・システム10のようなアーキテクチャ、またはインターネットを介してクライアントと通信する他のアーキテクチャを有する、図2のノード52を含むことができる。クラウド・コンピューティング・システムは、あらゆる数およびタイプのアプリケーションをホストすることができる。図3は、本発明の一実装形態による、IBM Cloud(TM)プラットフォームなどのクラウド・プラットフォーム62にデプロイされた、クラウド・コンピューティング・システム60を図示している。IBM Cloud(TM)プラットフォームは、インターナショナル・ビジネス・マシーンズ・コーポレーション(IBM(R))社製の、サービスとしてのプラットフォーム(PaaS)およびサービスとしてのインフラストラクチャ(IaaS)の両方を提供する、クラウド・コンピューティング・サービスのスイートである。さらにこの例では、クラウド・プラットフォーム62は、Db2データベースなどのデータベース・アプリケーションをホストする。Db2は、IBM(R)によって開発された、データベース・サーバを含むデータ管理製品のファミリである。Db2は、当初はリレーショナル・データベース管理システムとして設計されたが、オブジェクトリレーショナルな特徴ならびにJSONおよびXMLファイル・フォーマットのような非リレーショナルな構造をサポートするように拡張された。
【0033】
この実装形態では、データベース・アプリケーション64は、IBM Cloud(TM)Kubernetes ServiceなどのKubernetesタイプのコンピューティング・インフラストラクチャにおいて具現化される。このサービスは、IBM Cloud(TM)上にコンピュート・ホストのKubernetesクラスタを作成して、コンテナ化されたアプリをデプロイして管理するために構築された、マネージド・オファリングである。Kubernetesは、CPU、メモリ、またはカスタムのメトリクスに基づいて、アプリケーションをデプロイ、保守、およびスケーリングするメカニズムをまとめて提供する、一組のビルディング・ブロック(プリミティブ)を定義する。サービスは、マスタまたはコントローラ66、および複数のポッドを含む。ポッドは、Kubernetes内で作成および管理することが可能な、コンピューティングまたはスケジューリングの最小のデプロイ可能な単位である。ポッドは、1つまたは複数のコンテナのグループであり、共有のストレージとネットワーク・リソース、およびコンテナをどのように実行するかの仕様を伴う。ポッドのコンテンツは、常に共配置されて共にスケジュールされ、共有されるコンテキストで実行される。Db2アプリケーションでは、ポッドは、ストレージ・ポッド67、Db2ポッド68、およびモデル・ポッド70を含むことができる。ストレージ・ポッド67は、特定のデータベースの対象である、実際のオペランド・データを収容する。Db2ポッド68は、データベース動作を扱う。モデル・ポッド70は、Db2データベースの動作における異常を検出するために使用されるパフォーマンス・モデルを含む。示されていない他のポッドが存在する場合もある。コントローラ66は、必要に応じてポッドの数を増やす、またはもはや使用されていない場合はポッドを削除すること、また以降でさらに議論するように、モデル訓練およびスコアリングのためのポッドを選択することなど、クラスタのためのリソース管理を遂行する。コントローラ66はまた、異なるポッドまたはコンテナについて、CPU、メモリ、およびI/O使用率など、リソース利用率を測定するメトリクス収集サービスを提供することができる。
【0034】
モデルの訓練は、例示の実装形態による、モデル・ポッド70’を示す図4をさらに参照すると理解することができる。モデル・ポッド70’は、複数のモデル72を内部に有する(0~N)。この特定のモデルのグループは、すべて同一モデル・タイプである。所与のモデル・ポッドは、1つのグループだけに専用であることができるか、または複数のモデル・グループを扱うことができる。1つのグループ中のいくつかのモデルは、リソース利用率のバランスを取るために異なるポッドに割り当てられ、図4は、このようなポッドのそれぞれを表現したものである。
【0035】
訓練サービス74は、様々なモデル72を訓練するために使用される。訓練サービス74は、異なるポッドに配置することが可能であるが、そのモデルが訓練される同一ポッド内に配置されると有利である。複数の訓練サービスが、異なるポッドまたはグループに存在することが可能である。訓練サービス74は、まず、従来の訓練技術を使用して、異なるポッド70’に対してモデル72のすべてについて最初の限定された訓練を行う訓練プロセスを遂行する。最初の訓練は、信頼できる訓練に必要とされるよりもかなり少ない訓練データ・セットしか関与しないという点で、限定的である。この最初の訓練の後、図5に関して以下でさらに説明するように、単一のポッド70’が、訓練を完了するために選択される。訓練に最適なポッドが選択されてしまうと、そのポッド内の所与のモデルは、完全な訓練を受ける。この終了した訓練は、次いでそのタイプのすべてのモデルに適用され、多数のモデルを訓練するタスクを大幅に簡略化する。終了した訓練は、関与する特定のモデルの性質に応じて、様々な方法で適用することができる。例えば、ニューラル・ネットワーク・インフラストラクチャを使用するモデルでは、終了した訓練は、ニューラル・ノードのための重みとバイアスのセットにおいて具現化され、これらのパラメータは、訓練されたモデルから容易に複製して他のモデルにプログラムすることができる。
【0036】
好ましい実施形態では、訓練に使用されるポッドは、経時的なリソース使用率を考慮して選択される。図4に示されるように、所与のモデルiでは、時刻tにおいて、モデルのCPU使用率はC(i,t)と表され、モデルのメモリ使用率はM(i,t)と表され、モデルのI/O使用率はI(i,t)と表される。そうすると図5から分かるように、ポッド・メトリクス80を計算することができる。所与のポッドのCPU使用率S(t)は、
【数1】
として計算され、所与のポッドのメモリ使用率S(t)は、
【数2】
として計算され、所与のポッドのI/O使用率S(t)は、
【数3】
として計算される。この時、所与のポッドのリソース使用率の概要は、次のように表現することができる:
S(t)=w(t)+w(t)+w(t)
ただし、w、wおよびwは、設計者の好みでセットされる重みである。重みw、wおよびwは、一般的に、モデル・タイプおよびリソースに対するあらゆる制限によって決定される。例えば、モデルのほとんどが、多くのメモリを必要とする場合、wは比較的大きくなり、システムにCPUパワーが不足している場合、wが比較的大きくなる。訓練に選択されるポッドは、新しい訓練が開始される前の第1の期間と、新しい訓練が開始された後の第2の期間とを比較した最大リソース使用率の変化が、すべてのポッドの中で最小となるようなポッドである。すなわち:
minpod(maxt1(S(t))-maxt2(S(t))) (1)
ただし、maxt1(S(t))は、訓練が開始している場合の時刻tにおける最大値を意味し、maxt2(S(t))は、訓練が開始していない場合の時刻tにおける最大値を意味する。式(1)には、リソースの可用性にしたがって、S(t)、S(t)およびS(t)がすべて個々の値の最大未満でなければならないという制約が与えられる。
【0037】
本発明の訓練は、一実装形態による、コンピュータ実装の訓練プロセス90を示す図6のチャートを参照すると、さらに理解することができる。プロセス90は、関与する特定のアプリケーションの動作から生じる異常を検出する際に使用されるモデルに関する詳細を受信すること92で開始する。このような詳細には、モデルの数およびタイプ、ならびに各モデルで使用されるメトリクスが含まれる。次いで、モデルはタイプに応じてグループ化され94、グループは、リソース利用率のバランスを取るために異なるポッド間で割り当てられる96。ポッド内のすべてのモデルの限定的な訓練が、遂行される98。ポッドのリソース使用率が計算され100、さらなる訓練102のために、上記の式(1)にしたがって、あるポッドが選択される。次いで、この選択されたポッドにおいて、モデルに対する完全な訓練を完了し104、この訓練が他のモデルに適用される106。
【0038】
訓練が終了してしまうと、モデルの精度を評価するために、モデルをスコアリングする必要がある。したがって、訓練プロセス90は、それ以外のやり方では非常に多くなるであろうパフォーマンス・モデルのスコアリングにおける計算効率をやはり最適化するために、単一のポッドの選択108をスコアリング目的で継続することができる。この選択プロセスは、図7と関連して以下でさらに説明する。スコアリングの後、モデルは、その精度を判断するために評価することができ110、プロセス90を終了する。モデルのスコアがよくない場合、さらなる訓練を設けることができる。
【0039】
例示の実装形態では、ポッドのうち特別な1つが、プロセスを最適化するために再度選択されるが、今回は訓練のためではなくスコアリングのためである。換言すれば、スコアリングに最適なポッドは、訓練に最適なポッドとは異なっていてもよい。図4から分かるように、ポッド70’は、一部の実装形態では、スコアリング・サービス76を有することができる。スコアリング・サービス76は、代替的に異なるポッドにあってもよく、そのためポッドの数は、訓練の後、減らすことができる。図7は、スコアリング・サービス76によって遂行される、スコアリング・ポッド選択プロセス108を示す。スコアリング・プロセス108は、リソース利用率のバランスを取るためにスコアリング要件をポッドに割り当てること120によって開始する。次いで、すべてのポッドで最初のスコアリングが開始する122。スコアリングが進行するにつれ、スコアリング・サービスのリソース使用率が監視される124。最大のリソース使用率を有するポッドは、スコアリング・サービスのすべてで最も拡張的なスコアリングであると見なされるため、このポッドが継続されるスコアリングのために選択される126。次いで、訓練されたモデルのスコアリングは、選択されたポッドで終了することができる128。故に、本発明は、非常に多くのパフォーマンス・モデルの訓練およびスコアリングのための優れた手法を、システム・リソースを最適な方法で調整するやり方で、提供する。
【0040】
本発明を特定の実装形態を参照して説明したが、この説明は限定的な意味で解釈されることは意図されていない。開示される実施形態の様々な変更形態、ならびに本発明の代替的な実施形態は、本発明の説明を参照すれば、当業者に明らかとなろう。したがって、そのような変更形態は、本発明の範囲から逸脱することなく、添付の特許請求の範囲で定義されるように作成されることが企図される。
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2023-10-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティング動作における異常の検出のための監視システムを訓練するコンピュータ実装方法であって、
前記異常を検出する際に使用される複数のパフォーマンス・モデルに関する詳細を受信することであって、前記詳細が前記パフォーマンス・モデルの数、前記パフォーマンス・モデルのタイプ、および前記パフォーマンス・モデルのそれぞれで使用されるメトリクスを含む、前記受信することと、
前記パフォーマンス・モデルのグループを形成することであって、前記グループが、前記パフォーマンス・モデルの総数よりも数が少ない前記パフォーマンス・モデルのサブセットである、前記形成することと、
前記グループにおいて前記パフォーマンス・モデルのうち特別な1つを選択することと、
前記特別なパフォーマンス・モデルを訓練することと、
前記訓練を、前記グループ中の残りのパフォーマンス・モデルに適用することと
を含む、コンピュータ実装方法。
【請求項2】
前記グループ中の前記パフォーマンス・モデルは、機械学習を使用して訓練される、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記グループ中の前記パフォーマンス・モデルのそれぞれは、同一のモデル・タイプを有する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記グループ中の前記パフォーマンス・モデルの少なくとも一部は、所与のコンピューティング・ポッド内のすべてのコンテナについて共有ストレージ、共有ネットワーク・リソース、および共有コンテキストを提供する、複数のコンピューティング・ポッドのうち特別な1つにおける個々のコンピューティング・コンテナにおいて具現化され、
前記選択することは、前記特別なコンピューティング・ポッドを前記訓練のために選択することを含み、
前記特別なコンピューティング・ポッドは、前記訓練を遂行する訓練サービスを含む、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記特別なコンピューティング・ポッドの前記選択は、前記特別なコンピューティング・ポッドが、最初の訓練の前の第1の期間と最初の訓練の後の第2の期間を比較すると、前記グループ中でパフォーマンス・モデルを含むすべてのコンピューティング・ポッドの中で、リソース使用率の最小変化を有していると決定することを含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
いくつかのコンピューティング・ポッドにおいて、訓練されたパフォーマンス・モデルの最初のスコアリングを開始することと、
前記最初のスコアリングの間、前記いくつかのコンピューティング・ポッドのリソース使用率を監視することと、
継続するスコアリングのために、前記特別なコンピューティング・ポッド以外の特定のコンピューティング・ポッドを、前記リソース使用率に基づいて選択することと、
前記特定のコンピューティング・ポッドに含まれるスコアリング・サービスを使用して少なくとも1つのパフォーマンス・モデルのスコアリングを完了することと
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記特定のコンピューティング・ポッドの前記選択は、前記特定のコンピューティング・ポッドが、前記最初のスコアリングの間、前記最初のスコアリングを遂行するすべてのコンピューティング・ポッドの中で最大リソース使用率を有していると決定することを含む、請求項に記載のコンピュータ実装方法。
【請求項8】
コンピュータ・システムであって、
プログラム命令を処理する1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに接続されるメモリ・デバイスと、
異常を検出する際に使用される複数のパフォーマンス・モデルに関する詳細を受信することであって、前記詳細が前記パフォーマンス・モデルの数、前記パフォーマンス・モデルのタイプ、および前記パフォーマンス・モデルのそれぞれで使用されるメトリクスを含む、前記受信することと、前記パフォーマンス・モデルのグループを形成することであって、前記グループが、前記パフォーマンス・モデルの総数よりも数が少ない前記パフォーマンス・モデルのサブセットである、前記形成することと、前記グループにおいて前記パフォーマンス・モデルの中で特別な1つを選択することと、前記特別なパフォーマンス・モデルを訓練することと、前記訓練を、前記グループ中の残りのパフォーマンス・モデルに適用することとによって、コンピューティング動作における前記異常の検出のための監視システムを訓練するための、前記メモリ・デバイスに常駐するプログラム命令と
を備える、コンピュータ・システム。
【請求項9】
前記グループ中の前記パフォーマンス・モデルは、機械学習を使用して訓練される、請求項8に記載のコンピュータ・システム。
【請求項10】
前記グループ中の前記パフォーマンス・モデルのそれぞれは、同一のモデル・タイプを有する、請求項8に記載のコンピュータ・システム。
【請求項11】
前記グループ中の前記パフォーマンス・モデルの少なくとも一部は、所与のコンピューティング・ポッド内のすべてのコンテナについて共有ストレージ、共有ネットワーク・リソース、および共有コンテキストを提供する、複数のコンピューティング・ポッドのうち特別な1つにおける個々のコンピューティング・コンテナにおいて具現化され、
前記特別なパフォーマンス・モデルの前記選択は、前記特別なコンピューティング・ポッドを前記訓練のために選択することを含み、
前記特別なコンピューティング・ポッドは、前記訓練を遂行する訓練サービスを含む、
請求項8に記載のコンピュータ・システム。
【請求項12】
前記特別なコンピューティング・ポッドの前記選択は、前記特別なコンピューティング・ポッドが、最初の訓練の前の第1の期間と最初の訓練の後の第2の期間を比較すると、前記グループ中でパフォーマンス・モデルを含むすべてのコンピューティング・ポッドの中で、リソース使用率の最小変化を有していると決定することを含む、請求項11に記載のコンピュータ・システム。
【請求項13】
前記プログラム命令はさらに、いくつかのコンピューティング・ポッドにおいて、訓練されたパフォーマンス・モデルの最初のスコアリングを開始し、前記最初のスコアリングの間、前記いくつかのコンピューティング・ポッドのリソース使用率を監視し、継続するスコアリングのために、前記特別なコンピューティング・ポッド以外の特定のコンピューティング・ポッドを、前記リソース使用率に基づいて選択し、前記特定のコンピューティング・ポッドに含まれるスコアリング・サービスを使用して少なくとも1つのパフォーマンス・モデルのスコアリングを完了する、請求項11に記載のコンピュータ・システム。
【請求項14】
前記特定のコンピューティング・ポッドの前記選択は、前記特定のコンピューティング・ポッドが、前記最初のスコアリングの間、前記最初のスコアリングを遂行するすべてのコンピューティング・ポッドの中で最大リソース使用率を有していると決定することを含む、請求項13に記載のコンピュータ・システム。
【請求項15】
請求項1~7の何れか1項に記載のコンピュータ実装方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項16】
請求項15に記載の前記コンピュータ・プログラムを、1つまたは複数のコンピュータ可読記憶媒体に記憶した、記憶媒体。
【国際調査報告】