TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2024147888
公報種別
公開特許公報(A)
公開日
2024-10-17
出願番号
2023060601
出願日
2023-04-04
発明の名称
情報処理プログラム、情報処理方法、および情報処理装置
出願人
富士通株式会社
代理人
個人
主分類
G06F
8/75 20180101AFI20241009BHJP(計算;計数)
要約
【課題】機械学習ソフトウェアのコードを適切に切り分けること。
【解決手段】情報処理装置100は、機械学習ソフトウェアのコード110に対して後方解析処理を実施することにより、学習フェーズを表すコード111を特定する。情報処理装置100は、学習フェーズを表すコード111のうち、処理負荷が高いと判断される処理内容を含む、学習処理を表す第1コード121を特定する。情報処理装置100は、機械学習ソフトウェアのコード110に対して前方解析処理を実施することにより、推論フェーズを表すコード112を特定する。情報処理装置100は、推論フェーズを表すコード112のうち、第1コード121と少なくとも一部の処理内容が共通する、推論処理を表す第4コード124を特定する。
【選択図】図1
特許請求の範囲
【請求項1】
機械学習モデルを学習する学習フェーズと、前記機械学習モデルを利用する推論フェーズとを規定した機械学習ソフトウェアのコードを取得し、
前記学習フェーズに対する出力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して後方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記学習フェーズを表すコードを特定し、
特定した前記学習フェーズを表すコードのうち、処理負荷が高いと判断される処理内容を含む、前記学習フェーズ内の学習処理を表す第1コードを特定し、
特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより前に存在する、前記学習フェーズ内の前処理を表す第2コードを特定し、
特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより後に存在する、前記学習フェーズ内の後処理を表す第3コードを特定し、
前記推論フェーズに対する入力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して前方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記推論フェーズを表すコードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第1コードと少なくとも一部の処理内容が共通する、前記推論フェーズ内の推論処理を表す第4コードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより前に存在する、前記推論フェーズ内の前処理を表す第5コードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより後に存在する、前記推論フェーズ内の後処理を表す第6コードを特定し、
取得した前記機械学習ソフトウェアのコードにおける、特定した前記第1コードと、特定した前記第2コードと、特定した前記第3コードと、特定した前記第4コードと、特定した前記第5コードと、特定した前記第6コードとを判別可能にする情報を出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
続きを表示(約 2,100 文字)
【請求項2】
前記第1コードを特定する処理は、
プロファイラを利用して、特定した前記学習フェーズを表すコードのうち、最も処理負荷が高くなる命令文を特定し、特定した前記学習フェーズを表すコードのうち、特定した前記命令文を含むループ箇所または関数を、前記第1コードに特定する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記第4コードを特定する処理は、
特定した前記第1コードのいずれかの命令文と同一の機械学習モデルを呼び出す、特定した前記推論フェーズを表すコードのいずれかの命令文を、前記第4コードに特定する、ことを特徴とする請求項1または2に記載の情報処理プログラム。
【請求項4】
機械学習モデルを学習する学習フェーズと、前記機械学習モデルを利用する推論フェーズとを規定した機械学習ソフトウェアのコードを取得し、
前記学習フェーズに対する出力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して後方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記学習フェーズを表すコードを特定し、
特定した前記学習フェーズを表すコードのうち、処理負荷が高いと判断される処理内容を含む、前記学習フェーズ内の学習処理を表す第1コードを特定し、
特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより前に存在する、前記学習フェーズ内の前処理を表す第2コードを特定し、
特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより後に存在する、前記学習フェーズ内の後処理を表す第3コードを特定し、
前記推論フェーズに対する入力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して前方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記推論フェーズを表すコードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第1コードと少なくとも一部の処理内容が共通する、前記推論フェーズ内の推論処理を表す第4コードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより前に存在する、前記推論フェーズ内の前処理を表す第5コードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより後に存在する、前記推論フェーズ内の後処理を表す第6コードを特定し、
取得した前記機械学習ソフトウェアのコードにおける、特定した前記第1コードと、特定した前記第2コードと、特定した前記第3コードと、特定した前記第4コードと、特定した前記第5コードと、特定した前記第6コードとを判別可能にする情報を出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項5】
機械学習モデルを学習する学習フェーズと、前記機械学習モデルを利用する推論フェーズとを規定した機械学習ソフトウェアのコードを取得し、
前記学習フェーズに対する出力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して後方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記学習フェーズを表すコードを特定し、
特定した前記学習フェーズを表すコードのうち、処理負荷が高いと判断される処理内容を含む、前記学習フェーズ内の学習処理を表す第1コードを特定し、
特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより前に存在する、前記学習フェーズ内の前処理を表す第2コードを特定し、
特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより後に存在する、前記学習フェーズ内の後処理を表す第3コードを特定し、
前記推論フェーズに対する入力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して前方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記推論フェーズを表すコードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第1コードと少なくとも一部の処理内容が共通する、前記推論フェーズ内の推論処理を表す第4コードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより前に存在する、前記推論フェーズ内の前処理を表す第5コードを特定し、
特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより後に存在する、前記推論フェーズ内の後処理を表す第6コードを特定し、
取得した前記機械学習ソフトウェアのコードにおける、特定した前記第1コードと、特定した前記第2コードと、特定した前記第3コードと、特定した前記第4コードと、特定した前記第5コードと、特定した前記第6コードとを判別可能にする情報を出力する、
制御部を有することを特徴とする情報処理装置。
発明の詳細な説明
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
続きを表示(約 3,500 文字)
【背景技術】
【0002】
従来、製品化前のPoC(Proof of Concept)段階では、機械学習モデルを学習および利用する機械学習ソフトウェアのコードを、モノリシックな構造で開発することがある。具体的には、機械学習モデルを学習する学習フェーズを表すコードと、機械学習モデルを利用する推論フェーズを表すコードとを切り分けずに、機械学習ソフトウェアのコードを開発することがある。これに対し、製品化段階では、機械学習ソフトウェアのコードを、それぞれ異なる機能を表す部分コードごとに切り分けることが望まれる場合がある。
【0003】
先行技術としては、例えば、検索クエリに基づき、既存の機械学習プロジェクトのセットを検索するものがある。また、例えば、コードメトリクスに基づいて計算したLong Method Score基づいて、分割するプログラム要素を特定する技術がある。また、例えば、元のコードと新しいコードとに基づいて、構文変更耐性のあるコードを生成する技術がある。また、例えば、ソフトウェアをプロファイリングする技術がある。また、例えば、ソフトウェアのコードを分解する技術がある。また、例えば、プログラムスライシングと呼ばれる技術がある。また、例えば、プロフラム依存グラフを生成する技術がある。
【先行技術文献】
【特許文献】
【0004】
特開2022-042497号公報
特開2019-219848号公報
米国特許第011042369号明細書
米国特許出願公開第2021/0200519号明細書
【非特許文献】
【0005】
Krause, Alexander, et al. “Microservice decomposition via static and dynamic analysis of the monolith.” 2020 IEEE International Conference on Software Architecture Companion (ICSA-C). IEEE, 2020.
Agrawal, Hiralal, and Joseph R. Horgan. “Dynamic program slicing.” ACM SIGPlan Notices 25.6 (1990): 246-256.
TIP F. “A survey of program slicing techniques.”Journal Programming Languages 3:121-3:189, 1995.
Ferrante, Jeanne, Karl J. Ottenstein, and Joe D. Warren. “The program dependence graph and its use in optimization.” ACM Transactions on Programming Languages and Systems (TOPLAS) 9.3 (1987): 319-349.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術では、機械学習ソフトウェアのコードを、それぞれ異なる機能を表す部分コードごとに切り分けることが難しい。例えば、機械学習ソフトウェアのコードを、学習フェーズのうち、学習処理の前処理を表す部分コードと、学習処理を表す部分コードと、学習処理の後処理を表す部分コードとに切り分けることができない。
【0007】
1つの側面では、本発明は、機械学習ソフトウェアのコードを適切に切り分けることを目的とする。
【課題を解決するための手段】
【0008】
1つの実施態様によれば、機械学習モデルを学習する学習フェーズと、前記機械学習モデルを利用する推論フェーズとを規定した機械学習ソフトウェアのコードを取得し、前記学習フェーズに対する出力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して後方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記学習フェーズを表すコードを特定し、特定した前記学習フェーズを表すコードのうち、処理負荷が高いと判断される処理内容を含む、前記学習フェーズ内の学習処理を表す第1コードを特定し、特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより前に存在する、前記学習フェーズ内の前処理を表す第2コードを特定し、特定した前記学習フェーズを表すコードのうち、特定した前記第1コードより後に存在する、前記学習フェーズ内の後処理を表す第3コードを特定し、前記推論フェーズに対する入力サンプルに基づいて、取得した前記機械学習ソフトウェアのコードに対して前方解析処理を実施することにより、取得した前記機械学習ソフトウェアのコードのうち、前記推論フェーズを表すコードを特定し、特定した前記推論フェーズを表すコードのうち、特定した前記第1コードと少なくとも一部の処理内容が共通する、前記推論フェーズ内の推論処理を表す第4コードを特定し、特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより前に存在する、前記推論フェーズ内の前処理を表す第5コードを特定し、特定した前記推論フェーズを表すコードのうち、特定した前記第4コードより後に存在する、前記推論フェーズ内の後処理を表す第6コードを特定し、取得した前記機械学習ソフトウェアのコードにおける、特定した前記第1コードと、特定した前記第2コードと、特定した前記第3コードと、特定した前記第4コードと、特定した前記第5コードと、特定した前記第6コードとを判別可能にする情報を出力する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
【発明の効果】
【0009】
一態様によれば、機械学習ソフトウェアのコードを適切に切り分けることが可能になる。
【図面の簡単な説明】
【0010】
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
図2は、情報処理システム200の一例を示す説明図である。
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図4は、情報処理装置100の機能的構成の一例を示すブロック図である。
図5は、情報処理装置100の機能的構成の具体例を示すブロック図である。
図6は、情報処理装置100の動作の一例を示す説明図(その1)である。
図7は、情報処理装置100の動作の一例を示す説明図(その2)である。
図8は、情報処理装置100の動作の一例を示す説明図(その3)である。
図9は、情報処理装置100の動作の一例を示す説明図(その4)である。
図10は、情報処理装置100の動作の一例を示す説明図(その5)である。
図11は、情報処理装置100の動作の具体例を示す説明図(その1)である。
図12は、情報処理装置100の動作の具体例を示す説明図(その2)である。
図13は、情報処理装置100の動作の具体例を示す説明図(その3)である。
図14は、情報処理装置100の動作の具体例を示す説明図(その4)である。
図15は、情報処理装置100の動作の具体例を示す説明図(その5)である。
図16は、情報処理装置100の動作の具体例を示す説明図(その6)である。
図17は、情報処理装置100の動作の具体例を示す説明図(その7)である。
図18は、情報処理装置100の動作の具体例を示す説明図(その8)である。
図19は、全体処理手順の一例を示すフローチャートである。
図20は、第1特定処理手順の一例を示すフローチャートである。
図21は、第2特定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
富士通株式会社
光伝送装置
16日前
富士通株式会社
金融システム
9日前
富士通株式会社
通信装置及び通信方法
15日前
富士通株式会社
演算器及び情報処理装置
15日前
富士通株式会社
基地局装置及び通信方法
8日前
富士通株式会社
キュービット・マッピング
12日前
富士通株式会社
伝送装置及び伝送システム
23日前
富士通株式会社
プログラム,装置及び方法
16日前
富士通株式会社
制御装置及び制御プログラム
12日前
富士通株式会社
基地局装置及び通信システム
15日前
富士通株式会社
キュービット・ルーティング
12日前
富士通株式会社
電源ユニット及びその制御方法
15日前
富士通株式会社
電圧検知回路及び情報処理装置
15日前
富士通株式会社
ネットワーク装置及び判定方法
17日前
富士通株式会社
疾患予測根拠表示方法及びプログラム
8日前
富士通株式会社
情報処理装置及びデータ転送制御方法
9日前
富士通株式会社
連携装置、連携方法、連携プログラム
8日前
富士通株式会社
病変検出方法および病変検出プログラム
12日前
富士通株式会社
作業割当方法および作業割当プログラム
15日前
富士通株式会社
データ転送制御装置および情報処理装置
15日前
富士通株式会社
歪み補正係数算出方法およびプログラム
2日前
富士通株式会社
コンパイルプログラム及びコンパイル方法
12日前
富士通株式会社
モジュール搭載装置、及び、情報処理装置
8日前
富士通株式会社
データ連携方法及びデータ連携プログラム
2日前
富士通株式会社
制御プログラム、制御方法及びサーバ装置
15日前
富士通株式会社
制御プログラム、制御方法および制御システム
1日前
富士通株式会社
プログラム、データ処理装置及びデータ処理方法
2日前
富士通株式会社
演算プログラム、演算方法、および情報処理装置
8日前
富士通株式会社
データ処理装置、プログラム及びデータ処理方法
15日前
富士通株式会社
半導体装置、半導体装置の製造方法及び電子装置
23日前
富士通株式会社
半導体装置、半導体装置の製造方法及び電子装置
15日前
富士通株式会社
プログラム、データ処理方法およびデータ処理装置
12日前
富士通株式会社
通信制御装置、通信装置、端末、及び通信システム
8日前
富士通株式会社
移動目標検出のためのレーダ点群の処理方法及び装置
3日前
富士通株式会社
情報処理プログラム、情報処理方法及び情報処理装置
15日前
富士通株式会社
情報処理装置、文字検索プログラムおよび文字検索方法
15日前
続きを見る
他の特許を見る