(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】モデル管理システム、モデル管理方法及びモデル管理プログラム
(51)【国際特許分類】
G06Q 50/04 20120101AFI20241001BHJP
【FI】
G06Q50/04
(21)【出願番号】P 2022561826
(86)(22)【出願日】2021-10-29
(86)【国際出願番号】 JP2021040093
(87)【国際公開番号】W WO2022102439
(87)【国際公開日】2022-05-19
【審査請求日】2023-04-27
(31)【優先権主張番号】P 2020187177
(32)【優先日】2020-11-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000219967
【氏名又は名称】東京エレクトロン株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】片岡 勇樹
(72)【発明者】
【氏名】茂木 弘典
【審査官】小山 和俊
(56)【参考文献】
【文献】米国特許出願公開第2018/0253646(US,A1)
【文献】国際公開第2020/094325(WO,A1)
【文献】特開2019-093969(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
基板製造プロセスに適用されるモデルを3階層以上の階層に分けて管理するモデル管理システムであって、
所定の階層においてモデルを管理する第1の管理部と、
前記所定の階層より1階層下位の階層においてモデルを管理する
複数の第2の管理部と、を有し、
前記第1の管理部は、
前記第2の管理部が管理するモデルのモデルパラメータが更新された場合に、更新された各モデルパラメータに基づいて、新たなモデルパラメータを算出する算出部と、
前記第1の管理部に属する最下層の複数の管理部それぞれにより管理されるモデルに、前記新たなモデルパラメータが設定されるよう制御する制御部と
、
前記第1の管理部が管理するモデルよりも1階層上位の階層のモデルを管理する管理部に、前記新たなモデルパラメータを送信する送信部と
を有するモデル管理システム。
【請求項2】
前記階層は、前記基板製造プロセスを実行する装置の装置機種、前記基板製造プロセスを実行する装置のチャンバ種、前記基板製造プロセスを実行する装置のプロセスグループにより分けられる、請求項1に記載のモデル管理システム。
【請求項3】
前記モデルは、前記基板製造プロセスを実行する装置の異常検知の推論結果、プロセス処理の結果物の推論結果、部品劣化診断の推論結果、内部状態の推論結果のいずれかを出力するモデル、または、前記基板製造プロセスの制御における推論結果を出力するモデルのいずれかである、請求項1に記載のモデル管理システム。
【請求項4】
前記算出部は、予め定められた条件を満たす場合に、前記新たなモデルパラメータを算出し、前記制御部は、予め定められたタイミングで、前記最下層の複数のモデルに、新たなモデルパラメータが設定されるよう制御する、請求項1に記載のモデル管理システム。
【請求項5】
前記制御部は、前記最下層の複数の管理部それぞれにより管理されるモデルの一部に、前記新たなモデルパラメータが設定されるよう制御する、請求項1に記載のモデル管理システム。
【請求項6】
前記制御部は、
前記基板製造プロセスを実行する新たな装置が追加された場合、該追加された装置に対応するモデルに、前記新たなモデルパラメータが設定されるよう制御する、請求項1に記載のモデル管理システム。
【請求項7】
基板製造プロセスに適用されるモデルを3階層以上の階層に分けて管理するモデル管理システムのモデル管理方法であって、
所定の階層において第1の管理部がモデルを管理する第1の管理工程と、
前記所定の階層より1階層下位の階層において、
複数の第2の管理部
それぞれがモデルを管理する第2の管理工程と、を有し、
前記第1の管理工程は、
前記第2の管理工程において管理されるモデルのモデルパラメータが更新された場合に、更新された各モデルパラメータに基づいて、新たなモデルパラメータを算出する算出工程と、
前記第1の管理部に属する最下層の複数の管理部それぞれにより管理されるモデルに、前記新たなモデルパラメータが設定されるよう制御する制御工程と
、
前記第1の管理部が管理するモデルよりも1階層上位の階層のモデルを管理する管理部に、前記新たなモデルパラメータを送信する送信工程と
を有するモデル管理方法。
【請求項8】
基板製造プロセスに適用されるモデルを3階層以上の階層に分けて管理するモデル管理システムのコンピュータに、
所定の階層において第1の管理部がモデルを管理する第1の管理工程と、
前記所定の階層より1階層下位の階層において、
複数の第2の管理部
それぞれがモデルを管理する第2の管理工程と、を実行させるためのモデル管理プログラムであって、
前記第1の管理工程は、
前記第2の管理工程において管理されるモデルのモデルパラメータが更新された場合に、更新された各モデルパラメータに基づいて、新たなモデルパラメータを算出する算出工程と、
前記第1の管理部に属する最下層の複数の管理部それぞれにより管理されるモデルに、前記新たなモデルパラメータが設定されるよう制御する制御工程と
、
前記第1の管理部が管理するモデルよりも1階層上位の階層のモデルを管理する管理部に、前記新たなモデルパラメータを送信する送信工程と
を有するモデル管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル管理システム、モデル管理方法及びモデル管理プログラムに関する。
【背景技術】
【0002】
基板製造プロセスの分野においては、様々な推論モデルが構築されており、例えば、装置の異常検知や、プロセス処理の結果物の推論、部品の劣化診断、内部状態の推論、プロセスの制御等に用いられている。
【0003】
一方で、基板製造プロセスにおいては、複数の装置機種が用いられ、各装置機種がそれぞれ有する多種類のチャンバにて、様々なプロセスが実行される。このため、個々の推論モデルをそれぞれ最適化しようとすると、管理すべき推論モデルの数が膨大となり管理コストがかかる。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2018/173121号
【文献】国際公開第2019/163823号
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、基板製造プロセスに適用されるモデルを効率的に管理する、モデル管理システム、モデル管理方法及びモデル管理プログラムを提供する。
【課題を解決するための手段】
【0006】
本開示の一態様によるモデル管理システムは、例えば、以下のような構成を有する。即ち、
基板製造プロセスに適用されるモデルを3階層以上の階層に分けて管理するモデル管理システムであって、
所定の階層においてモデルを管理する第1の管理部と、
前記所定の階層より1階層下位の階層においてモデルを管理する複数の第2の管理部と、を有し、
前記第1の管理部は、
前記第2の管理部が管理するモデルのモデルパラメータが更新された場合に、更新された各モデルパラメータに基づいて、新たなモデルパラメータを算出する算出部と、
前記第1の管理部に属する最下層の複数の管理部それぞれにより管理されるモデルに、前記新たなモデルパラメータが設定されるよう制御する制御部と、
前記第1の管理部が管理するモデルよりも1階層上位の階層のモデルを管理する管理部に、前記新たなモデルパラメータを送信する送信部とを有する。
【発明の効果】
【0007】
本開示によれば、基板製造プロセスに適用されるモデルを効率的に管理する、モデル管理システム、モデル管理方法及びモデル管理プログラムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、第1のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図2】
図2は、第2のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図3】
図3は、第3のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図4】
図4は、第4のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図5】
図5は、第5のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図6】
図6は、第6のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図7】
図7は、第7のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
【
図8】
図8は、モデル管理システムによるモデル管理処理の流れを示すシーケンス図である。
【
図9】
図9は、第x階層管理装置のハードウェア構成の一例を示す図である。
【
図10】
図10は、第x階層管理装置の機能構成の一例を示す図である。
【
図11】
図11は、第x階層管理装置による管理処理の流れを示すフローチャートである。
【
図12】
図12は、実行装置のハードウェア構成の一例を示す図である。
【
図13】
図13は、実行装置の機能構成の一例を示す図である。
【
図14A】
図14Aは、実行装置による逐次学習処理の流れを示すフローチャートである。
【
図14B】
図14Bは、実行装置によるバッチ学習処理の流れを示すフローチャートである。
【
図15】
図15は、モデル管理システムのシステム構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0010】
[第1の実施形態]
<モデル管理システムのシステム構成>
はじめに、第1の実施形態に係るモデル管理システムのシステム構成について説明する。なお、第1の実施形態に係るモデル管理システムは、複数の管理装置を有しており、各管理装置は、各階層において、モデル(モデル構造及びモデルパラメータ)を管理する。各管理装置が管理するモデルはモデル構造が1種類であっても、複数種類であってもよい(第1の実施形態では、各管理装置が2種類のモデル構造のモデルを管理する場合について説明する)。また、第1の実施形態に係るモデル管理システムでは、モデルに対して学習処理が行われることでモデルパラメータが最適化された場合に、新たなモデルパラメータを生成することで、同一階層の管理装置間でモデルパラメータを共有化することができる。
【0011】
これにより、各管理装置が管理すべきモデルパラメータの種類(つまり、モデルの数)が集約され、管理コストが削減される。また、下位の階層の管理装置から、大量のデータを受信して再学習する場合と比較して、管理コスト(学習にかかるコスト)が削減される。
【0012】
この結果、第1の実施形態に係るモデル管理システムによれば、モデルを効率的に管理することが可能となる。
【0013】
そこで、以下では、モデル管理システムにおいてモデルパラメータが共有化される過程を、複数のフェーズに分けて説明する。
【0014】
(1)第1のフェーズにおけるモデル管理システムのシステム構成
図1は、第1のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図1に示すように、モデル管理システム100は、モデル管理装置110、学習用データ格納部111、学習部112_1、112_2を有する。
【0015】
また、モデル管理システム100は、管理部の一例である、第1階層管理装置120、第2階層管理装置131~133、・・・第(n-1)階層管理装置141、第n階層管理装置151、152を有する。
【0016】
更に、モデル管理システム100は、基板処理装置160、実行装置170、基板処理装置180、実行装置190を有する。
【0017】
学習用データ格納部111は、第1の目的に応じたモデル構造を有するモデル(モデル構造=“モデルA”)に対して、学習処理を行う際に用いる学習用データを格納する。ここでいう第1の目的とは、例えば、基板処理装置の異常検知、プロセス処理の結果物の推論、部品の劣化診断、内部状態の推論等の目的を指す。なお、プロセス処理の結果物の推論には、成膜レートの推論、エッチングレートの推論、結果物の形状の推論等が含まれる。
【0018】
また、学習用データ格納部111は、第2の目的に応じたモデル構造を有するモデル(モデル構造=“モデルB”)に対して、学習処理を行う際に用いる学習用データを格納する。ここでいう第2の目的とは、例えば、プロセスの制御等の目的を指す。
【0019】
学習部112_1は、第1の目的に応じたモデル構造を有するモデル(モデル構造=“モデルA”)を有し、学習用データ格納部111より読み出した、モデル構造=“モデルA”向けの学習用データを用いて学習処理を行う。また、学習部112_1は、学習処理を行うことで最適化されたモデルパラメータ=“パラメータPA0”をモデル管理装置110に通知する。
【0020】
学習部112_2は、第2の目的に応じたモデル構造を有するモデル(モデル構造=“モデルB”)を有し、学習用データ格納部111より読み出した、モデル構造=“モデルB”向けの学習用データを用いて学習処理を行う。また、学習部112_2は、学習処理を行うことで最適化されたモデルパラメータ=“パラメータPB0”をモデル管理装置110に通知する。
【0021】
モデル管理装置110は、2種類のモデル(モデル構造=“モデルA”、“モデルB”、モデルパラメータ=“パラメータPA0”、“パラメータPB0”)を管理する。また、モデル管理装置110は、第1のフェーズにおいて、2種類のモデル(モデル構造=“モデルA”、“モデルB”、モデルパラメータ=“パラメータPA0”、“パラメータPB0”)を、それぞれ第1階層管理装置120に送信する。
【0022】
なお、モデル管理装置110と、第1階層管理装置120とは、不図示のファイアウォールを介して接続された、別々のネットワークに接続されているものとする。また、第1階層管理装置120~第n階層管理装置151、152は、同一の基板処理工場内の同一のローカルネットワークに接続されているものとする。
【0023】
なお、第2階層管理装置131、132、133~第n階層管理装置151、152では、同一の基板処理工場内にある各基板処理装置の各目的に応じたモデルを、複数の階層化したグループに分けて管理する。
【0024】
例えば、第2階層管理装置131、132、133は、同一の基板処理工場内にある各基板処理装置の各目的に応じたモデルを、「装置機種」が同じ基板処理装置のグループに分けて管理する。具体的には、基板処理装置が、熱処理装置である場合、例えば、
・第2階層管理装置131は、装置機種が“酸化炉を有する熱処理装置”のグループに対応するモデルを管理し、
・第2階層管理装置132は、装置機種が“窒化炉を有する熱処理装置”のグループに対応するモデルを管理し、
・第2階層管理装置133は、装置機種が“メタル炉を有する熱処理装置”のグループに対応するモデルを管理する。
【0025】
また、基板処理装置が、エッチング装置である場合、例えば、
・第2階層管理装置131は、装置機種が“酸化膜をエッチングするエッチング装置”のグループに対応するモデルを管理し、
・第2階層管理装置132は、装置機種が“Poly-Si膜をエッチングするエッチング装置”のグループに対応するモデルを管理する。
【0026】
また、第3階層管理装置は、同一の基板処理工場内にある各基板処理装置の各目的に応じたモデルのうち、第2階層管理装置131~133によりグループ分けされた各グループに対応するモデルを、「チャンバ種」が同じ基板処理装置のグループに分けて管理する。具体的には、基板処理装置が、熱処理装置である場合、例えば、
・第3階層管理装置は、装置機種が“窒化炉を有する熱処理装置”のグループに対応するモデルのうち、チャンバ種が“層間絶縁膜を処理するチャンバ”の熱処理装置のグループに対応するモデルを管理し、
・他の第3階層管理装置は、装置機種が“窒化炉を有する熱処理装置”のグループに対応するモデルのうち、チャンバ種が“ゲート絶縁膜を処理するチャンバ”の熱処理装置のグループに対応するモデルを管理し、
・他の第3階層管理装置は、装置機種が“メタル炉を有する熱処理装置”のグループに対応するモデルのうち、チャンバ種が“ゲート電極層を処理するチャンバ”の熱処理装置のグループに対応するモデルを管理し、
・他の第3階層管理装置は、装置機種が“メタル炉を有する熱処理装置”のグループに対応するモデルのうち、チャンバ種が“メタル膜を処理するチャンバ”の熱処理装置のグループに対応するモデルを管理する。
【0027】
また、基板処理装置が、エッチング装置である場合、例えば、
・第3階層管理装置は、装置機種が“Poly-Si膜をエッチングするエッチング装置”のグループに対応するモデルのうち、チャンバ種が“コンタクトホール開口を行うチャンバ”のエッチング装置のグループに対応するモデルを管理し、
・他の第3階層管理装置は、装置機種が“Poly-Si膜をエッチングするエッチング装置”のグループに対応するモデルのうち、チャンバ種が“配線用トレンチ加工を行うチャンバ”のエッチング装置のグループに対応するモデルを管理する。
【0028】
また、第4階層管理装置は、同一の基板処理工場内にある各基板処理装置の各目的に応じたモデルのうち、
・第2階層管理装置によりグループ分けされ、かつ、
・第3階層管理装置によりグループ分けされた、
各グループに対応するモデルを、更に、「プロセスグループ」が同じ基板処理装置のグループに分けて管理する。具体的には、基板処理装置が、熱処理装置である場合、例えば、
・第4階層管理装置は、チャンバ種が“層間絶縁膜を処理するチャンバ”の熱処理装置のグループに対応するモデルのうち、プロセスグループ=“第1のプロセス群”を担当する熱処理装置のグループに対応するモデルを管理し、
・他の第4階層管理装置は、チャンバ種が“層間絶縁膜を処理するチャンバ”の熱処理装置のグループに対応するモデルのうち、プロセスグループ=“第2のプロセス群”を担当する熱処理装置のグループに対応するモデルを管理する。
【0029】
また、基板処理装置が、エッチング装置である場合、例えば、
・第4階層管理装置は、チャンバ種が“コンタクトホール開口を行うチャンバ”のエッチング装置のグループに対応するモデルのうち、プロセスグループ=“第1のプロセス群”を担当するエッチング装置のグループに対応するモデルを管理し、
・他の第4階層管理装置は、チャンバ種が“コンタクトホール開口を行うチャンバ”のエッチング装置のグループに対応するモデルのうち、プロセスグループ=“第2のプロセス群”を担当するエッチング装置のグループに対応するモデルを管理する。
【0030】
図1のシステム構成の説明に戻る。第1階層管理装置120は、モデル管理装置110から送信されたモデルを管理する。また、第1階層管理装置120は、第1のフェーズにおいて、モデル管理装置110から送信されたモデルを第2階層管理装置131~133に送信する。
【0031】
なお、
図1の例では、第1階層管理装置120に接続される第2階層管理装置が3台である場合について示したが、第1階層管理装置120に接続される第2階層管理装置の数は、3台に限定されない。
【0032】
第2階層管理装置131~133は、接続先である第1階層管理装置120から送信されたモデルを管理する。なお、
図1の例では、接続先である第1階層管理装置120から第2階層管理装置131~133それぞれに、同じモデルを送信する場合について示しているが、第2階層管理装置131~133それぞれに送信されるモデルは、異なっていてもよい。
【0033】
また、第2階層管理装置131~133は、それぞれ、第1のフェーズにおいて、第1階層管理装置120から送信されたモデルを第3階層管理装置(不図示)に送信する。
【0034】
また、
図1に示すように、第(n-1)階層管理装置141は、接続先である第(n-2)階層管理装置から送信されたモデルを管理する。また、第(n-1)階層管理装置141は、第1のフェーズにおいて、第(n-2)階層管理装置から送信されたモデルを第n階層管理装置151、152に送信する。
【0035】
なお、
図1の例では、第(n-1)階層管理装置141に接続される第n階層管理装置が2台である場合について示したが、第(n-1)階層管理装置141に接続される第n階層管理装置の数は、2台に限定されない。
【0036】
また、
図1に示すように、第n階層管理装置151、152は、接続先である第(n-1)階層管理装置から送信されたモデルを管理する。また、第n階層管理装置151、152は、第1のフェーズにおいて、第(n-1)階層管理装置141から送信されたモデルを実行装置170、190に送信する。
【0037】
基板処理装置160は、熱処理装置やエッチング装置等のように、物理空間において、基板製造プロセスを実行する処理装置である。
【0038】
実行装置170は、
・第n階層管理装置151から送信されたモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータPA0”)が配された推論部171_1と、
・第n階層管理装置151から送信されたモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータPB0”)が配された推論部171_2と、
を有する。
【0039】
推論部171_1は、基板処理装置160から収集したデータに基づいてモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータPA0”)を実行させる。また、推論部171_1は、推論結果(例えば、異常検知の推論結果、プロセス処理の結果物の推論結果、部品劣化診断の推論結果、内部状態の推論結果等)を出力する。推論部171_1より出力された推論結果は、例えば、正解データと対応付けて、実測データとして実測データ格納部172に格納される。
【0040】
また、推論部171_2は、基板処理装置160から収集したデータに基づいてモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータPB0”)を実行させる。また、推論部171_2は、推論結果(例えば、プロセスの制御における推論結果(制御値)等)を出力する。推論部171_2より出力された推論結果は、例えば、正解データと対応付けて、実測データとして実測データ格納部172に格納される。
【0041】
同様に、基板処理装置180は、熱処理装置やエッチング装置等のように、物理空間において、基板製造プロセスを実行する処理装置である。
【0042】
実行装置190は、
・第n階層管理装置152から送信されたモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータPA0”)が配された推論部191_1と、
・第n階層管理装置152から送信されたモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータPB0”)が配された推論部191_2と、
を有する。
【0043】
推論部191_1は、基板処理装置180から収集したデータに基づいてモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータPA0”)を実行させる。また、推論部191_1は、推論結果(例えば、異常検知の推論結果、プロセス処理の結果物の推論結果、部品劣化診断の推論結果、内部状態の推論結果等)を出力する。推論部191_1より出力された推論結果は、例えば、正解データと対応付けて、実測データとして、実測データ格納部192に格納される。
【0044】
また、推論部191_2は、基板処理装置180から収集したデータに基づいてモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータPB0”)を実行させる。また、推論部191_2は、推論結果(例えば、プロセスの制御における推論結果(制御値)等)を出力する。推論部191_2より出力された推論結果は、例えば、正解データと対応付けて、実測データとして、実測データ格納部192に格納される。
【0045】
(2)第2のフェーズにおけるモデル管理システムのシステム構成
図2は、第2のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図2に示すように、第2のフェーズにおいて、モデル管理システム100は、上記第1のフェーズのシステム構成に加えて、更に、実行装置170が、学習部210_1、210_2を有する。また、実行装置190が、学習部220_1、220_2を有する。
【0046】
学習部210_1には、第n階層管理装置151より送信されたモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータPA0”)が配されている。学習部210_1は、実測データ格納部172より読み出した実測データを用いて、追加の学習処理を行う。これにより、学習部210_1は、最適化したモデルパラメータ=“パラメータPA1”を、第n階層管理装置151に送信する。
【0047】
また、学習部210_2には、第n階層管理装置151より送信されたモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータPB0”)が配されている。学習部210_2は、実測データ格納部172より読み出した実測データを用いて、追加の学習処理を行う。これにより、学習部210_2は、最適化したモデルパラメータ=“パラメータPA1”を、第n階層管理装置151に送信する。
【0048】
同様に、学習部220_1には、第n階層管理装置152より送信されたモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータPA0”)が配されている。学習部220_1は、実測データ格納部192より読み出した実測データを用いて、追加の学習処理を行う。これにより、学習部220_1は、最適化したモデルパラメータ=“パラメータPA2”を、第n階層管理装置152に送信する。
【0049】
また、学習部220_2には、第n階層管理装置152より送信されたモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータPB0”)が配されている。学習部220_2は、実測データ格納部192より読み出した実測データを用いて、追加の学習処理を行う。これにより、学習部220_2は、最適化したモデルパラメータ=“パラメータPB2”を、第n階層管理装置152に送信する。
【0050】
(3)第3のフェーズにおけるモデル管理システムのシステム構成
図3は、第3のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図3に示すように、第3のフェーズにおいて、第n階層管理装置151は、
・モデル構造=“モデルA”、“モデルB”と、
・第2のフェーズにおいて学習部210_1、210_2から送信されたモデルパラメータ=“パラメータP
A1”、“パラメータP
B1”と、
を管理する。
【0051】
また、第3のフェーズにおいて、第n階層管理装置151は、モデルパラメータ=“パラメータPA1”を用いて、推論部171_1に設定されているモデルパラメータ=“パラメータPA0”を更新する。また、第3のフェーズにおいて、第n階層管理装置151は、モデルパラメータ=“パラメータPB1”を用いて、推論部171_2に設定されているモデルパラメータ= “パラメータPB0”を更新する。
【0052】
同様に、第n階層管理装置152は、
・モデル構造=“モデルA”、“モデルB”と、
・第2のフェーズにおいて学習部220_1、220_2から送信されたモデルパラメータ=“パラメータPA2”、“パラメータPB2”と、
を管理する。
【0053】
また、第3のフェーズにおいて、第n階層管理装置152は、モデルパラメータ=“パラメータPA2”を用いて、推論部191_1に設定されているモデルパラメータ=“パラメータPA0”を更新する。また、第3のフェーズにおいて、第n階層管理装置152は、モデルパラメータ=“パラメータPB2”を用いて、推論部191_2に設定されているモデルパラメータ=“パラメータPB0”を更新する。
【0054】
(4)第4のフェーズにおけるモデル管理システムのシステム構成
図4は、第4のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図4に示すように、第4のフェーズにおいて、第n階層管理装置151は、所定のタイミングで、モデルパラメータ=“パラメータP
A1”、“パラメータP
B1”を、第(n-1)階層管理装置141に送信する。
【0055】
同様に、第4のフェーズにおいて、第n階層管理装置152は、所定のタイミングで、モデルパラメータ=“パラメータPA2”、“パラメータPB2”を、第(n-1)階層管理装置141に送信する。
【0056】
(5)第5のフェーズにおけるモデル管理システムのシステム構成
図5は、第5のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図5に示すように、第5のフェーズにおいて、第(n-1)階層管理装置141は、
・第4のフェーズにおいて第n階層管理装置151から送信された、モデルパラメータ=“パラメータP
A1”、“パラメータP
B1”と、
・第4のフェーズにおいて第n階層管理装置152から送信された、モデルパラメータ=“パラメータP
A2”、“パラメータP
B2”と、
に基づいて、新たなモデルパラメータ=“パラメータP
A3”、“パラメータP
B3”を算出する。なお、第(n-1)階層管理装置141による新たなモデルパラメータの算出方法は任意であり、例えば、“パラメータP
A1”と“パラメータP
A2”とを重み付け加算して、“パラメータP
A3”を算出してもよい。同様に、“パラメータP
B1”と“パラメータP
B2”とを重み付け加算して、“パラメータP
B3”を算出してもよい。
【0057】
なお、重み付け加算する場合の重みは任意であり、例えば、加算対象のパラメータのうち、所定の評価基準を満たさないパラメータについては、重みをゼロにしてもよい(加算対象から除外してもよい)。
【0058】
また、
図5に示すように、第5のフェーズにおいて、第(n-1)階層管理装置141は、モデル構造=“モデルA”、“モデルB”と、新たなモデルパラメータ=“パラメータP
A3”、“パラメータP
B3”とを管理する。また、第5のフェーズにおいて、第(n-1)階層管理装置141は、新たなモデルパラメータ=“パラメータP
A3”、“パラメータP
B3”を、第(n-1)階層管理装置141に接続する第n階層管理装置151、152に送信する。
【0059】
更に、
図5に示すように、第5のフェーズにおいて、第n階層管理装置151、152は、
・モデル構造=“モデルA”、“モデルB”と、
・接続先である第(n-1)階層管理装置141から送信された、新たなモデルパラメータ=“パラメータP
A3”、“パラメータP
B3”と、
を管理する。
【0060】
また、第5のフェーズにおいて、第n階層管理装置151は、新たなモデルパラメータ=“パラメータPA3”を用いて、推論部171_1に配されたモデルに設定されているモデルパラメータ=“パラメータPA1”を更新する。また、第5のフェーズにおいて、第n階層管理装置151は、新たなモデルパラメータ=“パラメータPB3”を用いて、推論部171_2に配されたモデルに設定されているモデルパラメータ=“パラメータPB1”を更新する。
【0061】
更に、第5のフェーズにおいて、第n階層管理装置152は、新たなモデルパラメータ=“パラメータPA3”を用いて、推論部191_1に配されたモデルに設定されているモデルパラメータ=“パラメータPA2”を更新する。また、第5のフェーズにおいて、第n階層管理装置152は、新たなモデルパラメータ=“パラメータPB3”を用いて、推論部191_2に配されたモデルに設定されているモデルパラメータ=“パラメータPB2”を更新する。
【0062】
これにより、第(n-1)階層管理装置141に属する最下層の第n階層管理装置151、152それぞれにより管理されるモデルに、新たなモデルパラメータ(“パラメータPA3”、“パラメータPB3”)が設定されることになる。つまり、第(n-1)階層管理装置141に属する最下層の第n階層管理装置151、152それぞれにより管理されるモデルが共有化されることになる(第n階層の管理装置間でモデルが共有化されることになる)。
【0063】
(6)第6のフェーズにおけるモデル管理システムのシステム構成
図6は、第6のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図6に示すように、第6のフェーズにおいて、第(n-1)階層管理装置141は、所定のタイミングで、新たなモデルパラメータ=“パラメータP
A3”、“パラメータP
B3”を、第(n-2)階層管理装置に送信する。なお、ここでは、第(n-2)階層管理装置が、第2階層管理装置132であるとして説明する。
【0064】
同様に、第6のフェーズにおいて、第2階層管理装置132に接続する他の第(n-1)階層管理装置は、所定のタイミングで、新たなモデルパラメータを、第2階層管理装置132に送信する。
【0065】
また、
図6に示すように、第6のフェーズにおいて、第2階層管理装置131、133に接続する他の第(n-1)階層管理装置は、所定のタイミングで、新たなモデルパラメータを、第2階層管理装置131、132にそれぞれ送信する。
【0066】
(7)第7のフェーズにおけるモデル管理システムのシステム構成
図7は、第7のフェーズにおけるモデル管理システムのシステム構成の一例を示す図である。
図7に示すように、第7のフェーズにおいて、第2階層管理装置132は、
・第6のフェーズにおいて、第(n-1)階層管理装置141から送信された、モデルパラメータ=“パラメータP
A3”、“パラメータP
B3”と、
・第6のフェーズにおいて、第2階層管理装置132に接続する他の複数の第(n-1)階層管理装置から送信されたモデルパラメータと、
に基づいて、新たなモデルパラメータ=“パラメータP
A6”、“パラメータP
B6”を算出する。
【0067】
また、
図7に示すように、第7のフェーズにおいて、第2階層管理装置132は、モデル構造=“モデルA”、“モデルB”と、新たなモデルパラメータ=“パラメータP
A6”、“パラメータP
B6”とを管理する。また、第7のフェーズにおいて、第2階層管理装置132は、新たなモデルパラメータ=“パラメータP
A6”、“パラメータP
B6”を、第(n-1)階層管理装置141等に送信する。
【0068】
更に、
図7に示すように、第7のフェーズにおいて、第(n-1)階層管理装置141は、
・モデル構造=“モデルA”、“モデルB”と、
・接続先である第2階層管理装置132から送信された、新たなモデルパラメータ=“パラメータP
A6”、“パラメータP
B6”と、
を管理する。
【0069】
更に、
図7に示すように、第7のフェーズにおいて、第(n-1)階層管理装置141は、新たなモデルパラメータ=“パラメータP
A6”、“パラメータP
B6”を、第(n-1)階層管理装置141に接続する第n階層管理装置151、152に送信する。
【0070】
更に、
図7に示すように、第7のフェーズにおいて、第n階層管理装置151、152は、
・モデル構造=“モデルA”、“モデルB”と、
・接続先である第(n-1)階層管理装置141から送信された、新たなモデルパラメータ=“パラメータP
A6”、“パラメータP
B6”と、
を管理する。
【0071】
更に、第7のフェーズにおいて、第n階層管理装置151は、新たなモデルパラメータ=“パラメータPA6”を用いて、推論部171_1に配されたモデルに設定されているモデルパラメータ=“パラメータPA3”を更新する。また、第7のフェーズにおいて、第n階層管理装置151は、新たなモデルパラメータ=“パラメータPB6”を用いて、推論部171_2に配されたモデルに設定されているモデルパラメータ=“パラメータPB3”を更新する。
【0072】
また、第7のフェーズにおいて、第n階層管理装置152は、新たなモデルパラメータ=“パラメータPA6”を用いて、推論部191_1に配されたモデルに設定されているモデルパラメータ=“パラメータPA3”を更新する。また、第7のフェーズにおいて、第n階層管理装置152は、新たなモデルパラメータ=“パラメータPB6”を用いて、推論部191_2に配されたモデルに設定されているモデルパラメータ=“パラメータPB3”を更新する。
【0073】
これにより、第2階層管理装置132に属する最下層の第n階層管理装置151、152それぞれにより管理されるモデルに、新たなモデルパラメータ(“パラメータPA6”、“パラメータPB6”)が設定されることになる。つまり、第2階層管理装置132に属する最下層の第n階層管理装置151、152それぞれにより管理されるモデルが共有化されることになる(第3階層の管理装置間でモデルが共有化されることになる)。
【0074】
なお、上記説明では、第7のフェーズまで説明したが、更に、第8のフェーズまで実行されてもよい。この場合、第1階層管理装置120に属する最下層の第n階層管理装置151、152それぞれにより管理されるモデルが共有化されることになる。また、上記説明では、第1~第8のフェーズが1回実行される場合について説明した。しかしながら、第1~第8のフェーズは、複数回繰り返し実行されてもよい。
【0075】
また、各フェーズの実行順序は、上記説明の実行順序に限定されない。例えば、第1~第5のフェーズが複数回繰り返し実行されてから、第6~第7のフェーズが実行されてもよい。また、第6~第7のフェーズが複数回繰り返し実行されてから、第8のフェーズが実行されてもよい。
【0076】
また、上記説明では、各フェーズにおいて、モデル構造=“モデルA”のモデルパラメータと、モデル構造=“モデルB”のモデルパラメータとが同じタイミングで更新されるものとした。しかしながら、各フェーズにおいて、モデル構造=“モデルA”のモデルパラメータと、モデル構造=“モデルB”のモデルパラメータとは、異なるタイミングで更新されてもよい。
【0077】
<モデル管理処理の流れ>
次に、モデル管理システム100によるモデル管理処理の流れについてシーケンス図を用いて説明する。
図8は、モデル管理システムによるモデル管理処理の流れを示すシーケンス図である。なお、
図8に示すモデル管理処理を実行するにあたり、学習部112_1、112_2による学習処理は完了しており、モデル管理装置110により、モデル構造とモデルパラメータとが管理されているものとする。
【0078】
図8に示すように、ステップS801において、モデル管理装置110は、管理しているモデル構造とモデルパラメータとを、第1階層管理装置120に送信する。なお、第1階層管理装置120に送信されたモデル構造とモデルパラメータとは、順次、第1階層管理装置120に属する下位の階層の管理装置に送信され、例えば、第(n-1)階層管理装置141まで送信されたとする。
【0079】
ステップS811において、第(n-1)階層管理装置141は、送信されたモデル構造とモデルパラメータとを第n階層管理装置151に送信する。
【0080】
ステップS812において、第n階層管理装置151は、送信されたモデル構造とモデルパラメータとを、実行装置170に送信する。
【0081】
ステップS813において、実行装置170は、送信されたモデル構造に、送信されたモデルパラメータを設定し、モデルを実行する。また、実行装置170は、モデルより出力された推論結果と、正解データとを対応付けて実測データとして格納するとともに、格納した実測データを用いて学習処理を行う。
【0082】
ステップS814において、実行装置170は、実測データを用いて学習処理を行うことで最適化されたモデルパラメータを、第n階層管理装置151に送信する。
【0083】
また、ステップS821において、第(n-1)階層管理装置141は、送信されたモデル構造とモデルパラメータとを第n階層管理装置152に送信する。
【0084】
ステップS822において、第n階層管理装置152は、送信されたモデル構造とモデルパラメータとを、実行装置190に送信する。
【0085】
ステップS823において、実行装置190は、送信されたモデル構造に、送信されたモデルパラメータを設定し、モデルを実行する。また、実行装置190は、モデルより出力された推論結果と、正解データとを対応付けて実測データとして格納するとともに、格納した実測データを用いて学習処理を行う。
【0086】
ステップS824において、実行装置190は、実測データを用いて学習処理を行うことで最適化されたモデルパラメータを、第n階層管理装置152に送信する。
【0087】
ステップS831において、第n階層管理装置151は、最適化されたモデルパラメータを第(n-1)階層管理装置141に送信する。
【0088】
ステップS832において、第n階層管理装置152は、最適化されたモデルパラメータを第(n-1)階層管理装置141に送信する。
【0089】
ステップS833において、第(n-1)階層管理装置141は、第n階層管理装置151から送信されたモデルパラメータと、第n階層管理装置152から送信されたモデルパラメータとに基づいて、新たなモデルパラメータを生成する。
【0090】
ステップS834において、第(n-1)階層管理装置141は、新たなモデルパラメータを、第n階層管理装置151に送信する。なお、以降は、上記ステップS812~S814、S831と同様の処理を行う。
【0091】
ステップS835において、第(n-1)階層管理装置141は、新たなモデルパラメータを、第n階層管理装置152に送信する。なお、以降は、上記ステップS822~S824、S832と同様の処理を行う。
【0092】
また、第(n-1)階層管理装置141より上位の階層においても、上記ステップS831~S835と同様の処理が繰り返される。
【0093】
その結果、ステップS841において、複数の第2階層管理装置それぞれは、最適化されたモデルパラメータを、接続先である第1階層管理装置120に送信する。
【0094】
ステップS842において、第1階層管理装置120は、第1階層管理装置120に接続する1階層下位の複数の第2階層管理装置から送信されたモデルパラメータを用いて、新たなモデルパラメータを生成する。第1階層管理装置120により生成された新たなモデルパラメータは、第1階層管理装置120に接続する1階層下位の複数の第2階層管理装置に送信される。以降は、ステップS811~S814、S831、ステップS821~S824、S832と同様の処理が行われる。
【0095】
<第x階層管理装置のハードウェア構成>
次に、第1階層管理装置120から第n階層管理装置151、152までの各管理装置のハードウェア構成について説明する。なお、第1階層管理装置120から第n階層管理装置151、152までの各管理装置は、いずれも同様のハードウェア構成を有するため、ここでは、第x階層(xは1~nの任意の整数)の管理装置である第x階層管理装置のハードウェア構成について説明する。
図9は、第x階層管理装置のハードウェア構成の一例を示す図である。
【0096】
図9に示すように、第x階層管理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903を有する。また、第x階層管理装置900は、GPU(Graphics Processing Unit)904を有する。なお、CPU901、GPU904などのプロセッサ(処理回路、Processing Circuit、Processing Circuitry)と、ROM902、RAM903などのメモリは、いわゆるコンピュータを形成する。
【0097】
更に、第x階層管理装置900は、補助記憶装置905、表示装置906、操作装置907、I/F(Interface)装置908、ドライブ装置909を有する。なお、第x階層管理装置900の各ハードウェアは、バス910を介して相互に接続される。
【0098】
CPU901は、補助記憶装置905にインストールされた各種プログラム(例えば、後述するモデル管理プログラム等)を実行する演算デバイスである。
【0099】
ROM902は、不揮発性メモリであり、主記憶装置として機能する。ROM902は、補助記憶装置905にインストールされた各種プログラムをCPU901が実行するために必要な各種プログラム、データ等を格納する。具体的には、ROM902はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する。
【0100】
RAM903は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリであり、主記憶装置として機能する。RAM903は、補助記憶装置905にインストールされた各種プログラムがCPU901によって実行される際に展開される、作業領域を提供する。
【0101】
GPU904は、画像処理用の演算デバイスであり、本実施形態では、CPU901によりモデル管理プログラムが実行される際に、2次元データについて、並列処理による高速演算を行う。なお、GPU904は、内部メモリ(GPUメモリ)を搭載しており、2次元データについて並列処理を行う際に必要な情報を一時的に保持する。
【0102】
補助記憶装置905は、各種プログラムや、各種プログラムがCPU901によって実行される際に用いられる各種データ等を格納する。例えば、後述する配布情報格納部1011、更新情報格納部1012、下位層情報格納部1013は、補助記憶装置905において実現される。
【0103】
表示装置906は、例えば、第x階層管理装置900の内部状態を表示する表示デバイスである。操作装置907は、第x階層管理装置900のユーザが第x階層管理装置900に対して各種指示を入力する際に用いる入力デバイスである。I/F装置908は、他の管理装置との間でデータを送受信するための接続デバイスである。
【0104】
ドライブ装置909は記録媒体920をセットするためのデバイスである。ここでいう記録媒体920には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体920には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0105】
なお、補助記憶装置905にインストールされる各種プログラムは、例えば、配布された記録媒体920がドライブ装置909にセットされ、該記録媒体920に記録された各種プログラムがドライブ装置909により読み出されることでインストールされる。あるいは、補助記憶装置905にインストールされる各種プログラムは、不図示のネットワークを介してダウンロードされることで、インストールされてもよい。
【0106】
<第x階層管理装置の機能構成>
次に、第1階層管理装置120から第n階層管理装置151、152の各管理装置の機能構成について説明する。なお、第1階層管理装置120から第n階層管理装置151、152の各管理装置は、いずれも同様の機能構成を有するため、ここでも、第x階層(xは1~nの任意の整数)の管理装置である第x階層管理装置の機能構成について説明する。
【0107】
ただし、以下の説明において、x=1の場合、第x階層管理装置よりも1階層上位の階層の管理装置とは、モデル管理装置110を指すものとする。また、x=nの場合、第x階層管理装置より1階層下位の階層の管理装置とは、実行装置170、190等を指すものとする。
【0108】
図10は、第x階層管理装置の機能構成の一例を示す図である。上述したように、第x階層管理装置900には、モデル管理プログラムがインストールされており、当該プログラムが実行されることで、第x階層管理装置900は、上位層情報取得部1001、共有化部1002として機能する。また、第x階層管理装置900は、下位層情報取得部1003、最適化部1004、上位層情報送信部1005として機能する。
【0109】
上位層情報取得部1001は、1階層上位の階層の管理装置であって、第x階層管理装置900が接続する管理装置より、モデル構造及びモデルパラメータの両方、または、モデルパラメータが送信された場合に、これを取得する。また、上位層情報取得部1001は、取得したモデル構造及びモデルパラメータを、配布情報格納部1011に格納する。あるいは、上位層情報取得部1001は、取得したモデルパラメータを用いて、既に配布情報格納部1011に格納されているモデルパラメータを更新する。
【0110】
共有化部1002は制御部の一例であり、配布情報格納部1011に、新たにモデル及びモデルパラメータが格納された場合に、これを読み出し、1階層下位の階層の管理装置であって、第x階層管理装置900に接続する管理装置に送信する。また、共有化部1002は、配布情報格納部1011に格納されているモデルパラメータが更新された場合に、これを読み出し、1階層下位の階層の管理装置であって、第x階層管理装置900に接続する管理装置に送信する。
【0111】
下位層情報取得部1003は、1階層下位の階層の管理装置であって、第x階層管理装置900に接続する管理装置より、モデルパラメータが送信された場合に、これを取得する。また、下位層情報取得部1003は、取得したモデルパラメータを下位層情報格納部1013に格納する。
【0112】
最適化部1004は算出部の一例であり、下位層情報取得部1003より通知され、下位層情報格納部1013に格納されたモデルパラメータを読み出して、新たなモデルパラメータを生成する。上述したように、新たなモデルパラメータの算出方法は任意であり、例えば、下位層情報格納部1013より読み出した複数のモデルパラメータを重み付け加算することで、新たなモデルパラメータを生成してもよい。また、最適化部1004が新たなモデルパラメータを生成する条件は任意であり、任意の条件を満たす場合に新たなモデルパラメータを生成してもよい。例えば、所定期間が経過したことを条件に生成してもよいし、所定数以上の複数のモデルパラメータが格納されたことを条件に生成してもよい。なお、複数のモデルパラメータとは、1階層下位の階層の複数の管理装置であって、第x階層管理装置900に接続する複数の管理装置それぞれより送信されたモデルパラメータを指す。
【0113】
また、最適化部1004は、生成した新たなモデルパラメータを用いて、既に配布情報格納部1011に格納されているモデルパラメータを更新する。更に、最適化部1004は、生成した新たなモデルパラメータを、更新情報格納部1012に格納する。
【0114】
上位層情報送信部1005は送信部の一例であり、更新情報格納部1012に新たなモデルパラメータが格納された場合に、これを読み出し、所定のタイミングで、1階層上位の階層の管理装置であって、第x階層管理装置900が接続する管理装置に送信する。
【0115】
<第x階層管理装置による管理処理の流れ>
次に、第x階層管理装置900による管理処理の流れについて説明する。
図11は、第x階層管理装置による管理処理の流れを示すフローチャートである。
【0116】
ステップS1101において、第x階層管理装置900の上位層情報取得部1001は、第x階層管理装置900が接続する、1階層上位の階層の管理装置から、モデル構造及びモデルパラメータを取得し、配布情報格納部1011に格納する。
【0117】
ステップS1102において、第x階層管理装置900の共有化部1002は、配布情報格納部1011より、モデル構造及びモデルパラメータを読み出し、1階層下位の階層の管理装置であって、第x階層管理装置に接続する管理装置に送信する。
【0118】
ステップS1103において、第x階層管理装置900の下位層情報取得部1003は、1階層下位の階層の管理装置であって、第x階層管理装置900に接続するいずれかの管理装置より、モデルパラメータが送信されたか否かを判定する。
【0119】
ステップS1103において、モデルパラメータが送信されたと判定した場合には(ステップS1103においてYESの場合には)、ステップS1104に進む。
【0120】
ステップS1104において、第x階層管理装置900の下位層情報取得部1003は、送信されたモデルパラメータを下位層情報格納部1013に格納する。また、最適化部1004は、下位層情報格納部1013よりモデルパラメータを読み出して、新たなモデルパラメータを生成し、配布情報格納部1011及び更新情報格納部1012に既に格納されているモデルパラメータをそれぞれ更新する。また、共有化部1002は、更新された新たなモデルパラメータを、1階層下位の階層の管理装置であって、第x階層管理装置900に接続する管理装置に送信する。また、上位層情報送信部1005は、更新された新たなモデルパラメータを1階層上位の階層の管理装置であって、第x階層管理装置900が接続する管理装置に送信する。その後、ステップS1105に進む。
【0121】
一方、ステップS1103において、モデルパラメータが送信されなかったと判定した場合には(ステップS1103においてNOの場合には)、直接、ステップS1105に進む。
【0122】
ステップS1105において、第x階層管理装置900の上位層情報取得部1001は、1階層上位の階層の管理装置であって、第x階層管理装置900が接続する管理装置より、モデルパラメータが送信されたか否かを判定する。
【0123】
ステップS1105において、モデルパラメータが送信されたと判定した場合には(ステップS1105においてYESの場合には)、ステップS1106に進む。
【0124】
ステップS1106において、第x階層管理装置900の上位層情報取得部1001は、第x階層管理装置900が接続する、1階層上位の階層の管理装置から送信されたモデルパラメータを取得する。また、第x階層管理装置900の上位層情報取得部1001は、取得したモデルパラメータを用いて、配布情報格納部1011に既に格納されているモデルパラメータを更新する。更に、共有化部1002は、更新された新たなモデルパラメータを、1階層下位の階層の管理装置であって、第x階層管理装置900に接続する管理装置に送信し、ステップS1107に進む。
【0125】
一方、ステップS1105において、モデルパラメータが送信されなかったと判定した場合には(ステップS1105においてNOの場合には)、直接、ステップS1107に進む。
【0126】
ステップS1107において、第x階層管理装置900は、管理処理を終了するか否かを判定する。ステップS1107において、管理処理を終了しないと判定した場合には(ステップS1107においてNOの場合には)、ステップS1103に戻る。
【0127】
一方、ステップS1107において、管理処理を終了すると判定した場合には(ステップS1107においてYESの場合には)、管理処理を終了する。
【0128】
<実行装置のハードウェア構成>
次に、実行装置170、190のハードウェア構成について説明する。
図12は、実行装置のハードウェア構成の一例を示す図である。なお、実行装置170、190のハードウェア構成は、第x階層管理装置900のハードウェア構成と概ね同じであるため、ここでは、相違点のみを説明する。
【0129】
CPU1201は、補助記憶装置1205にインストールされた各種プログラム(例えば、後述する実行プログラム等)を実行する演算デバイスである。
【0130】
補助記憶装置1205は、各種プログラムや、各種プログラムがCPU1201によって実行される際に用いられる各種データ等を格納する。例えば、後述するモデル情報格納部1321、1323、実測データ格納部172-1、172-2は、補助記憶装置1205において実現される。
【0131】
なお、
図12に示したハードウェア構成は一例であり、実行装置170、190は、例えば、FPGA(Field-programmable gate array)により構成されてもよい。あるいは、実行装置170、190は、例えば、AIチップ(AI(Artificial Intelligence)処理に特化した半導体)により構成されてもよい。
【0132】
<実行装置の機能構成>
次に、実行装置170の機能構成について説明する。
図13は、実行装置の機能構成の一例を示す図である。
図13に示すように、実行装置170は、物理空間より収集したデータを処理し、モデルを実行または更新する仮想空間(リアルタイム制御用、シミュレーション用)を有する。また、実行装置170は、物理空間より収集したデータ及び仮想空間において更新されたモデルパラメータ等を格納するストレージ群を有する。
【0133】
なお、実行装置170がデータを収集する物理空間には、
・基板処理装置160と、
・基板処理装置160による基板処理の際に、推論部171_1がモデルを実行するのに、あるいは、逐次学習部1311がモデルの逐次学習を行うのに用いられるデータを測定する測定装置1301と、
・基板処理装置160による基板処理の際に、推論部171_2がモデルを実行するのに、あるいは、逐次学習部1313がモデルの逐次学習を行うのに用いられるデータを測定する測定装置1302と、
が含まれる。
【0134】
実行装置170の仮想空間(リアルタイム制御用)には、逐次学習部1311、1313、指示部1312、通知部1314、推論部171_1、171_2が含まれる。
【0135】
逐次学習部1311は、測定装置1301より収集したデータに基づいて逐次学習(オンライン学習)を行い、推論部171_1に配されたモデルのモデルパラメータを調整する。なお、逐次学習部1311によって調整されたモデルパラメータは、モデル情報格納部1321に格納されてもよい。
【0136】
推論部171_1は、
図1を用いて説明したとおり、測定装置1301から収集したデータに基づいてモデルを実行させ、推論結果(例えば、異常検知の推論結果、プロセス処理の結果物の推論結果、部品劣化診断の推論結果、内部状態の推論結果等)を出力する。推論部171_1より出力された推論結果は、指示部1312に通知されるとともに、例えば、正解データと対応付けて実測データ格納部172_1に格納される。
【0137】
指示部1312は、推論部171_1より通知された推論結果(例えば、異常検知の推論結果、プロセス処理の結果物の推論結果、部品劣化診断の推論結果、内部状態の推論結果等)に応じた指示(例えば、プロセスの目標値)を生成する。また、指示部1312は、生成した指示を、基板処理装置160に送信する。この場合、基板処理装置160では、送信された指示(例えば、プロセスの目標値)に基づいて制御値を算出して、制御を行う。なお、指示部1312は、学習機能を有するモデルにより実現されてもよい。
【0138】
逐次学習部1313は、測定装置1302より収集したデータに基づいて逐次学習(オンライン学習)を行い、推論部171_2に配されたモデルのモデルパラメータを調整する。なお、逐次学習部1313によって調整されたモデルパラメータは、モデル情報格納部1323に格納されてもよい。
【0139】
推論部171_2は、
図1を用いて説明したとおり、測定装置1302から収集したデータに基づいてモデルを実行させ、推論結果(例えば、プロセスの制御における推論結果(制御値)等)を出力する。推論部171_2より出力された推論結果は、通知部1314に通知されるとともに、例えば、正解データと対応付けて実測データ格納部172_2に格納される。
【0140】
通知部1314は、推論部171_2より通知された推論結果(例えば、プロセスの制御における推論結果(制御値)等)を基板処理装置160に送信する。この場合、基板処理装置160では、送信された推論結果(例えば、プロセスの制御における推論結果(制御値)等)に従って、制御を行う。
【0141】
なお、
図13の例では、指示部1312を、仮想空間(リアルタイム制御用)に配する構成としたが、指示部1312は、基板処理装置160において実現されるように構成してもよい。
【0142】
実行装置170の仮想空間(シミュレーション用)には、学習部210_1、210_2が含まれる。
【0143】
学習部210_1には、
図2を用いて説明したとおり、第n階層管理装置151より送信されたモデル(モデル構造=“モデルA”、モデルパラメータ=“パラメータP
A0”)が配されている。また、学習部210_1は、一定程度の実測データが蓄積された場合に実測データ格納部172_1より実測データを読み出し、追加の学習処理(バッチ学習処理)を行う。これにより、学習部210_1は、最適化したモデルパラメータ(“パラメータP
A1”)を、モデル情報格納部1321に格納する。モデル情報格納部1321に格納されモデルパラメータ(“パラメータP
A1”)は、所定のタイミングで、第n階層管理装置151に送信される。
【0144】
なお、学習部210_1は、第n階層管理装置151から新たなモデルパラメータが送信された場合、当該新たなモデルパラメータを、モデル構造=“モデルA”に設定し、実測データ格納部172_1に格納された実測データを用いてシミュレーションを行う。これにより、学習部210_1では、当該新たなモデルパラメータが推論部171_1に設定される前に、当該新たなモデルパラメータに問題がないかを、事前に検証することができる。
【0145】
学習部210_2には、
図2を用いて説明したとおり、第n階層管理装置151より送信されたモデル(モデル構造=“モデルB”、モデルパラメータ=“パラメータP
B0”)が配されている。また、学習部210_2は、一定程度の実測データが蓄積された場合に、実測データ格納部172_2より実測データを読み出し、追加の学習処理(バッチ学習処理)を行う。これにより、学習部210_2は、最適化したモデルパラメータ(“パラメータP
B1”)を、モデル情報格納部1323に格納する。モデル情報格納部1323に格納されモデルパラメータ(“パラメータP
B1”)は、所定のタイミングで、第n階層管理装置151に送信される。
【0146】
なお、学習部210_2は、第n階層管理装置151から新たなモデルパラメータが送信された場合、当該新たなモデルパラメータを、モデル構造=“モデルB”に設定し、実測データ格納部172_2に格納された実測データを用いてシミュレーションを行う。これにより、学習部210_2では、当該新たなモデルパラメータが推論部171_2に設定される前に、当該新たなモデルパラメータに問題がないかを、事前に検証することができる。
【0147】
<実行装置による逐次学習処理及びバッチ学習処理の流れ>
次に、実行装置170による逐次学習処理及びバッチ学習処理の流れについて説明する。
【0148】
(1)逐次学習処理の流れ
図14Aは、実行装置による逐次学習処理の流れを示すフローチャートである。
【0149】
ステップS1401において、実行装置170は、第n階層管理装置151からモデル(モデル構造=“モデルA”、“モデルB”、モデルパラメータ=“パラメータPA0”、“パラメータPB0”)を取得する。
【0150】
ステップS1401において、実行装置170は、取得したモデル構造=“モデルA”、にモデルパラメータ=“パラメータPA0”を設定したモデルを、推論部171_1、学習部210_1に配する。また、実行装置170は、取得したモデル構造=“モデルB”にモデルパラメータ=“パラメータPB0”を設定したモデルを、推論部171_2、学習部210_2に配する。
【0151】
ステップS1403において、実行装置170の推論部171_1、171_2は、基板処理装置160から収集したデータに基づいてモデルを実行させ、推論結果を出力する。
【0152】
ステップS1404において、実行装置170の逐次学習部1311、1313は、基板処理装置160から収集したデータに基づいて逐次学習を行い、モデルパラメータをそれぞれ調整する。
【0153】
ステップS1405において、実行装置170は、推論部171_1、171_2より出力された推論結果を、正解データと対応付けて、実測データ格納部172_1または172_2に格納する。
【0154】
ステップS1406において、実行装置170は、逐次学習処理を終了するか否かを判定する。ステップS1406において逐次学習処理を終了しないと判定した場合には(ステップS1406においてNOの場合には)、ステップS1407に進む。
【0155】
ステップS1407において、実行装置170は、第n階層管理装置151から新たなモデルパラメータが送信されたか否かを判定する。ステップS1407において新たなモデルパラメータが送信されなかったと判定した場合には(ステップS1407においてNOの場合には)、ステップS1403に戻る。
【0156】
一方、ステップS1407において新たなモデルパラメータが送信されたと判定した場合には(ステップS1407においてYESの場合には)、ステップS1408に進む。
【0157】
ステップS1408において、実行装置170は、第n階層管理装置151から送信されたモデルパラメータを用いてシミュレーションを行うことで、モデルパラメータの適否を検証する。
【0158】
ステップS1408において、モデルパラメータが適切であることが検証されなかった場合には(ステップS1408においてNOの場合には)、ステップS1403に戻る。
【0159】
一方、ステップS1408において、モデルパラメータが適切であることが検証された場合には(ステップS1408においてYESの場合には)、ステップS1402に戻る。これにより、新たなモデルパラメータが設定されたモデルが、対応する推論部に配されることになる。
【0160】
一方、ステップS1406において、逐次学習処理を終了すると判定した場合には(ステップS1406においてYESの場合には)、逐次学習処理を終了する。
【0161】
(2)バッチ学習処理の流れ
図14Bは、実行装置によるバッチ学習処理の流れを示すフローチャートである。
【0162】
ステップS1411において、実行装置170は、実測データ格納部172_1、172_2に一定程度の実測データが蓄積されたか否かを判定する。ステップS1411において、一定程度の実測データが蓄積されていないと判定した場合には(ステップS1411においてNOの場合には)、ステップS1416に進む。
【0163】
一方、ステップS1411において、一定程度の実測データが蓄積されたと判定した場合には(ステップS1411においてYESの場合には)、ステップS1412に進む。
【0164】
ステップS1412において、実行装置170の学習部210_1、210_2は、実測データ格納部172_1、172_2より実測データを読み出す。
【0165】
ステップS1413において、実行装置170の学習部210_1、210_2は、読み出した実測データを用いて、追加の学習処理(バッチ学習処理)を行う。
【0166】
ステップS1414において、実行装置170は、学習部210_1、210_2が追加の学習処理を行うことで最適化されたモデルパラメータ=“パラメータPA1”、“パラメータPB1”を取得し、モデル情報格納部1321、1323に格納する。
【0167】
ステップS1415において、実行装置170は、最適化されたモデルパラメータを、第n階層管理装置151に送信する。
【0168】
ステップS1416において、実行装置170は、バッチ学習処理を終了するか否かを判定する。ステップS1409においてバッチ学習処理を終了しないと判定した場合には(ステップS1416においてNOの場合には)、ステップS1411に戻る。
【0169】
一方、ステップS1416においてバッチ学習処理を終了すると判定した場合には(ステップS1416においてYESの場合には)、バッチ学習処理を終了する。
【0170】
<まとめ>
以上の説明から明らかなように、第1の実施形態に係るモデル管理システム100は、
・基板製造プロセスに適用されるモデルを3階層以上の階層に分けて管理する。
・第x階層においてモデルを管理する管理装置(第1の管理部)と、第x階層においてモデルを管理する管理装置に接続し、1階層下位の階層においてモデルを管理する1つ以上の第(x+1)階層の管理装置(第2の管理部)とを有する。
・第x階層においてモデルを管理する管理装置は、1つ以上の第(x+1)階層において管理されるモデルのモデルパラメータが更新された場合に、更新された各モデルパラメータに基づいて、新たなモデルパラメータを算出する。
・第x階層においてモデルを管理する管理装置は、第x階層においてモデルを管理する管理装置に属する最下層の複数の管理装置それぞれにより管理されるモデルに、新たなモデルパラメータが設定されるよう制御する。
【0171】
このように、第1の実施形態では、モデルを3階層以上の階層に分け、同一階層の管理装置間でモデルパラメータを共有化することで、モデルの数を集約し、管理コストを削減する。
【0172】
この結果、第1の実施形態によれば、基板処理プロセスに適用されるモデルを効率的に管理することができる。
【0173】
[第2の実施形態]
上記第1の実施形態では、同一の基板処理工場内において、モデルを3階層以上の階層に分けて管理する場合について説明した。しかしながら、モデルを3階層以上の階層に分ける方法はこれに限定されない。
【0174】
例えば、同一の基板処理工場内においてモデルを2階層に分け、工場外に、複数の基板処理工場のモデルを管理する共通の管理装置を配することで、全体として3階層以上の階層に分けて管理してもよい。
【0175】
図15は、モデル管理システムのシステム構成の一例を示す第2の図である。
図15に示すように、モデル管理システム1500の場合、モデル管理装置1510が、基板処理工場αにおけるモデルと、基板処理工場βにおけるモデルとを管理する。
【0176】
具体的には、モデル管理装置1510は、モデル(モデル構造=“モデルA”、“モデルB”、モデルパラメータ=“パラメータPA0”、“パラメータPB0”)を管理する。また、モデル管理装置1510は、第1のフェーズにおいて、モデルを基板処理工場αの第1階層管理装置120と、基板処理工場βの第1階層管理装置(不図示)とに送信する。
【0177】
また、
図15に示すように、モデル管理システム1500の場合、基板処理工場αは、第1階層管理装置120と、第2階層管理装置131、132とを有し、第3階層以上の管理装置を有していない。
【0178】
つまり、第2階層管理装置131、132は、最下層の管理装置であり、それぞれ、実行装置170、190に接続される。
【0179】
なお、モデル管理装置1510は、例えば、第7のフェーズにおいて、
・第6のフェーズにおいて、基板処理工場αの第1階層管理装置120から送信されたモデルパラメータと、
・第6のフェーズにおいて、基板処理工場βの第1階層管理装置120から送信されたモデルパラメータと、
に基づいて、新たなモデルパラメータを算出する。また、モデル管理装置1510は、第7のフェーズにおいて、新たなモデルパラメータを管理するとともに、該新たなモデルパラメータを、基板処理工場αの第1階層管理装置120及び基板処理工場βの第1階層管理装置に送信する。
【0180】
これにより、モデル管理装置1510に属する最下層の複数の管理装置(基板処理工場α、βの複数の管理装置)それぞれにより管理されるモデルのモデルパラメータが、新たなモデルパラメータを用いて更新されることになる。
【0181】
このように、第2の実施形態では、同一の基板処理工場内においてモデルを2階層に分け、工場外に、複数の基板処理工場のモデルを管理する共通の管理装置を配することで、全体として3階層以上の階層に分けて管理する。これにより、第2の実施形態によれば、上記第1の実施形態と同様の効果を享受することができる。
【0182】
[その他の実施形態]
上記第1及び第2の実施形態では、第1階層管理装置から第n階層管理装置を、それぞれ、別体の管理装置としたが、第1階層管理装置から第n階層管理装置は、一体の装置として形成してもよい。
【0183】
また、上記第1及び第2の実施形態では、第x階層管理装置が新たに生成したモデルパラメータを送信する際、第x階層管理装置より1階層下位の階層の管理装置であって、第x階層管理装置に接続する全ての管理装置に送信するものとして説明した。しかしながら、モデルパラメータの送信先は、第x階層管理装置より1階層下位の階層の管理装置であって、第x階層管理装置に接続する一部の管理装置に送信するように構成してもよい。
【0184】
また、上記第1及び第2の実施形態では、モデル管理システムが既存の基板処理装置の各目的に応じたモデルを管理する場合の管理処理について説明した。しかしながら、新たな基板処理装置が追加された場合についても同様である。具体的には、新たな基板処理装置の各目的に応じたモデルを管理する管理装置は、
・新たな基板処理装置のグループに対応するモデルを管理する管理装置に接続され、
・該管理装置が接続された1階層上位の階層の管理装置より、モデル構造とモデルパラメータ(追加時の最新のモデルパラメータ)とを取得し、
・取得したモデルとモデルパラメータを管理するとともに、対応する実行装置に送信する。
【0185】
これにより、新たな基板処理装置が追加された場合でも、当該新たに追加された基板処理装置の各目的に応じたモデルとして、対応する実行装置の推論部に最新のモデルを配することが可能になる。つまり、新たな基板処理装置の各目的に応じたモデルを管理する管理装置は、新たな基板処理装置の各目的に応じたモデルに、最新のモデルパラメータが設定されるよう制御する。
【0186】
なお、新たな基板処理装置の各目的に応じたモデルを管理する管理装置に、最新のモデルパラメータを送信するにあたっては、同一階層の他の管理装置にも、当該最新のモデルパラメータが送信される。ただし、同一階層の他の管理装置に対しては、当該最新のモデルパラメータを送信せず、引き続き、設定済みのモデルパラメータを管理するように構成してもよい。また、最新のモデルパラメータを送信するにあたっては、事前にシミュレーションを行い、検証が完了してから送信するように構成してもよい。
【0187】
また、上記第1及び第2の実施形態では、モデルの詳細について言及しなかったが、上記第1及び第2の実施形態において用いられるモデルは、例えば、深層学習を含む機械学習モデルであってもよく、例えば、
・RNN(Recurrent Neural Network)、
・LSTM(Long Short-Term Memory)、
・CNN(Convolutional Neural Network)、
・R-CNN(Region based Convolutional Neural Network)、
・YOLO(You Only Look Once)、
・SSD(Single Shot MultiBox Detector)、
・GAN(Generative Adversarial Network)、
・SVM(Support Vector Machine)、
・決定木、
・Random Forest
等のいずれかであってもよい。
【0188】
なお、代替的に、GA(Genetic Algorism)、GP(Genetic Programming)など、遺伝的アルゴリズムを用いたモデル、あるいは、強化学習により学習されたモデルであってもよい。
【0189】
あるいは、上記第1及び第2の実施形態で用いられるモデルは、PCR(Principal Component Regression)、PLS(Partial Least Square)、LASSO、リッジ回帰、線形多項式、自己回帰モデル、移動平均モデル、自己回帰移動平均モデル、ARXモデルなど、深層学習以外の一般的な統計解析によって得られるモデルであってもよい。
【0190】
また、上記第1及び第2の実施形態では、各階層の管理装置それぞれにより、単体でモデル管理プログラムが実行されるものとして説明した。しかしながら、各階層の管理装置が、例えば、複数台のコンピュータにより構成され、かつ、モデル管理プログラムが当該複数台のコンピュータにインストールされている場合にあっては、分散コンピューティングの形態で実行されてもよい。
【0191】
また、上記第1及び第2の実施形態では、管理装置が階層ごとに別体の装置により構成されるものとして説明したが、階層ごとに管理が分かれていれば、異なる階層の管理装置を一体的な装置により構成してもよい。あるいは、異なる階層の管理装置間で、一部の機能を共有して実行できるように構成してもよい。
【0192】
また、上記第1及び第2の実施形態では、補助記憶装置905へのモデル管理プログラムのインストール方法の一例として、不図示のネットワークを介してダウンロードして、インストールする方法について言及した。このとき、ダウンロード元については特に言及しなかったが、かかる方法によりインストールする場合、ダウンロード元は、例えば、モデル管理プログラムをアクセス可能に格納したサーバ装置であってもよい。また、当該サーバ装置は、例えば、不図示のネットワークを介して管理装置からのアクセスを受け付け、課金を条件にモデル管理プログラムをダウンロードする装置であってもよい。つまり、当該サーバ装置は、モデル管理プログラムの提供サービスを行う装置であってもよい。
【0193】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【0194】
本出願は、2020年11月10日に出願された日本国特許出願第2020-187177号に基づきその優先権を主張するものであり、同日本国特許出願の全内容を参照することにより本願に援用する。
【符号の説明】
【0195】
100 :モデル管理システム
110 :モデル管理装置
120 :第1階層管理装置
131~133 :第2階層管理装置
141 :第(n-1)階層管理装置
151、152 :第n階層管理装置
160、180 :基板処理装置
170、190 :実行装置
171_1、171_2 :推論部
191_1、191_2 :推論部
210_1、210_2 :学習部
220_1、220_2 :学習部
1001 :上位層情報取得部
1002 :共有化部
1003 :下位層情報取得部
1004 :最適化部
1005 :上位層情報送信部