(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】情報処理システム、情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06N 5/04 20230101AFI20240729BHJP
【FI】
G06N5/04
(21)【出願番号】P 2024082032
(22)【出願日】2024-05-20
【審査請求日】2024-05-24
(32)【優先日】2024-05-01
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】523447959
【氏名又は名称】株式会社Preferred Elements
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】今城 健太郎
(72)【発明者】
【氏名】日暮 大輝
(72)【発明者】
【氏名】中郷 孝祐
(72)【発明者】
【氏名】片岡 俊基
(72)【発明者】
【氏名】得居 誠也
(72)【発明者】
【氏名】渡部 源太郎
【審査官】真木 健彦
(56)【参考文献】
【文献】米国特許出願公開第2022/0058494(US,A1)
【文献】特許第7452623(JP,B2)
【文献】国際公開第2020/044413(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/04
G06N 3/098
G06F 16/90
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
出力候補に関する情報と複数の対象情報とを取得し、
前記出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、
前記
第1の中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで、前記複数の対象情報それぞれに対する出力情報を生成する、
情報処理システム。
【請求項2】
前記出力候補に関する情報は、選択肢の識別情報を含み、
前記選択肢の識別情報は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
請求項1に記載の情報処理システム。
【請求項3】
前記出力候補に関する情報は、選択肢を含み、
前記選択肢は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
請求項1に記載の情報処理システム。
【請求項4】
前記出力候補に関する情報は、数字の生成を要求する情報を含み、
前記数字は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
請求項1に記載の情報処理システム。
【請求項5】
前記出力候補に関する情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
請求項1に記載の情報処理システム。
【請求項6】
前記少なくとも1つのプロセッサは、
前記対象情報に対する前記1回の推論処理を実行することで算出された第2の中間データの少なくとも一部を、前記対象情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶しない、
請求項1に記載の情報処理システム。
【請求項7】
前記第2の中間データの少なくとも一部を記憶しないことは、前記少なくとも1つのプロセッサが、前記第2の中間データの少なくとも一部をキャッシュしないこと、を含む、
請求項6に記載の情報処理システム。
【請求項8】
前記第2の中間データの少なくとも一部は、前記機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含む、
請求項6に記載の情報処理システム。
【請求項9】
前記少なくとも1つのプロセッサは、
前記第1の中間データの少なくとも一部をキャッシュし、
キャッシュされた前記第1の中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行する、
請求項1に記載の情報処理システム。
【請求項10】
前記第1の中間データの少なくとも一部は、前記機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含む、
請求項9に記載の情報処理システム。
【請求項11】
前記少なくとも1つのプロセッサは、
前記対象情報に対する、前記1回の推論処理より後の推論処理を実行しない、
請求項1から10のいずれかに記載の情報処理システム。
【請求項12】
前記少なくとも1つのプロセッサは、
2以上の前記対象情報それぞれに対する前記出力情報を並列して生成する、
請求項1から10のいずれかに記載の情報処理システム。
【請求項13】
前記出力候補に関する情報は、少なくとも第1の分類に関する情報と第2の分類に関する情報とを含み、
前記少なくとも1つのプロセッサは、
前記1回の推論処理において、前記対象情報と前記第1の分類の選択肢のトークンとを結合した情報を前記機械学習モデルに入力し、
前記第1の分類の選択肢のトークンは、前記対象情報の後に結合されたものであり、
前記第1の分類の選択肢のトークンは、少なくとも、第1の選択肢のトークンと、前記第1の選択肢のトークンより後に結合される、第2の選択肢のトークンとを含み、
前記1回の推論処理において、前記第2の選択肢のトークンは、前記第1の選択肢のトークンを参照しないように設定されている、
請求項1から10のいずれかに記載の情報処理システム。
【請求項14】
前記少なくとも1つのプロセッサは、
前記複数の対象情報それぞれに対する出力情報と正解情報とに基づいて、他のモデルを学習する、
請求項1から10のいずれかに記載の情報処理システム。
【請求項15】
前記少なくとも1つのプロセッサは、
前記複数の対象情報それぞれに対する出力情報を他のモデルに入力することで、前記複数の対象情報それぞれに対する第2の出力情報を生成する、
請求項1から10にいずれかに記載の情報処理システム。
【請求項16】
前記少なくとも1つのプロセッサは、
前記複数の対象情報それぞれに対する出力情報に基づいて、第3の出力情報の生成に用いる1以上の対象情報を選択し、
生成要求と前記1以上の対象情報とに基づいて、前記機械学習モデル又は他の機械学習モデルの少なくとも一方に入力する入力情報を生成し、
前記入力情報を、前記機械学習モデル又は前記他の機械学習モデルの少なくとも一方に入力することで前記第3の出力情報を生成する、
請求項1から10のいずれかに記載の情報処理システム。
【請求項17】
前記出力候補に関する情報は、前記生成要求に基づいて生成された情報である、
請求項16に記載の情報処理システム。
【請求項18】
前記複数の対象情報は、所定の検索条件に基づく検索によって取得された情報であり、
前記所定の検索条件は、前記生成要求に基づいて決定されたものである、
請求項16に記載の情報処理システム。
【請求項19】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
出力候補に関する情報を取得するための情報を、表示装置に表示し、
複数の対象情報を取得するための情報を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報に基づく推論結果を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報は、前記出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで生成された情報である、
情報処理装置。
【請求項20】
前記少なくとも1つのプロセッサは、
利用者から選択肢に関する情報を取得し、
前記出力候補に関する情報は、前記選択肢に関する情報に基づいて生成
される、
請求項19に記載の情報処理装置。
【請求項21】
前記選択肢に関する情報は、少なくとも、前記1回の推論処理で生成可能な情報を用いて表すことができる選択肢の識別情報、又は、前記1回の推論処理で生成可能な情報を用いて表すことができる選択肢のいずれかを含む、
請求項20に記載の情報処理装置。
【請求項22】
前記少なくとも1つのプロセッサは、
利用者から選択肢を取得し、
前記選択肢に対して識別情報を付与し、
前記出力候補に関する情報は、前記選択肢及び前記識別情報に基づいて生成され、
前記識別情報は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
請求項19に記載の情報処理装置。
【請求項23】
前記推論結果は、少なくとも、前記選択肢の確率値、前記出力情報に含まれる確率情報に基づいて選択された選択肢、又は、前記選択された選択肢に基づく情報のいずれかを含む、
請求項20
から22のいずれかに記載の情報処理装置。
【請求項24】
前記少なくとも1つのプロセッサは、
前記複数の対象情報を
、指定された電子ファイルから取得する、
請求項19から22のいずれかに記載の情報処理装置。
【請求項25】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
複数の入力情報を取得し、
前記複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、前記複数の入力情報それぞれに対する出力情報を生成し、
前記入力情報に対する前記1回の推論処理を実行することで算出された中間データの少なくとも一部を、前記入力情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶せず、
前記入力情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
情報処理システム。
【請求項26】
前記中間データの少なくとも一部を記憶しないことは、前記少なくとも1つのプロセッサが、前記中間データの少なくとも一部をキャッシュしないこと、を含む、
請求項
25に記載の情報処理システム。
【請求項27】
前記中間データの少なくとも一部は、前記機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含む、
請求項
25に記載の情報処理システム。
【請求項28】
前記少なくとも1つのプロセッサは、
前記入力情報に対する、前記1回の推論処理より後の推論処理を実行しない、
請求項
25から
27のいずれかに記載の情報処理システム。
【請求項29】
少なくとも1つのプロセッサが、
出力候補に関する情報と複数の対象情報とを取得し、
前記出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、
前記
第1の中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで、前記複数の対象情報それぞれに対する出力情報を生成する、
情報処理方法。
【請求項30】
少なくとも1つのプロセッサが、
出力候補に関する情報を取得するための情報を、表示装置に表示し、
複数の対象情報を取得するための情報を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報に基づく推論結果を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報は、前記出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで生成された情報である、
情報処理方法。
【請求項31】
少なくとも1つのプロセッサが、
複数の入力情報を取得し、
前記複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、前記複数の入力情報それぞれに対する出力情報を生成し、
前記入力情報に対する前記1回の推論処理を実行することで算出された中間データの少なくとも一部を、前記入力情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶せず、
前記入力情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
情報処理方法。
【請求項32】
少なくとも1つのプロセッサに、
出力候補に関する情報と複数の対象情報とを取得し、
前記出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、
前記
第1の中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで、前記複数の対象情報それぞれに対する出力情報を生成する、
処理を実行させるためのプログラム。
【請求項33】
少なくとも1つのプロセッサに、
出力候補に関する情報を取得するための情報を、表示装置に表示し、
複数の対象情報を取得するための情報を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報に基づく推論結果を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報は、前記出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで生成された情報である、
処理を実行させるためのプログラム。
【請求項34】
少なくとも1つのプロセッサに、
複数の入力情報を取得し、
前記複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、前記複数の入力情報それぞれに対する出力情報を生成し、
前記入力情報に対する前記1回の推論処理を実行することで算出された中間データの少なくとも一部を、前記入力情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶せず、
前記入力情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
大規模言語モデル(LLM; Large Language Model)等の機械学習モデルが知られている。大規模言語モデルは、トークン等の所定の処理単位ごとに出力情報を生成するため、大きい入出力を効率的に扱うための技術が提案されている。例えば、大規模言語モデルがデコード中に計算したデータをキャッシュするキーバリューキャッシュ(Key Value Cache)と呼ばれる技術がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】Omri Mallis, "Techniques for KV Cache Optimization in Large Language Models", [online], [令和6年5月2日検索], インターネット<URL: https://www.omrimallis.com/posts/techniques-for-kv-cache-optimization/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の課題は、複数の情報それぞれに対する出力情報を少ない計算リソースで生成する技術を提供することである。
【課題を解決するための手段】
【0005】
本開示の一態様による情報処理システムは、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備え、少なくとも1つのプロセッサは、出力候補に関する情報と複数の対象情報とを取得し、出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、第1の中間データの少なくとも一部を用いて、複数の対象情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、複数の対象情報それぞれに対する出力情報を生成する。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態に係る情報処理システムの全体構成の一例を示すブロック図である。
【
図2】第1実施形態に係る推論装置の機能構成の一例を示すブロック図である。
【
図3】第1実施形態に係る推論要求の一例を示す図である。
【
図4】比較例に係る推論処理の一例を説明するための図である。
【
図5】第1実施形態に係る推論処理の一例を説明するための図である。
【
図6】第1実施形態に係る入力画面の一例を示す図である。
【
図7】第1実施形態に係る出力画面の一例を示す図である。
【
図8】第1実施形態に係る推論処理の一例を示すフローチャートである。
【
図9】第2実施形態に係るプロンプトの第1例を示す図である。
【
図10】第2実施形態に係るプロンプトの第2例を示す図である。
【
図11】第3実施形態に係る情報処理システムの全体構成の一例を示すブロック図である。
【
図12】第3実施形態に係る生成装置の機能構成の一例を示すブロック図である。
【
図13】第3実施形態に係るプロンプトの第1例を示す図である。
【
図14】第3実施形態に係るプロンプトの第2例を示す図である。
【
図15】第3実施形態に係る生成処理の一例を示すフローチャートである。
【
図16】アテンションマスクの一例を説明するための図である。
【
図17】第4実施形態に係る入力画面の一例を示す図である。
【
図18】コンピュータのハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0007】
以下、本開示の各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0008】
[第1実施形態]
本開示の第1実施形態は、機械学習モデルに基づいて所定のタスクを実行する情報処理システムである。本実施形態に係る機械学習モデルは、自己回帰モデル(Autoregressive model)でもよい。自己回帰モデルは、一例として、デコーダオンリー型の大規模言語モデル(LLM; Large Language Model)でもよい。機械学習モデルは、例えば、音声、画像、動画等の各種データを生成する生成モデル、基盤モデル又はニューラルネットワークでもよい。機械学習モデルは、マルチモーダルに対応していてもよい。
【0009】
本実施形態に係る情報処理システムは、処理対象とする情報(以下、「対象情報」とも呼ぶ)に対して、出力情報を生成する生成タスクを実行する。生成タスクは、一例として、複数の対象情報それぞれを所定の選択肢に分類する分類タスクでもよい。
【0010】
所定の選択肢は、1回の推論処理で生成可能なデータ長で表現されてもよい。1回の推論処理で生成可能なデータ長は、機械学習モデルに含まれるニューラルネットワークが1回の推論処理を実行することで生成し得る最大のデータ長でもよい。一例として、機械学習モデルが大規模言語モデルであれば、所定の選択肢は、1トークンで表現されてもよい。なお、トークンとは、機械学習モデルが電子データを処理するときの処理単位であり、1トークンのデータ量は機械学習モデルの設計により異なり得る。トークンは、一例として、日本語1文字又は英語1単語であるが、出現頻度によっては、1文字が2トークンで表現されることもあれば、2以上の文字が1トークンで表現されることもある。
【0011】
本実施形態に係る生成タスクは、一例として、対象情報の一例である複数の文章それぞれに対して、複数の選択肢それぞれの該当確率を付与するタスクでもよい。文章は、1以上の文を含んでもよい。文章は、一例として、ソーシャルネットワーキングサービスに投稿されるメッセージでもよい。選択肢は、一例として、文章が与える印象に関する分類でもよい。印象の分類に関する選択肢は、一例として、「好印象」、「悪印象」又は「どちらでもない」を含んでもよい。該当確率は、一例として、選択肢それぞれに該当する確率でもよい。言い替えると、生成タスクは、ソーシャルネットワーキングサービスに投稿されるメッセージがどの程度好印象か悪印象かを判断するタスクでもよい。具体的には、ある投稿に対して、好印象の確率が0.7であり、悪印象の確率が0.3である、といった出力情報を生成するタスクでもよい。生成タスクは、上記の例に限定されるものではなく、複数の対象情報それぞれに対して所定長以下の出力情報を生成する任意のタスクでよい。
【0012】
従来、複数の対象情報を所定の選択肢に分類するタスクでは、分類タスクごとに機械学習モデルを再学習する必要があった。大規模言語モデルは、大規模なデータセットを学習することで様々なタスクを実行可能とされているため、再学習を行わなくとも任意の分類タスクを実行できる。しかしながら、複数の対象情報について分類タスクを実行する場合、対象情報それぞれについて選択肢を付与したプロンプトを用いて推論処理を実行する必要があり、対象情報の数が増えるほど全体として必要な計算リソースが増大する。
【0013】
本実施形態は、複数の情報それぞれに対する出力情報を少ない計算リソースで生成する技術を提供する。本実施形態では、出力候補に関する情報を機械学習モデルに入力することで機械学習モデルの中間データを算出し、算出した中間データを用いて複数の対象情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、複数の対象情報それぞれに対する出力情報を生成する。一の側面では、本実施形態によれば、出力候補に関する情報を用いて算出された中間データをキャッシュし、共有しながら出力情報を生成するため、複数の対象情報それぞれに対する出力情報を少ない計算量で生成できる。他の側面では、本実施形態によれば、複数の対象情報それぞれに対する出力情報を生成するときに算出された中間データをキャッシュする必要がないため、複数の対象情報それぞれに対する出力情報を少ないメモリ使用量で生成できる。
【0014】
<情報処理システムの全体構成>
本実施形態における情報処理システムの全体構成について、
図1を参照しながら説明する。
図1は、第1実施形態に係る情報処理システムの全体構成の一例を示すブロック図である。
【0015】
図1に示されるように、情報処理システム1000は、推論装置10及び端末装置50を含む。推論装置10及び端末装置50は、LAN(Local Area Network)、インターネット等の通信ネットワークを介して相互にデータ通信可能に接続されていてもよい。
【0016】
推論装置10は、端末装置50からの推論要求に応じて、所定のタスクを実行するパーソナルコンピュータ、ワークステーション、サーバ等の情報処理装置の一例である。推論装置10は、端末装置50から推論要求を受信してもよい。推論装置10は、推論要求に対する推論結果を端末装置50に送信してもよい。
【0017】
推論要求は、所定のタスクの実行を要求する情報又は信号である。本実施形態では、所定のタスクは、複数の対象情報それぞれを所定の選択肢に分類した分類結果を生成するタスクでもよい。
【0018】
推論装置10は、機械学習モデルMを備える。機械学習モデルMは、所定のタスクを実行するために用いる機械学習モデルである。機械学習モデルMは、自己回帰モデル、生成モデル、基盤モデル、又はニューラルネットワークでもよい。機械学習モデルMは、一例として、デコーダオンリー型の大規模言語モデルでもよい。
【0019】
機械学習モデルMは、1つの機械学習モデルで実現されてもよい。機械学習モデルMは、複数の機械学習モデルが連携することで実現されてもよい。機械学習モデルMは、実行するタスクに応じた複数の機械学習モデルで構成されてもよい。機械学習モデルMは、推論装置10以外の情報処理装置(例えば、端末装置50、他の情報処理装置等)に内蔵されてもよい。機械学習モデルMは、複数の情報処理装置からなる外部の情報処理システムに分散して保有されてもよい。
【0020】
推論装置10は、異なる機械学習モデルMを備える複数の情報処理装置又は情報処理システムで実現されてもよい。推論装置10は、複数の機械学習モデルMを備える1台の情報処理装置又は情報処理システムで実現されてもよい。推論装置10は、外部の機械学習モデルMを用いた所定のタスクを実行してもよい。なお、外部とは、情報処理システム1000に含まれないことを意味する。
【0021】
端末装置50は、情報処理システム1000の利用者が操作するパーソナルコンピュータ、スマートフォン、タブレット端末等の情報処理装置の一例である。端末装置50は、推論要求を推論装置10に送信してもよい。端末装置50は、推論装置10から推論結果を受信し、利用者に提示してもよい。
【0022】
端末装置50は、一例として、端末装置50の表示装置に推論結果を表示してもよい。端末装置50は、一例として、端末装置50のスピーカから推論結果を合成した音声を出力してもよい。
【0023】
なお、利用者に情報を提示することは、プロセッサが表示装置に情報を表示するために必要な処理の少なくとも一部を実行することを含んでよい。表示装置は、プロセッサと同じ装置に備えられてもよく、プロセッサと異なる装置に備えられてもよい。表示装置は、複数の表示装置であってもよい。
【0024】
なお、
図1に示した情報処理システム1000の全体構成は一例であって、用途や目的に応じて様々なシステム構成例があり得る。情報処理システム1000は、一以上の情報処理装置で構成されてもよい。情報処理システム1000に含まれる情報処理装置は、複数の装置で構成されるシステムであってもよい。情報処理システム1000に含まれる各機能は、システムを構成する任意の装置で実現されてもよい。情報処理システム1000に含まれる各構成要素は、システムを構成する任意の装置に含まれてもよい。
【0025】
推論装置10及び端末装置50の1つ以上が、情報処理システム1000に複数台含まれていてもよい。推論装置10は、複数台のコンピュータにより実現してもよいし、クラウドコンピューティングのサービスとして実現してもよい。
図1に示す推論装置10、端末装置50のような装置の区分は一例である。
【0026】
一例として、情報処理システム1000は、1以上のサーバ装置と、1以上の端末装置50とで構成されてもよい。1以上のサーバ装置は、推論装置10の各機能のうち1以上を備えてもよい。サーバ装置は、複数の情報処理装置を含むシステムで実現してもよい。サーバ装置は、クラウドコンピューティングのサービスとして実現してもよい。
【0027】
他の一例として、情報処理システム1000は、1台の情報処理装置で構成されてもよい。情報処理装置は、推論装置10及び端末装置50の各機能を備えてもよい。
【0028】
<推論装置の機能構成>
推論装置10の機能構成について、
図2を参照しながら説明する。
図2は、第1実施形態に係る推論装置の機能構成の一例を示すブロック図である。
【0029】
図2に示されるように、推論装置10は、モデル記憶部101、状態記憶部102、要求受付部110、第1推論部120、第2推論部130及び出力部140を備える。推論装置10は、予めインストールされた推論プログラムが少なくとも1つのプロセッサによって実行されることで、モデル記憶部101、状態記憶部102、要求受付部110、第1推論部120、第2推論部130及び出力部140として機能する。
【0030】
モデル記憶部101には、機械学習モデルMが予め記憶されている。機械学習モデルMは、所定の学習データに基づいて予め学習されている。機械学習モデルMは、一例として、推論装置10により学習されてもよく、外部の情報処理装置又は情報処理システムにより学習されてもよい。モデル記憶部101には、複数の機械学習モデルMが記憶されていてもよい。
【0031】
状態記憶部102には、出力候補に関する情報を入力したときの機械学習モデルMの中間データが記憶される。状態記憶部102に記憶される中間データは、第1推論部120により生成される。
【0032】
状態記憶部102は、推論装置10が備えるGPU(Graphics Processing Unit)のメモリで構成されてもよい。状態記憶部102は、推論装置10が備えるCPU(Central Processing Unit)のメモリで構成されてもよい。状態記憶部102は、推論装置10が備えるHDD(Hard Disk Drive)、SSD(Solid State Drive)等の補助記憶装置で構成されてもよい。
【0033】
要求受付部110は、推論要求を受け付ける。要求受付部110は、端末装置50から推論要求を受信してもよい。推論要求は、端末装置50の表示装置に表示された画面に対する操作に応じて、端末装置50から送信されてもよい。要求受付部110は、推論装置10に入力された推論要求を受け付けてもよい。推論要求は、推論装置10の表示装置に表示された画面に対する操作に応じて、推論装置10に入力されてもよい。推論要求に含まれる情報の少なくとも一部は、推論装置10により生成されてもよい。要求受付部110は、他の情報処理装置から推論要求を取得してもよい。
【0034】
本実施形態では、推論要求は、対象情報に対する出力情報を生成することを要求する情報又は信号である。推論要求は、出力候補に関する情報及び対象情報を含んでもよい。出力候補に関する情報は、機械学習モデルMを用いた推論処理によって生成される出力候補に関する情報を含んでもよい。出力候補に関する情報は、更に、機械学習モデルMを用いた推論処理を要求する情報を含んでもよい。対象情報は、機械学習モデルMを用いた推論処理の対象に関する情報を含んでもよい。推論要求は、複数の対象情報を含んでもよい。推論要求は、対象情報のみを含み、出力候補に関する情報は、推論装置10又は他の情報処理装置から取得してもよい。以下、出力候補に関する情報を「候補情報」とも呼ぶ。
【0035】
候補情報は、選択肢を含んでもよい。選択肢は、複数の分類、複数のカテゴリ、複数のクラス、複数の属性、複数のグループ、複数のタイプ、複数のセグメント、複数のジャンル、複数の種類、複数の区分、複数のランク、複数のグレード等に含まれる1以上の項目、要素、内容等を表すものであってもよい。選択肢は、選択肢の識別情報を含んでもよい。選択肢の識別情報は、機械学習モデルMによる1回の推論処理で生成可能な情報(例えば、1トークン)を用いて表すことができるものであってもよく、一例として、数字、記号、文字等でもよい。以下の候補情報の例では、選択肢の識別情報として、数字とアルファベットを用いている。例えば、機械学習モデルMは、選択肢の識別情報である"1"、"a"、"A"等を、それぞれ1トークンで表現するよう構成されていてもよい。
・例1:
"下記の文章に関する分類を次の選択肢から選んでください。
【0036】
選択肢:
1:好印象
2:悪印象
3:どちらでもない"
・例2:
"下記の文章がA社に関する情報として適しているか否かについて次の選択肢から選んでください。
【0037】
選択肢:
a:適している
b:適していない
c:どちらでもない"
・例3:
"下記のニュースのタイトルを次のカテゴリに分類してください。
【0038】
A.政治
B.経済
C.芸能
D.スポーツ
E.サイエンス
F.その他"
・例4:
"下記の文章が表す季節を次の選択肢から選択してください。
【0039】
選択肢:
1:春
2:夏
3:秋
4:冬"
【0040】
候補情報は、選択肢を含んでもよい。ここで、選択肢は、機械学習モデルMによる1回の推論処理で生成可能な情報(例えば、1トークン)を用いて表すことができる情報であってもよい。候補情報の例としては、以下のようなものがある。例えば、機械学習モデルMは、選択肢である"Spring"、"Summer"、"Fall"、"Winter"を、それぞれ1トークンで表現するよう構成されていてもよい。
・例5:
"下記の文章が表す季節を次の選択肢から選択してください。
【0041】
選択肢:
Spring
Summer
Fall
Winter"
【0042】
候補情報は、数字の生成を要求する情報を含んでもよい。数字は、スコア、点数、数値等を表すものであってもよい。数字は、機械学習モデルMによる1回の推論処理で生成可能な情報(例えば、1トークン)を用いて表すことができるものであってもよい。候補情報の例としては、以下のようなものがある。例えば、機械学習モデルMは、"0"から"9"までの数字を、それぞれ1トークンで表現するよう構成されていてもよい。
・例6:
"下記の文章がどの程度ビジネスマナーに即して書かれているか0~9点の間で評価してください。"
・例7:
"下記の文章を100点満点で評価してください"
【0043】
候補情報は、機械学習モデルMによる1回の推論処理で生成可能な情報(例えば、1トークン)の生成を要求する情報を含んでもよい。当該生成を要求する情報は、機械学習モデルMによる1回の推論処理で生成可能な情報を用いて回答可能な質問であってもよい。当該生成を要求する情報は、一般常識又は文脈に基づいて選択肢を特定可能な情報を含んでもよい。候補情報の例としては、以下のようなものがある。この例では、回答の選択肢として"Spring"、"Summer"、"Fall"、"Winter"を特定可能であり、機械学習モデルMは、"Spring"、"Summer"、"Fall"、"Winter"を、それぞれ1トークンで表現するよう構成されていてもよい。
・例8:
"下記の文章が表す季節を英語で回答してください。"
【0044】
候補情報は、参考回答情報を含んでもよい。参考回答情報は、要求、質問等に対する回答例、応答例、返答例等を含んでもよい。参考回答情報は、具体的な対象情報とそれに対する回答例、応答例、返答例等を含んでもよい。参考回答情報は、回答例、応答例、返答例として、機械学習モデルMによる1回の推論処理で生成可能な選択肢の識別情報、機械学習モデルMによる1回の推論処理で生成可能な選択肢、機械学習モデルMによる1回の推論処理で生成可能な数字を特定する情報を含んでもよい。例えば、候補情報の上記例1に対する参考回答情報として、候補情報は下記の参考回答情報を含んでもよい。
"文章
何かお困りの点や疑問がございましたら、お気軽にお問い合わせください。
【0045】
回答
1"
【0046】
対象情報は、文書であってもよく、文字列であってもよい。対象情報は、テキスト、画像、音声又は動画を含んでもよい。対象情報は、テキスト、画像、音声又は動画のうち2以上の組み合わせでもよい。例えば、候補情報が選択肢を含む場合、対象情報は、分類対象とする情報自体でもよく、分類対象とする情報を特定可能な情報でもよい。
【0047】
第1推論部120は、要求受付部110が受け付けた推論要求に含まれる候補情報に基づいて、モデル記憶部101に記憶された機械学習モデルMの中間データを算出する。第1推論部120は、候補情報を機械学習モデルMに入力することで、中間データを算出してもよい。第1推論部120は、候補情報を機械学習モデルMに入力したときに、機械学習モデルMが出力した中間データを取得してもよい。
【0048】
なお、機械学習モデルMへの情報の入力は、当該情報を直接的又は間接的に機械学習モデルMに入力することを含んでもよい。一例として、機械学習モデルMへの情報の入力は、当該情報をそのまま機械学習モデルMに入力することを含んでよい。また、機械学習モデルMへの情報の入力は、当該情報に基づいて生成された他の情報を機械学習モデルMに入力することを含んでよい。
【0049】
機械学習モデルMの中間データは、機械学習モデルMが候補情報に対する推論処理を実行することで算出される少なくとも一部の中間データでもよい。中間データは、一例として、機械学習モデルMに含まれるニューラルネットワークの隠れ層の状態に関する情報を含んでもよい。中間データは、一例として、機械学習モデルMの中間状態に関する情報を含んでもよい。中間データは、一例として、機械学習モデルMが使用するキャッシュでもよく、後続する推論処理における演算量削減のために再利用可能な情報でもよい。
【0050】
機械学習モデルMの中間データは、一例として、キーバリューキャッシュでもよい。すなわち、機械学習モデルMの中間データは、トランスフォーマーの注意機構が用いるクエリベクトル、キーベクトル、バリューベクトルのうち、キーベクトル及びバリューベクトルを含んでもよい。キーバリューキャッシュは、候補情報を機械学習モデルMに入力したときに計算されたトークンごとのキーベクトル及びバリューベクトルの配列でもよい。
【0051】
ここで、キャッシュは、計算により得られたデータのうち再度使用するデータを記憶装置等に保持若しくは記憶する処理、又は、保持若しくは記憶されたデータ自体を示してもよい。計算により得られたデータのうち再度使用するデータを記憶装置等に保持又は記憶する処理を実行することを、キャッシュすると表現してもよい。再度使用するデータは、高速な記憶装置に保持又は記憶されてもよい。キーバリューキャッシュは、キーベクトル及びバリューベクトルを記憶する処理を含んでもよく、記憶されたキーベクトル及びバリューベクトルを含んでもよい。キャッシュされたデータは、所定のタイミング(再度の使用が終了した後等)に消去されてもよい。
【0052】
第1推論部120は、推論要求に含まれる候補情報に基づいて、モデル入力情報を生成してもよい。第1推論部120は、モデル入力情報を機械学習モデルMに入力してもよい。第1推論部120は、モデル入力情報を機械学習モデルMに入力することで、機械学習モデルMを用いた1回の推論処理を実行し、当該推論処理により計算された中間データを取得してもよい。
【0053】
機械学習モデルMを用いた推論処理は、推論結果(言い替えると、機械学習モデルMからの出力情報)を取得することを直接の目的としない処理を示してもよい。第1推論部120が実行する推論処理は、中間データの計算に利用されるため、推論処理により得られた推論結果は破棄してもよい。また、第1推論部120が実行する推論処理には、候補情報を用いて中間データを算出する処理が含まれていればよく、中間データ算出後の処理は含まれていなくてもよい。機械学習モデルMを用いた推論処理は、一例として、機械学習モデルMを用いたフォワード処理を含んでもよい。
【0054】
第1推論部120は、候補情報そのものをモデル入力情報としてもよい。第1推論部120は、候補情報を加工することで、モデル入力情報を生成してもよい。第1推論部120は、候補情報の一部に基づいて、モデル入力情報を生成してもよい。第1推論部120は、候補情報から一部の情報を抽出することで、モデル入力情報を生成してもよい。
【0055】
第1推論部120は、機械学習モデルMに基づいて、モデル入力情報を生成してもよい。第1推論部120は、他の機械学習モデル(例えば、生成モデル、基盤モデル、ニューラルネットワーク等)に基づいて、モデル入力情報を生成してもよい。他の機械学習モデルは、モデル記憶部101に記憶されてもよい。他の機械学習モデルは、外部の情報処理装置又は情報処理システムに記憶されていてもよい。
【0056】
第1推論部120は、候補情報を所定のテンプレートに埋め込むことで、モデル入力情報を生成してもよい。テンプレートは、候補情報を埋め込む1以上のプレースホルダを含んでもよい。テンプレートは、タスクの実行を指示する指示情報を含んでもよい。テンプレートは、モデル入力情報に関する制約情報を含んでもよい。指示情報及び制約情報は、予め定めた固定文でもよい。
【0057】
テンプレートは、任意のプロンプトチューニング手法により、良好な出力情報が得られるように最適化されていてもよい。テンプレートは、一例として、テンプレートを用いて生成したプロンプトを評価したベンチマークに基づいて、遺伝的アルゴリズム等により最適なテンプレートを探索することで最適化されていてもよい。
【0058】
モデル入力情報は、テキストデータ、画像データ又は音響データを含んでもよい。テキストデータは、一例として、プロンプトと呼ばれる自然言語文でもよい。画像データは、一例として、静止画でもよく、動画でもよい。テキストデータは、音響データ又は動画に記録された音声データを音声認識したテキストデータでもよい。テキストデータは、画像データを文字認識したテキストでもよい。音響データは、音声データでもよい。
【0059】
第1推論部120は、候補情報を入力したときの機械学習モデルMの中間データを状態記憶部102に記憶する。第1推論部120は、中間データそのものを記憶してもよい。第1推論部120は、中間データを特定可能な情報を記憶してもよい。第1推論部120が中間データを特定可能な情報を記憶した場合、中間データを利用するときには、特定可能な情報に基づいて中間データを特定し、特定された中間データを読み出してもよい。
【0060】
第1推論部120は、状態記憶部102以外の記憶装置又は推論装置10以外の情報処理装置に中間データを記憶してもよい。第1推論部120は、中間データを端末装置50に送信することで、端末装置50に中間データを記憶させてもよい。第1推論部120は、外部の記憶装置又は情報処理装置に中間データを記憶させてもよい。
【0061】
第1推論部120は、機械学習モデルMと中間データと候補情報とを紐づけて記憶してもよい。機械学習モデルM、中間データ又は候補情報の少なくとも1つは、それぞれを識別する識別情報を用いて紐づけられてもよい。第1推論部120は、ある情報から他の情報を特定可能な方法であれば、任意の方法で機械学習モデルMと中間データと候補情報とを紐づけてもよい。
【0062】
なお、情報を記憶することは、少なくとも一つのプロセッサが、情報を記憶するために必要な処理の少なくとも一部を実行することを含んでもよい。情報を記憶することは、情報をキャッシュすることを含んでもよい。
【0063】
第1推論部120は、同一の候補情報に対応する中間データが既に状態記憶部102に記憶されている場合、候補情報に対応する中間データを算出しなくてもよい。一例として、同一のタスクを定期または不定期に繰り返し実行する定型タスクを実行する場合、過去に生成した中間データをそのまま利用してもよい。第1推論部120は、1回目のタスクで生成された中間データを2回目以降のタスクで再計算する必要がなくなり、タスクの実行に必要な計算リソースを低減できる。
【0064】
第1推論部120は、機械学習モデルMに推論処理を実行させるとき、キャッシュを用いるか否かを指定してもよい。キャッシュを用いることは、機械学習モデルMがフォワード処理を実行するときに算出するキーベクトル及びバリューベクトルをキャッシュすること含んでもよい。第1推論部120は、キーベクトル及びバリューベクトルをキャッシュするように指定してもよい。
【0065】
第2推論部130は、第1推論部120が算出した中間データを用いて、要求受付部110が受け付けた推論要求に含まれる複数の対象情報それぞれに対して、モデル記憶部101に記憶された機械学習モデルMを用いた1回の推論処理を実行することで、複数の対象情報それぞれに対する出力情報を生成する。第2推論部130は、状態記憶部102に記憶された(キャッシュされた)中間データを読み出し、複数の対象情報のうち1つの対象情報と中間データとを機械学習モデルMに入力することで、当該対象情報に対する出力情報を生成してもよい。第2推論部130は、対象情報と中間データとを機械学習モデルMに入力したときに、機械学習モデルMが出力した出力情報を取得してもよい。第2推論部130は、中間データを用いた推論処理を実行するときに、機械学習モデルMに含まれる各層における演算において、当該層に対応するキャッシュされた中間データを状態記憶部102から読み出して利用してもよい。
【0066】
第2推論部130は、複数の対象情報のうち2以上の対象情報について、並列して出力情報を生成してもよい。以下、2以上の対象情報を並列処理することを「バッチ処理」とも呼び、並列処理する対象情報の数を「バッチサイズ」とも呼ぶ。第2推論部130は、推論装置10が備える1つのGPUに対象情報をバッチ処理させてもよい。第2推論部130は、推論装置10が備える複数のGPUに2以上の対象情報をバッチ処理させてもよい。なお、第1推論部120は、バッチ単位で候補情報を用いた中間データの算出及び状態記憶部102への記憶を実行してもよい。
【0067】
第2推論部130は、複数の対象情報をバッチ処理するとき、状態記憶部102にキャッシュされた中間データをバッチサイズ分だけ複製してGPUに処理させてもよい。第2推論部130は、中間データを必要なときのみ複製してもよい。一例として、第2推論部130は、複数層を有する機械学習モデルMを用いたフォワード処理において、中間データのうち各層で必要となる情報のみを複製してもよい。
【0068】
第2推論部130は、推論要求に含まれる対象情報に基づいて、モデル入力情報を生成してもよい。第2推論部130は、複数の対象情報それぞれに基づいて、複数のモデル入力情報を生成してもよい。第2推論部130は、対象情報を複数のチャンクに分割し、各チャンクについてモデル入力情報を生成してもよい。第2推論部130は、モデル入力情報と中間データとを機械学習モデルMに入力してもよい。
【0069】
第2推論部130は、モデル入力情報と中間データとを機械学習モデルMに入力することで、機械学習モデルMを用いた1回の推論処理を実行し、当該推論処理により生成された出力情報を取得してもよい。第2推論部130は、推論処理中に中間データの一部を再計算してもよい。
【0070】
第2推論部130は、対象情報を入力したときに算出された機械学習モデルMの中間データを記憶しなくてもよい。第2推論部130は、対象情報に対する1回の推論処理の実行過程で算出された中間データを、機械学習モデルMを用いた1回の推論処理より後の推論処理のために記憶しなくてもよい。第2推論部130は、複数の対象情報のうち一部の対象情報に対する1回の推論処理の実行過程で算出された中間データを記憶しない構成でもよい。
【0071】
なお、機械学習モデルMを用いた1回の推論処理より後の推論処理のために中間データを記憶しないことは、少なくとも、後続の推論処理のために中間データをキャッシュしないこと、後続の推論処理のために中間データをキャッシュする命令を実行しないこと、後続の推論処理の実行前に中間データを消去すること、後続の推論処理の実行前に中間データを解放する命令を実行すること、のいずれかを含んでよい。機械学習モデルMを用いた1回の推論処理より後の推論処理のために中間データを記憶しないことは、後の推論処理が実行されることを前提としていなくてもよい。すなわち、後続する推論処理が実行されない設定がされており、1回の推論処理のみが実行される場合であってもよい。
【0072】
第2推論部130は、機械学習モデルMに推論処理を実行させるとき、キャッシュを用いるか否かを指定してもよい。第2推論部130は、状態記憶部102にキャッシュされたキーベクトル及びバリューベクトルを参照するように指定してもよい。第2推論部130は、対象情報に対する推論処理の実行によって算出されるキーベクトル及びバリューベクトルをキャッシュしないように指定してもよい。第2推論部130がキーベクトル及びバリューベクトルをキャッシュしなければ、キーバリューキャッシュのために使用するメモリサイズを抑制できる。その結果、バッチ処理におけるバッチサイズを大きくできるため、バッチ処理の効率化を実現できる。
【0073】
第2推論部130は、対象情報の末尾に固定のトークンを追加してもよい。固定のトークンは、対象情報の終了を意味するトークンでもよく、回答開始を指示するトークンでもよい。
【0074】
本実施形態では、第2推論部130は、各対象情報に対して、状態記憶部102にキャッシュされた中間データ及び機械学習モデルMを用いた1回の推論処理で得られたトークン(例えば、1トークン)を取得してもよい。第2推論部130は、各対象情報に対して、機械学習モデルMを用いた2回目以降の推論処理を実行しなくてもよい。
【0075】
第2推論部130が生成する機械学習モデルMの出力情報は、確率情報を含んでもよい。確率情報は、確率分布でもよいし、ロジットベクトル、確率ベクトル、1以上の確率値でもよい。出力情報は、機械学習モデルMが処理可能なすべてのトークンに関する確率情報を含んでもよい。また、出力情報は、候補情報によって生成が要求されているトークン(選択肢の識別情報、選択肢、数字等に対応するトークン)の確率情報を含み、その他のトークンの確率情報は含まない構成であってもよい。例えば、候補情報が上記例1である場合、出力情報は、選択肢の識別情報である"1"、"2"、"3"の3つのトークンの確率情報を含み、他のトークンの確率情報は含まない構成であってもよい。
【0076】
また、出力情報は、確率情報に基づいて選択されたトークンを含んでもよい。選択されるトークンは、候補情報によって生成が要求されているトークン(選択肢の識別情報、選択肢、数字等に対応するトークン)に予め限定してもよい。例えば、選択肢の識別情報それぞれに対応する複数のトークンのうち、機械学習モデルMが最も高い確率値を示したトークン又は確率分布に基づいて選択されたトークンを、対象情報に対応する出力情報としてもよい。また、対象情報に対応する出力情報は、機械学習モデルMによる推論処理によって出力される情報の少なくとも一部でもよいし、当該出力される情報に基づいて生成される情報でもよい。
【0077】
出力部140は、第2推論部130が生成した出力情報に基づいて、要求受付部110が受け付けた推論要求に対する推論結果を出力する。出力部140は、推論要求に含まれる複数の対象情報それぞれに対する出力情報を含む推論結果を出力してもよい。出力部140は、複数の出力情報を含む推論結果を端末装置50に送信してもよい。出力部140は、複数の出力情報を含む推論結果を推論装置10の表示装置に表示してもよい。推論結果は、第5の情報の一例である。なお、推論結果は、出力情報の少なくとも一部を含んでもよいし、出力情報に基づいて生成された情報でもよい。推論結果は、出力情報と同じ情報であってもよい。
【0078】
出力部140は、複数の対象情報それぞれについて、最も高い確率値を示したトークン又は確率分布に基づいて選択されたトークンを推論結果に含めてもよい。出力部140は、複数の対象情報それぞれの出力情報に含まれる確率情報に基づいて、推論結果に含める情報を決定してもよい。出力部140は、複数の対象情報それぞれについて、候補情報によって生成が要求されているトークン(選択肢の識別情報、選択肢、数字等に対応するトークン)とこのトークンの確率値とを推論結果に含めてもよい。出力部140は、出力情報に含まれる確率情報に基づいて計算した値を確率値として推論結果に含めてもよい。一例として、出力部140は、選択肢の識別情報に対応するトークンの確率値の総和が1となるように、各確率値を正規化してもよい。なお、第2推論部130が、正規化後の確率値を含む出力情報を生成する構成であってもよい。
【0079】
出力部140は、推論要求に含まれる複数の対象情報から推論結果に含める対象情報を抽出してもよい。出力部140は、複数の対象情報それぞれの出力情報に基づいて、推論結果に含める対象情報を抽出してもよい。一例として、出力部140は、複数の対象情報それぞれの出力情報に含まれる確率値と予め定めた閾値とを比較することで、推論結果に含める対象情報を抽出してもよい。出力部140は、複数の対象情報と確率情報とを端末装置50に送信し、端末装置50に対象情報を抽出させてもよい。
【0080】
出力部140が候補情報によって生成が要求されているトークン(選択肢の識別情報、選択肢、数字等に対応するトークン)の確率情報のみを取得するために、機械学習モデルMは、最終層において候補情報によって生成が要求されているトークンの確率情報のみを計算するように構成されてもよい。一例として、本実施形態に係る機械学習モデルMの最終層は、選択肢の識別情報に対応するトークン数×チャネル数の行列で構成されてもよい。
【0081】
従来の大規模言語モデルの最終層は、すべてのトークン数×チャネル数の行列で構成されている。一例として、従来の大規模言語モデルは5万程度のトークンを出力するものもあるため、出力情報の計算に要する計算量及び出力情報のデータ量が膨大になる。本実施形態によれば、機械学習モデルMが出力対象とするトークン数を候補情報に基づいて限定することができるため、機械学習モデルMの計算量及び出力情報の転送量を低減できる。また、本実施形態によれば、すべてのトークンの確率情報を出力しないため、機械学習モデルMの蒸留が困難となり、機械学習モデルMを保護できる。さらに、本実施形態によれば、候補情報によって生成が要求されているトークン(選択肢の識別情報、選択肢、数字等に対応するトークン)の確率情報のみを用いて選択肢等を決定することができるため、分類の精度を向上させることができる。
【0082】
<プロンプト>
モデル入力情報の一例であるプロンプトについて、
図3を参照しながら説明する。
図3は、第1実施形態に係る推論要求の一例を示す図である。
【0083】
図3に示されるように、推論要求300は、候補情報310及び対象情報320を含んでもよい。候補情報310は、質問情報311及び選択肢情報312を含んでもよい。質問情報311は、質問の内容を示す情報(「以下の文章について、印象を判断してください。」)を含んでもよい。選択肢情報312は、選択肢の識別情報(1、2、3)及び選択肢の内容(好印象、悪印象、どちらでもない)を含んでもよい。
【0084】
対象情報320は、複数の対象情報(「このお店行ったけど最悪だった」、「この本面白かった」)を含んでもよい。
図3に示す対象情報320は、改行記号又はかぎ括弧により対象情報間の境界を示しているが、一例として、カンマ、コロン、セミコロン等を含む任意の記号により対象情報間の境界が示されてもよい。かぎ括弧は、対象情報に含めなくてもよい。
【0085】
第1推論部120は、推論要求300のうち、候補情報310を取得し、機械学習モデルMに入力するプロンプトを生成してもよい。第2推論部130は、推論要求300のうち、対象情報320のいずれか1つを取得し、機械学習モデルMに入力するプロンプトを生成してもよい。
【0086】
<推論処理>
比較例に係る推論処理と本実施形態に係る推論処理との相違について、
図4及び
図5を参照しながら説明する。
図4は、比較例に係る推論処理の一例を説明するための図である。
図5は、第1実施形態に係る推論処理の一例を説明するための図である。
【0087】
図4及び
図5は、機械学習モデルMに含まれるトランスフォーマーによるフォワード処理を模式的に表している。
図4及び
図5には、機械学習モデルMに含まれるトランスフォーマーの層、処理、データ等の一部が例示されている。機械学習モデルMは、
図4又は
図5に示されていない層、処理、データ等の構造を含んでもよい。
【0088】
図4に示されるように、比較例に係る推論処理では、複数のトークンx
1,・・・,x
nを含む入力情報が入力されると、入力情報x
1,・・・,x
nを用いたフォワード処理が実行される。第1層は、各トークンx
1,・・・,x
nに対応するクエリベクトルq
1
1,・・・,q
1
n、キーベクトルk
1
1,・・・,k
1
n、バリューベクトルv
1
1,・・・,v
1
nを算出し、それらを用いて隠れベクトルh
1
1,・・・,h
1
nを出力する。第1層から出力された隠れベクトルh
1
1,・・・,h
1
nは、第2層に入力される。第2層は、隠れベクトルh
1
1,・・・,h
1
nに対応するクエリベクトルq
2
1,・・・,q
2
n、キーベクトルk
2
1,・・・,k
2
n、バリューベクトルv
2
1,・・・,v
2
nを算出し、それらを用いて隠れベクトルh
2
1,・・・,h
2
nを出力する。トランスフォーマーは、各層において同様の処理を繰り返し実行し、トークンx
1,・・・,x
nに対する次のトークンx′
2,・・・,x′
n+1を出力する。このとき、トランスフォーマーは、各層で算出されたキーベクトルk
1
1,・・・,k
2
1,・・・及びバリューベクトルv
1
1,・・・,v
2
1,・・・をキャッシュする(一点鎖線)。
【0089】
入力情報x1,・・・,xnを用いた推論処理が完了すると、次のトークンxn+1を用いた推論処理が実行される。第1層は、トークンxn+1に対応するクエリベクトルq1
n+1、キーベクトルk1
n+1、バリューベクトルv1
n+1を算出し、クエリベクトルq1
n+1、キーベクトルk1
1,・・・,k1
n+1及びバリューベクトルv1
1,・・・,v1
n+1を用いて隠れベクトルh1
n+1を出力する。第1層から出力された隠れベクトルh1
n+1は、第2層に入力される。第2層は、隠れベクトルh1
n+1に対応するクエリベクトルq2
n+1、キーベクトルk2
n+1、バリューベクトルv2
n+1を算出し、クエリベクトルq2
n+1、キーベクトルk2
1,・・・,k2
n+1及びバリューベクトルv2
1,・・・,v2
n+1を用いて隠れベクトルh2
n+1を出力する。トランスフォーマーは、各層において同様の処理を繰り返し実行し、トークンxn+1に対する次のトークンx′n+2を出力する。このとき、トランスフォーマーは、各層で算出されたキーベクトルk1
n+1,k2
n+1,・・・及びバリューベクトルv1
n+1,v2
n+1,・・・をキャッシュする(一点鎖線)。
【0090】
このようにして、比較例に係る推論処理では、トランスフォーマーの各層において、最新のトークンに対応するクエリベクトル、キーベクトル、バリューベクトルと、キャッシュされた過去のすべてのトークンに対応するキーベクトル、バリューベクトルとを用いて、入力されたトークンに対する次のトークンを推論する。そのため、各層で算出されたキーベクトル及びバリューベクトルは、後のフォワード処理で利用するためにキャッシュされる。キーバリューキャッシュにより、機械学習モデルMは、過去に計算したキーベクトル及びバリューベクトルを再利用でき、推論処理を高速に実行できる。
【0091】
図5に示されるように、本実施形態に係る推論処理では、複数のトークンx
1,・・・,x
nを含む候補情報が入力されると、候補情報x
1,・・・,x
nを用いたフォワード処理が実行される。第1層は、各トークンx
1,・・・,x
nに対応するクエリベクトルq
1
x1,・・・,q
1
xn、キーベクトルk
1
x1,・・・,k
1
xn、バリューベクトルv
1
x1,・・・,v
1
xnを算出し、それらを用いて隠れベクトルh
1
x1,・・・,h
1
xnを出力する。第1層から出力された隠れベクトルh
1
x1,・・・,h
1
xnは、第2層に入力される。第2層は、隠れベクトルh
1
x1,・・・,h
1
xnに対応するクエリベクトルq
2
x1,・・・,q
2
xn、キーベクトルk
2
x1,・・・,k
2
xn、バリューベクトルv
2
x1,・・・,v
2
xnを算出し、それらを用いて隠れベクトルh
2
x1,・・・,h
2
xnを出力する。トランスフォーマーは、各層において同様の処理を繰り返し実行し、トークンx
1,・・・,x
nに対する次のトークンx′
2,x′
3,・・・,x′
n+1を出力する。このとき、トランスフォーマーは、各層で算出されたキーベクトルk
1
x1,・・・,k
2
x1,・・・及びバリューベクトルv
1
x1,・・・,v
2
x1,・・・をキャッシュする(一点鎖線)。
【0092】
候補情報x1,・・・,xnを用いた推論処理が完了すると、複数のトークンy1,・・・,ymを含む対象情報1及び複数のトークンz1,・・・,zkを含む対象情報2に対するバッチ処理が実行される。ここで、本実施形態に係る推論処理では、候補情報に対する推論処理で算出され、状態記憶部102にキャッシュされた各層のキーベクトルk1
x1,・・・,k2
x1,・・・及びバリューベクトルv1
x1,・・・,v2
x1,・・・を用いて、対象情報1及び対象情報2に対する推論処理を実行する。対象情報1を用いた推論処理では、第1層は、各トークンy1,・・・,ymに対応するクエリベクトルq1
y1,・・・,q1
ym、キーベクトルk1
y1,・・・,k1
ym、バリューベクトルv1
y1,・・・,v1
ymを算出し、クエリベクトルq1
y1,・・・,q1
ym、キーベクトルk1
x1,・・・,k1
xn,k1
y1,・・・,k1
ym及びバリューベクトルv1
x1,・・・,v1
xn,v1
y1,・・・,v1
ymを用いて隠れベクトルh1
y1,・・・,h1
ymを出力する。第1層から出力された隠れベクトルh1
y1,・・・,h1
ymは、第2層に入力される。第2層は、隠れベクトルh1
y1,・・・,h1
ymに対応するクエリベクトルq2
y1,・・・,q2
ym、キーベクトルk2
y1,・・・,k2
ym、バリューベクトルv2
y1,・・・,v2
ymを算出し、クエリベクトルq2
y1,・・・,q2
ym、キーベクトルk2
x1,・・・,k2
xn,k2
y1,・・・,k2
ym及びバリューベクトルv2
x1,・・・,v2
xn,v2
y1,・・・,v2
ymを用いて隠れベクトルh2
y1,・・・,h2
ymを出力する。トランスフォーマーは、各層において同様の処理を繰り返し実行し、対象情報y1,・・・,ymに対する出力情報y′m+1を出力する。
【0093】
このとき、トランスフォーマーは、各層で算出されたキーベクトルk1
y1,・・・,k1
ym,k2
y1,・・・,k2
ym及びバリューベクトルv1
y1,・・・,v1
ym,v2
y1,・・・,v2
ymをキャッシュしなくてもよい。トランスフォーマーは、対象情報y1,・・・,ymを用いた推論処理が完了したときに、キーベクトルk1
y1,・・・,k1
ym,k2
y1,・・・,k2
ym及びバリューベクトルv1
y1,・・・,v1
ym,v2
y1,・・・,v2
ymをメモリから消去してもよい。トランスフォーマーは、キーベクトルk1
y1,・・・,k1
ym,k2
y1,・・・,k2
ym及びバリューベクトルv1
y1,・・・,v1
ym,v2
y1,・・・,v2
ymを後続の推論処理のためにキャッシュするという命令を実行しなくてもよい。トランスフォーマーは、キーベクトルk1
y1,・・・,k1
ym,k2
y1,・・・,k2
ym及びバリューベクトルv1
y1,・・・,v1
ym,v2
y1,・・・,v2
ymを後続の推論処理のためにキャッシュしないという命令を実行してもよい。なお、隠れベクトルh1
y1,・・・,h1
ymが算出された後であって、出力情報y′m+1が算出される前に、クエリベクトルq1
y1,・・・,q1
ym、キーベクトルk1
y1,・・・,k1
ym及びバリューベクトルv1
y1,・・・,v1
ymをメモリから消去してもよい。同様に、隠れベクトルh2
y1,・・・,h2
ymが算出された後であって、出力情報y′m+1が算出される前に、クエリベクトルq2
y1,・・・,q2
ym、キーベクトルk2
y1,・・・,k2
ym及びバリューベクトルv2
y1,・・・,v2
ymをメモリから消去してもよい。
【0094】
対象情報2を用いた推論処理は、対象情報1を用いた推論処理と同様に実行される。すなわち、第1層は、各トークンz1,・・・,zkに対応するクエリベクトルq1
z1,・・・,q1
zk、キーベクトルk1
z1,・・・,k1
zk、バリューベクトルv1
z1,・・・,v1
zkを算出し、クエリベクトルq1
z1,・・・,q1
zk、キーベクトルk1
x1,・・・,k1
xn,k1
z1,・・・,k1
zk、バリューベクトルv1
x1,・・・,v1
xn,v1
z1,・・・,v1
zkを用いて隠れベクトルh1
z1,・・・,h1
zkを出力する。第1層から出力された隠れベクトルh1
z1,・・・,h1
zkは、第2層に入力される。第2層は、隠れベクトルh1
z1,・・・,h1
zkに対応するクエリベクトルq2
z1,・・・,q2
zk、キーベクトルk2
z1,・・・,k2
zk、バリューベクトルv2
z1,・・・,v2
zkを算出し、クエリベクトルq2
z1,・・・,q2
zk、キーベクトルk2
x1,・・・,k2
xn,k2
z1,・・・,k2
zk、バリューベクトルv2
x1,・・・,v2
xn,v2
z1,・・・,v2
zkを用いて隠れベクトルh2
z1,・・・,h2
zkを出力する。トランスフォーマーは、各層において同様の処理を繰り返し実行し、対象情報z1,・・・,zkに対する出力情報z′k+1を出力する。このとき、トランスフォーマーは、各層で算出されたk1
z1,・・・,k1
zk,k2
z1,・・・,k2
zk及びバリューベクトルv1
z1,・・・,v1
zk,v2
z1,・・・,v2
zkをキャッシュしなくてもよい。なお、隠れベクトルh1
z1,・・・,h1
zkが算出された後であって、出力情報z′k+1が算出される前に、クエリベクトルq1
z1,・・・,q1
zk、キーベクトルk1
z1,・・・,k1
zm及びバリューベクトルv1
z1,・・・,v1
zmをメモリから消去してもよい。同様に、隠れベクトルh2
z1,・・・,h2
zkが算出された後であって、出力情報z′k+1が算出される前に、クエリベクトルq2
z1,・・・,q2
zk、キーベクトルk2
z1,・・・,k2
zk及びバリューベクトルv2
z1,・・・,v2
zkをメモリから消去してもよい。
【0095】
本実施形態では、候補情報に対応するキーベクトル及びバリューベクトルをキャッシュし、各対象情報に対する推論処理で共有するため、対象情報に対する推論処理では候補情報に対応するキーベクトル及びバリューベクトルの計算を省略できる。また、対象情報に対する推論処理では、各対象情報に対応するクエリベクトル、キーベクトル及びバリューベクトルを後続の推論処理のためにキャッシュする必要がないため、対象情報に対する推論処理に必要なメモリ使用量を低減できる。また、メモリ使用量が低減すると、要求されるメモリバンド幅を低くできるため、既存のGPU等であっても容易に最適化できる。
【0096】
<ユーザインタフェース>
推論装置10が提供するユーザインタフェースについて、
図6及び
図7を参照しながら説明する。推論装置10のユーザインタフェースは、一例として、推論装置10又は端末装置50の表示装置に表示される。本実施形態では、各画面が端末装置50の表示装置に表示される例を説明する。
【0097】
推論装置10のユーザインタフェースは、一例として、入力画面及び出力画面を含んでよい。入力画面は、候補情報及び対象情報を入力するための画面である。出力画面は、対象情報に対する推論結果を表示するための画面である。
【0098】
≪入力画面≫
図6は、第1実施形態に係る入力画面の一例を示す図である。
図6に示されるように、入力画面400は、質問入力部401、選択肢入力部402、選択肢追加ボタン403、入力情報表示部404、及び対象情報入力部405を有してもよい。
【0099】
質問入力部401は、候補情報に含める質問の入力を受け付ける。質問入力部401は、情報処理システム1000により自動的に入力されてもよく、情報処理システム1000の利用者が入力又は編集してもよい。
【0100】
選択肢入力部402は、候補情報に含める選択肢の入力を受け付ける。選択肢入力部402は、識別情報入力部411及び説明入力部412を有してもよい。識別情報入力部411は、選択肢の識別情報の入力を受け付ける。識別情報入力部411は、予め定められた識別情報の一覧からの識別情報の選択を受け付けてもよい。
【0101】
選択肢入力部402は、候補情報を取得するための情報の一例である。候補情報を取得するための情報は、候補情報を直接取得するための情報を含んでもよく、候補情報を取得するために必要な情報を取得するための情報を含んでもよい。
【0102】
説明入力部412は、選択肢の説明(選択肢の内容を含む)の入力を受け付ける。選択肢入力部402は、情報処理システム1000により自動的に入力されてもよく、情報処理システム1000の利用者が入力又は編集してもよい。一例として、説明入力部412に利用者が入力すると、識別情報入力部411に識別情報が自動的に入力されてもよい。なお、選択肢の識別情報が情報処理システムに1000によって自動的に付与される場合、選択肢の識別情報は入力画面400に表示されない構成であってもよい。第1推論部120は、付与された選択肢の識別情報を用いて、当該識別情報を含む候補情報を生成してもよい。
【0103】
識別情報入力部411は、数字(1~10等)、文字(A~Z、a~z等)、記号等を入力可能としてよい。識別情報入力部411は、自動的に入力する場合、機械学習モデルMを用いた1回の推論処理で生成可能な情報(例えば、1トークン)を用いて表すことができる情報から識別情報を選択してもよい。識別情報入力部411は、利用者が識別情報を入力する場合、入力された識別情報が1回の推論処理で生成可能なトークンであるか否かを判定してもよい。一例として、識別情報入力部411は、任意のトークナイザを用いて、利用者により入力された識別情報が1回の推論処理で生成可能か否かを判定してもよい。
【0104】
識別情報入力部411は、識別情報が1回の推論処理で生成可能か否かを判定し、その判定結果を利用者に通知してもよい。一例として、識別情報が1回の推論処理で生成可能なトークン(例えば、1トークン)で表せない場合、入力画面400は、識別情報を設定できない旨を通知してもよい。識別情報を設定できない旨の通知は、一例として、エラーメッセージをポップアップしてもよく、ビープ音を出力してもよい。
【0105】
なお、選択肢入力部402は、利用者から、機械学習モデルMを用いた1回の推論処理で生成可能な情報(例えば、1トークン)を用いて表すことができる選択肢を受け付けてもよい。この場合、選択肢入力部402は、識別情報入力部411を介して識別情報を取得しなくてもよい。また、受け付けた選択肢が1回の推論処理で生成可能な情報で表せない場合は、その旨を利用者に通知してもよい。
【0106】
選択肢追加ボタン403は、選択肢入力部402に新たな選択肢を追加するボタンである。利用者が選択肢追加ボタン403を押下すると、選択肢入力部402に識別情報入力部411及び説明入力部412が追加される。追加された識別情報入力部411には、既存の識別情報入力部411と重複しない識別情報が自動的に入力されてもよい。なお、入力画面400は、選択肢入力部402に含まれる選択肢を削除するための削除ボタンを有してもよい。
【0107】
入力画面400は、質問入力部401、選択肢入力部402及び選択肢追加ボタン403を備えることで、質問及び選択肢をオンデマンドに変更できる。そのため、利用者は、入力画面400を介して、任意のタスクを適時に利用できる。
【0108】
図6に示した選択肢入力部402は、2つの選択肢を含んでいるが、3つ以上の選択肢を含んでもよい。また、選択肢入力部402には、相反する内容の選択肢(食品に関連する、食品に関連しない)が示されているが、選択肢は相反する内容でなくともよい。
【0109】
入力情報表示部404は、モデル入力情報を表示する。入力情報表示部404は、質問入力部401及び選択肢入力部402に入力された情報に基づいて、自動的にモデル入力情報を生成してもよい。入力画面400は、入力情報表示部404に表示するモデル入力情報を生成するためのボタンを有してもよい。入力情報表示部404は、テキストエディタ等により、利用者が編集可能な態様でモデル入力情報を表示してもよい。
【0110】
入力情報表示部404は、参考回答情報413を含んでもよい。参考回答情報413は、対象情報と回答例の組み合わせを含んでもよい。参考回答情報413は、複数組の対象情報と回答例の組み合わせを含んでもよい。参考回答情報413は、利用者からの情報に基づいて生成されてもよいし、質問入力部401及び選択肢入力部402に入力された情報に基づいて生成されてもよい。参考回答情報413は、機械学習モデルM又は他の機械学習モデルに基づいて生成されてもよい。
【0111】
入力情報表示部404は、プレースホルダ414を含んでもよい。プレースホルダ414は、対象情報を埋め込むためのプレースホルダ({{query}})を含んでもよい。プレースホルダ414は、回答開始を指示する情報(例えば、「回答」等)を含んでもよい。回答開始を指示する情報は、予め定められた固定文でもよい。回答開始を指示する情報は、省略してもよい。一例として、
図6に示したプレースホルダ414は、プレースホルダ({{query}})のみでもよい。
【0112】
対象情報入力部405は、対象情報の入力を受け付ける。対象情報入力部405は、複数の対象情報の入力を受け付けてもよい。対象情報入力部405は、利用者が入力又は編集してもよい。なお、
図6の対象情報入力部405には、X,Y,Zでマスクされた対象情報が示されているが、自然言語文等で記述されたテキストが入力されてもよい。
【0113】
対象情報入力部405は、対象情報が記述された電子ファイルの入力を受け付けてもよい。一例として、対象情報入力部405は、利用者が電子ファイルをドラッグアンドドロップする操作等により対象情報の入力を受け付けてもよい。
【0114】
電子ファイルは、所定のファイル形式で記録されたものでもよい。所定のファイル形式は、一例として、テキストファイル、イメージファイル、ビデオファイル、オーディオファイル、表計算ファイル、プレゼンテーションファイル、PDF(Portable Document Format)ファイル等を含んでもよい。
【0115】
電子ファイルは、所定の書式で対象情報が記述されてもよい。所定の書式は、一例として、CSV(Comma Separated Value)形式、マークダウン記法、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、JSON(JavaScript Object Notation)形式、JSONL(JSON Lines)形式等を含んでもよい。対象情報をCSV形式で記述する場合、電子ファイルの1行目にカラム名(例えば、「文章」等)、2行目以降に対象情報を記述してもよい。対象情報をJSON形式又はJSONL形式で記述する場合、対象情報を配列として記述してもよい。
【0116】
電子ファイルは、複数のカラムを含んでもよい。一例として、翻訳結果を評価するタスクを行う場合、第1の言語で記述された文章を示すカラムと、第2の言語で記述された文章を示すカラムとを含んでもよい。翻訳結果を評価するタスクの各対象情報は、下記のように記述されてもよい。下記の例において、{en}は英語で記述された文章を埋め込むプレースホルダであり、{ja}は日本語で記述された文章を埋め込むプレースホルダである。
・例1:
"English: {en}
Japanese: {ja}
Grade:"
【0117】
対象情報入力部405には、外部のデータソースから検索された情報が入力されてもよい。外部のデータソースは、一例として、ソーシャルネットワーキングサービス、検索エンジン、データベース、ウェブサイト等を含んでもよい。外部のデータソースは、複数のデータソースを含んでもよい。
【0118】
対象情報入力部405は、対象情報を取得するための情報の一例である。対象情報を取得するための情報は、対象情報を直接取得するための情報を含んでもよく、対象情報をするために必要な情報を取得するための情報を含んでもよい。
【0119】
入力情報表示部404にモデル入力情報が表示されているときに、対象情報入力部405に対象情報が入力されると、入力画面400は、対象情報入力部405に入力された対象情報をプレースホルダ414に埋め込むことでモデル入力情報を生成し、推論要求として推論装置10に送信してもよい。入力画面400は、推論要求を送信するためのボタンを有してもよい。
【0120】
なお、
図6では、入力情報表示部404のうち、プレースホルダ414を除いた部分が、推論要求に含まれる候補情報に相当する。したがって、推論装置10の第1推論部120は、入力情報表示部404のうちプレースホルダ414を除いた部分を機械学習モデルMに入力することで、中間データ(キーバリューキャッシュ)を算出してもよい。また、推論装置10の第2推論部130は、対象情報入力部405に入力された複数の対象情報をバッチ処理することで、複数の対象情報それぞれに対する出力情報を生成してもよい。このとき、第2推論部130は、第1推論部120が生成したキーバリューキャッシュを機械学習モデルMに入力してもよい。
【0121】
≪出力画面≫
図7は、出力画面の一例を示す図である。
図7(A)は、対象情報それぞれについて、選択肢ごとの確率値を表示する出力画面500Aを示している。
図7(B)は、対象情報それぞれについて、最も確率値が高い選択肢を表示する出力画面500Bを示している。
図7(C)は、対象情報それぞれについて、最も確率値が高い選択肢及び当該選択肢の確率値を表示する出力画面500Cを示している。
図7(D)は、対象情報それぞれについて、最も確率値が高い選択肢及び当該選択肢の確率値を、確率値の降順に整列して表示する出力画面500Dを示している。
【0122】
出力画面500に表示される確率値は、選択肢に対応するトークンの確率値のみでもよい。この場合、選択肢以外のトークンの確率値は破棄されてもよい。
図7では、確率値が0以上1以下の数値で表示されているが、他の例として、パーセンテージで表示されてもよいし、選択肢における高低の関係性を把握可能な他の形式で表示されてもよい。
図7では、すべての対象情報について推論結果が表示されているが、一部の対象情報についての推論結果のみが表示されてもよい。一例として、確率値が高い所定数の対象情報のみが表示されてもよい。
【0123】
図7(A)では、選択肢ごとの確率値の総和が1に正規化されているが、総和が異なる値となるように正規化してもよいし、正規化されていなくてもよい。
図7(A)では、すべての選択肢の確率値が表示されているが、一部の選択肢の確率値のみが表示されてもよい。表示する選択肢は、確率値に基づいて選択されてもよい。
図7(D)では、確率値の降順に整列されているが、確率値の昇順に整列されてもよい。
【0124】
図7(A)では、すべての選択肢について確率値が表示されているが、一部の選択肢についてのみ確率値が表示されてもよい。例えば、
図7(A)において、選択肢Aの確率値のみが表示されるようにしてもよい。この場合、選択肢Aの確率値に基づいて、対象情報が降順又は昇順に整列されてもよい。また、選択肢Aの確率値が所定の閾値以上の対象情報のみが表示されてもよい。このとき、選択肢Aの確率値が所定の閾値以上の対象情報が、選択肢Aの確率値に基づいて降順又は昇順に整列されてもよい。また、出力画面500において、確率情報に基づいて選択された選択肢に基づく情報を推論結果として表示してもよい。例えば、選択された選択肢に対応する所定の記号等を推論結果として出力画面500に表示してもよい。また、1つの対象情報に対して複数の分類に関する出力情報が生成された場合は、複数の分類それぞれに対する推論結果を出力画面500に同時に表示してもよい。
【0125】
出力画面500は、推論結果を所定のファイル形式で保存してもよい。所定のファイル形式は、入力画面400に対象情報を入力する電子ファイルと同様でもよい。
【0126】
≪その他の画面≫
推論装置10のユーザインタフェースは、複数の機械学習モデルから所定のタスクを実行させる機械学習モデルを選択する画面を含んでもよい。推論装置10のユーザインタフェースは、選択可能な機械学習モデルに関する設定情報を入力する画面を含んでもよい。
【0127】
<推論処理の流れ>
情報処理システム1000が実行する推論処理について、
図8を参照しながら説明する。
図8は、第1実施形態に係る推論処理の一例を示すフローチャートである。
【0128】
ステップS1において、端末装置50は、入力画面400に対する利用者の操作に応じて、推論要求を推論装置10に送信する。推論要求には、入力画面400に入力された候補情報及び複数の対象情報が含まれる。
【0129】
推論装置10の要求受付部110は、端末装置50から推論要求を受信する。要求受付部110は、受信した推論要求を受け付ける。要求受付部110は、推論要求に含まれる候補情報を第1推論部120に送る。要求受付部110は、推論要求に含まれる複数の対象情報を第2推論部130に送る。
【0130】
ステップS2において、推論装置10の第1推論部120は、要求受付部110から候補情報を受け取る。第1推論部120は、候補情報に基づいて、モデル入力情報を生成する。第1推論部120は、モデル記憶部101から機械学習モデルMを読み出す。第1推論部120は、候補情報に基づくモデル入力情報を機械学習モデルMに入力する。
【0131】
ステップS3において、第1推論部120は、モデル入力情報を機械学習モデルMに入力して推論処理を実行する。ここで、第1推論部120は、候補情報を用いて中間データを算出する。第1推論部120は、算出された中間データを状態記憶部102に記憶する(中間データをキャッシュする)。
【0132】
ステップS4において、推論装置10の第2推論部130は、要求受付部110から複数の対象情報を受け取る。第2推論部130は、複数の対象情報のうち、1つの対象情報を取得する。第2推論部130は、取得した対象情報に基づいて、モデル入力情報を生成する。
【0133】
第2推論部130は、候補情報から算出した中間データを状態記憶部102から読み出す。第2推論部130は、モデル記憶部101から機械学習モデルMを読み出す。第2推論部130は、対象情報に基づくモデル入力情報を機械学習モデルMに入力する。
【0134】
ステップS5において、第2推論部130は、機械学習モデルMを用いた1回の推論処理を実行し、対象情報に対する出力情報を生成する。ここで、第2推論部130は、ステップS4において状態記憶部102から読み出した中間データを用いて推論処理を実行する。第2推論部130は、機械学習モデルMから出力情報を取得する。第2推論部130は、取得した出力情報を出力部140に送る。第2推論部130は、対象情報に対して、当該1回の推論処理に後続する推論処理を実行しなくてもよい。第2推論部130は、対象情報に対する推論処理で算出された中間データを記憶しなくてもよい(中間データをキャッシュしなくてもよい)。限定されない一例として、第2推論部130は、各対象情報に対して1回のみの推論処理を実行するように構成されていてもよい。
【0135】
第2推論部130は、推論要求に含まれる複数の対象情報それぞれについて、ステップS4及びステップS5を実行する。第2推論部130は、ステップS4及びステップS5において、複数の対象情報をバッチ処理してもよい。第2推論部130は、すべての対象情報について出力情報を生成するまで、所定数の対象情報をバッチ処理することを繰り返し実行してもよい。
【0136】
ステップS6において、推論装置10の出力部140は、第2推論部130から対象情報に対する出力情報を受け取る。出力部140は、複数の対象情報それぞれに対する出力情報を受け取ると、出力情報に基づいて推論結果を生成する。出力部140は、生成した推論結果を端末装置50に送信する。
【0137】
端末装置50は、推論装置10から推論結果を受信する。端末装置50は、受信した推論結果に基づいて、出力画面500を生成する。端末装置50は、出力画面500を表示装置に表示する。
【0138】
[第2実施形態]
第1実施形態に係る推論装置10が生成する出力情報は、他のモデルを生成するための学習データとして用いることができる。第2実施形態では、第1実施形態に係る推論装置10が生成する出力情報を用いて、他のモデルを生成する構成を説明する。他のモデルは、線形回帰、ニューラルネットワーク等の機械学習モデルでもよく、その他の数理モデルでもよい。
【0139】
本実施形態では、要求受付部110は、複数の候補情報及び複数の対象情報を含む推論要求を受け付ける。複数の候補情報のうち第1の候補情報は、一例として、第1の評価指標に関する選択肢を含んでもよい。第1の候補情報と異なる第2の候補情報は、一例として、第1の評価指標と異なる第2の評価指標に関する選択肢を含んでもよい。
【0140】
本実施形態では、第1推論部120は、推論要求に含まれる複数の候補情報それぞれについて、中間データを算出する。第2推論部130は、推論要求に含まれる複数の対象情報それぞれについて、第1の候補情報に関する中間データを用いた推論処理と、第2の候補情報に関する中間データを用いた推論処理とをそれぞれ実行する。出力部140は、複数の対象情報それぞれについて、第1の評価指標に関する選択肢の確率値と、第2の評価指標に関する選択肢の確率値とを含む出力情報を出力する。
【0141】
図9は、第2実施形態に係るプロンプトの第1例を示す図である。
図9に示されるように、プロンプト310Aは、対象情報が暴力的か否かを問う質問(「以下の文章は暴力的な表現ですか?」)と、当該質問に対する回答の選択肢(非常に暴力的、暴力的、暴力的でない)とを含んでいる。言い替えると、プロンプト310Aは、対象情報の暴力性を評価する指標に関する選択肢を含むモデル入力情報である。
【0142】
図10は、第2実施形態に係るプロンプトの第2例を示す図である。
図10に示されるように、プロンプト310Bは、対象情報が虚偽か否かを問う質問(「以下の文章は虚偽の内容を含みますか?」)と、当該質問に対する回答の選択肢(はい、いいえ)とを含んでいる。言い替えると、プロンプト310Bは、対象情報の真実性を評価する指標に関する選択肢を含むモデル入力情報である。
【0143】
推論装置10は、出力情報に基づいて、他のモデルを生成してもよい。一例として、他のモデルは、第1の評価指標に関する選択肢の確率値及び第2の評価指標に関する選択肢の確率値を入力として、第3の評価指標に関する選択肢の確率値を出力するモデルでもよい。第3の評価指標に関する選択肢の確率値は、第2の出力情報の一例である。
【0144】
一例として、他のモデルに入力される情報は、下記のような情報を含む。
・非常に暴力的0.40/暴力的0.15/暴力的でない0.45(第1の評価指標)
・はい0.5/いいえ0.5(第2の評価指標)
【0145】
また、他のモデルから出力される情報は、下記のような情報となる。
・好印象0.05/悪印象0.95
【0146】
推論装置10が出力する出力情報に対して、第3の評価指標の正解情報を付与することで、他のモデルの学習データを生成できる。正解情報は、既存の評価結果を取得してもよい。既存の評価結果がない場合、正解情報は、手作業で付与してもよい。正解情報は、所定の規則に従って計算してもよく、他の機械学習モデルを用いて予測してもよい。
【0147】
一例として、正解情報は、次式により計算してもよい。
・「好印象」の確率値=sigmoid(-2.0*「非常に暴力的」の確率値-「暴力的」の確率値+3.0*「暴力的でない」の確率値-「はい」の確率値+「いいえ」の確率値)
・「悪印象」の確率値=1-「好印象」の確率値
【0148】
他のモデルは、一例として、線形回帰モデルでもよい。本実施形態では、推論装置10は各評価指標に関する選択肢の確率値を出力するため、線形回帰モデルを容易に生成できる。ただし、他のモデルは、線形回帰モデルに限定されるものではなく、任意の機械学習モデルを生成してもよい。
【0149】
様々な評価軸で評価可能な指標について評価する場合、評価者は主観に基づいて任意の評価軸で評価できる。そのため、評価者が主観で正解情報を付与すると、安定的に指標を評価可能なモデルを生成できないことがある。本実施形態に係る推論処理によれば、複数の評価軸に対応する複数の中間的な評価結果を取得できるため、様々な評価軸で評価可能な指標であっても安定的に評価可能なモデルを生成できる。
【0150】
なお、本実施形態では、第1の評価指標に関する出力情報と第2の評価指標に関する出力情報とを別々の推論処理で生成したが、複数の評価指標に関する出力情報を1回の推論処理で生成してもよい。1回の推論処理で複数の評価指標に関する出力情報を生成する構成は、第4実施形態で説明する。
【0151】
[第3実施形態]
第1実施形態に係る推論処理は、検索拡張生成(RAG: Retrieval Augmented Generation)と呼ばれる技術に適用できる。検索拡張生成は、大規模言語モデルから良好な出力結果を得るために、所定のデータソースを検索して得た参照情報をプロンプトに含める技術である。
【0152】
検索拡張生成では、タスクの実行を指示する指示情報に基づいて所定のデータソースから参照情報を検索し、指示情報及び参照情報の検索結果を含むプロンプトを大規模言語モデルに入力する。大規模言語モデルは、学習データに含まれていない参照情報を考慮しながらタスクを実行するため、指示情報に対して適切なデータを生成できる。
【0153】
検索拡張生成においては、プロンプトに含める参照情報が指示情報に対して適切であるほど良好なデータを生成できる。しかしながら、データソースの検索精度は、例えばクエリ、検索条件、データソースの種類、検索方式等により大きく異なる。
【0154】
本実施形態は、検索拡張生成の枠組みにおいて、第1実施形態に係る推論処理を用いて参照情報が適切であるか否かを評価する。参照情報の検索結果のうち適切と評価された参照情報を選択してプロンプトに含めることで、利用者が入力した指示情報に対して適切なデータを生成できる。
【0155】
<情報処理システムの全体構成>
本実施形態における情報処理システムの全体構成について、
図11を参照しながら説明する。
図11は、第3実施形態に係る情報処理システムの全体構成の一例を示すブロック図である。
【0156】
図11に示されるように、情報処理システム1000は、生成装置20、検索装置30及び端末装置50を含む。生成装置20、検索装置30及び端末装置50は、LAN(Local Area Network)、インターネット等の通信ネットワークを介して相互にデータ通信可能に接続されていてもよい。
【0157】
生成装置20は、端末装置50からの生成要求に応じて、所定のデータを生成する生成タスクを実行するパーソナルコンピュータ、ワークステーション、サーバ等の情報処理装置の一例である。生成装置20は、端末装置50から生成要求を受信してもよい。生成装置20は、生成要求に対する生成結果を端末装置50に送信してもよい。
【0158】
生成要求は、所定のデータの生成を要求する情報又は信号である。生成要求は、利用者により入力された情報、及び利用者により設定された検索条件を含んでもよい。以下、利用者により入力された情報を「利用者入力情報」とも呼ぶ。
【0159】
生成装置20は、端末装置50から受信した生成要求に基づいて、検索装置30から参照情報の検索結果を取得してもよい。生成装置20は、生成要求に基づいて、検索要求を検索装置30に送信してもよい。
【0160】
検索要求は、参照情報の検索を要求する情報又は信号である。検索要求は、一例として、クエリ及び検索条件を含んでもよい。クエリは、生成要求に含まれる利用者入力情報を含んでもよい。クエリは、利用者入力情報に基づいて生成されてもよい。検索条件は、生成要求に含まれる検索条件を含んでもよい。検索条件は、利用者入力情報に基づいて決定されてもよい。
【0161】
生成装置20は、検索装置30から取得した参照情報の検索結果に基づいて、モデル入力情報を生成してもよい。生成装置20は、モデル入力情報を機械学習モデルMに入力することで検索結果に含まれる参照情報それぞれに対する出力情報を生成してもよい。生成装置20は、複数の参照情報それぞれに対する出力情報に基づいて、生成要求に対する出力情報の生成に用いる1以上の参照情報を選択してもよい。
【0162】
生成装置20は、利用者入力情報及び選択した1以上の参照情報に基づいて、モデル入力情報を生成してもよい。生成装置20は、モデル入力情報を機械学習モデルMに入力することで、生成要求に対する出力情報を生成してもよい。生成装置20は、モデル入力情報を他の機械学習モデルに入力することで、生成要求に対する出力情報を生成してもよい。生成要求に対する出力情報は、第3の出力情報の一例である。生成装置20は、生成要求に対する出力情報に基づいて、生成要求に対する生成結果を端末装置50に送信してもよい。
【0163】
検索装置30は、生成装置20からの検索要求に応じて、参照情報を検索するパーソナルコンピュータ、ワークステーション、サーバ等の情報処理装置の一例である。検索装置30は、様々な参照情報を記憶するデータソースDを備えてもよい。データソースDは、一例として、参照情報が格納された記憶装置又はデータベースでもよい。データソースDは、外部の記憶装置、情報処理装置又は情報処理システムが備えてもよい。
【0164】
検索装置30は、異なるデータソースDを備える複数の装置又はシステムで実現されてもよい。検索装置30は、複数のデータソースDを備える1つの装置又はシステムで実現されてもよい。検索装置30は、外部の装置又はシステムでもよい。検索装置30は、外部のデータソースDから参照情報を検索してもよい。
【0165】
データソースDは、生成装置20に内蔵されてもよい。データソースDは、複数の装置からなる外部の情報処理システムに分散して保有されてもよい。この場合、情報処理システム1000は、検索装置30を含まなくてもよい。
【0166】
生成装置20、検索装置30及び端末装置50の1つ以上が、情報処理システム1000に複数台含まれていてもよい。生成装置20又は検索装置30は、複数台のコンピュータにより実現してもよいし、クラウドコンピューティングのサービスとして実現してもよい。
図11に示す生成装置20、検索装置30、端末装置50のような装置の区分は一例である。
【0167】
<生成装置の機能構成>
生成装置20の機能構成について、
図12を参照しながら説明する。
図12は、第3実施形態に係る生成装置の機能構成の一例を示すブロック図である。
【0168】
図12に示されるように、生成装置20は、モデル記憶部101、状態記憶部102、要求受付部110、第1推論部120、第2推論部130、出力部140、検索部210、選択部220及び生成部230を備える。生成装置20は、第1実施形態に係る推論装置10と比較すると、検索部210、選択部220及び生成部230をさらに備える点が異なる。
【0169】
以下、本実施形態に係る生成装置20について、第1実施形態に係る推論装置10との相違点を中心に説明する。
【0170】
本実施形態では、要求受付部110は、生成要求を受け付ける。生成要求は、利用者入力情報及び検索条件を含んでもよい。利用者入力情報及び検索条件は、利用者が端末装置50に入力してもよく、生成装置20又は端末装置50が自動的に生成してもよい。
【0171】
利用者入力情報は、クエリに含める検索語を含んでもよい。利用者入力情報は、利用者が所望する情報を特定可能な情報を含んでもよい。利用者入力情報は、利用者が所望する情報を記述した1以上の自然言語文を含んでもよい。利用者入力情報は、一例として、「会社Aに関する概要を教えてください」又は「最近の生成AI(Artificial Intelligence)に関するニュースの要約を作成してください」といった指示、質問等でもよい。
【0172】
利用者入力情報は、テキストデータ、構造化データ、画像データ又は音響データを含んでよい。画像データは、一例として、静止画でもよく、動画でもよい。テキストデータは、音響データ又は動画を音声認識したテキストデータでもよい。テキストデータは、画像データを文字認識したテキストでもよい。音響データは、テキストデータを音声合成した音声データでもよい。構造化データは、一例として、表又はグラフでもよい。
【0173】
検索条件は、一例として、検索対象とするデータソースを示す情報、データソースの種類、作成日の時間範囲、検索対象とする参照情報の属性情報、又は検索結果に含める件数の少なくとも1つを含んでもよい。
【0174】
データソースを示す情報は、データソースを特定可能な情報でもよい。データソースを特定可能な情報は、一例として、データソースを識別する識別情報でもよく、データソースの位置を示す情報(例えば、ホスト名、IP(Internet Protocol)アドレス、接続文字列、URL(Uniform Resource Locator)等)でもよい。
【0175】
検索部210は、要求受付部110が受け付けた生成要求に基づいて、参照情報を検索する。検索部210は、一例として、生成要求に含まれる利用者入力情報を含む検索要求を検索装置30に送信してもよい。検索部210は、検索装置30が検索要求に応じて送信した検索結果を受信してもよい。検索結果には、検索要求に示された検索条件に合致する複数の参照情報が含まれてもよい。
【0176】
検索要求は、クエリ及び検索条件の少なくとも1つを含んでもよい。クエリは、生成要求に含まれる利用者入力情報に基づいて生成されてもよい。一例として、クエリは、利用者入力情報に含まれるキーワードを含んでもよい。検索条件は、生成要求に含まれる検索条件を含んでもよい。検索条件は、予め定めた検索条件を含んでもよい。検索条件は、生成要求に含まれる利用者入力情報に基づいて決定されてもよい。
【0177】
検索部210は、検索条件に示された複数のデータソースから参照情報を検索してもよい。検索部210は、検索条件に示された件数の参照情報を検索結果に含めてもよい。検索部210は、所定の件数の参照情報を検索結果に含めてもよい。検索部210は、機械学習モデルMに入力可能なデータ量に応じて、検索結果に含める参照情報の件数を設定してもよい。参照情報の件数は、一例として、10000でもよい。
【0178】
本実施形態では、第1推論部120は、要求受付部110が受け付けた生成要求に基づいて、候補情報を生成する。第1推論部120は、生成要求に含まれる利用者入力情報に基づいて、候補情報を生成してもよい。
【0179】
候補情報は、一例として、検索部210が取得した参照情報が、利用者入力情報に対して適切か否かを問う質問を含んでもよい。候補情報は、一例として、参照情報の適切さを評価する指標に関する選択肢を含んでもよい。
【0180】
本実施形態では、第2推論部130は、第1推論部120が算出した中間データと、モデル記憶部101に記憶された機械学習モデルMとに基づいて、検索部210が取得した検索結果に含まれる複数の参照情報それぞれに対する出力情報を生成する。第2推論部130は、状態記憶部102に記憶された中間データを読み出し、検索結果に含まれる複数の参照情報のうち1つの参照情報と中間データとを機械学習モデルMに入力することで、当該参照情報に対する出力情報を生成してもよい。第2推論部130は、複数の参照情報のうち2以上の参照情報について、並列して出力情報を生成してもよい。
【0181】
第2推論部130は、1つの参照情報を複数の部分に分割して機械学習モデルMに入力してもよい。第2推論部130は、分割された複数の部分について、並列して出力情報を生成してもよい。一例として、第2推論部130は、1つの文、所定数の文、所定の文字数、1以上の段落、1以上の章を単位として、参照情報を分割してもよい。第2推論部130は、参照情報を分割する際に、一部が重複するように分割してもよい。参照情報がマルチモーダルなデータである場合、第2推論部130は、テキストデータ、画像データ、音声データ等の単位で参照情報を分割してもよい。
【0182】
選択部220は、第2推論部130が生成した出力情報に基づいて、検索部210が取得した参照情報の検索結果から、生成要求に対する出力情報の生成に用いる1以上の参照情報を選択する。選択部220は、参照情報を特定可能な情報を取得してもよい。参照情報を特定可能な情報は、一例として、参照情報を識別する識別情報でもよく、参照情報を記述したファイルの位置を示す情報でもよい。
【0183】
選択部220は、所定の選択肢の確率値が所定の閾値以上の参照情報を選択してもよい。選択部220は、所定の選択肢の確率値が上位から所定数の参照情報を選択してもよい。所定数は、一例として、10でもよい。所定の選択肢は、一例として、参照情報が適切であることを示す選択肢でもよい。
【0184】
生成部230は、要求受付部110が受け付けた生成要求及び選択部220が選択した1以上の参照情報に基づいて、生成要求に対する出力情報を生成する。生成部230は、一例として、生成要求及び参照情報に基づいて、モデル入力情報を生成してもよい。
【0185】
生成部230は、選択部220が選択した1以上の参照情報に含まれる少なくとも一部の情報を用いてモデル入力情報を生成してもよい。生成部230は、参照情報を加工した情報を用いてモデル入力情報を生成してもよい。生成部230は、利用者入力情報に含まれる少なくとも一部の情報を用いてモデル入力情報を生成してもよい。生成部230は、利用者入力情報を加工した情報を用いてモデル入力情報を生成してもよい。
【0186】
生成部230は、利用者入力情報及び選択された1以上の参照情報を所定のテンプレートに埋め込むことで、モデル入力情報を生成してもよい。生成部230は、テンプレート、利用者入力情報及び参照情報を所定のルールに基づいて加工することで、モデル入力情報を生成してもよい。生成部230は、テンプレート、利用者入力情報及び参照情報を機械学習モデルM又は他の機械学習モデルに入力することで、モデル入力情報を生成してもよい。
【0187】
モデル入力情報を生成するためのテンプレートは、利用者入力情報又は選択部220が選択した1以上の参照情報を埋め込む1以上のプレースホルダを含んでもよい。テンプレートは、生成要求に対する出力情報の生成を指示する指示情報を含んでもよい。テンプレートは、生成要求に対する出力情報に関する制約情報を含んでもよい。指示情報及び制約情報は、予め定めた固定文でもよい。
【0188】
生成部230は、モデル入力情報を機械学習モデルMに入力することで、生成要求に対する出力情報を生成してもよい。生成部230は、機械学習モデルMと異なる他の機械学習モデルにモデル入力情報を入力することで、生成要求に対する出力情報を生成してもよい。生成部230は、複数の機械学習モデルから選択された1つの機械学習モデルにモデル入力情報を入力することで、生成要求に対する出力情報を生成してもよい。生成要求に対する出力情報の生成に用いる機械学習モデルは、一例として、生成要求により指定されてもよい。生成要求で指定する機械学習モデルは、利用者により選択されてもよい。
【0189】
出力部140は、生成部230が生成した生成要求に対する出力情報に基づいて、要求受付部110が受け付けた生成要求に対する生成結果を出力する。出力部140は、生成要求に対する出力情報を含む生成結果を端末装置50に送信してもよい。出力部140は、生成要求に対する出力情報を含む生成結果を生成装置20の表示装置に表示してもよい。
【0190】
生成結果は、テキストデータ、画像データ又は音響データを含んでもよい。テキストデータは、一例として、自然言語文でもよい。画像データは、一例として、静止画でもよく、動画でもよい。テキストデータは、音響データ又は動画に記録された音声データを音声認識したテキストデータでもよい。テキストデータは、画像データを文字認識したテキストでもよい。音響データは、テキストデータを音声合成した音声データでもよい。
【0191】
<プロンプト>
第3実施形態に係るモデル入力情報の一例であるプロンプトについて、
図13及び
図14を参照しながら説明する。
【0192】
図13は、第3実施形態に係るプロンプトの第1例を示す図である。
図13に示すプロンプト310Cは、第1推論部120が機械学習モデルMに入力するモデル入力情報の一例である。
【0193】
図13に示されるように、プロンプト310Cは、利用者入力情報(質問A)に対して適切か否かを問う質問(「以下の参照情報が、{質問A}という質問に回答する際に参照する情報として適切か否かを判断してください」)を含む。プロンプト310Cは、参照情報の適切さを評価する指標に関する選択肢(適切、不適切等)を含む。なお、{質問A}は、利用者入力情報を埋め込むプレースホルダである。
【0194】
図14は、第3実施形態に係るプロンプトの第2例を示す図である。
図14に示すプロンプト330は、生成部230が機械学習モデルM又は他の機械学習モデルに入力するモデル入力情報の一例である。
【0195】
図14に示されるように、プロンプト330は、利用者入力情報(質問A)を用いた生成指示(「{質問A}という質問に以下の参照情報を使って答えてください。」)を含む。プロンプト330は、選択部220が選択した参照情報(参照情報A、参照情報B、参照情報C)を含む。なお、{質問A}は、利用者入力情報を埋め込むプレースホルダである。{参照情報A}、{参照情報B}、{参照情報C}は、参照情報を埋め込むプレースホルダである。
【0196】
<生成処理の流れ>
情報処理システム1000が実行する生成処理について、
図15を参照しながら説明する。
図15は、第3実施形態に係る生成処理の一例を示すフローチャートである。
【0197】
ステップS11において、端末装置50は、利用者の操作に応じて、生成要求を生成装置20に送信する。生成要求には、利用者入力情報が含まれる。生成要求には、検索条件が含まれてもよい。
【0198】
生成装置20の要求受付部110は、端末装置50から生成要求を受信する。要求受付部110は、受信した生成要求を受け付ける。要求受付部110は、利用者入力情報及び検索条件を検索部210に送る。要求受付部110は、利用者入力情報を第1推論部120及び生成部230に送る。
【0199】
ステップS12において、生成装置20の検索部210は、要求受付部110から利用者入力情報及び検索条件を受け取る。検索部210は、利用者入力情報及び検索条件に基づいて、検索要求を検索装置30に送信する。検索要求には、利用者入力情報に基づいて設定されたクエリ及び検索条件が含まれる。
【0200】
検索装置30は、生成装置20から検索要求を受信する。検索装置30は、検索要求に基づいて、データソースDから検索条件を満たす参照情報を検索する。検索装置30は、参照情報の検索結果を生成装置20に送信する。なお、検索装置30は、検索要求に基づく任意の手法で参照情報を検索してもよい。
【0201】
生成装置20の検索部210は、検索装置30から参照情報の検索結果を受信する。検索部210は、参照情報の検索結果を第2推論部130及び選択部220に送る。
【0202】
ステップS13において、生成装置20の第1推論部120は、要求受付部110から利用者入力情報を受け取る。第1推論部120は、利用者入力情報に基づいて、候補情報を生成する。第1推論部120は、候補情報に基づいて、モデル入力情報を生成する。第1推論部120は、モデル記憶部101から機械学習モデルMを読み出す。第1推論部120は、候補情報に基づくモデル入力情報を機械学習モデルMに入力する。
【0203】
ステップS14において、機械学習モデルMは、入力されたモデル入力情報を用いた推論処理を実行する。機械学習モデルMは、候補情報を用いて中間データを算出する。第1推論部120は、機械学習モデルMが生成した中間データを取得する。第1推論部120は、取得した中間データを状態記憶部102に記憶する(キャッシュする)。
【0204】
ステップS15において、生成装置20の第2推論部130は、検索部210から参照情報の検索結果を受け取る。第2推論部130は、検索結果に含まれる複数の参照情報のうち、1つの参照情報を取得する。第2推論部130は、取得した参照情報に基づいて、モデル入力情報を生成する。
【0205】
第2推論部130は、状態記憶部102からキャッシュされた中間データを読み出す。第2推論部130は、モデル記憶部101から機械学習モデルMを読み出す。第2推論部130は、候補情報に対応する中間データ及び参照情報に基づくモデル入力情報を機械学習モデルMに入力する。なお、第2推論部130は、機械学習モデルMと異なる他の機械学習モデルにモデル入力情報を入力して推論処理を実行してもよい。
【0206】
ステップS16において、機械学習モデルMは、入力されたモデル入力情報を用いた推論処理処理を実行する。機械学習モデルMは、参照情報に対する出力情報を生成する。第2推論部130は、機械学習モデルMが生成した出力情報を取得する。第2推論部130は、取得した出力情報を選択部220に送る。第2推論部130は、参照情報に対して1回の推論処理することで出力情報を生成してもよい。
【0207】
第2推論部130は、参照情報の検索結果に含まれる複数の参照情報それぞれについて、ステップS15及びステップS16を実行する。第2推論部130は、ステップS15及びステップS16において、複数の参照情報をバッチ処理してもよい。第2推論部130は、すべての参照情報について出力情報を生成するまで、所定数の参照情報をバッチ処理することを繰り返し実行してもよい。
【0208】
ステップS17において、生成装置20の選択部220は、検索部210から参照情報の検索結果を受け取る。選択部220は、第2推論部130から参照情報に対する出力情報を受け取る。選択部220は、複数の参照情報それぞれに対する出力情報を受け取ると、当該出力情報に基づいて参照情報の検索結果から、生成要求に対する出力情報の生成に用いる参照情報を選択する。選択部220は、選択した参照情報を生成部230に送る。ここで、選択部220は、出力情報に含まれる所定の選択肢に対する確率値に基づいて、生成要求に対する出力情報の生成に用いる参照情報を選択してもよい。
【0209】
ステップS18において、生成装置20の生成部230は、要求受付部110から利用者入力情報を受け取る。生成部230は、選択部220から選択された参照情報を受け取る。生成部230は、利用者入力情報及び選択された参照情報に基づいて、モデル入力情報を生成する。
【0210】
ステップS19において、生成装置20の生成部230は、モデル記憶部101から機械学習モデルMを読み出す。生成部230は、ステップS18で生成したモデル入力情報を機械学習モデルMに入力する。
【0211】
機械学習モデルMは、入力されたモデル入力情報に基づいて所定のタスク(生成処理等)を実行し、生成要求に対する出力情報を生成する。生成部230は、機械学習モデルMから生成要求に対する出力情報を取得する。生成部230は、取得した生成要求に対する出力情報を出力部140に送る。
【0212】
ステップS20において、生成装置20の出力部140は、生成部230から生成要求に対する出力情報を受け取る。出力部140は、生成要求に対する出力情報に基づいて生成結果を生成する。出力部140は、生成した生成結果を端末装置50に送信する。
【0213】
端末装置50は、生成装置20から生成結果を受信する。端末装置50は、受信した生成結果を表示装置に表示する。生成結果は、生成部230で生成された出力情報の一部を含んでもよいし、出力情報に基づいて生成された情報を含んでもよい。
【0214】
[第4実施形態]
第1実施形態では、一例として、1回の推論処理で生成可能な1トークンを出力情報として生成する構成を説明した。第4実施形態では、複数のトークンに関する出力情報を、1回の推論処理で生成する構成を説明する。本実施形態によれば、例えば、第2実施形態で示した複数の評価指標に関する出力情報を1回の推論処理で生成可能となる。
【0215】
本実施形態では、一例として、複数の対象情報それぞれを第1の分類に関する選択肢と、第2の分類に関する選択肢とに分類する分類タスクを実行する。本実施形態では、第1の分類に関する選択肢は、選択肢A,B,Cを含み、第2の分類に関する選択肢は、選択肢D,Eを含むものとする。したがって、推論装置10が生成する出力情報は、複数の対象情報それぞれに対するAD,AE,BD,BE,CD,CEそれぞれの確率値を含んでもよい。ここで、ADは、第1の分類に対して選択肢Aを第2の分類に対して選択肢Dをそれぞれ選択することを意味する。
【0216】
本実施形態では、候補情報は、明示的に回答方法を指示する情報を含んでもよい。一例として、候補情報は、第1の分類に関する選択肢A,B,Cのうち1つと、第2の分類に関する選択肢D,Eのうち1つとを連続して出力することを指示する情報を含んでもよい。回答方法を指示する情報は、予め定めた固定文でもよい。
【0217】
本実施形態では、機械学習モデルMにアテンションマスクを入力することで、上記の分類タスクを実現してもよい。アテンションマスクは、一部のトークンに対する参照をマスクする情報である。
【0218】
図16は、アテンションマスクの一例を説明するための図である。
図16に示されるように、機械学習モデルMには、候補情報、対象情報、及び、第1の分類に関する選択肢であるA,B,Cが入力される。なお、候補情報は、候補情報を用いて算出した中間データ(キーバリューキャッシュ)でもよい。アテンションマスクは、A,B,Cそれぞれが候補情報及び対象情報のみを参照するように設定される。
【0219】
具体的には、アテンションマスクは、下記のように設定される。
・Aは、過去のすべてのトークン(候補情報、対象情報)を参照する。
・Bは、選択肢Aを除く過去のトークン(候補情報、対象情報)を参照する。
・Cは、選択肢A,Bを除く過去のトークン(候補情報、対象情報)を参照する。
【0220】
Aに対する次のトークンは、「候補情報、対象情報、A」を用いたフォワード処理により推論される。Bに対する次のトークンは、「候補情報、対象情報、B」を用いたフォワード処理により推論される。Cに対する次のトークンは、「候補情報、対象情報、C」を用いたフォワード処理により推論される。その結果、AD,AE,BD,BE,CD,CEそれぞれの確率情報を1回の推論処理で生成できる。
【0221】
なお、
図16に示したアテンションマスクを設定する場合、位置埋め込み(Positional Embedding)を変更してもよい。ただし、位置埋め込みを変更しなくとも、近似的に十分な結果が得られる。
【0222】
ここでは、2トークンに関する出力情報を、1回の推論処理で生成する構成を説明したが、3トークン以上に関する出力情報を生成するように構成してもよい。一例として、3トークンに関する出力情報を生成する構成を説明する。
【0223】
第1の分類に関する選択肢は、選択肢A,B,Cを含み、第2の分類に関する選択肢は、選択肢D,Eを含み、第3の分類に関する選択肢は、選択肢F,Gを含むものとする。したがって、推論装置10が出力する推論結果は、複数の対象情報それぞれに対するADF,ADG,AEF,AEG,BDF,BDG,BEF,BEG,CDF,CDG,CEF,CEGそれぞれの確率情報を含んでもよい。
【0224】
機械学習モデルMには、対象情報の末尾にADAEBDBECDCEのトークン列を付加した情報が入力される。アテンションマスクは、下記のように設定される。
・1番目のトークンAは、過去のすべてのトークン(候補情報、対象情報)を参照する。
・2番目のトークンDは、過去のすべてのトークン(候補情報、対象情報、A)を参照する。
・3番目のトークンAは、ADを除く過去のトークン(候補情報、対象情報)を参照する。
・4番目のトークンEは、ADを除く過去のトークン(候補情報、対象情報、A)を参照する。
・5番目のトークンBは、ADAEを除く過去のトークン(候補情報、対象情報)を参照する。
・6番目のトークンDは、ADAEを除く過去のトークン(候補情報、対象情報、B)を参照する。
・7番目のトークンBは、ADAEBDを除く過去のトークン(候補情報、対象情報)を参照する。
・8番目のトークンEは、ADAEBDを除く過去のトークン(候補情報、対象情報、B)を参照する。
・9番目のトークンCは、ADAEBDBEを除く過去のトークン(候補情報、対象情報)を参照する。
・10番目のトークンDは、ADAEBDBEを除く過去のトークン(候補情報、対象情報、C)を参照する。
・11番目のトークンCは、ADAEBDBECDを除く過去のトークン(候補情報、対象情報)を参照する。
・12番目のトークンEは、ADAEBDBECDを除く過去のトークン(候補情報、対象情報、C)を参照する。
【0225】
3トークンに関する出力情報を生成する場合、機械学習モデルMは、対象情報の末尾に、N_1*N_2*2個のトークンが追加された情報を用いて、1回の推論処理を実行する。ただし、N_1は第1の分類の選択肢の数であり、N_2は第2の分類の選択肢の数とである。
【0226】
一般化すると、Kトークンに関する出力情報を生成する場合、機械学習モデルMは、対象情報の末尾に、N_1*・・・*N_K-1*(K-1)個のトークンが追加された情報を用いて、1回の推論処理を実行する。ただし、Kは2以上の整数であり、N_K-1は、K-1番目の分類の選択肢の数である。
【0227】
ここでは、選択肢を回答する例を説明したが、本実施形態は、2以上のトークンで表現可能な出力情報を生成する任意のタスクに適用できる。2以上のトークンで表現可能な情報は、一例として、0000から0000までの数字等が挙げられる。したがって、本実施形態は、分類又は選択肢を回答するタスクに限定されず、任意のタスクに適用できる。
【0228】
<ユーザインタフェース>
図17は、第4実施形態に係る入力画面の一例を示す図である。ここでは、第1実施形態に係る入力画面400(
図6参照)との相違点を中心に説明する。
【0229】
図17に示されるように、入力画面450は、複数の質問入力部401(401-1,401-2)、複数の選択肢入力部402(402-1,402-2)、複数の選択肢追加ボタン403(403-1,403-2)、入力情報表示部404、対象情報入力部405、及び質問追加ボタン451を有してもよい。
【0230】
質問追加ボタン451は、入力画面450に新たな質問及び選択肢を追加するボタンである。利用者が質問追加ボタン451を押下すると、入力画面450に質問入力部401及び選択肢入力部402が追加される。なお、選択肢入力部402-1と選択肢入力部402-2には、同じ質問が入力されているが、異なる質問が入力されてもよい。
【0231】
入力情報表示部404は、質問入力部401及び選択肢入力部402に入力された複数の質問及び複数の選択肢を含むモデル入力情報を表示する。入力情報表示部404に表示されたモデル入力情報は、質問と選択肢の組452-1及び質問と選択肢の組452-2を含んでいる。質問と選択肢の組452-1は、質問入力部401-1及び選択肢入力部402-1に対応する質問及び選択肢を含んでいる。質問と選択肢の組452-2は、質問入力部401-2及び選択肢入力部402-2に対応する質問及び選択肢を含んでいる。
【0232】
入力情報表示部404は、質問入力部401-1,401-2及び選択肢入力部402-1,402-2に入力された情報に基づいて、自動的にモデル入力情報を生成してもよい。入力画面450は、入力情報表示部404に表示するモデル入力情報を生成するためのボタンを有してもよい。入力情報表示部404は、テキストエディタ等により、利用者が編集可能な態様でモデル入力情報を表示してもよい。
【0233】
なお、複数の質問及び選択肢を含む候補情報が推論要求に含まれる場合、本実施形態に係る推論処理により、各質問に対する回答を含む出力情報を、1回の推論処理で生成してもよい。入力画面450では、入力情報表示部404に含まれる参考回答情報413には、2トークンで表現可能な回答が含まれていてもよい。
【0234】
本実施形態では、質問入力部401-1,401-2に入力された複数の質問ごとに、第1実施形態に係る出力画面500(
図7参照)と同様の推論結果を表示してもよい。すなわち、本実施形態に係る出力画面500は、複数の質問それぞれについて、選択肢ごとの確率値を表示してもよく、最も確率値が高い選択肢を表示してもよく、最も確率値が高い選択肢及び当該選択肢の確率値を表示してもよい。また、本実施形態に係る出力画面500は、複数の質問それぞれについて、確率値の降順又は昇順に選択肢を整列して表示してもよい。
【0235】
[他の実施形態1]
上記の実施形態では、選択肢の識別情報として数字、文字、記号等を用いたが、選択肢の識別情報としてスペシャルトークンを用いてもよい。スペシャルトークンは、特定の文字列に紐づかないトークンである。一例として、スペシャルトークンは、<choice1>,<choice2>,・・・等のトークンでもよい。
【0236】
スペシャルトークンを利用可能とするために、機械学習モデルMは、選択肢を含む学習データをスペシャルトークンに置き換えて事前学習してもよい。機械学習モデルMを用いた推論処理では、モデル入力情報を生成するときに、候補情報に含まれる選択肢の識別情報をスペシャルトークンに置換してもよい。選択肢の識別情報にスペシャルトークンを利用することで、識別情報に用いる数字、文字、記号等が有するバイアスの影響を排除した出力情報を生成することができる。
【0237】
上記の実施形態では、候補情報を機械学習モデルに入力することで中間データを算出し、候補情報に対応する中間データを用いて所定数の対象情報をバッチ処理する構成を説明した。候補情報と共に1つの対象情報を機械学習モデルに入力して推論処理を実行することで、候補情報に対応する中間データと共に対象情報に対する出力情報を生成してもよい。
【0238】
具体的には、以下の構成でバッチ処理を実行してもよい。1回目のバッチ処理では、バッチサイズを1に設定し、候補情報及び1つの対象情報を機械学習モデルに入力する。機械学習モデルは、候補情報に対応する中間データ及び対象情報に対する出力情報を出力する。2回目以降のバッチ処理では、バッチサイズを大きい値に設定し、1回目のバッチ処理で算出された中間データを用いてバッチサイズ分の対象情報をバッチ処理する。その後、すべての対象情報について出力情報を生成するまで、大きいバッチサイズでバッチ処理を繰り返し実行する。
【0239】
上記の実施形態では、一例として、複数の対象情報それぞれに対する推論処理を実行する前に、候補情報を機械学習モデルMに入力した推論処理を実行することで中間データをキャッシュし、キャッシュされた中間データを利用して複数の対象情報それぞれに対する推論処理を実行していた。他の実施形態として、第2推論部130が、候補情報の少なくとも一部と対象情報を結合し、結合した情報を入力情報として機械学習モデルMに入力することにより、対象情報に対する推論処理を実行してもよい。この場合、情報処理システム1000は、候補情報を用いた中間データの算出を事前に実行しなくてもよい。つまり、情報処理システム1000は、第1推論部120と状態記憶部102の機能を備えない構成であってもよい。
【0240】
一例として、第2推論部130は、
図3の候補情報310と対象情報(「このお店行ったけど最悪だった」)を結合した下記プロンプトを機械学習モデルMに入力することで、出力情報を生成してもよい。
・プロンプト:
"以下の文章について、印象を判断してください。
【0241】
選択肢:
1:好印象
2:悪印象
3:どちらでもない
文章:
このお店行ったけど最悪だった"
【0242】
このプロンプトは、機械学習モデルMを用いた1回の推論処理で生成可能な情報(例えば、1トークン)の生成を要求する情報(候補情報の少なくとも一部)を含んでいるため、情報処理システム1000は、1回の推論処理を実行することで選択肢に対する確率情報を生成することができる。ここで、第2推論部130は、当該1回の推論処理に後続する推論処理の実行を省略することができるため、当該1回の推論処理の実行過程で算出される中間データ(キーベクトル、バリューベクトル)を後続する推論処理の実行のためにキャッシュする必要がなくなる。情報処理システム1000は、同様な手法を用いて、候補情報の少なくとも一部と結合した複数の対象情報それぞれをバッチ処理してもよい。情報処理システム1000は、候補情報及び対象情報に対するキャッシュ処理を省略することができるため、複数の入力情報それぞれに対する出力情報を少ないメモリ使用量で生成することができる。情報処理システム1000は、上記の実施形態と同様に入力情報(プロンプト)に参考回答情報を含めてもよい。
【0243】
なお、対象情報自体が、機械学習モデルMを用いた1回の推論処理で生成可能な情報(例えば、1トークン)の生成を要求する情報を含んでいる場合は、候補情報の少なくとも一部との結合処理は実行しなくてもよい。この場合の入力情報(プロンプト)の例としては、下記のようなものがある。
・例1:
"一週間の日数を数字で回答してください。"
【0244】
本実施形態における入力情報は、候補情報の少なくとも一部と対象情報とを結合した情報でもよいし、機械学習モデルMを用いた1回の推論処理で生成可能な情報(例えば、1トークン)の生成を要求する情報を含む対象情報でもよい。入力情報は、更に、参考回答情報を含んでもよい。情報処理システム1000は、複数の入力情報それぞれに対して1回の推論処理を実行してもよい。その際、バッチ処理を用いて並列で推論処理を実行してもよい。また、情報処理システム1000は、複数の入力情報それぞれに対して当該1回の推論処理に後続する推論処理を実行しない設定であってもよい。情報処理システム1000は、複数の入力情報それぞれに対して当該1回の推論処理のみを実行するように設定されていてもよい。情報処理システム1000は、複数の入力情報それぞれに対する推論処理の実行で算出された中間データをキャッシュしなくてもよい。なお、入力情報は、テキストデータ、画像データ又は音響データを含んでもよい。
【0245】
上記の実施形態では、一例として、複数の入力情報(対象情報、参照情報を含む)それぞれに対して1回の推論処理を実行することで、各入力情報に対する出力情報を生成していた。ここで、1回の推論処理は、入力情報を機械学習モデルに入力して、出力情報(トークン等)を自己回帰的に複数回生成する処理に含まれる1回の出力情報の生成処理でもよい。1回の推論処理は、限定されない一例として、1トークンの生成処理でもよい。
【0246】
上記の実施形態では、一例として、情報処理システム1000が、ソーシャルネットワーキングサービスに投稿されるメッセージがどの程度好印象か悪印象かを判断するタスクを実行する例を説明した。情報処理システム1000が実行するタスクは、上記に限定されるものではない。
【0247】
生成タスクは、他の一例として、ニュース記事から特定のトピックに関連するものを抽出するタスク、ソーシャルネットワーキングサービスにおいて特定の商品に関する投稿が好意的かどうかを分析するタスク、通信販売サービスにおいて特定の商品に投稿されたレビューのうち不満を抱えているものを抽出するタスク、特定の商品に投稿されたレビューのうち特定の不具合に関するものをフィルタリングするタスク、基盤モデル等の機械学習モデルの学習データをフィルタリングするタスク、利用者の評判又は利用者からのフィードバックを分析するマーケティング分析、ビッグデータから必要なデータを抽出するタスク、ビッグデータからノイズを除去するタスク等が挙げられる。
【0248】
上記の各実施形態では、推論装置10がユーザインタフェースを介して候補情報及び対象情報の入力を受け付け、対象情報に対する推論結果を利用者に提示する構成を説明した。推論装置10は、候補情報又は対象情報の少なくとも一方の入力、対象情報に対する出力情報の出力等を、API(Application Programming Interface)を通じて提供してもよい。APIは、Webを介して提供されるWeb APIでもよい。
【0249】
上記の各実施形態では、機械学習モデルMの一例として、デコーダオンリー型の大規模言語モデルを用いる構成を説明したが、機械学習モデルMはデコーダオンリー型の大規模言語モデルに限定されない。機械学習モデルMは、キャッシュを利用することで計算コストの削減が可能な任意の機械学習モデルでもよい。
【0250】
情報処理システム1000は、定期的に同一のタスクを繰り返し実行してもよい。一例として、情報処理システム1000は、同一の処理対象に対して異なる時点で同じタスクを複数回実行してもよい。情報処理システム1000は、異なる処理対象に対して同じタスクを1回ずつ実行してもよい。この場合、タスクを実行するたびに端末装置50から候補情報を取得することなく、推論装置10が保持する候補情報を利用してもよい。
【0251】
情報処理システム1000は、大量のデータの分類又は分析を実行できる。一例として、情報処理システム1000は、画像のモーダルを含むプロンプトを生成し、対象情報と似ているか、似ていないかを評価した出力情報を生成してもよい。また、情報処理システム1000は、出力情報に基づいて対象情報をフィルタリングしてもよい。上記の構成により、機械学習モデルを追加学習することなく、大量のデータの分類又は分析を実行できる。言い替えると、情報処理システム1000は、機械学習モデルが学習済みの知識を利用することで、事前学習なしに大量のデータを分類又はフィルタリングできる。
【0252】
情報処理システム1000は、プロンプトを変更するのみで様々な分類器を構築できる。一例として、情報処理システム1000は、Few-shotプロンプティングによるクラス分類を実行してもよい。
【0253】
なお、上記の各実施形態に係る情報処理システム1000に関するすべての構成は、他の実施形態に係る情報処理システム1000に適用できる。一例として、第2実施形態から第4実施形態に係る情報処理システム1000に関する構成は、第1実施形態に係る情報処理システム1000に適用できる。第3実施形態又は第4実施形態に係る情報処理システム1000に関する構成は、第2実施形態に係る情報処理システム1000に適用できる。第4実施形態に係る情報処理システム1000に関する構成は、第3実施形態に係る情報処理システム1000に適用できる。
【0254】
<まとめ>
以上の説明から明らかなように、本開示の一実施形態に係る情報処理システム1000は、出力候補に関する情報と複数の対象情報とを取得し、出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、中間データの少なくとも一部を用いて、複数の対象情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、複数の対象情報それぞれに対する出力情報を生成する。
【0255】
出力候補に関する情報は、選択肢の識別情報を含んでもよい。選択肢の識別情報は、1回の推論処理で生成可能な情報を用いて表すことができる情報でもよい。出力候補に関する情報は、選択肢を含んでもよい。選択肢は、1回の推論処理で生成可能な情報を用いて表すことができる情報でもよい。出力候補に関する情報は、数字の生成を要求する情報を含んでもよい。数字は、1回の推論処理で生成可能な情報を用いて表すことができる情報でもよい。出力候補に関する情報は、1回の推論処理で生成可能な情報の生成を要求する情報を含んでもよい。
【0256】
情報処理システム1000は、対象情報に対する1回の推論処理を実行することで算出された第2の中間データの少なくとも一部を、対象情報に対する、機械学習モデルを用いた1回の推論処理より後の推論処理のために記憶しなくてもよい。第2の中間データの少なくとも一部を記憶しないことは、少なくとも1つのプロセッサが、第2の中間データの少なくとも一部をキャッシュしないこと、を含んでもよい。第2の中間データの少なくとも一部は、機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含んでもよい。
【0257】
情報処理システム1000は、第1の中間データの少なくとも一部をキャッシュし、キャッシュされた第1の中間データの少なくとも一部を用いて、複数の対象情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行してもよい。第1の中間データの少なくとも一部は、機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含んでもよい。
【0258】
情報処理システム1000は、対象情報に対する、1回の推論処理より後の推論処理を実行しなくてもよい。情報処理システム1000は、2以上の対象情報それぞれに対する出力情報を並列して生成してもよい。
【0259】
出力候補に関する情報は、少なくとも第1の分類に関する情報と第2の分類に関する情報とを含んでもよい。情報処理システム1000は、1回の推論処理において、対象情報と第1の分類の選択肢のトークンとを結合した情報を機械学習モデルに入力してもよ。選択肢のトークンは、対象情報の後に結合されたものでもよい。選択肢のトークンは、少なくとも、第1の分類に関する第1の選択肢のトークンと、第1の選択肢のトークンより後に結合される、第1の分類に関する第2の選択肢のトークンとを含んでもよい。1回の推論処理において、第2の選択肢のトークンは、第1の選択肢のトークンを参照しないように設定されていてもよい。
【0260】
情報処理システム1000は、複数の対象情報それぞれに対する出力情報と正解情報とに基づいて、他のモデルを学習してもよい。情報処理システム1000は、複数の対象情報それぞれに対する出力情報を他のモデルに入力することで、複数の対象情報それぞれに対する第2の出力情報を生成してもよい。
【0261】
情報処理システム1000は、複数の対象情報それぞれに対する出力情報に基づいて、第3の出力情報の生成に用いる1以上の対象情報を選択してもよい。情報処理システム1000は、生成要求と1以上の対象情報とに基づいて、機械学習モデル又は他の機械学習モデルの少なくとも一方に入力する入力情報を生成してもよい。情報処理システム1000は、入力情報を、機械学習モデル又は他の機械学習モデルの少なくとも一方に入力することで第3の出力情報を生成してもよい。出力候補に関する情報は、生成要求に基づいて生成された情報でもよい。複数の対象情報は、所定の検索条件に基づく検索によって取得された情報でもよい。所定の検索条件は、生成要求に基づいて決定されたものでもよい。
【0262】
端末装置50は、出力候補に関する情報を取得するための情報を、表示装置に表示し、複数の対象情報を取得するための情報を、表示装置に表示し、複数の対象情報それぞれに対する出力情報に基づく推論結果を、表示装置に表示してもよい。複数の対象情報それぞれに対する出力情報は、出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、複数の対象情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで生成された情報でもよい。
【0263】
端末装置50は、利用者から選択肢に関する情報を取得し、選択肢に関する情報に基づいて出力候補に関する情報を生成してもよい。選択肢に関する情報は、少なくとも、1回の推論処理で生成可能な情報を用いて表すことができる選択肢の識別情報、又は、1回の推論処理で生成可能な情報を用いて表すことができる選択肢のいずれかを含んでもよい。推論結果は、少なくとも、選択肢の確率値、出力情報に含まれる確率情報に基づいて選択された選択肢、又は、選択された選択肢に基づく情報のいずれかを含んでもよい。端末装置50は、複数の対象情報を、利用者から指定された電子ファイルから取得してもよい。
【0264】
情報処理システム1000は、複数の入力情報を取得し、複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、複数の入力情報それぞれに対する出力情報を生成し、入力情報に対する1回の推論処理を実行することで算出された中間データの少なくとも一部を、入力情報に対する、機械学習モデルを用いた1回の推論処理より後の推論処理のために記憶せず、入力情報は、1回の推論処理で生成可能な情報の生成を要求する情報を含んでもよい。
【0265】
中間データの少なくとも一部を記憶しないことは、少なくとも1つのプロセッサが、中間データの少なくとも一部をキャッシュしないこと、を含んでもよい。中間データの少なくとも一部は、機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含んでもよい。情報処理システム1000は、入力情報に対する、1回の推論処理より後の推論処理を実行しなくてもよい。
【0266】
これにより、本開示の一実施形態によれば、複数の情報それぞれに対する出力情報を少ない計算リソースで生成する技術を提供できる。一の側面では、一実施形態によれば、複数の対象情報それぞれに対する出力情報を少ない計算量で生成できる。他の側面では、一実施形態によれば、複数の対象情報それぞれに対する出力情報を少ないメモリ使用量で生成できる。一例として、本実施形態によれば、複数の情報を少ない計算リソースで分類できる。他の一例として、一実施形態によれば、検索拡張生成の枠組みにおいて、適切な参照情報に基づいて出力情報を生成できる。
【0267】
[情報処理装置のハードウェア構成]
前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、CD-ROM(Compact Disc-Read Only Memory)、USB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部がASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
【0268】
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク、メモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし(主記憶装置、補助記憶装置等)、コンピュータ外部に備えられてもよい。
【0269】
図18は、前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
【0270】
図18のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図18では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0271】
前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)の各種演算は、1又は複数のプロセッサを用いて、又はネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0272】
プロセッサ71は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、ASIC等)であってもよい。また、プロセッサ71は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置のいずれであってもよい。また、プロセッサ71は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0273】
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
【0274】
前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0275】
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶してもよく、主記憶装置72に記憶された情報がプロセッサ71により読み出されてもよい。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)において各種データ等を保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における各記憶部は、主記憶装置72又は補助記憶装置73により実現されてもよい。
【0276】
前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)が、少なくとも1つの記憶装置(メモリ)と、この少なくとも1つの記憶装置に接続(結合)される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、1つのプロセッサに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0277】
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか又はそれらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0278】
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
【0279】
外部装置9Aはコンピュータ7とネットワークを介して接続されている装置である。外部装置9Bはコンピュータ7と直接接続されている装置である。
【0280】
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、タッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0281】
また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0282】
また、外部装置9Aまた外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aはネットワークストレージ等であってもよく、外部装置9BはHDD等のストレージであってもよい。
【0283】
また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置(推論装置10、生成装置20、検索装置30及び端末装置50)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bに処理結果の一部又は全部を送信してもよいし、外部装置9A又は外部装置9Bから処理結果の一部又は全部を受信してもよい。
【0284】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0285】
本明細書(請求項を含む)において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等)を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合(同様な表現を含む)、特に断りがない場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合(同様な表現を含む)、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、各種データの中間表現等)を出力として用いる場合を含む。
【0286】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0287】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ、専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造等が動作Bを実際に実行するように構築(implemented)されていればよい。
【0288】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」、「有する(having)」等)が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0289】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」、「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0290】
本明細書において、ある実施形態の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0291】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現(同様な表現を含む)が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、電子回路を含む装置等を含んでよい。
【0292】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。
【0293】
本明細書(請求項を含む)において、「第1の」、「第2の」等の用語は、単に2つ以上の要素間を区別する方法として使用されており、その対象に対して時間的態様、空間的態様、順序、量等の技術的意味を課すことを必ずしも意図するものではない。したがって、例えば、第1の要素及び第2の要素への参照は、2つの要素のみがそこで採用され得ること、第1の要素が第2の要素に先行しなければならないこと、第2の要素が存在するために第1の要素が存在しなければならないこと等を必ずしも意味するものではない。
【0294】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え、部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も例示的なものであり、本開示の範囲を限定するものではない。
【0295】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
【0296】
(付記1)
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
出力候補に関する情報と複数の対象情報とを取得し、
前記出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、
前記中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで、前記複数の対象情報それぞれに対する出力情報を生成する、
情報処理システム。
【0297】
(付記2)
前記出力候補に関する情報は、選択肢の識別情報を含み、
前記選択肢の識別情報は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
付記1に記載の情報処理システム。
【0298】
(付記3)
前記出力候補に関する情報は、選択肢を含み、
前記選択肢は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
付記1又は2に記載の情報処理システム。
【0299】
(付記4)
前記出力候補に関する情報は、数字の生成を要求する情報を含み、
前記数字は、前記1回の推論処理で生成可能な情報を用いて表すことができる情報である、
付記1から3のいずれかに記載の情報処理システム。
【0300】
(付記5)
前記出力候補に関する情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
付記1から4のいずれかに記載の情報処理システム。
【0301】
(付記6)
前記少なくとも1つのプロセッサは、
前記対象情報に対する前記1回の推論処理を実行することで算出された第2の中間データの少なくとも一部を、前記対象情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶しない、
付記1から5のいずれかに記載の情報処理システム。
【0302】
(付記7)
前記第2の中間データの少なくとも一部を記憶しないことは、前記少なくとも1つのプロセッサが、前記第2の中間データの少なくとも一部をキャッシュしないこと、を含む、
付記6に記載の情報処理システム。
【0303】
(付記8)
前記第2の中間データの少なくとも一部は、前記機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含む、
付記6又は7に記載の情報処理システム。
【0304】
(付記9)
前記少なくとも1つのプロセッサは、
前記第1の中間データの少なくとも一部をキャッシュし、
キャッシュされた前記第1の中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行する、
付記1から8のいずれかに記載の情報処理システム。
【0305】
(付記10)
前記第1の中間データの少なくとも一部は、前記機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含む、
付記9に記載の情報処理システム。
【0306】
(付記11)
前記少なくとも1つのプロセッサは、
前記対象情報に対する、前記1回の推論処理より後の推論処理を実行しない、
付記1から10のいずれかに記載の情報処理システム。
【0307】
(付記12)
前記少なくとも1つのプロセッサは、
2以上の前記対象情報それぞれに対する前記出力情報を並列して生成する、
付記1から11のいずれかに記載の情報処理システム。
【0308】
(付記13)
前記出力候補に関する情報は、少なくとも第1の分類に関する情報と第2の分類に関する情報とを含み、
前記少なくとも1つのプロセッサは、
前記1回の推論処理において、前記対象情報と前記第1の分類の選択肢のトークンとを結合した情報を前記機械学習モデルに入力し、
前記第1の分類の選択肢のトークンは、前記対象情報の後に結合されたものであり、
前記第1の分類の選択肢のトークンは、少なくとも、第1の選択肢のトークンと、前記第1の選択肢のトークンより後に結合される、第2の選択肢のトークンとを含み、
前記1回の推論処理において、前記第2の選択肢のトークンは、前記第1の選択肢のトークンを参照しないように設定されている、
付記1から12のいずれかに記載の情報処理システム。
【0309】
(付記14)
前記少なくとも1つのプロセッサは、
前記複数の対象情報それぞれに対する出力情報と正解情報とに基づいて、他のモデルを学習する、
付記1から13のいずれかに記載の情報処理システム。
【0310】
(付記15)
前記少なくとも1つのプロセッサは、
前記複数の対象情報それぞれに対する出力情報を他のモデルに入力することで、前記複数の対象情報それぞれに対する第2の出力情報を生成する、
付記1から14にいずれかに記載の情報処理システム。
【0311】
(付記16)
前記少なくとも1つのプロセッサは、
前記複数の対象情報それぞれに対する出力情報に基づいて、第3の出力情報の生成に用いる1以上の対象情報を選択し、
生成要求と前記1以上の対象情報とに基づいて、前記機械学習モデル又は他の機械学習モデルの少なくとも一方に入力する入力情報を生成し、
前記入力情報を、前記機械学習モデル又は前記他の機械学習モデルの少なくとも一方に入力することで前記第3の出力情報を生成する、
付記1から15のいずれかに記載の情報処理システム。
【0312】
(付記17)
前記出力候補に関する情報は、前記生成要求に基づいて生成された情報である、
付記16に記載の情報処理システム。
【0313】
(付記18)
前記複数の対象情報は、所定の検索条件に基づく検索によって取得された情報であり、
前記所定の検索条件は、前記生成要求に基づいて決定されたものである、
付記16又は17に記載の情報処理システム。
【0314】
(付記19)
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
出力候補に関する情報を取得するための情報を、表示装置に表示し、
複数の対象情報を取得するための情報を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報に基づく推論結果を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報は、前記出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで生成された情報である、
情報処理装置。
【0315】
(付記20)
前記少なくとも1つのプロセッサは、
利用者から選択肢に関する情報を取得し、
前記選択肢に関する情報に基づいて前記出力候補に関する情報を生成する、
付記19に記載の情報処理装置。
【0316】
(付記21)
前記選択肢に関する情報は、少なくとも、前記1回の推論処理で生成可能な情報を用いて表すことができる選択肢の識別情報、又は、前記1回の推論処理で生成可能な情報を用いて表すことができる選択肢のいずれかを含む、
付記20に記載の情報処理装置。
【0317】
(付記22)
前記推論結果は、少なくとも、前記選択肢の確率値、前記出力情報に含まれる確率情報に基づいて選択された選択肢、又は、前記選択された選択肢に基づく情報のいずれかを含む、
付記20又は21に記載の情報処理装置。
【0318】
(付記23)
前記少なくとも1つのプロセッサは、
前記複数の対象情報を、利用者から指定された電子ファイルから取得する、
付記19から22のいずれかに記載の情報処理装置。
【0319】
(付記24)
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
複数の入力情報を取得し、
前記複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、前記複数の入力情報それぞれに対する出力情報を生成し、
前記入力情報に対する前記1回の推論処理を実行することで算出された中間データの少なくとも一部を、前記入力情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶せず、
前記入力情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
情報処理システム。
【0320】
(付記25)
前記中間データの少なくとも一部を記憶しないことは、前記少なくとも1つのプロセッサが、前記中間データの少なくとも一部をキャッシュしないこと、を含む、
付記24に記載の情報処理システム。
【0321】
(付記26)
前記中間データの少なくとも一部は、前記機械学習モデルの注意機構で用いられるキーベクトル及びバリューベクトルの少なくとも一部を含む、
付記24又は25に記載の情報処理システム。
【0322】
(付記27)
前記少なくとも1つのプロセッサは、
前記入力情報に対する、前記1回の推論処理より後の推論処理を実行しない、
付記24から26のいずれかに記載の情報処理システム。
【0323】
(付記28)
少なくとも1つのプロセッサが、
出力候補に関する情報と複数の対象情報とを取得し、
前記出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、
前記中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで、前記複数の対象情報それぞれに対する出力情報を生成する、
情報処理方法。
【0324】
(付記29)
少なくとも1つのプロセッサが、
出力候補に関する情報を取得するための情報を、表示装置に表示し、
複数の対象情報を取得するための情報を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報に基づく推論結果を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報は、前記出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで生成された情報である、
情報処理方法。
【0325】
(付記30)
少なくとも1つのプロセッサが、
複数の入力情報を取得し、
前記複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、前記複数の入力情報それぞれに対する出力情報を生成し、
前記入力情報に対する前記1回の推論処理を実行することで算出された中間データの少なくとも一部を、前記入力情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶せず、
前記入力情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
情報処理方法。
【0326】
(付記31)
少なくとも1つのプロセッサに、
出力候補に関する情報と複数の対象情報とを取得し、
前記出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、
前記中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで、前記複数の対象情報それぞれに対する出力情報を生成する、
処理を実行させるためのプログラム。
【0327】
(付記32)
少なくとも1つのプロセッサに、
出力候補に関する情報を取得するための情報を、表示装置に表示し、
複数の対象情報を取得するための情報を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報に基づく推論結果を、前記表示装置に表示し、
前記複数の対象情報それぞれに対する出力情報は、前記出力候補に関する情報を機械学習モデルに入力することで算出された中間データの少なくとも一部を用いて、前記複数の対象情報それぞれに対して前記機械学習モデルを用いた1回の推論処理を実行することで生成された情報である、
処理を実行させるためのプログラム。
【0328】
(付記33)
少なくとも1つのプロセッサに、
複数の入力情報を取得し、
前記複数の入力情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、前記複数の入力情報それぞれに対する出力情報を生成し、
前記入力情報に対する前記1回の推論処理を実行することで算出された中間データの少なくとも一部を、前記入力情報に対する、前記機械学習モデルを用いた前記1回の推論処理より後の推論処理のために記憶せず、
前記入力情報は、前記1回の推論処理で生成可能な情報の生成を要求する情報を含む、
処理を実行させるためのプログラム。
【符号の説明】
【0329】
10:推論装置
20:生成装置
30:検索装置
50:端末装置
101:モデル記憶部
102:状態記憶部
110:要求受付部
120:第1推論部
130:第2推論部
140:出力部
210:検索部
220:選択部
230:生成部
1000:情報処理システム
D:データソース
M:機械学習モデル
【要約】
【課題】複数の情報それぞれに対する出力情報を少ない計算リソースで生成する技術を提供する。
【解決手段】情報処理システムが、出力候補に関する情報と複数の対象情報とを取得し、出力候補に関する情報を機械学習モデルに入力することで、第1の中間データを算出し、中間データの少なくとも一部を用いて、複数の対象情報それぞれに対して機械学習モデルを用いた1回の推論処理を実行することで、複数の対象情報それぞれに対する出力情報を生成する。
【選択図】
図2