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

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

▶ ソニー株式会社の特許一覧

特許7758041通信装置、通信方法、および通信システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-10-14
(45)【発行日】2025-10-22
(54)【発明の名称】通信装置、通信方法、および通信システム
(51)【国際特許分類】
   G06N 3/04 20230101AFI20251015BHJP
   H04L 45/12 20220101ALI20251015BHJP
   H04L 45/00 20220101ALI20251015BHJP
【FI】
G06N3/04
H04L45/12
H04L45/00
【請求項の数】 23
(21)【出願番号】P 2023531450
(86)(22)【出願日】2022-03-29
(86)【国際出願番号】 JP2022015609
(87)【国際公開番号】W WO2023276382
(87)【国際公開日】2023-01-05
【審査請求日】2025-02-10
(31)【優先権主張番号】P 2021110381
(32)【優先日】2021-07-01
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(72)【発明者】
【氏名】内山 博允
(72)【発明者】
【氏名】松田 大輝
(72)【発明者】
【氏名】示沢 寿之
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2020-77155(JP,A)
【文献】特開2019-148876(JP,A)
【文献】特開2020-135060(JP,A)
【文献】TEERAPITTAYANON, S. et al.,Distributed Deep Neural Networks over the Cloud, the Edge and End Devices,arXiv.org [online], [text],米国,Cornell University,2017年09月06日,[retrieved on 2025.09.04], Retrieved from <https://arxiv.org/pdf/1709.01921>,<DOI: 10.48550/arxiv.1709.01921>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
H04L 45/00-45/128
(57)【特許請求の範囲】
【請求項1】
ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置であって、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、
前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する、
情報処理装置。
【請求項2】
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定されなかった場合には、前記第1範囲に含まれる計算の少なくとも一部を実行し、実行された計算の結果を、前記第2の通信装置に送信する前記計算の結果として用い、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合には、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
請求項1に記載の情報処理装置。
【請求項3】
前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第1の通信装置に送信するための前記計算に用いる、
請求項1に記載の情報処理装置。
【請求項4】
前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
請求項1に記載の情報処理装置。
【請求項5】
前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算を継続し、前記第1範囲の計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
請求項1に記載の情報処理装置。
【請求項6】
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、さらに、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2の通信装置に送信する、
請求項1に記載の情報処理装置。
【請求項7】
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の全てが実行されなかったときは、実行された計算の結果とともに、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報を、前記第2の通信装置に送信する、
請求項6に記載の情報処理装置。
【請求項8】
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記一連の計算の少なくとも一部を実行可能な第3の通信装置に送信する、
請求項1に記載の情報処理装置。
【請求項9】
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の所定位置までを実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
請求項1に記載の情報処理装置。
【請求項10】
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算のいずれの位置まで実行するかを決定し、前記第1範囲に含まれる計算を決定された位置まで実行し、実行された計算の結果と、決定された位置を示す情報と、を前記第2の通信装置に送信する、
請求項1に記載の情報処理装置。
【請求項11】
前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置の計算余力に関する情報、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置におけるトラフィック量に関する情報、のうちの少なくとも1つに基づいて前記判定を行う、
請求項1に記載の情報処理装置。
【請求項12】
前記第1の通信装置との間の通信品質、前記第1の通信装置のモビリティ情報、のうちの少なくとも1つに基づいて前記判定を行う、
請求項1に記載の情報処理装置。
【請求項13】
前記一連の計算を途中終了することを指示する情報、前記一連の計算における途中の計算の結果を前記第1の通信装置に送信することを指示する情報、のうちの少なくとも1つに基づいて前記判定を行う、
請求項1に記載の情報処理装置。
【請求項14】
前記第1の通信装置から要求情報を取得し、前記要求情報に基づいて前記判定を行う、
請求項1に記載の情報処理装置。
【請求項15】
前記第1範囲の計算に必要な時間が与えられた許容時間よりも大きい場合に、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定する、
請求項1に記載の情報処理装置。
【請求項16】
ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行い、
前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信する、
情報処理装置。
【請求項17】
前記第2範囲の計算担当である装置が前記第2範囲に含まれる計算を途中終了してもよいか否かを示す情報を、前記第2範囲の計算担当である装置にさらに送信する、
請求項16に記載の情報処理装置。
【請求項18】
ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置において実行される情報処理方法であって、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行うステップと、
前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信するステップと、
前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信するステップと、
を備える情報処理方法。
【請求項19】
ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行うステップと、
前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信するステップと、
を備える情報処理方法。
【請求項20】
ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する第1情報処理装置および第2情報処理装置を少なくとも備え、
前記第1情報処理装置は、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2情報処理装置に送信し、
前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信し、
前記第2情報処理装置は、
前記一連の計算のうちの前記第1情報処理装置によって実行された計算以降の計算を前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
情報処理システム。
【請求項21】
少なくとも、ディープニューラルネットワークの一連の計算のうちの第1範囲の計算を行う第1情報処理装置と、前記ディープニューラルネットワークの一連の計算のうちの前記第1範囲に続く第2範囲の計算を行う第2情報処理装置と、を備え、
前記第1情報処理装置は、
前記第1範囲に含まれる計算を途中終了するか否かの判定を行い、
前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第2情報処理装置に送信し、
前記第2情報処理装置は、
前記情報を受け取ったときは、前記一連の計算の前記第1情報処理装置によって実行された計算の続きを、前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
情報処理システム。
【請求項22】
前記第1範囲を決定する第3情報処理装置
をさらに備える請求項20に記載の情報処理システム。
【請求項23】
前記第1範囲に含まれる計算を途中終了するか否かの判定を行う第3情報処理装置
をさらに備え、
前記第3情報処理装置は、前記第1範囲に含まれる計算を途中終了する指示を前記第1情報処理装置に送信し、
前記第1情報処理装置は、前記指示を受け取った場合に、前記第1範囲に含まれる計算を途中終了すると判定する、
請求項21に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置、通信方法、および通信システムに関する。
【背景技術】
【0002】
近年、人工知能、機械学習といった分野の研究が急速に進んでおり、これらに関するアプリケーションも急速に普及すると予想されている。そのため、当該アプリケーションを通信環境で快適に動作させるための検討が行われている。
【0003】
当該アプリケーションは、主に、機械学習によって内部パラメータが最適化された、複数のレイヤを有するニューラルネットワーク(DNN:Deep Neural Network)に基づく計算を行う。当該計算は、他の一般的なアプリケーションよりも負荷が大きい。そのため、スマートフォンなどの汎用の無線通信端末で当該アプリケーションを実行すると、計算時間、消費電力などが増加するといった問題が生じる。一方、クラウドサーバーが当該計算を代行する方法も考えられる。しかし、当該方法では、無線通信端末は、当該計算に必要な情報をクラウドサーバーに送信し、クラウドサーバーから計算結果を受信することになるため、通信量が多くなる。さらに無線通信の場合では、通信品質が不安定なため、遅延が生じやすい。したがって、当該方法では、アプリケーションが許容できる遅延量を超えてしまう恐れがある。
【0004】
そこで、DNNの計算を、通信端末、クラウドサーバーなどに一極集中させる統合学習(Federated Learning)ではなく、DNNの計算を通信端末およびクラウドサーバーの両方に分散させる分散学習(Distributed Learning)が検討されている。つまり、通信端末がDNNの計算の一部を担当し、クラウドサーバーがDNNの計算の残りを担当することが検討されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】3GPP(3rd Generation Partnership Project), "TR(Technical Report) 22.874, V0.1.0, Study on traffic characteristics and performance requirements for AI/ML model transfer"(5章 Split AI/ML operation between AI/ML endpoints), URL:https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3721
【文献】"BranchyNet: Fast Inference via Early-exiting from Deep Neural Networks," Surat Teerapittayanon, et al., "http://bradmcdanel.com/files/2016-icpr-teerapittayanon-mcdanel-kung.pdf"
【文献】"Distributed Deep Neural Networks over the Cloud, the Edge and End Devices," Surat Teerapittayanon, et al.," https://arxiv.org/pdf/1709.01921.pdf"
【発明の概要】
【発明が解決しようとする課題】
【0006】
さらに、通信端末とクラウドサーバーとの通信を中継する通信ネットワークが、DNNの計算の一部を分担することも検討されている。つまり、通信ネットワークを構成する複数の通信ノードの少なくともいずれかがDNNの入力層から出力層までの一連の計算の一部を担当し得る。しかし、DNNの計算を多数の装置に分散させることによって弊害も生じ得る。例えば、計算を担当する通信ノードの負荷、ネットワークの通信品質などは、常に安定しているとは限らない。ゆえに、状況によっては、想定よりも計算に時間がかかる場合もあり得る。
【0007】
そこで、本開示は、DNNに基づく計算を分散させつつ、計算結果を返信するまでに要する時間を短縮する情報処理装置などを提供する。具体的には、計算を担当する装置の動的変更や、当該計算を途中終了すること、当該計算の途中の結果をフィードバックすることにより、実現する。また、ここで示した課題は本発明が解決する課題の一部に過ぎず、本開示により解決されうるその他の課題のために本開示が用いられても良い。
【課題を解決するための手段】
【0008】
本開示による情報処理装置は、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置であって、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する。
【0009】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定されなかった場合には、前記第1範囲に含まれる計算の少なくとも一部を実行し、実行された計算の結果を、前記第2の通信装置に送信する前記計算の結果として用いてもよいし、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合には、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いてもよい。
【0010】
また、前記情報処理装置は、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第1の通信装置に送信するための前記計算に用いてもよい。
【0011】
また、前記情報処理装置は、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第2の通信装置に送信する前記計算の結果として用いてもよい。
【0012】
また、前記情報処理装置は、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算を継続し、前記第1範囲の計算の結果を前記第2の通信装置に送信する前記計算の結果として用いてもよい。
【0013】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、さらに、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2の通信装置に送信してもよい。
【0014】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の全てが実行されなかったときは、実行された計算の結果とともに、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報を、前記第2の通信装置に送信してもよい。
【0015】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記一連の計算の少なくとも一部を実行可能な第3の通信装置に送信してもよい。
【0016】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の所定位置までを実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いてもよい。
【0017】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算のいずれの位置まで実行するかを決定し、前記第1範囲に含まれる計算を決定された位置まで実行し、実行された計算の結果と、決定された位置を示す情報と、を前記第2の通信装置に送信してもよい。
【0018】
また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置の計算余力に関する情報、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置におけるトラフィック量に関する情報、のうちの少なくとも1つに基づいて前記判定を行ってもよい。
【0019】
また、前記情報処理装置は、前記第1の通信装置との間の通信品質、前記第1の通信装置のモビリティ情報、のうちの少なくとも1つに基づいて前記判定を行ってもよい。
【0020】
また、前記情報処理装置は、前記一連の計算を途中終了することを指示する情報、前記一連の計算における途中の計算の結果を前記第1の通信装置に送信することを指示する情報、のうちの少なくとも1つに基づいて前記判定を行ってもよい。
【0021】
また、前記情報処理装置は、前記第1の通信装置から要求情報を取得し、前記要求情報に基づいて前記判定を行ってもよい。
【0022】
また、前記情報処理装置は、前記第1範囲の計算に必要な時間が与えられた許容時間よりも大きい場合に、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定してもよい。
【0023】
また、前記情報処理装置は、ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行い、前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信してもよい。
【0024】
また、前記情報処理装置は、前記第2範囲の計算担当である装置が前記第2範囲に含まれる計算を途中終了してもよいか否かを示す情報を、前記第2範囲の計算担当である装置にさらに送信してもよい。
【0025】
本開示の他の一態様である情報処理方法は、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置において実行される情報処理方法であって、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行うステップと、前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信するステップと、前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信するステップと、を備える。
【0026】
本開示の別の情報処理方法は、ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行うステップと、前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信するステップと、を備える。
【0027】
本開示の他の一態様である情報処理システムは、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する第1情報処理装置および第2情報処理装置を少なくとも備え、前記第1情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2情報処理装置に送信し、前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信し、前記第2情報処理装置は、前記一連の計算のうちの前記第1情報処理装置によって実行された計算以降の計算を前記第1情報処理装置によって実行された計算の結果に基づいて実行する、情報処理システム。
【0028】
前記情報処理システムは、前記第1範囲を決定する第3情報処理装置をさらに備えてもよい。
【0029】
本開示の別の情報処理システムは、少なくとも、ディープニューラルネットワークの一連の計算のうちの第1範囲の計算を行う第1情報処理装置と、前記ディープニューラルネットワークの一連の計算のうちの前記第1範囲に続く第2範囲の計算を行う第2情報処理装置と、を備え、前記第1情報処理装置は、前記第1範囲に含まれる計算を途中終了するか否かの判定を行い、前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第2情報処理装置に送信し、前記第2情報処理装置は、前記情報を受け取ったときは、前記一連の計算の前記第1情報処理装置によって実行された計算の続きを、前記第1情報処理装置によって実行された計算の結果に基づいて実行する。
【0030】
前記別の情報処理システムは、前記第1範囲に含まれる計算を途中終了するか否かの判定を行う第3情報処理装置をさらに備え、前記第3情報処理装置は、前記第1範囲に含まれる計算を途中終了する指示を前記第1情報処理装置に送信し、前記第1情報処理装置は、前記指示を受け取った場合に、前記第1範囲に含まれる計算を途中終了すると判定してもよい。
【図面の簡単な説明】
【0031】
図1】本開示の実施形態に係る情報処理システムの構成例を示す図。
図2】DNNを説明する図。
図3】DNNの計算の分散について説明する図。
図4】Splitting pointに応じた遅延および出力データ量の相違について説明する図。
図5】IABネットワークのアーキテクチャの例を示す図。
図6】DNNの計算の分散の効果を示す図。
図7】シミュレーションに用いたIABネットワークにおけるネットワークトポロジーの図。
図8】シミュレーシのための通信容量の変動を示す図。
図9】通信ネットワークのリソースが実行遅延に与える影響を示す図。
図10】本実施形態の全体処理の流れを示した概略シーケンス図。
図11】Splitting modeを説明する図。
図12】通信ルートごとに設定されたSplitting modeについて説明する図。
図13】通信ルートごとのSplitting modeの例を示す図。
図14】計算担当が切り替えられる前後のシーケンス図。
図15】通信端末の担当範囲を決定するための条件の一例を示す図。
図16】通信端末が自身の担当範囲を決定した場合に、通信端末から送信される計算結果の一例を示す図。
図17】通信端末が自身の担当範囲を決定する場合の全体処理の流れを示した概略シーケンス図。
図18】基地局装置の構成例を示す図。
図19】通信端末の構成例を示す図。
図20】コアネットワークを含む5GS(5G System)のネットワークアーキテクチャの構成例を示す図。
図21】Early-exitingを行う場合の計算範囲の例を示す図。
図22】Early-exitingに関する処理の流れの第1例を示した概略シーケンス図。
図23】Early-exitingに関する処理の流れの第2例を示した概略シーケンス図。
図24】Early-exitingに関する処理の流れの第3例を示した概略シーケンス図。
図25】マルチフィードバックを説明する概念図。
【発明を実施するための形態】
【0032】
(第1実施形態)
以下に、本開示の実施形態について図面に基づいて詳細に説明する。図1は、本開示の第1実施形態に係る情報処理システムの構成例を示す図である。第1実施形態に係る情報処理システム1は、通信端末11と、クラウドシステム(Cloud)12と、通信ネットワーク13と、を備える。なお、符号は、図1に示された11Aおよび11Bのように、同じ種類の個体に対し同一の数字を振ることとし、各個体の区別はアルファベットによって行うものとする。また、本説明において、特に個体を区別する必要がない場合は、符号のアルファベットは記載しない。
【0033】
情報処理システム1は、機械学習(ML:Machine Learning)によって学習されたディープニューラルネットワーク(DNN:Deep Neural Network)を利用したアプリケーションを動作させるためのシステムである。以降、当該アプリケーションを、MLアプリケーションと記載する。
【0034】
通信端末11は、MLアプリケーションを起動することが可能な情報処理装置でもあり、スマートフォン、ラップトップなどが該当する。例えば、スマートフォンにMLアプリケーションがインストールされており、スマートフォンのユーザによってMLアプリケーションが起動されることが想定される。また、通信端末11の形状は、特に限られるわけではない。例えば、眼鏡のようなウェアラブル端末でもよい。また、MLアプリケーションによってその動作が制御されるロボットも通信端末11に該当する。クラウドシステム12は、クラウドサーバーと呼ばれる、通信端末11よりも高性能な1台以上の情報処理装置を含み、通信端末11によって利用可能なサービスを提供する。通信ネットワーク13は、複数の通信ノードから構成され、通信端末11とクラウドシステム12との通信を中継する。なお、通信ノードは、通信基地局とも称される。
【0035】
なお、図1では、通信ネットワーク13に無線通信ネットワークが含まれる例が示されている。図1の例では、第5世代移動通信システム(5G)の無線通信に用いられるIAB(Integrated Access and Backhaul)ネットワークを用いた例が示されており、通信端末11は無線通信端末で示されており、通信ネットワーク13は、通信端末11と無線通信接続可能な無線通信ノード131と、1以上の無線通信ノード131の上位ノードであるドナーノード132と、ドナーノード132とクラウドシステム12との有線通信を行うコア(Core)ネットワーク133と、から構成されている。図1のように、有線通信よりも通信品質が不安定な無線通信ネットワークが通信ネットワーク13に含まれているほうが、後述する効果が従来よりも大きくなるため、好ましい。ただし、情報処理システム1の通信が全て有線通信であってもよいし、通信ネットワーク13に含まれ得る無線通信ネットワークがIABネットワークに限られるわけでもない。
【0036】
図2は、DNNを説明する図である。図2の点線枠2に囲まれたネットワークがDNNに相当する。DNNは、複数のノード21と、ノード21同士を接続するリンク22と、から構成される。また、図2に示すように、複数のノード21は、縦一列に並ぶノード群に分けられており、当該ノード群はレイヤ(階層)と称される。図2の例では、DNNは、七つのレイヤを有しているが、DNNが有するレイヤは三つ以上であればよい。
【0037】
DNNの計算は、ノード21ごとに行われる。例えば、図2では、画像の情報が入力層と呼ばれる最初のレイヤの各ノード21に入力されており、第1レイヤの各ノード21において計算が行われる。これらの計算結果は、リンク22を介して、第2レイヤの各ノード21に送られ、第2レイヤの各ノード21においても計算が行われる。このように、入力層のほうから計算が行われていき、出力層と呼ばれる最後のレイヤのノードから最終的な計算結果が出力される。そして、出力された計算結果に基づいて、入力画像に写されている物体が猫と判定されることになる。
【0038】
なお、図2では、画像認識の例を示したが、MLアプリケーションの用途などは、特に限られるものではない。例えば、画像認識以外にも、xRと総称される、AR(Augmented Reality)、VR(Virtual Realty)、MR(Mixed Realty)などでもよい。また、自動運転、ロボティクス、音声認識などが、DNNを利用して実現可能であり、MLアプリケーションが、このような用途に関するものであってもよい。また、MLアプリケーションの実施環境も特に限られるものではなく、デジタルツイン、Tactile internetといったシステムにおいて用いられてもよい。
【0039】
通信端末11に該当するスマートフォンなどは、一般的に、クラウドサーバーに比べてスペックが低い。そのため、MLアプリケーションの処理、特にDNNの計算を、そのまま全て通信端末11に行わせた場合(In device learning)、完了までの計算時間が長くなる。言い換えれば、大きな計算遅延が発生する。しかし、MLアプリケーションの仕様上、MLアプリケーションの実行に要する時間を所定の許容限度内に収めるように要求される場合もあり、通信端末11にDNNの計算を全て任せると、計算遅延が許容限度を超えてしまう恐れがある。
【0040】
一方、DNNの計算を、通信端末11ではなく、クラウドシステム12に実行させた場合(Cloud learning)では、通信に要する時間、言い換えれば、通信遅延が問題となる。例えば、撮影を行いながら災害の被害者を探索する救助ロボットなどでは、電力を過度に消費する計算をクラウドサーバーに実行させて、消費電力を抑えるといったことが行われている。しかし、ロボットからクラウドサーバーに必要なデータを送る必要があり、それによる通信遅延が増加することによって、通信遅延と計算遅延の和がMLアプリケーションの許容限度を超えてしまう恐れがある。また、このデータ送信によって帯域が圧迫され、その他の通信にも影響を及ぼす恐れもある。
【0041】
そこで、情報処理システム1は、通信端末11と、クラウドシステム12と、通信ネットワーク13と、のうちから、複数の計算担当を決定し、複数の計算担当にDNNに基づく一連の計算を分散して処理させる。このような処理は、分散学習(Distributed learning)とも称される。ここで、計算担当は、DNNの計算の少なくとも一部を担当するエンティティを指す。
【0042】
図3は、DNNの計算の分散について説明する図である。図3(A)および(B)は分散学習ではない統合学習(Federated Learning)の例を示し、図3(C)は分散学習の例を示す。
【0043】
図3(A)の例では、計算担当は通信端末11だけであり、通信端末11がDNNの計算を行う(In device learning)。前述の通り、データが通信ネットワーク13に送信されないため、通信遅延は生じないが、通信端末11の計算能力の低さによる計算遅延が問題となる。一方、図3(B)の例では、クラウドシステム12だけがDNNの計算を行い(Cloud learning)、通信端末11は、計算に必要な情報をクラウドシステム12に送信し、計算結果をクラウドシステム12から受信する。通信端末11の計算能力はそこまで必要なく、クラウドシステム12での計算遅延も小さい点が優れているが、通信端末11とクラウドシステム12との通信遅延が問題となる。
【0044】
それに対し、図3(C)の例では、通信端末11、クラウドシステム12、および通信ネットワーク13がそれぞれ、DNNの計算の一部を担当する。言い換えれば、通信ネットワーク13も、通信端末11において実行されるMLアプリケーションに対して、計算パワーを提供する。クラウドシステム12の計算能力の高いクラウドサーバーがDNNの計算の一部を担当するため、通信端末11だけがDNNの計算を行う場合よりも、計算遅延は抑えられる。また、図3(C)の例では、通信端末11からの送信データは、通信ネットワーク13によって受信されて処理された上で、クラウドシステム12に送信される。通信ネットワーク13からクラウドシステム12への送信データが、通信端末11からの送信データよりも小さくすることができれば通信時間は小さくなるため、クラウドシステム12だけが計算を行う図3(B)の場合よりも、通信遅延を減らすことが可能となる。ゆえに、各通信担当がDNNの計算に要する時間である計算遅延と、各通信担当がDNNの計算に必要な情報の通信に要する時間である通信遅延と、の総和が、図3(B)の場合よりも短くなる可能性がある。
【0045】
このように、本実施形態では、DNNの一連の計算を分散させて処理することにより、MLアプリケーションの実行に要する時間、より具体的には、DNNに対する入力が行われてからDNNからの出力が得られるまでの時間を所定の許容限度内に抑える。なお、以降、MLアプリケーションの実行に要する時間を実行遅延と記載する。
【0046】
また、通信ネットワーク13が計算担当と決定された場合は、さらに、通信ネットワーク13内の1以上の通信ノードが計算担当と決定される。なお、前述の無線通信ノード131およびドナーノード132は、通信ノードに該当する。また、コアネットワーク133内にも通信ノードが存在し、コアネットワーク133の通信ノードも計算担当として選ばれ得る。
【0047】
例えば、図2のDNNは、七つのレイヤを有しているが、第1および第2レイヤを通信端末11が担当し、第3および第4レイヤを無線通信ノード131が担当し、第5から7レイヤをクラウドシステム12が担当することが示されている。この場合、通信端末11は、第2レイヤにおける計算結果を無線通信ノード131に送信し、無線通信ノード131は、第2レイヤにおける計算結果から第3レイヤおよび第4レイヤの計算を行って、第4レイヤの計算結果をクラウドシステム12に送信し、クラウドシステム12は、第4レイヤにおける計算結果から第5レイヤから第7レイヤの計算を行う。なお、クラウドシステム12は、第7レイヤの計算結果を通信端末11に返信し、通信端末11が、第7レイヤの計算結果に基づいて、入力が画像猫という判定を行ってもよい。あるいは、クラウドシステム12は、第7レイヤの計算結果に基づいて入力が画像猫という判定を行い、判定結果を通信端末11に返信してもよい。
【0048】
なお、DNNには、畳み込みニューラルネットワーク(CNN)などのように様々な種類があるが、MLアプリケーションは、上記のように、レイヤごとに分担して計算が可能なDNNを用いるものとする。
【0049】
なお、本実施形態において、DNNのパラメータは更新されてもよいし、更新されなくてもよい。すなわち、DNNは既に学習を完了しており、DNNのパラメータは更新されないとしてもよい。あるいは、MLアプリケーションを介して、通信端末11のユーザから正解を受け取り、当該正解に基づいて、学習が実行されてもよい。ただし、学習が実行されてDNNが更新された場合、計算担当によって使用するDNNが異なるという事態を防ぐために、更新された新たなDNNが、計算担当に配布されるものとする。
【0050】
なお、通信ノードが計算担当と決定された場合、実際には、通信ノード内の通信を行うためのインフラストラクチャーに計算を実行させてもよい。あるいは、通信ノード内に計算を実行するサーバーを設けてもよい。なお、通信ノードのようなクラウドサービスよりも利用者に近い場所(エッジとも称される)からクラウドサービスの一部を代行する情報処理装置は、一般的にエッジサーバーと称される。
【0051】
なお、DNNの計算は、通信端末11、クラウドシステム12、および通信ネットワーク13のそれぞれに分散されるとは限られない。アプリケーションによっては、クラウドシステム12を利用せずに、通信ネットワーク13内でDNNの計算を完了させることも可能である。この場合、通信ルートの総距離が短くなるため、通信遅延をさらに低下させることできる。また、通信端末11はDNNの計算を行わず、クラウドシステム12および通信ネットワーク13にDNNの計算が分散される場合もあり得る。あるいは、MLアプリケーションを実行した通信端末11とは別に、通信ネットワーク13に接続されていて計算余力が大きい通信端末11を発見した場合、発見された通信端末11の承諾を得た上で、発見された通信端末11にDNNの計算の一部を担当さてもよい。また、通信端末11とクラウドシステム12との通信ルート間に存在する通信ノードのうちの少なくとも一つを計算担当にすると予め決めておいてもよい。
【0052】
なお、クラウドシステム12が最後の計算担当とであるとは限らない。場合によっては、クラウドシステム12が先に計算を行い、通信ネットワーク13がクラウドシステム12の計算を引き継ぐこともあり得る。
【0053】
DNNの一連の計算を分散させて処理する場合、計算担当に担当させる計算範囲、言い換えれば、担当範囲をどのように決めるかも重要である。さらに言い換えれば、DNNの一連の計算をどこで分離するかも重要である。DNNを分離させる場所をSplitting pointとも記載する。図2の例では、Splitting pointは、第2レイヤおよび第3レイヤの間と、第4レイヤおよび5レイヤの間と、に設定されており、DNNを三つの範囲に分離させている。
【0054】
図4は、Splitting pointに応じた遅延および出力データ量の相違について説明する図である。図4のドット柄の棒グラフは、入力層から当該棒グラフに対応する層までの計算を行った場合に、出力されるデータ量が示されている。図4によれば、各層から出力されるデータ量は均一ではなく、大きなデータ量を出力する層でDNNを分離しないほうが、通信遅延が大きくならず、好ましいことが分かる。また、図4の白色の棒グラフは、当該棒グラフに対応する層における計算遅延が示されている。例えば、「fc6」と名付けられた層に対応する白色の棒グラフが高いので、fc6の層の計算には時間がかかることが分かる。ゆえに、fc6の層の計算は、計算能力の高い装置に担当させたほうが好ましいことが分かる。
【0055】
このように、担当範囲によって、計算遅延および通信遅延が変動する。ゆえに、計算担当の決定に際して、各計算担当の担当範囲も決定することが好ましい。
【0056】
しかし、DNNの計算を分担させてMLアプリケーションの遅延を抑えることに成功しても、情報処理システム1の状況の変化によって、当該遅延が増加することがあり得る。例えば、計算担当の計算余力は常に一定ではないため、計算遅延は変動する。また、通信ネットワーク13内に無線通信ネットワークが含まれる場合、無線通信リンクの品質が頻繁に変動するため、通信遅延が変動しやすい。また、通信端末11が持ち運び可能である場合、通信端末11の移動によって通信ルートなども変更されてしまう。また、ネットワークトポロジーの変動もあり得る。このような状況の変化によって、アプリケーションの実行遅延が、当初は許容限度内だったにも関わらず、許容限度を超えてしまうこともあり得る。
【0057】
例えば、前述のIABネットワークは、バックホールリンクとアクセスリンクの統合を目的としており、アクセスリンクのみならず、バックホールリンクも無線回線である。そのため、通信リンクの状況が変化しやすい。ゆえに、IABネットワークが本実施形態の通信ネットワーク13に含まれる場合では、通信遅延が変動しやすく、当初の計算担当および担当範囲のままにしていると、DNNの計算の分散をしない場合よりも実行遅延が悪化する恐れがある。
【0058】
そこで、本実施形態は、情報処理システム1の状況に基づいて分散の動的変更を行う。より詳細には、計算担当となり得る計算担当候補の状況と、計算担当候補間の通信リンクの状況と、に基づいて、計算担当、担当範囲、計算担当間の通信ルートなどを変更する。
【0059】
なお、IABネットワークでは、当該ネットワーク内の通信ノードがリレー通信を行う。これにより、ミリ波通信においても、通信可能な領域(カバレッジ)を担保することが可能となる。また、従来のTDM(Time Division Multiplexing)だけでなく、FDM(Frequency Division Multiplexing)またはSDM(Space Division Multiplexing)を用いて物理レイヤレベルでバックホールリンクとアクセスリンクを直交させるため、レイヤ3などの比較的高い通信レイヤにおけるリレー通信と比較して、効率の良い通信を行うことができる。また、IABネットワークでは、特に、ミリ波を用いた通信を想定しており、ミリ波通信におけるカバレッジ問題も、IABネットワークのようなリレー通信を用いることで改善することができ、カバレッジの拡大も効率的に行えるようになる。IABネットワークではマルチホップ通信も想定しており、将来的にはメッシュタイプへの展開も想定されている。
【0060】
なお、IABネットワークは、ミリ波通信に限られない。例えば、車にIABノードを搭載したVehicle tethering、電車に搭載したMoving cell、ドローンに搭載したDrone cellなどにも適用することができる。その他にも、IoT(Internet of things)向けの通信にも適用することが想定される。特にスマートフォンとウェアラブル機器を接続するウェアラブル向けテザリング通信などにも適用することが可能である。その他にも医療やファクトリーオートメーションといった領域にも適用することが可能となる。本実施形態にIABネットワークを適用する場合も同様である。
【0061】
なお、IABネットワークのアーキテクチャは、公知のものを用いてよい。図5は、IABネットワークのアーキテクチャの例を示す図である。図5(A)に示すように、ドナーノード132に該当するIAB-donorはgNB(Next Generation Node B)のような通信ノードが想定されている。その配下に、無線通信ノード131に該当し、リレーノードであるIAB-nodeが存在し、これらが複数マルチホップを構成しながら無線にて接続されていく。各IAB-nodeは、通信端末11に該当するUE(User Equipment)をアクセスリンクで接続する。IAB-nodeはバックホールリンクの冗長性を向上させるために、複数のIAB-nodeと接続してもよい。IAB-nodeはUEとしての機能(MT)と、通信ノードとしての機能(DU)と、を含む。つまり、バックホールリンクを用いて、ダウンリンク(DL)の受信と、アップリンク(UL)の送信と、を行う際はMTとして動作し、DL送信およびUL受信の際はDUとして動作する。UEからはIAB-nodeは通常の基地局のように見えるため、UEがレガシー端末であっても、図5(B)に示すようにIABネットワークに接続することが可能である。なお、MTとDUの組み合わせに限らず、MTとMT同士の組み合わせなどを用いてもよい。
【0062】
DNNの計算の分散および動的変更の効果について説明する。図6は、DNNの計算の分散の効果を示す図である。(1)の棒グラフは、通信端末11単体でDNNの計算を実行した場合の実行遅延を示す。(2)の棒グラフは、通信端末11と、クラウドシステム12内のクラウドサーバーと、でDNNの計算を実行した場合の実行遅延を示す。(3)の棒グラフは、通信端末11と、通信ネットワーク13内の通信ノードが有する、エッジサーバーの一種であるMEC(Multi-access Edge computing)サーバーと、でDNNの計算を実行した場合の実行遅延を示す。(4)の棒グラフは、通信端末11と、MECサーバーと、クラウドサーバーと、でDNNの計算を実行した場合の実行遅延を示す。また、棒グラフのドット柄の部分が計算遅延を表し、白色の部分が通信遅延を表す。
【0063】
なお、通信端末11は市販のラップトップを使用し、MECサーバーは、CPU(Central Processing Unit)がRyzen(商標登録)の3800Xでメモリが32GB(Giga byte)のものを使用し、クラウドサーバーは、CPUがIntel(登録商標)のCore i9-9900でメモリが128GBのものを使用し、クラウドサーバーのほうがMECサーバーよりも計算遅延が少なくなるようにしている。また、通信端末11とMECサーバーとの間の通信容量を100Mbps(Mega bit per second)とし、MECサーバーとクラウドサーバーとの間の通信容量を30Mbsと設定した。なお、DNNは、畳み込みニューラルネットワークの一種であるResNet(Residual Network)18を使用した。
【0064】
図6に示すように、(1)の場合は、通信遅延がないものの、実行遅延が212ms(millisecond)と最も大きい。(2)の場合は、通信遅延が大きくなる。(3)の場合は、MECサーバーが通信端末11に近いため通信遅延が抑えられているが、MECサーバーがクラウドサーバーよりも計算能力が低いために計算遅延が大きくなり、そのため、実行遅延が(2)の場合よりも大きくなっている。一方、(4)の場合は、クラウドサーバーがDNNの計算の全てを実行する場合よりも計算遅延が大きく、MECサーバーがDNNの計算の全てを実行する場合よりも通信遅延が大きくなるが、MECサーバーがDNNの計算の全てを実行する場合よりも計算遅延が小さく、クラウドサーバーがDNNの計算の全てを実行する場合よりも通信遅延が小さい。そして、(4)の場合は、実行遅延が53msと最小である。
【0065】
このように、DNNの計算の分散に通信ネットワーク13内の通信ノードも利用することにより、実行遅延を低減し得ることが分かる。なお、前述の図4で示した通り、計算遅延および通信遅延は担当範囲によって異なるため、図6のシミュレーション結果も、担当範囲によって変わり得る。つまり、担当範囲によっては、上記(4)の場合の実行遅延が、上記(1)から(3)の場合よりも大きくなるかもしれないが、担当範囲を適切に定めることにより、上記(4)の場合の実行遅延を、上記(1)から(3)の場合よりも小さくすることは可能である。
【0066】
また、DNNの計算の分散の動的変更の効果についても示す。図7は、シミュレーションに用いたIABネットワークにおけるネットワークトポロジーの図を示す。図7の例のネットワークは10個のノードから構成されており、10個のノードは、IABネットワークの無線通信ノード131Aから131Fと、IABネットワークのドナーノード132と、コアネットワーク133の通信ノード1331Aおよび1331Bと、クラウドサーバー121と、である。なお、無線通信ノード131Aから131Fのスペックは、図6の例のDNNの計算の分散の効果を示した際に用いたMECサーバーと同じであり、ドナーノード132と、通信ノード1331Aおよび1331Bと、クラウドサーバー121と、のスペックは、上記のDNNの計算の分散の効果を示した際に用いたクラウドサーバーと同じである。また、IABネットワークのアクセスリンクおよびバックホールリンクは、4Gbps(Giga bit per second)の通信容量を共有するものとする。ドナーノード132と通信ノード1331Aとの間の通信リンクは1Gbpsの有線リンクであり、通信ノード1331Aおよび1331Bの間の通信リンクは400Mbpsの有線リンクであり、通信ノード1331Bとクラウドサーバー121との間の通信リンクは100Mbpsの有線リンクである。
【0067】
また、通信端末11は、前述の市販のラップトップを使用し、図7の矢印のように移動したものとする。通信端末11は、まず最寄りの無線通信ノード131Fに接続するが、移動に伴って接続される無線通信ノード131が切り替えられていく。そのため、クラウドサーバー121への通信ルートも切り替わる。ゆえに、通信ルートが切り替わるたびに、計算担当および担当範囲を決定して、DNNの計算を実行させる。
【0068】
また、無線通信リンクの変動を模擬するため、シミュレーションのための通信容量の変動を定義した。図8は、シミュレーシのための通信容量の変動を示す図である。図8(A)が、図7の通信端末11と無線通信ノード131と間のアクセスリンクの通信容量の変動を示す。図8(B)が、図7の無線通信ノード131間の通信容量の変動を示す。アクセスリンクの例では、時間経過とともに通信容量が200Mbpsから800Mbpsまで変動させている。このリンク変動を用いて、無線通信リンクの変動による遅延の影響をシミュレーションした。
【0069】
図9は、通信ネットワーク13のリソースが実行遅延に与える影響を示す図である。図9(A)は、通信端末11とIABノードとの間の通信容量と実行遅延との関係を示す。図9(A)の棒グラフは実行遅延を表し、無線通信リンクの通信容量の大きい左側の棒グラフのほうが小さくなっている。つまり、無線通信リンクの通信容量が上がるにつれて、実行遅延は改善される。逆に言うと、無線通信リンクの品質が劣化して通信容量が減少した場合、実行遅延も同時に増大してしまう。無線通信リンクの品質は変動しやすいことから、DNNの計算を分散する際は、無線通信リンクの品質を考慮して分散のための設定を変更する必要がある。また、図9(B)は計算担当となったIABノードの計算余力と実行遅延との関係を示している。図9(B)でも、計算余力の大きい左側の棒グラフのほうが小さくなっており、IABノードの計算余力が上がれば上がるほど遅延量の削減が期待できる。また、図9で示したように、DNNの各レイヤにおける計算遅延もばらばらであるため、IABノードの計算余力の変動に応じて、担当範囲を決定する必要がある。
【0070】
このように、通信リンクの品質、通信ノードの計算余力といった通信ネットワーク13のリソースは実行遅延に影響を与えるが、これらは、ネットワークトポロジーの変化、アプリケーション要求の変化などによって、時間とともに変動し得るため、これらの変動に追従してDNNの計算の分散を動的に変更する。つまり、通信リンクの品質、各計算担当の計算余力の状況を鑑みて、計算担当、担当範囲、通信ルートなどを動的に変更することが好ましい。
【0071】
DNNの計算の分散および動的変更を行うための一連の処理について説明する。まずは、DNNの分散を実施する際に必要となるKPI(Key Performance Indicator)、制御対象、使用する情報の例を以下に示す。
【0072】
KPIとしては、前述の通り、MLアプリケーションの実行遅延である。MLアプリケーションの実行遅延には、各計算担当における計算遅延と、各計算担当間の通信遅延と、が少なくとも含まれる。なお、一つ前の計算担当からの計算結果を受信してから、自分の担当範囲の計算を始めるまでに行われる処理による遅延は考慮せず、各計算遅延と各通信遅延との総和を、実行遅延とみなしてもよい。
【0073】
制御対象は、ルーティング、各通信ノードにおけるDLまたはULの設定(DL/UL configuration)、DNNのSplitting pointなどが想定される。
【0074】
使用する情報は、各計算担当候補の処理の能力、各無線通信リンクの状況、MLアプリケーションの要求仕様、通信ネットワーク13の要求仕様、通信端末11の移動状況(モビリティ)などが想定される。なお、計算担当候補は、通信端末11、クラウドシステム12、および通信ネットワーク13内の通信ノードであるが、通信端末11およびクラウドシステム12については、予め計算担当とするかどうかが決まっていてもよく、その場合、計算担当候補から外してもよい。
【0075】
各計算担当候補の処理の能力としては、計算能力(Capacity)、現時点の計算余力などが想定される。例えば、最初は、通信ネットワーク13に属する計算担当候補のうち、最も計算能力を有する計算担当候補に、計算担当を任命し、計算担当の計算余力が所定閾値以下に減少した場合に、計算余力を十分に有する別の計算担当候補に担当を変更するようにしてもよい。このように、計算担当の計算余力に基づいて、計算担当の変更が行われてもよい。
【0076】
通信リンクの状況としては、通信容量、通信品質などが考えられる。なお、IABネットワークならば、バックホールリンクおよびアクセスリンクの状況を含む。
【0077】
MLアプリケーションの要求仕様としては、MLアプリケーションの実行遅延の許容限度、言い換えれば、MLアプリケーションが許容する実行遅延の上限値が想定される。また、通信遅延および計算遅延にも個別に許容される上限値が定められていてもよい。
【0078】
通信の要求仕様としては、各リンクにおけるトラフィックの上限値が想定される。また、通信端末11とクラウドシステム12間に設定されたルート上におけるトラフィックの上限値が設定されてもよい。これらの上限値は、MLアプリケーションの要求仕様と、DNNのSplitting pointと、に基づいて決定されてもよい。通信端末11の移動状況は、移動速度、移動方向、移動パターンなどの移動に関する情報であればよい。
【0079】
次に、計算担当および担当範囲の決定を行う主体について説明する。計算担当および担当範囲の決定は、情報処理システム1に属するいずれかの装置が行えばよく、特に限定されるものではない。すなわち、計算担当および担当範囲の決定を行う主体は、適宜、定めることが可能である。なお、通信端末11、通信ノード、クラウドサーバーなど、情報処理システム1に属する装置を区別しない場合は、これらをエンティティと記載し、計算担当および担当範囲の決定を行う主体を、論理エンティティと記載する。
【0080】
例えば、通信ネットワーク13の通信ノードやクラウドシステム12内に当該決定を行うサーバーなどを実装して論理エンティティにしてもよいし、通信ノード内の通信を行うためのインフラストラクチャーに、計算担当および担当範囲の決定を司るモジュールを実装して論理エンティティしてもよい。
【0081】
ただし、計算担当および担当範囲の決定のためには、情報処理システム1のリソースの状況を常時認識しているほうが好ましく、そのための通信に適した位置に存在する装置が論理エンティティとなることが好ましい。
【0082】
また、計算担当および担当範囲の両方を一つの論理エンティティが決定してもよいし、計算担当を決定する論理エンティティと、担当範囲を決定する論理エンティティと、に分かれていてもよい。
【0083】
情報処理システム1のリソースは、情報処理システム1に属する計算担当候補の計算余力、通信ネットワーク13内の通信リンクの通信容量、通信品質などがある。
【0084】
通信環境の変動としては、例えば、通信リンクの品質、通信ノードの計算余力、ネットワークトポロジー、通信ルートなどの変動が想定される。
【0085】
本実施形態の処理の流れについて説明する。図10は、本実施形態の全体処理の流れを示した概略シーケンス図である。なお、図10では、説明の都合上、通信ノードとクラウドサーバーはセットにして表されている。
【0086】
また、情報処理システム1のエンティティは、図示されていないが、各処理を担当する構成要素から構成されるものとする。本説明では、論理エンティティは、受信部と、送信部と、決定部と、を備える。また、通信端末11、通信ノード、クラウドサーバーといった計算担当候補は、受信部と、送信部と、取得部(測定部)と、設定部と、計算部と、を備える。図10の各処理の主体は、上記の構成要素とする。
【0087】
論理エンティティの送信部が、計算担当などの決定に用いられる情報処理システム1のリソースなどの情報の取得および送信に関する設定を、通信端末11、通信ノード、クラウドサーバーといった各エンティティに送信する(T101、Measurement configuration)。各エンティティの受信部は論理エンティティからの当該取得設定を受信し(T102)、各エンティティの取得部は当該設定に基づいてリソースに関する情報を取得し(T103)、各エンティティの送信部は当該設定に基づいて取得したリソースに関する情報を論理エンティティに送信する(T104)。
【0088】
論理エンティティの受信部は、各エンティティからのリソースに関する情報を受信し(T105)、論理エンティティの決定部は、MLアプリケーションの実行遅延を許容限度内に収めるべく、各エンティティの制御内容を決定する(T106)。後述するが、計算担当として任命されるか否かは、本制御内容として決定される。さらに、論理エンティティの決定部は、決定された制御内容を実現するために、通信端末11および通信ノードに設定されるパラメータの値、言い換えれば設定値を決定する(T107、Parameter configuration)。決定された設定値は、論理エンティティの送信部によって、通信端末11および通信ノードに送信される(T108)。
【0089】
各エンティティの受信部は、論理エンティティからの設定値を受信し(T109)、各エンティティの設定部が、各エンティティが動作するためのパラメータが当該設定値に設定する(T110)。これにより、現在のリソース状況に適した、MLアプリケーションの実行環境が整備されたことになる。
【0090】
その後、通信端末11においてMLアプリケーションが実行される(T111)。なお、通信端末11が計算担当と指定されている場合は、通信端末11の計算部が担当の計算範囲の計算を行う。そして、通信端末11の送信部が、DNNの計算に必要な情報を指定先に送信する(T112)。通信端末11が計算担当と指定されている場合は、DNNの一連の計算の途中までの計算結果が当該情報に含まれ、通信端末11が計算担当と指定されていない場合は、DNNへの入力が当該情報に含まれる。また、指定先は、次の計算担当である。
【0091】
次の計算担当の受信部はDNNの計算に必要な情報を受信し(T113)、次の計算担当の計算部が自身の担当範囲の計算を行い(T114)、次の計算担当の送信部が計算結果をさらに次の計算担当に送信する(T115)。このT113からT115の処理が各計算担当により行われる。なお、計算担当に指定されなかったエンティティは、DNNの計算は行わない。また、最後の計算担当の送信部は、計算結果を通信端末11に返信する。通信端末11の受信部はDNNの最終の計算結果を受信し(T116)、最終の計算結果に基づいてMLアプリケーションの処理が実行される(T117)。このようにして、MLアプリケーションの処理が完了する。
【0092】
なお、MLアプリケーションの処理が完了した後も、各エンティティは、取得設定に基づいてリソースの取得および送信を行い、論理エンティティは、リソースを受信する度に、実行遅延が許容上限値を超えるか否かを判定し、超えると判定された場合に、制御内容の変更を行ってもよい。このようにして、MLアプリケーションが再度実行された場合に備えておいてもよい。なお、リソースの取得および送信を停止し、MLアプリケーションの起動を検知した場合などに、リソースの取得および送信を再開するとしてもよい。
【0093】
上記シーケンスの各処理について補足する。まず、取得される情報について説明する。
【0094】
論理エンティティから取得するよう指示される情報は、計算パワーに関する情報であってもよい。計算パワーに関する情報としては、例えば、最大計算能力(Capability)、計算余力、計算負荷(計算量)、計算負荷から想定される計算遅延量などが上げられる。例えば、各エンティティが備えるGPU(Graphical Processor Unit)の数を最大計算能力としてもよい。また、現状の未使用であるGPUの数を計算余力としてもよい。
【0095】
また、当該情報は、接続されている通信リンクの状況に関する情報であってもよい。例えば、Radio link failureなどの無線通信リンク接続に関する情報でもよいし、RSRP(Reference Signal Received Power)、RSRQ(Reference Signal Received Quality)、RSSI(Reference Signal Strength Indication)などといった無線通信リンクの通信品質の情報でもよい。また通信リンクのスループットや遅延に関する情報を用いてもよい。
【0096】
また、当該情報は、MLアプリケーションの要求仕様に関する情報であってもよい。例えば、MLアプリケーションが許容する遅延の上限値などがある。なお、MLアプリケーションの要求仕様は、通信端末11ごとに異なっていてもよい。
【0097】
また、当該情報は、通信ネットワーク13のトラフィックに関する情報であってもよい。例えば、トラフィックの上限値、トラフィックのバッファステータスなどが上げられる。なお、実際のトラフィックの測定値ではなく推定値が用いられてもよい。
【0098】
また、当該情報は、通信端末11の移動(モビリティ)に関する情報であってもよい。MLアプリケーションの実行中に、通信端末11が移動することもあり得る。移動によって通信品質に影響を及ぼすため、例えば、移動速度、移動方向といった情報を取得してもよい。
【0099】
また、当該情報は、DNNの計算に関する情報であってもよい。例えば、各エンティティにDNNのレイヤごとの計算遅延を推定させてもよい。また、予め複数の担当範囲候補を定めておき、論理エンティティは、各エンティティに各担当範囲候補の計算遅延をそれぞれ推定するように指示してもよい。また、DNNの計算による負荷(例えばGPU使用率など)を推定させてもよい。なお、計算遅延は、過去の計算履歴に基づいて算出されてもよいし、図4に示したデータサイズを現在の計算余力が続いたと仮定して計算した際の理論上の時間として算出されてもよい。
【0100】
なお、エンティティは、指示された情報を実際に計測し、その実測値を論理エンティティに送信してもよい。あるいは、実測値に基づいて算出された将来の推定値を論理エンティティに送信してもよい。例えば、MLアプリケーションの実行予定時刻が10秒後であれば、10秒後の通信端末11の予想位置を論理エンティティに送信してもよい。また、通信端末11および通信ノードは、実測値を量子化してもよいし、実測値が予め定めた分類項目のいずれに該当するかを判定し、該当するとされた分類項目の情報を論理エンティティに送信してもよい。推定は、これまでの記録に基づいて行えばよい。
【0101】
リソースに関する情報の取得方法は、公知技術を用いてよい。例えば、計算能力、計算余力といったエンティティの性能に関する情報は、エンティティに搭載されたOS(operating system)などが提供するツールなどの機能を利用して取得してもよい。また、通信リンクの品質に関する情報、例えば、RSRQなどの通信品質は、公知技術を用いて確認されてよい。
【0102】
また、論理エンティティに送信される情報を収集して代表して論理エンティティに送信するといった代表者的な振る舞いをする通信ノードが存在していてもよい。その場合、例えば、各リンクのトラフィック、通信端末11の移動などの情報は、複数の通信ノードからの情報が合算された上で、論理エンティティに送信されてもよい。
【0103】
また、情報の取得のタイミングなども指定されてよい。定期的な取得(Periodical measurement)が指示されてもよい。例えば、論理エンティティが、取得開始時間、取得終了時間、取得期間を決定して各エンティティに指示し、各エンティティが当該指示に従って取得を行ってもよい。また、取得回数、反復待機期間なども指示されてよい。また、動的な取得(Trigger based measurement)が行われてもよい。各エンティティが動的に取得を開始するためのトリガー条件は、適宜に定めてよい。例えば、無線通信リンクの異常(failure)を検知したときに、取得が開始されてもよい。あるいは、ノードの処理負荷、MLアプリケーションの遅延、通信遅延などが、所定閾値を超えた場合に、取得が開始されてもよい。なお、これらの閾値は、論理エンティティにより調整されてもよい。あるいは、取得のリクエストを受信した際に取得が開始されてもよい。当該リクエストは論理エンティティから送信されてもよいし、論理エンティティとは別の上位ノードから送信されてもよい。
【0104】
例えば、バックホールリンクの品質を測定するために、例えば、10msの期間におけるバックホールリンクのRSRQの測定を、例えば100ms間隔といった定期的に実行するような指定が行われてもよい。
【0105】
これらの情報の論理エンティティに対する送信、言い換えればレポートは、適宜に行えばよく、送信タイミングも、送信されるデータの形式も特に限られるわけではない。例えば、情報を定期的に取得するよう指示された場合、当該送信も定期的に行うとしてもよい。あるいは、通信リンクのRSRQの値が所定閾値以下になったとき、ノードの処理負荷が所定の閾値以上になったとき、などの条件を満たした場合に行われてもよい。また、取得した直後に送信しても、取得からのオフセット時間が経過した後に送信してもよい。また、取得された値が条件を満たしたときに送信されるとしてもよい。例えば、計算担当、担当範囲などの変更が必要とされる程度の変動があった場合にレポートを行い、そうでない場合は、レポートを行わないとしてもよい。
【0106】
また、各エンティティは、取得した情報全てを論理エンティティに送信しなくともよい。例えば、情報を細かい粒度で取得し、取得された情報のうち、変動が大きいもの、閾値を超えたものなど、所定条件を満たした情報だけを、論理エンティティに送信してもよい。すなわち、論理エンティティは、取得させる情報と、報告させる情報と、を別々に指示してよい。また、論理エンティティへのレポートのために、取得された情報は、適宜、加工されてよい。
【0107】
また、当該設定はエンティティごとに異なっていてもよい。例えば、クラウドシステム12に接続されている通信リンクは有線であって安定していることが想定されるため、クラウドシステム12は通信リンクに関する情報を取得不要としてもよい。
【0108】
次に、制御内容の決定について説明する。決定される制御内容としては、通信リンク、無線通信パラメータに関するものがある。また、計算担当、担当範囲なども決定される。
【0109】
通信リンクに関する制御としては、例えば、通信ルートの決定がある。例えば、通信ネットワーク13がIABネットワークなどのリレー方式のネットワークを含む場合、リレーのルートを決定する。なお、通信端末11とクラウドシステム12との通信ルート上の通信ノードから計算担当を選出しようとしても、当該通信ルート上に計算余力がある通信ノードがないと選出できない。そのため、論理エンティティは、通信リンクの品質のみならず、通信ノードの計算能力、計算余力なども用いて、通信ルートを決定してもよい。また、経由するIABノードの変更およびホップ数の変更も同様に行ってもよい。
【0110】
通信パラメータに関する制御としては、例えば、通信ルート上の通信リンクの品質の向上がある。これにより、通信遅延を抑えられる。例えば、論理エンティティは、通信ルート上の無線通信ノード131に対して、送信する無線電波の強度(送信電力)を上昇させるような設定値を送信することが考えられる。また、干渉が起きないように、当該無線通信ノード131に対し、通信ルート上ではない無線通信リンクの通信容量を削減させてもよい。このようにして、通信リンクの品質を向上する設定値を決定してもよい。
【0111】
また、無線通信パラメータに関する制御として、無線通信リンクにおけるダウンリンク(DL)およびアップリンク(UL)の対応関係を変更してもよい。無線通信リンクでは、DLおよびULの一方の通信帯域を増やし、他方を減らすといった調整が可能である。そのため、DLとULの対応関係を通信遅延が減るように調整してもよい。なお、通信遅延は、送信されるデータのサイズと、データが流れる通信リンクの通信容量と、から算出すればよい。通信品質による遅延も考慮してもよい。
【0112】
ただし、通信帯域を調整すると、干渉が起きやすくなる。例えば、IABネットワークでは、IABネットワークリンクとのCLI(Cross link interference)が起きやすくなる。そのため、通信帯域の調整には十分留意する必要がある。
【0113】
計算担当および担当範囲は、各無線通信ノード131の計算余力、各担当範囲において出力されるデータ量、通信ルート上の通信リンクの品質などを鑑みて決定される。少なくとも遅延のボトルネックとなるような無線通信ノード131が計算担当とならないようにする。
【0114】
ただし、計算担当と担当範囲の最適解の探索には負荷および時間がかかる。通信ルート、DNNのレイヤ数によって、計算担当候補の数が指数関数的に増えるためである。ゆえに、予め計算担当候補を絞り、準最適解を探索するほうが、処理が容易となる。例えば、事前に担当範囲の組み合わせを複数用意しておき、通信環境の状況に応じて、使用する組み合わせを変更してもよい。ここでは、事前に用意された担当範囲の組み合わせをSplitting modeとも記載する。
【0115】
図11は、Splitting modeを説明する図である。図11には、四つのSplitting modeが示されている。なお、図11のような複数のSplitting modeを示す表を、Splitting mode tableとも記載する。図11の例では、四つのSplitting modeから、MLアプリケーションの実行遅延が最も小さくなるSplitting modeを選択することにより、各計算担当の担当範囲を決定する。なお、図11の例では、通信端末11と、通信ネットワーク13内の通信ノードと、クラウドシステム12と、が計算担当とされているが、計算担当が異なるSplitting modeが用意されていてもよい。また、例えば、MLアプリケーションの実行開始当初は、特定のSplitting modeをデフォルトで選択し、その後に、別のSplitting modeに切り替えるとしてもよい。例えば、通信端末11以外の計算担当の負荷が高いと判定された場合に、通信端末11以外の計算担当の担当範囲が小さい、2行目のSplitting modeを選択して、通信端末11に負荷を肩代わりしてもらうことが考えられる。このように、特定の計算担当に負荷があるような場合に、当該計算担当の担当範囲が小さいSplitting modeに切り替えることで、容易に改善を行うことができる。なお、Splitting modeを切り替えるかどうかの検討も、定期的に実行されてもよいし、動的に実行されてもよい。
【0116】
通常時に使用するSplitting modeと、通常時に使用するSplitting modeではMLアプリケーションの要求を満たせないと判定された場合に使用する臨時のSplitting modeと、の両方を決定しておいてもよい。そうすると、MLアプリケーションの要求を満たせないと判定された場合に適切なSplitting modeを選択するという処理を行わずに、Splitting modeを迅速に切り替えることができる。
【0117】
このように、事前に担当範囲の候補を用意しておくことにより、分散の動的変更を容易にしてもよい。また、Splitting modeの内容、つまり、各計算担当の担当範囲は適宜論理エンティティによって更新されてよい。なお、各計算担当が更新前のSplitting modeに基づいて計算を行わないように、更新されたSplitting modeは、逐次、各エンティティに通知される。
【0118】
また、通信ルートごとに、Splitting modeを設定してもよい。図12は、通信ルートごとに設定されたSplitting modeについて説明する図である。図12には、Route_A、Route_B、Route_Cの三つの通信ルートが示されている。これらの三つの通信ルートそれぞれごとに、図11に示したような複数のSplitting modeを設定する。
【0119】
例えば、通信ルートRoute_Aでは、通信ルートRoute_A上に存在する、クラウドシステム12と、コアネットワーク133の通信ノードと、ドナーノード132と、無線通信ノード131Cと、無線通信ノード131Aと、通信端末11Aとが、計算担当候補となる。これらの計算担当候補に対し、DNNのレイヤを割り当てて、Splitting mode tableを作成する。同様に、通信ルートRoute_BおよびRoute_Cに対しても、計算担当候補を選出して、Splitting mode tableを作成する。
【0120】
図13は、通信ルートごとのSplitting modeの例を示す図である。図13(A)は通信ルートRoute_AのSplitting mode tableを示し、図13(B)は通信ルートRoute_BのSplitting mode tableを示す。図13の例では、DNNのレイヤ数を40と想定しており、Splitting mode tableの各セルの数値は、対応する計算担当候補が担当するレイヤの数を示す。なお、セルに「0」が記載されている場合は、対応する計算担当候補が担当するレイヤがないことを意味する。つまり、計算担当とはならないことを意味する。
【0121】
なお、上記では、論理エンティティが担当範囲、つまり、Splitting modeを決定することを想定していたが、論理エンティティはSplitting mode tableを作成して計算担当にSplitting mode tableを送信し、計算担当がSplitting modeを選択するという方法もあり得る。例えば、通信端末11がハンドオーバーを行って接続先の無線通信ノード131を変更した際に、通信端末11が変更後の通信ルートのSplitting mode tableから、Splitting modeを選択し、選択したSplitting modeを各計算担当に通知することで、Splitting modeの再設定を行うことも可能である。
【0122】
なお、有線リンクを用いる計算担当の担当範囲は、固定としてもよい。例えば、クラウドシステム12と、コアネットワーク133のエッジサーバーとは、無線通信を行わないため、通信リンクの状況変化が少ないと思われる。このように通信環境の変動があまりない場所に存在する計算担当の担当範囲を固定にすることで、Splitting modeのバリエーションを減らすことが可能となる。例えば、図13(A)に示した通信ルートRoute_AのSplitting modeは、七つの計算担当候補を含んでいるが、設定を行うことで、準最適なSplitting modeの割り当てを行うことが可能となる。クラウドシステム12と、コアネットワーク133と、の割り当て値を固定にすることにより、Splitting modeのバリエーションの数を減らすことができる。
【0123】
また、論理エンティティは、アンカーポイントに基づいて、Splitting mode tableの変更を行ってもよい。アンカーポイントは、通信端末11が想定移動エリア内にいる限り、通信端末11に設定される通信ルート上に必ず存在する通信ノードである。通信端末11の移動によって通信ルートは変更されるが、通信端末11の想定移動エリア内において設定され得る全ての通信ルートに共通する通信ノードがアンカーポイントである。例えば、図12の例において、通信端末11が無線通信ノード131Aから131Dまでのいずれかと無線接続するならば、クラウドシステム12との通信ルート上に必ずドナーノード132が存在する。ゆえに、図12の例では、ドナーノード132はアンカーポイントである。例えば、論理エンティティは、アンカーポイントが通信ルートからなくならない限り、Splitting mode tableのうちから、Splitting modeを決定し、アンカーポイントが通信ルートからなくなったことを検知した場合に、Splitting mode table自体の再設定を行ってもよい。このように、通信ルート上に所定の通信ノードが存在しなくなったときに、Splitting mode tableの再作成を行ってもよい。
【0124】
また、論理エンティティは、各計算担当の担当範囲をレイヤ単位で変更してもよい。例えば、通信端末11の担当範囲がレイヤ1から4までと決定した後に、通信端末11の負荷が少し上昇した場合に、通信端末11の担当範囲をレイヤ1から3までに変更し、担当範囲外となったレイヤ4を次の計算担当に担当させるといった調整が行われてもよい。この場合は、Splitting modeレベルよりも細かい粒度での制御となり、論理エンティティの負荷が増えるが、MLアプリケーションの要求を満たさなくなるリスクを減らすことができる。
【0125】
次に、パラメータの設定について説明する。通信端末11および通信ノードは、論理エンティティによって決定された内容に従って、通信リンク、担当範囲などに関するパラメータの値を更新する。パラメータの設定の指示は、論理エンティティから、直接指示されてもよいし、複数の無線通信ノード131を束ねる代表者的な無線通信ノード131を介して、間接的に指示されてもよい。通知方法としては、特に限られるものではなく、アプリケーションレイヤにおけるシグナリング通知でもよいし、物理レイヤにおけるシグナリング通知でもよい。RRC(Radio Resource control) signalingのような準静的通知でもよいし、DCI(Downlink control information)またはUCI(Uplink control information)のような動的通知でもよい。
【0126】
さらに、計算担当が切り替えられるときのシーケンス図も例示する。図14は、計算担当が切り替えられる前後のシーケンス図である。なお、説明の便宜上、図14のブロックには、図10で示した処理の符号が記載されている。
【0127】
図14の例では、ドナーノード132に論理エンティティが実装された場合を示す。また、当初は、通信端末11と、無線通信ノード131A、無線通信ノード131C、およびクラウドシステム12が計算担当であったが、無線通信ノード131Aと無線通信ノード131Cとのバックホールリンクの品質が悪化し、担当範囲の切り替えが実行されるとする。なお、図10に示したパラメータの設定(T110)までの処理は実行済みとし、T111の処理から示す。
【0128】
通信端末11のMLアプリケーションが実行されて(T111)、通信端末11が、DNNの計算に必要な情報を次の計算担当に送信する(T112)。次の計算担当である無線通信ノード131Aが、当該情報を受信し(T113)、自身の担当範囲の計算を行い(T114)、計算結果を次の計算担当である無線通信ノード131Cに送信する(T115)。無線通信ノード131Cも同様に、T113からT115の処理を実行し、次の計算担当であるクラウドシステム12に無線通信ノード131Cの計算結果が送信される。次の計算担当であるクラウドシステム12も同様に、T113からT115の処理を実行し、クラウドシステム12が最終の計算担当であるので、クラウドシステム12からDNNの最終の計算結果が通信端末11に送信される。
【0129】
その後、各エンティティにおいて定期のリソースの取得(T103)が実行され、問題を検知した無線通信ノード131Aが論理エンティティであるドナーノード132にレポートする(T104)。なお、図14の例では、コアネットワーク133とクラウドシステム12とは論理エンティティへのレポートはしない設定となっており、コアネットワーク133とクラウドシステム12にはT104のブロックが示されていない。また、それら以外のエンティティも、悪化を検知しなかった場合には論理エンティティへのレポートはしない設定となっている。そのため、問題を検知した無線通信ノード131A以外のエンティティはレポートを行っていないため、T104のブロックが示されていない。
【0130】
例えば、各エンティティがバックホールリンクに対する測定を行う。そして、無線通信ノード131Aが無線通信ノード131CとのバックホールリンクのRSRQの値が所定値以下になったことを検知し、論理エンティティに送信するといったことが想定される。
【0131】
論理エンティティであるドナーノード132は、無線通信ノード131Aのレポートを受信し、レポーティングの結果から問題のバックホールリンクの帯域を増強するだけでは不十分と判断し、計算担当の変更などの新たな設定を決定し、各エンティティに送信する(T105からT108)。なお、図14の例では、論理エンティティは、新たな設定が必要なエンティティのみに設定を送信しているため、コアネットワーク133およびクラウドシステム12には送信を示す矢印が示されていない。なお、新たな設定が必要ないエンティティに設定を送信してもよい。
【0132】
なお、論理エンティティは、追加のレポートを各エンティティに要求してもよい。例えば、バックホールリンクに問題があるとのレポートを無線通信ノード131Aから受けたときに、当該バックホールリンクの帯域の増強で対応できるかを検討するために、無線通信ノード131Aの周辺の通信ノードに対して、トラフィックバッファなどのレポートを送信するように要求してもよい。
【0133】
論理エンティティから新たな設定を受信した各エンティティは、新たな設定を受信してパラメータに設定する(T109、T110)。図14の例では、無線通信ノード131Aから無線通信ノード131Cへのバックホールリンクがなくなり、無線通信ノード131Aから無線通信ノード131Dへのバックホールリンクが新設されたとする。これに伴い、通信ルートが変更され、通信ルート上にない無線通信ノード131Cが計算担当から外れ、無線通信ノード131Dが計算担当に追加されたとする。
【0134】
その後、再び、MLアプリケーションが実行されて(T111)、通信端末11が、DNNの計算に必要な情報を次の計算担当の無線通信ノード131Aに送信する(T112)。無線通信ノード131Aは、前回同様、当該情報を受信し(T113)、自身の担当範囲の計算を行うが(T114)、計算結果は、無線通信ノード131Cではなく、新たに次の計算担当になった無線通信ノード131Dに送信する(T115)。これにより、前回とは異なり、無線通信ノード131CではT113からT115の処理は実行されない。無線通信ノード131Dも同様に、T113からT115の処理を実行し、次の計算担当であるクラウドシステム12に無線通信ノード131Dの計算結果が送信される。次の計算担当であるクラウドシステム12も同様に、T113からT115の処理を実行し、クラウドシステム12が最終の計算担当であるので、クラウドシステム12からDNNの最終の計算結果が通信端末11に送信される。
【0135】
このように、計算担当が変更されることによって、問題のあるエンティティによる計算遅延と、問題のある通信リンクによる通信遅延と、を抑えることができ、MLアプリケーションの実行遅延が許容上限値を超えてしまうことを防ぐことができる。
【0136】
なお、図14の例では、バックホールリンクの帯域を増強するだけでは不十分と判断して、通信ルートの変更と計算担当の変更が行われたが、担当範囲の変更だけで対応可能と判定された場合は、計算担当の変更だけを行うとしてもよい。例えば、図11で示したようなSplitting mode tableから、無線通信ノード131Cの担当範囲が小さくなるようなSplitting modeを選択してもよい。また、例えば、今までは、無線通信ノード131Aの担当範囲がDNNのレイヤ20からレイヤ25までであり、無線通信ノード131Cの担当範囲がDNNのレイヤ26からレイヤ40までであったところ、無線通信ノード131Aの担当範囲をDNNのレイヤ20からレイヤ29までに増やし、無線通信ノード131Dの担当範囲をDNNのレイヤ30からレイヤ40としてもよい。このようにして、無線通信ノード131Cに引き続き計算担当を任せるようにしてもよい。
【0137】
また、担当範囲の変更は、図14の例のような計算担当が変更された場合においても行われてもよい。
【0138】
なお、本説明では、情報処理システム1に、通信端末11と、通信ネットワーク13と、クラウドシステム12と、が含まれるとしたが、現実的には、これらの所有者は異なると想定される。また、IABネットワークなどの通信端末11のアクセスのためのネットワークと、コアネットワーク133と、も所有者が異なると想定される。そのため、論理エンティティが指示および設定可能な範囲は、情報処理システム1の一部であってもよい。例えば、論理エンティティがIABネットワーク内の通信ノードである場合、論理エンティティは、クラウドシステム12の計算範囲などは変更できず、IABネットワーク内の通信ノードに対する設定のみを行うとしてもよい。
【0139】
以上のように、本実施形態では、情報処理システム1のリソースの変動によって、MLアプリケーションの実行に要する時間が上限値を超えてしまう場合に、計算担当、担当範囲、通信リンクの通信容量、通信ルートなどの設定変更を実行する。これにより、当該変動の影響を抑えて、MLアプリケーションを快適に動作させることが可能となる。
【0140】
なお、DNNの全ての計算をクラウドサーバーなどの外部の装置に代行させる場合、DNNへの入力が通信端末11から外部の装置に送信されることになる。例えば、m個のノードが入力層に含まれる場合では、入力1,入力2,・・・,入力mといった値から構成された入力データが通信端末11の外部に送信されることになる。しかし、このことがプライバシーや情報漏洩といった観点から問題であるとも指摘されている。ゆえに、通信端末11がDNNの一連の計算の最初から途中までの計算を少なくとも担当することによって、入力データそのものを外部に送信しないようにすれば、このような問題も軽減することができる。
【0141】
また、これまでの説明では、計算担当および担当範囲の決定を行う主体を、論理エンティティと記載し、論理エンティティを、通信ネットワーク13の通信ノードやクラウドサーバーなどが担当することを想定した。例えば、情報処理システム1のリソースの状況に応じて計算担当および担当範囲を決定することができるよう、リソースの状況を把握するのに適した装置が論理エンティティとすればよいことが示されている。また、通信ルート上の無線通信ノード131に対して通信リンクの品質を向上するような指示を出すような装置が論理エンティティとされることが示されている。また、通信端末11も論理エンティティになり得る。換言すると、通信端末11が計算担当および担当範囲の決定を行ってもよい。
【0142】
また、図10などに示したように、これまでの説明では、通信端末11などの各エンティティは定期的にリソースを論理エンティティに送信し、論理エンティティは各エンティティのリソースに基づいて計算担当および担当範囲を決定し、各計算担当に通知していた。そのため、通信端末11がMLアプリケーションを起動させた時点またはMLアプリケーションがDNNの計算を実行する時点において、計算担当および担当範囲が決定済みであった。しかし、担当範囲を決めるための条件を論理エンティティなどから通信端末11に予め通知することにより、通信端末11が自分自身の担当範囲を自分自身で決定するといったことも可能である。なお、条件を通信端末11に送信するエンティティが論理エンティティでなくてもよい。
【0143】
例えば、通信端末11は、MLアプリケーションの実行時において、自身の計算余力、クラウドシステム12との通信品質などといった事項を確認し、DNNの計算をいずれの位置まで行うかを当該事項に応じて決定してもよい。なお、通信端末11は、DNNのいずれかのレイヤまで計算を行うと決めてもよいし、あるレイヤ内のノードに設定された複数の計算の一部まで計算を行うと決めてもよい。あるいは、論理エンティティが、各計算担当を決定した後に、通信端末11に対し最低限計算して欲しい担当範囲を通知し、通信端末11が当該事項に応じて当該担当範囲を拡大してもよい。あるいは、論理エンティティが、各計算担当を決定した後に、通信端末11に対し、実施してもよい担当範囲(言い換えれば、担当範囲の上限)を通知し、通信端末11が当該事項に応じて論理エンティティから通知された担当範囲を縮小してもよい。
【0144】
通信端末11の担当範囲を決定するための条件を通信端末11が保持し、通信端末11が動的に担当範囲を決定する場合には、通信端末11がMLアプリケーションを起動させた時点またはMLアプリケーションがDNNの計算を実行する時点のリソースに基づいて、担当範囲を決定することができる。ゆえに、通信端末11の担当範囲を、通信端末11の状態により応じたものとすることができる。また、この場合、通信端末11から論理エンティティへのリソースの定期送信や論理エンティティから通信端末11への担当範囲変更の通知の回数を抑えることができ、各エンティティの処理負荷や通信リソースの使用を軽減することができる。
【0145】
図15は、通信端末11の担当範囲を決定するための条件の一例を示す図である。図15(A)の例では、通信端末11の計算余力に基づいてDNNの計算範囲を決定する条件が示されている。例えば、図15(A)の例では、計算余力が90%以上の場合には担当範囲がnと示されているが、これは、DNNの第1レイヤから第nレイヤまでの計算を通信端末11が担当することを示す。なお、図15の例では、nは10以上の整数であることを想定している。また、第nレイヤは、DNNの最終レイヤであってもよいし、論理エンティティから通知された担当範囲の最終レイヤであってもよい。また、計算余力が減少するにつれて担当範囲が減少されることが示されている。図15(A)の例では、計算余力が90%未満で80%以上の場合には担当範囲が第4n/5レイヤまでと示されており、計算余力が90%以上の場合よりも低下している。同様に、計算余力が80%未満で60%以上の場合には担当範囲が第3n/5レイヤまでと示されており、計算余力が60%未満で40%以上の場合には担当範囲が第2n/5レイヤまでと示されており、計算余力が40%未満で20%以上の場合には担当範囲が第n/5レイヤまでと示されている。このようにして、通信端末11の担当範囲を決定してもよい。また、計算余力がそれ以外、つまり、20%未満の場合には、担当範囲が第1レイヤまでとされているが、これは、通信端末11がDNNの計算を実行しないことを意味する。すなわち、通信端末11が計算担当に指定された場合であっても、通信端末11が計算を拒否する場合もあり得る。このように通信端末11の計算余力が小さい場合に担当範囲を減少させることにより、通信端末11の計算余力が少ないがゆえに担当範囲の計算に時間がかかるといった事態を防いでもよい。ここで、計算余力として、相対量(%)に代えて絶対量であるFLOPS(クロック周波数とクロックあたりの演算数の積)を用いてもよいし、その他の計算余力を示しうる値を用いてもよい。
【0146】
図15(B)の例は、図15(A)と同様に担当範囲が決められているが、当該条件が通信品質の一種である遅延時間に基づいている。なお、いずれの通信先との遅延時間かは、予め定めておけばよく、特に限られるものではない。次の計算担当でもよいし、論理エンティティでもよいし、通信端末11が無線接続する無線通信ノードでもよい。あるいは、遅延時間の主な要因は各エンティティで行われる無線処理であるため、無線(電波)および有線における伝搬遅延を考慮せず無線処理に係る時間を遅延時間とみなしてもよい。図15(B)の例では、遅延時間が500ms以上の場合には、DNNの第1レイヤから第nレイヤまでの計算を通信端末11が担当することを示す。そして、遅延時間が500ms未満で250ms以上の場合には担当範囲が第4n/5レイヤまでと示されており、遅延時間が250ms未満で100ms以上の場合には担当範囲が第3n/5レイヤまでと示されており、遅延時間が100s未満で50ms以上の場合には担当範囲が第3n/5レイヤまでと示されており、遅延時間が50ms未満で10ms以上の場合には担当範囲が第2n/5レイヤまでと示されており、遅延時間がそれ以外、つまり、10ms未満の場合には、通信端末11がDNNの計算を実行しないことが示されている。
【0147】
なお、図15(B)の例では、遅延時間が増加するにつれて通信端末11の担当範囲が一律に増加しているが、担当範囲を一律に増加させる必要はない。図4に示した通り、計算結果のデータサイズは、DNNの計算を進めるにつれて一様に減少するわけではない。そのため、図4のようなデータを参照して各レイヤにおける計算結果のデータサイズを考慮し、遅延時間と担当範囲との組み合わせを決定すればよい。
【0148】
また、このような条件は、実施形態の仕様に応じて適宜に設定すればよく、特に限られるものではない。例えば、MLアプリケーションの種類ごとに条件を変えることができる。また、複数の条件を設けて全て満たす場合に変更するとしてもよいし、満たされた条件のうち所定の優先度が最も高い条件に合わせて変更するとしてもよい。
【0149】
また、MLアプリケーションの種類ごとに秘匿度を予め定めておき、実行されたMLアプリケーションの秘匿度が所定閾値以上の場合は、通信端末11の担当範囲を第1レイヤから第2レイヤ以上とするようにしてもよい。こうすることにより、通信端末11は、DNNの入力データを、外部に送信しなくなる。これにより、秘匿度の高い情報が通信端末11以外に漏洩するリスクを低減することができる。
【0150】
しかし、通信端末11が自身の担当範囲を決定した場合、次の計算担当は、DNNのいずれのレイヤから計算を開始すべきかを認識できていない。ゆえに、例えば、論理エンティティから各計算担当に担当範囲が通知されていたが、通信端末11が論理エンティティから通知された担当範囲を変更した場合、次の計算担当は、通信端末11が担当範囲を変更したことを知らずに、予定されている自身の担当範囲の最初のレイヤの各ノードに通信端末11からの計算結果を入力する恐れもある。そのため、通信端末11が自身の担当範囲を決定または変更した場合、通信端末11は、計算結果のみならず、次の計算担当が計算を開始する位置を認識するための情報を通知する必要がある。当該情報は、例えば、通信端末11の担当範囲の最後のレイヤを示す情報でもよいし、次の計算担当の担当範囲の最初のレイヤを示す情報でもよいし、計算結果を出力したノードを示す情報でもよいし、計算結果を入力すべきノードを示す情報でもよい。なお、通信端末11は、当該情報を、直接、次の計算担当に送信してもよいし、論理エンティティを介して次の計算担当に送信してもよい。
【0151】
図16は、通信端末11が自身の担当範囲を決定した場合に、通信端末11から送信される計算結果の一例を示す図である。図16の例では、計算結果である各ノードの出力値と、当該出力値を出力したノードを識別するための識別情報が含まれている。なお、図16の例では、ノードの識別情報(識別子)が「node 3_4」のように記載されているが、末尾の数字はノードが含まれるレイヤの番号を示し、「node」の後ろにある数字が当該レイヤにおけるノードの番号を示す。すなわち、「node 3_4」は、第4レイヤに含まれる3番目のノードを示す。また、「node 3_4」と同じ行に記載された「out 3」が第4レイヤに含まれる3番目のノードによる出力値を示す。各ノードの出力がいずれのノードに入力されるかは、DNNの構造などから認識可能である。図16のような情報を受け取った次の計算担当は、受信した出力値を入力すべきノードをDNNの構造などから認識して、計算を開始すればよい。
【0152】
なお、これまでの説明では、計算担当は、担当範囲の各ノードに設定された計算を行い、担当範囲の最後のレイヤに属するノードの出力値を、次の計算担当に送信することを想定していた。しかし、一般的には、DNNのノードには、複数の計算が設定される。そのため、計算担当は、ノードに設定された複数の計算のうちの一部までを行い、その残りは次の計算担当が行うとしてもよい。ノード内の計算例としては、まず、ノードに入力された各入力データに、各入力データが通ってきたリンクに設定された重み係数が掛け合わされた上で加算される。さらに、当該加算値に各ノードに設定されたバイアス値が加算される。そして、加算値が所定の活性化関数に入力され、当該活性化関数からの出力がノードの出力値となる。ゆえに、例えば、加算値の算出までを計算担当が行い、次の計算担当が活性化関数の計算から始めるといったことを予め決めておき、そのように計算が分担されてもよい。なお、ノードに接続されたリンクはエッジとも称される。
【0153】
図17は、通信端末11が自身の担当範囲を決定する場合の全体処理の流れを示した概略シーケンス図である。なお、本シーケンス図の例では、MLアプリケーションによって使用されるDNNの構造、DNNの一連の計算の担当範囲を決めるための条件などは、クラウドシステム12が管理していることを想定する。また、本シーケンス図の例では、DNNの計算担当は、通信端末11とクラウドシステム12にしているが、通信端末11と通信ノードが計算担当であることもあり得る。ここで、コアネットワーク133の機能は、クラウドシステム12内に実装することができる。つまり、コアネットワーク133が上述の条件を管理することもできる。
【0154】
クラウドシステム12が、MLアプリケーションによって使用されるDNN、当該DNNの設定、担当範囲を決めるための条件などの情報を送信する(T201)。当該情報は、通信ネットワーク13の通信ノードを介して転送され、通信端末11が当該情報を受信し(T202)、当該情報に基づき、使用するDNNなどのMLアプリケーションの設定を行う。(T203)。
【0155】
なお、通信ノードは、通信端末11の接続要求、例えばサービス要求(Service Request)やPDU(Protocol Data Unit)セッション確立要求(PDU Session Establishment Request)、に含まれる5QI(5G QoS Identifier)やS-NSSAI(Single-Network Slice Selection Assistance Information)などに基づき、通信端末11がMLアプリケーションを起動したことを検知することが可能である。そのため、通信ノードが通信端末11においてMLアプリケーションの起動を検知し、検知したことをクラウドシステム12に通知し、クラウドシステム12が検知されたMLアプリケーションに使用させるDNNを抽出してもよい。
【0156】
その後、通信端末11は、MLアプリケーションの実行を決定する(T204)。その際、通信端末11は、通信端末11自身の処理能力を確認し(T205)、DNNの計算の担当範囲を決めるための条件と処理能力とに基づき、通信端末11の担当範囲を決定する(T206)。例えば、DNNの担当範囲を決めるための条件が図15(A)に示した例であって、DNNが10個のレイヤから構成されている場合(nが10の場合)に、計算余力が50%だったとすると、通信端末11はDNNを分割するレイヤを第4レイヤと決定する。そして、通信端末11は、MLアプリケーションを実行し、通信端末11の担当範囲を計算する(T207)。先ほどの例であれば、DNNの第1レイヤから第4レイヤまでの計算が行われる。
【0157】
なお、担当範囲の計算後に、再度、担当範囲の拡大が行われてもよい。例えば、担当範囲の計算終了後に所定の条件を満たしているか否かを確認し、確認結果に基づいて、次のレイヤにおける計算を引き続き行うか否かを判定してもよい。ここで、所定の条件を満たしているか否かは、計算余力や遅延時間、秘匿度等に基づき判定されてもよい。このように、担当範囲の決定が複数回行われてもよい。
【0158】
通信端末11は、通信端末11の担当範囲の計算後、図16に示したような通信端末11の担当範囲および計算結果が分かる情報を、通信ノードを介してクラウドシステム12へ送信する(T208)。クラウドシステム12は、当該情報を、通信ノードを介して受信する(T209)。
【0159】
クラウドシステム12は、受信した各ノードの識別情報に基づいて、受信した出力値を入力するノード、つまり、通信端末11の担当範囲の最後のレイヤの次のレイヤの各ノード、を識別し、クラウドシステム12の担当範囲を計算する(T210)。そして計算終了後、クラウドシステム12は、クラウドシステム12の担当範囲の計算結果を通信端末11に返信する(T211)。なお、クラウドシステム12の担当範囲は、DNNの残り全ての計算を想定するが、DNNの残り全ての計算でなくともよい。例えば、通信端末11が、クラウドシステム12の計算結果を受信して、さらに残りのDNNの計算を行うとしてもよい。
【0160】
通信端末11は、クラウドシステム12の計算結果を、通信ノードを介して受信する(T212)。そして、最終の計算結果に基づいてMLアプリケーションの処理が実行される(T213)。このようにして、MLアプリケーションの処理が完了する。なお、MLアプリケーションの処理結果まで、クラウドシステム12など通信端末11以外のエンティティが算出してもよい。
【0161】
以上のように、各エンティティ間でDNNの分散学習が行われる場合に、DNNの担当範囲を決めるための条件を通信端末が保持し、通信端末が自身の担当範囲を決定することにより、通信端末の状況に即した分散をより適切に行うことができる。また、MLアプリケーションの秘匿度などに応じて、通信端末が少なくとも第2レイヤまでDNNの計算を行わせることにより、入力データの漏洩といった事態が生じることも防ぐことができる。
【0162】
なお、深層学習(Deep Learning)で使用される一般的なアルゴリズムとしては、畳み込みニューラルネットワーク(CNN:Convolution Neural Network)、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、LSTM(Long Short-Term Memory)等がある。CNNでは、隠れ層は畳み込み層(Convolution Layer)とプーリング層(Pooling Layer)と呼ばれる各層から構成される。畳み込み層では、畳み込み演算によるフィルタリングを施し、特徴マップと呼ばれるデータを抽出する。プーリング層では、畳込み層から出力された特徴マップの情報を圧縮し、ダウンサンプリング(down sampling)を施す。RNNでは、隠れ層の値が再帰的に隠れ層に入力されるネットワーク構造を有し、例えば、短期間の時系列のデータが処理される。LSTMでは、RNNの中間層出力に対して、メモリセルと呼ばれる中間層の状態を保持するパラメータを導入することにより、遠い過去の出力の影響を保持することができる。つまり、LSTMは、RNNに比べてより長い期間の時系列のデータが処理される。深層学習が活用される代表的な技術領域として、画像認識、音声認識、自然言語処理、ロボットによる異常検知の4つの分野が挙げられる。画像認識は、SNS(Social Network Service)の人のタグ付けや自動運転といった用途に利用されている。音声認識は、スマートスピーカー等に応用されている。自然言語処理は、ブラウザーによる検索や自動翻訳に応用されている。ロボットによる異常検知は、空港、鉄道、製造現場等で利用されている。
【0163】
通信ネットワーク13の通信ノードについて補足する。前述の通り、通信ノードは、通信基地局(単に基地局とも)と称され、通信を行うためのインフラストラクチャーが含まれており、当該インフラストラクチャーは基地局装置とも称される。基地局装置は通信装置の一種であるし、情報処理装置とも言える。例えば、基地局装置は、無線基地局(Base Station、Node B、eNB、gNB、など)、無線アクセスポイント(Access Point)などとして通信ノードを機能させるための装置であってもよい。また、基地局装置は、ドナー局またはリレー局として通信ノードを機能させる装置であってもよい。また、基地局装置は、RRH(Remote Radio Head)と呼ばれる光張り出し装置であってもよい。また、基地局装置は、通信ノードをFPU(Field Pickup Unit)等の受信局として機能させる装置であってもよい。また、基地局装置は、無線アクセス回線と無線バックホール回線を時分割多重、周波数分割多重、もしくは、空間分割多重で提供するIAB(Integrated Access and Backhaul)ドナーノード、または、IABリレーノードとして通信ノードを機能させる装置であってもよい。また、基地局装置は、複数の装置から構成されていてもよく、例えば、ビル等の構造物に設置されたアンテナ及びそのアンテナに接続する信号処理装置の組み合わせであってもよい。
【0164】
なお、基地局装置が使用する無線アクセス技術は、セルラー通信技術であってもよいし、無線LAN技術であってもよい。勿論、基地局装置が使用する無線アクセス技術は、これらに限定されず、他の無線アクセス技術であってもよい。例えば、基地局装置が使用する無線アクセス技術は、LPWA(Low Power Wide Area)通信技術であってもよい。勿論、基地局装置が使用する無線通信は、ミリ波を使った無線通信であってもよい。また、基地局装置が使用する無線通信は、電波を使った無線通信であってもよいし、赤外線や可視光を使った無線通信(光無線)であってもよい。
【0165】
基地局装置は、通信端末11とNOMA(Non-Orthogonal Multiple Access)通信が可能であってもよい。ここで、NOMA通信は、非直交リソースを使った通信(送信、受信、またはその双方)のことである。なお、基地局装置は、他の基地局装置とNOMA通信可能であってもよい。
【0166】
なお、基地局装置は、基地局-コアネットワーク間インタフェース(例えば、S1 Interface等)を介してお互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。また、基地局装置は、基地局間インタフェース(例えば、X2 Interface、S1 Interface等)を介して互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。
【0167】
なお、基地局装置は、基地局-コアネットワーク間インタフェース(例えば、NG Interface、S1 Interface等)を介してお互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。また、基地局装置は、基地局間インタフェース(例えば、Xn Interface、X2 Interface等)を介して互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。
【0168】
また、基地局という用語が、基地局の機能を備えた構造物(Structure)を意味する場合もあり得る。当該構造物は、特に限られるものではない。例えば、高層ビル、家屋、鉄塔、駅施設、空港施設、港湾施設、オフィスビル、校舎、病院、工場、商業施設、スタジアム等の建物も当該構造物に含まれる。また、トンネル、橋梁、ダム、塀、鉄柱等の構築物(Non-building structure)や、クレーン、門、風車等の設備も、当該構造物に含まれる。また、当該構造物が設置される場所は特に限られるものではない。すなわち、陸上(狭義の地上)又は地中の構造物のみならず、桟橋、メガフロート等の水上の構造物や、海洋観測設備等の水中の構造物も、基地局の機能を備えた構造物となり得る。
【0169】
また、基地局は、前述のように、固定局であってもよいし、移動局であってもよい。基地局装置が移動体に設置されることにより、基地局が移動局となってもよい。あるいは、基地局装置が移動能力(Mobility)を有し、基地局装置自体が移動することによって基地局が移動局となってもよい。また、車両、ドローンに代表されるUAV(Unmanned Aerial Vehicle)といったもともと移動能力がある装置であって、基地局の機能(少なくとも基地局の機能の一部)を搭載した装置も、移動局とも移動局としての基地局装置とも言える。また、スマートフォンなどのように移動体に携帯されることによって移動する装置であって基地局の機能(少なくとも基地局の機能の一部)を搭載した装置も、移動局とも移動局の基地局装置とも言える。
【0170】
固定局および移動局が存在する場所は、特に限られるわけではない。ゆえに、移動局を構成する移動体は、陸上(狭義の地上)を移動する移動体(例えば、自動車、自転車、バス、トラック、自動二輪車、列車、リニアモーターカー等の車両)であってもよいし、地中(例えば、トンネル内)を移動する移動体(例えば、地下鉄)であってもよいし、水上を移動する移動体(例えば、旅客船、貨物船、ホバークラフト等の船舶)であってもよいし、水中を移動する移動体(例えば、潜水艇、潜水艦、無人潜水機等の潜水船)であってもよいし、大気圏内などの空中を移動する移動体(例えば、飛行機、飛行船、ドローン等の航空機)であってもよいし、大気圏外言い換えれば宇宙を浮遊可能な移動体(例えば、人工衛星、宇宙船、宇宙ステーション、探査機等の人工天体)であってもよい。なお、大気圏外を浮遊する基地局は衛星局とも称される。一方、大気圏外よりも地球側にある基地局は地上局とも称される。また、航空機等、大気圏内を浮遊する基地局は、航空機局とも称される。
【0171】
なお、衛星局となる衛星は、低軌道(LEO:Low Earth Orbiting)衛星、中軌道(MEO:Medium Earth Orbiting)衛星、静止(GEO:Geostationary Earth Orbiting)衛星、高楕円軌道(HEO:Highly Elliptical Orbiting)衛星の何れであってもよい。
【0172】
なお、飛行機、グライダー等の重航空機、気球、飛行船等の軽航空機、ヘリコプターやオートジャイロ等の回転翼機ドローン等の無人航空機も、航空機局となり得る。なお、航空機局となり得る無人航空機をどのように制御するかは特に限られるものではない。すなわち、無人航空機の制御システムには、無人航空システム(UAS:Unmanned Aircraft Systems)、tethered UAS、LTA(Lighter than Air UAS)、HTA(Heavier than Air UAS)HAPs(High Altitude UAS Platforms)といったものがあるが、これらの制御システムによって航空機局の飛行が制御されてよい。
【0173】
また、基地局装置のカバレッジの大きさは、特に限られるものではなく、マクロセルのような大きなものでも、ピコセルのような小さなものでも、フェムトセルのような極めて小さなものでもよい。また、基地局装置はビームフォーミングの能力を有していてもよい。この場合、基地局装置はビームごとにセルやサービスエリアが形成されてもよい。そのために、基地局装置は、複数のアンテナ素子から構成されるアンテナアレーを装備して、MIMO(Multiple Input Multiple Output)やビームフォーミングに代表されるAdvanced Antenna Technologyを提供するよう構成されていてもよい。
【0174】
図18は、基地局装置の構成例を示す図である。図18に示された基地局装置50は、無線通信を行うことを想定しており、無線通信部51と、記憶部52と、制御部53と、演算部54と、ネットワーク通信部55と、アンテナ56と、を備える。なお、図18に示した構成は、機能的な構成であり、ハードウェア構成とは異なっていてもよい。また、図18の構成要素は、さらに分散されていてもよいし、他の構成要素と集約されていてもよい。また、図18の構成要素が基地局装置50とは別の装置として独立して存在し、複数の装置によって基地局装置50の機能が実現されてもよい。
【0175】
無線通信部51は、他の無線通信装置(例えば、通信端末11)と無線通信するための信号処理を行う。無線通信部51は、制御部53の制御に従って動作する。無線通信部51は1又は複数の無線アクセス方式に対応する。例えば、無線通信部51は、NR(New Radio)及びLTE(Long Term Evolution)の双方に対応する。無線通信部51は、NRやLTEに加えて、W-CDMA(Wideband Code Division Multiple Access)やCDMA2000(Code Division Multiple Access 2000)に対応していてもよい。また、無線通信部51は、HARQ(Hybrid Automatic Repeat reQuest)等の自動再送技術に対応していてもよい。
【0176】
無線通信部51は、送信処理部510および受信処理部515を備える。無線通信部51は、送信処理部510および受信処理部515をそれぞれ複数備えていてもよい。なお、無線通信部51が複数の無線アクセス方式に対応する場合、無線通信部51の各構成要素は、無線アクセス方式毎に個別に構成されうる。例えば、送信処理部510及び受信処理部515は、LTEとNRとで個別に構成されてもよい。また、アンテナ56は、1以上でよく、また、複数のアンテナ素子(例えば、複数のパッチアンテナ)で構成されていてもよい。この場合、無線通信部51は、ビームフォーミングを可能にするように構成されていてもよい。無線通信部51は、垂直偏波(V偏波)と水平偏波(H偏波)とを使用した偏波ビームフォーミングを可能にするように構成されていてもよい。
【0177】
送信処理部510は、下りリンク制御情報及び下りリンクデータの送信処理を行う。例えば、送信処理部510の符号化部511は、制御部53から入力された下りリンク制御情報及び下りリンクデータを、ブロック符号化、畳み込み符号化、ターボ符号化等の符号化方式を用いて符号化を行う。ここで、符号化は、ポーラ符号(Polar code)による符号化、LDPC符号(Low Density Parity Check Code)による符号化を行ってもよい。
【0178】
そして、送信処理部510の変調部512は、符号化ビットをBPSK(Binary Phase Shift Keying)、QPSK(Quadrature Phase shift Keying)、16QAM(Quadrature Amplitude Modulation)、64QAM、256QAM等の所定の変調方式で変調する。この場合、変調方式のコンステレーション上の信号点は必ずしも等距離である必要はない。コンステレーションは、不均一コンステレーション(NUC:Non Uniform Constellation)であってもよい。
【0179】
そして、送信処理部510の多重部513は、送信に用いられる各チャネルの変調シンボルと下りリンク参照信号とを多重化し、所定のリソースエレメントに配置する。
【0180】
そして、送信処理部510は、多重化した信号に対して、各種の信号処理を行う。例えば、送信処理部510の無線送信部514は、高速フーリエ変換による周波数領域への変換、ガードインターバル(サイクリックプレフィックス)の付加、ベースバンドのデジタル信号の生成、アナログ信号への変換、直交変調、アップコンバート、余分な周波数成分の除去、電力の増幅等の処理を行う。無線送信部514により生成された信号は、アンテナ56から送信される。
【0181】
受信処理部515は、アンテナ56を介して受信された上りリンク信号の処理を行う。例えば、受信処理部515の無線受信部516は、上りリンク信号に対して、ダウンコンバート、不要な周波数成分の除去、増幅レベルの制御、直交復調、デジタル信号への変換、ガードインターバル(サイクリックプレフィックス)の除去、高速フーリエ変換による周波数領域信号の抽出等を行う。
【0182】
そして、受信処理部515の多重分離部517は、無線受信部516の処理が行われた信号から、PUSCH(Physical Uplink Shared Channel)、PUCCH(Physical Uplink Control Channel)等の上りリンクチャネル及び上りリンク参照信号を分離する。
【0183】
また、受信処理部515の復調部518は、上りリンクチャネルの変調シンボルに対して、BPSK、QPSK等の変調方式を使って受信信号の復調を行う。復調に使用される変調方式は、16QAM、64QAM、又は256QAMであってもよい。この場合、コンステレーション上の信号点は必ずしも等距離である必要はない。コンステレーションは、不均一コンステレーション(NUC)であってもよい。
【0184】
そして、受信処理部515の復号部519は、復調された上りリンクチャネルの符号化ビットに対して、復号処理を行う。復号された上りリンクデータ及び上りリンク制御情報は制御部53へ出力される。
【0185】
アンテナ56は、電流と電波を相互に変換する。アンテナ56は、1つのアンテナ素子(例えば、1つのパッチアンテナ)で構成されていてもよいし、複数のアンテナ素子(例えば、複数のパッチアンテナ)で構成されていてもよい。アンテナ56が複数のアンテナ素子で構成される場合、無線通信部51は、ビームフォーミングを可能にするように構成されていてもよい。例えば、無線通信部51は、複数のアンテナ素子を使って無線信号の指向性を制御することで、指向性ビームを生成するよう構成されていてもよい。なお、アンテナ56は、デュアル偏波アンテナであってもよい。アンテナ56がデュアル偏波アンテナの場合、無線通信部51は、無線信号の送信にあたり、垂直偏波(V偏波)と水平偏波(H偏波)とを使用してもよい。そして、無線通信部51は、垂直偏波と水平偏波とを使って送信される無線信号の指向性を制御してもよい。
【0186】
記憶部52は、基地局装置50の記憶手段として、基地局装置50の処理に必要な情報、処理結果などを記憶する。例えば、基地局装置50の処理を行うための各種プログラムが記憶されていてもよい。
【0187】
制御部53は、基地局装置50の各部を制御する。例えば、制御部53は、無線通信部51またはネットワーク通信部55を介して、論理エンティティなどから使用されるDNNに係る情報、DNNの一連の計算の担当範囲を決めるための条件などを外部から取得するために必要な制御を行う。
【0188】
演算部54は、制御部53の指示に従って、基地局装置50の処理に必要な演算を行う。例えば、送信処理部510や受信処理部515が行う処理の一部、例えば負荷の高い演算を、演算部54が肩代わりしてもよい。また、例えば、基地局装置が計算担当である場合に、基地局装置の担当範囲の計算は、演算部54によって行われてもよい。また、例えば、基地局装置50が論理エンティティである場合は、論理エンティティが実行する処理、例えば、リソースに基づく計算担当の決定、担当範囲の決定などが、演算部54によって行われてもよい。
【0189】
ネットワーク通信部55は、他の通信装置(例えば、クラウドシステム12)と有線通信するための信号処理を行う。例えば、例えば、ネットワーク通信部55は、コアネットワークのAMF(Access and Mobility Management Function)やUPF(User Plane Function)と接続されて、情報やシグナリングを交換する。
【0190】
いくつかの実施形態において、基地局装置は、複数の物理的又は論理的装置によって構成されていてもよい。例えば、本実施形態において基地局装置は、BBU(Baseband Unit)及びRU(Radio Unit)等の複数の装置に区別されてもよい。そして、基地局装置は、これら複数の装置の集合体、言い換えれば基地局システム、として解釈されてもよい。また、基地局装置は、BBU及びRUのうちのいずれかであってもよいし、両方であってもよい。BBUとRUは、eCPRI(enhanced Common Public Radio Interface)などの所定のインタフェースで接続されていてもよい。なお、RUはRRU(Remote Radio Unit )又はRD(Radio DoT)と言い換えてもよい。また、RUは後述するgNB-DU(gNB Distributed Unit)に対応していてもよい。さらにBBUは、後述するgNB-CU(gNB Central Unit)に対応していてもよい。さらに、RUはアンテナと一体的に形成された装置であってもよい。基地局装置が有するアンテナ(例えば、RUと一体的に形成されたアンテナ)はAdvanced Antenna Systemを採用し、MIMO(例えば、FD-MIMO)やビームフォーミングをサポートしていてもよい。また、基地局が有するアンテナは、例えば、64個の送信用アンテナポート及び64個の受信用アンテナポートを備えていてもよい。
【0191】
また、RUに取り付けられたアンテナは1以上であってもよく、当該アンテナは、1つ以上のアンテナ素子から構成されるアンテナパネルであってもよい。例えば、RUは、水平偏波のアンテナパネルと垂直偏波のアンテナパネルの2種類を含むアンテナパネル、または、右旋円偏波のアンテナパネルと左旋円偏波のアンテナパネルの2種類を含むアンテナパネルを搭載してもよい。また、RUは、アンテナパネル毎に独立したビームを形成し、制御してもよい。
【0192】
なお、無線アクセスネットワーク(RAN:Radio Access Network)の基地局はRANノードと称され、AN(Access Network)の基地局はANノードと称されることがある。なお、LTEにおけるRANはE-UTRAN(Enhanced Universal Terrestrial RAN)と呼ばれることがある。また、NRにおけるRANはNG-RANと呼ばれることがある。また、W-CDMA(UMTS)におけるRANはUTRANと呼ばれることがある。
【0193】
なお、LTEの基地局は、eNodeB(Evolved Node B)又はeNBとも称され、このとき、E-UTRANは1又は複数のeNodeB(eNB)を含むと言える。また、NRの基地局は、gNodeB又はgNBとも称され、このとき、NG-RANは1又は複数のgNBを含むと言える。E-UTRANは、LTEの通信システム(EPS)におけるコアネットワーク(EPC)に接続されたgNB(en-gNB)を含んでいてもよい。同様に、NG-RANは5G通信システム(5GS)におけるコアネットワーク5GCに接続されたng-eNBを含んでいてもよい。
【0194】
なお、基地局がeNB、gNBなどである場合、基地局は、3GPPアクセス(3GPP Access)と称されることがある。また、基地局が無線アクセスポイント(Access Point)である場合、基地局は、非3GPPアクセス(Non-3GPP Access)と称されることがある。また、基地局がgNBである場合、基地局は、前述したgNB-CUとgNB-DUとを組み合わせたものであってもよいし、gNB-CUとgNB-DUとのうちのいずれかであってもよい。
【0195】
ここで、gNB-CUは、UEとの通信のために、アクセス層(Access Stratum)のうち、複数の上位レイヤ(例えば、RRC、SDAP、PDCP)をホストする。一方、gNB-DUは、アクセス層(Access Stratum)のうち、複数の下位レイヤ(例えば、RLC、MAC、PHY)をホストする。すなわち、RRCシグナリング、MAC CE(MAC Control Element)、DCIといったメッセージまたは情報のうち、RRCシグナリング(準静的な通知)はgNB-CUで生成され、一方でMAC CEやDCI(動的な通知)はgNB-DUで生成されてもよい。又は、RRCコンフィギュレーション(準静的な通知)のうち、例えばIE:cellGroupConfigなどの一部のコンフィギュレーション(configuration)についてはgNB-DUで生成され、残りのコンフィギュレーションはgNB-CUで生成されてもよい。これらのコンフィギュレーションは、後述されるF1インタフェースで送受信されてもよい。
【0196】
なお、基地局は、他の基地局と通信可能に構成されていてもよい。例えば、複数の基地局装置がeNB同士又はeNBとen-gNBの組み合わせである場合、当該基地局間はX2インタフェースで接続されてもよい。また、複数の基地局がgNB同士又はgn-eNBとgNBの組み合わせである場合、当該装置間はXnインタフェースで接続されてもよい。また、複数の基地局がgNB-CUとgNB-DUの組み合わせである場合、当該装置間は前述したF1インタフェースで接続されてもよい。RRCシグナリング、MAC CE、DCIといったメッセージまたは情報は、複数の基地局間で、例えばX2インタフェース、Xnインタフェース、又はF1インタフェースを介して、送信されてもよい。
【0197】
基地局により提供されるセルはサービングセル(Serving cell)と呼ばれることがある。サービングセルという概念には、PCell(Primary Cell)及びSCell(Secondary Cell)が含まれる。デュアルコネクティビティがUEに設定される場合、MN(Master Node)によって提供されるPCell、及びゼロ又は1以上のSCellはマスターセルグループ(Master Cell Group)と呼ばれることがある。デュアルコネクティビティの例として、E-UTRA-E-UTRA Dual Connectivity、E-UTRA-NR Dual Connectivity(ENDC)、E-UTRA-NR Dual Connectivity with 5GC、NR-E-UTRA Dual Connectivity(NEDC)、NR-NR Dual Connectivityが挙げられる。
【0198】
なお、サービングセルはPSCell(Primary Secondary Cell、又は、Primary SCG Cell)を含んでもよい。デュアルコネクティビティがUEに設定される場合、SN(Secondary Node)によって提供されるPSCell、及びゼロ又は1以上のSCellは、SCG(Secondary Cell Group)と呼ばれることがある。特別な設定(例えば、PUCCH on SCell)がされていない限り、物理上りリンク制御チャネル(PUCCH)はPCell及びPSCellで送信されるが、SCellでは送信されない。また、無線リンク障害(Radio Link Failure)もPCell及びPSCellでは検出されるが、SCellでは検出されない(検出しなくてよい)。このようにPCell及びPSCellは、サービングセルの中で特別な役割を持つため、SpCell(Special Cell)とも呼ばれる。
【0199】
1つのセルには、1つのダウンリンクコンポーネントキャリアと1つのアップリンクコンポーネントキャリアが対応付けられていてもよい。また、1つのセルに対応するシステム帯域幅は、複数のBWP(Bandwidth Part)に分割されてもよい。この場合、1又は複数のBWPがUEに設定され、1つのBWP分がアクティブBWP(Active BWP)として、UEに使用されてもよい。また、セル毎、コンポーネントキャリア毎又は BWP毎に、UEが使用できる無線資源(例えば、周波数帯域、ヌメロロジー(サブキャリアスペーシング)、スロットフォーマット(Slot configuration)が異なっていてもよい。
【0200】
通信端末11について補足する。通信端末11は、移動体に設置されることにより移動してもよいし、移動体そのものであってもよい。例えば、通信端末11は、自動車、バス、トラック、自動二輪車等の道路上を移動する車両(Vehicle)、列車等の軌道に設置されたレール上を移動する車両、或いは、当該車両に搭載された無線通信装置であってもよい。なお、移動体は、モバイル端末であってもよいし、陸上(狭義の地上)、地中、水上、或いは、水中を移動する移動体であってもよい。また、移動体は、ドローン、ヘリコプター等の大気圏内を移動する移動体であってもよいし、人工衛星等の大気圏外を移動する移動体であってもよい。また、通信端末11は、情報処理機能および通信機能が具備され、本開示の処理が実施可能な装置であれば、主要な用途は問わない。例えば、情報処理機能および通信機能が具備された業務用カメラといった機器であってもよいし、FPU(Field Pickup Unit)等の通信機器であってもよい。また、通信端末11は、M2M(Machine to Machine)デバイス、又はIoT(Internet of Things)デバイスであってもよい。
【0201】
なお、通信端末11は、基地局とNOMA通信が可能であってもよい。また、通信端末11は、基地局と通信する際、HARQ等の自動再送技術を使用可能であってもよい。通信端末11は、他の通信端末11とサイドリンク通信が可能であってもよい。通信端末11は、サイドリンク通信を行う際も、HARQ等の自動再送技術を使用可能であってもよい。なお、通信端末11は、他の通信端末11との通信(サイドリンク)においてもNOMA通信が可能であってもよい。また、通信端末11は、他の通信装置(例えば、基地局、他の通信端末11)とLPWA通信が可能であってもよい。また、通信端末11が使用する無線通信は、ミリ波を使った無線通信であってもよい。なお、通信端末11が使用する無線通信(サイドリンク通信を含む)は、電波を使った無線通信であってもよいし、赤外線や可視光を使った無線通信(光無線)であってもよい。
【0202】
通信端末11は、移動体に設置された通信装置であってもよいし、移動能力を有した通信装置であってもよい。例えば、通信端末11を設置した移動体は、自動車、バス、トラック、自動二輪車等の道路上を移動する車両(Vehicle)でも、列車等の軌道に設置されたレール上を移動する車両でもよい。もよい。なお、移動体が移動する場所は特に限られるものではない。ゆえに、当該移動体は、陸上(狭義の地上)、地中、水上、または、水中を移動する移動体であってもよい。また、当該移動体は、ドローン、ヘリコプター等の大気圏内を移動する移動体であってもよいし、人工衛星等の大気圏外を移動する移動体であってもよい。
【0203】
通信端末11は、同時に複数の基地局または複数のセルと接続して通信を実施してもよい。例えば、1つの基地局が複数のセル(例えば、pCell、sCell)を介して通信エリアをサポートしている場合に、キャリアアグリゲーション(CA:Carrier Aggregation)技術やデュアルコネクティビティ(DC:Dual Connectivity)技術、マルチコネクティビティ(MC:Multi-Connectivity)技術によって、それら複数のセルを束ねて基地局と通信端末11とで通信することが可能である。或いは、異なる基地局のセルを介して、協調送受信(CoMP:Coordinated Multi-Point Transmission and Reception)技術によって、通信端末11とそれら複数の基地局が通信することも可能である。
【0204】
図19は、通信端末11の構成例を示す図である。図19は、無線通信を行う場合の構成例であり、通信端末11が、無線通信部111と、記憶部112と、制御部113と、演算部114と、アンテナ115と、を備える。なお、図19に示した構成は、機能的な構成であり、ハードウェア構成とは異なっていてもよい。また、通信端末11の機能は、複数の物理的に分離された構成要素に分散して実装されてもよい。
【0205】
無線通信部111は、他の無線通信装置(例えば、基地局、中継局、無線通信ノード131、ドナーノード132、他の通信端末11など)と無線通信するための信号処理を行う。無線通信部111は、制御部113の制御に従って動作する。無線通信部111は、送信処理部1110と、受信処理部1115と、を備える。通信端末11の無線通信に係る構成要素は、基地局装置50の無線通信に係る対応する構成要素と同様でよい。すなわち、無線通信部111及びその内部の構成要素、並びにアンテナ115の構成は、基地局装置50の無線通信部51及びその内部の構成要素、並びにアンテナ56と、それぞれ同様であってもよい。また、無線通信部111は、基地局装置50の無線通信部51と同様に、ビームフォーミングを可能にするように構成されていてもよい。
【0206】
記憶部112は、通信端末11の記憶手段として、通信端末11の処理に必要な情報、処理結果などを記憶する。例えば、通信端末11の処理を行うための各種プログラムが記憶されていてもよい。
【0207】
制御部113は、通信端末11の各部を制御する。例えば、制御部113は、無線通信部111を介して、論理エンティティなどから使用されるDNNに係る情報、DNNの一連の計算の担当範囲を決めるための条件などを外部から取得するために必要な制御を行う。
【0208】
演算部114は、制御部113の指示に従って、通信端末11の処理に必要な演算を行う。例えば、送信処理部1110や受信処理部1115が行う処理の一部、例えば負荷の高い演算を、演算部114が肩代わりしてもよい。また、例えば、DNNの計算など、通信端末11が実行するMLアプリケーションに必要な演算を行う。
【0209】
コアネットワークについて補足する。図20は、コアネットワーク133を含む5GS(5G System)のネットワークアーキテクチャの構成例を示す図である。図20の例では、5GSは、通信端末11(図20にはUEと記載)、RAN134、コアネットワーク133から構成されている。RAN134は、図1の無線通信ノード131およびドナーノード132のように、ネットワーク機能(NF; Network Function)を提供する。5GSにおけるコアネットワーク133は、NGC(Next Generation Core)、5GC(5G Core)等と呼称される。
【0210】
図20の例では、コアネットワーク133のコントロール・プレーンの機能群は、AMF(Access and Mobility Management Function)601と、NEF(Network Exposure Function)602と、NRF(Network Repository Function)603と、NSSF(Network Slice Selection Function)604と、PCF(Policy Control Function)605と、SMF(Session Management Function)606と、UDM(Unified Data Management)607と、AF(Application Function)608と、AUSF(Authentication Server Function)609と、UCMF(UE radio Capability Management Function)610と、いった複数のNFにより構成されている。
【0211】
UDM607は、加入者情報の保持、管理、処理などを行う。なお、加入者情報の保持および管理の実行部はUDR(Unified Data Repository)とも称され加入者情報の処理の実行部であるFE(Front End)とは分けられていてもよい。また、AMF601は、モビリティ管理を行う。SMF606は、セッション管理を行う。UCMF610は、PLMN(Public Land Mobile Network)における全てのUE無線ケイパビリティID(UE Radio Capability ID)に対応するUE無線ケイパビリティ情報(UE Radio Capability Information)を保持している。UCMF610は、各PLMN-割り当てUE無線ケイパビリティID(PLMN-assigned UE Radio Capability ID)を割り当てる役割を担っている。
【0212】
図20には、NFのサービスベースドインターフェース(Service-based interface)が示されている。Namfは、AMF601が提供するサービスベースドインターフェースであり、Nsmfは、SMF606が提供するサービスベースドインターフェースであり、Nnefは、NEF602が提供するサービスベースドインターフェースであり、Npcfは、PCF605が提供するサービスベースドインターフェースであり、Nudmは、UDM607が提供するサービスベースドインターフェースであり、Nafは、AF608が提供するサービスベースドインターフェースであり、Nnrfは、NRF603が提供するサービスベースドインターフェースであり、Nnssfは、NSSF604が提供するサービスベースドインターフェースであり、Nausfは、AUSF609が提供するサービスベースドインターフェースである。各NFは、各サービスベースドインターフェースを介して他のNFと情報の交換を行う。
【0213】
通信品質などの通信ネットワークに関する情報(ネットワークレイヤ側の情報)を、アプリケーションレイヤで稼働するアプリケーションが取得するためには、インタラクションが必要となることもあり得る。そのような場合、NEF602のような規定を設けて置けばよい。当該規定により、通信レイヤの情報をアプリ側で詳細に把握できるようになるほか、外部アプリからNFの制御も可能になる。
【0214】
また、UPF(User Plane Function)630は、ユーザ・プレーン処理を実行する。DN(Data Network)640は、MNO(Mobile Network Operator)独自のサービス、インターネット、サードパーティーのサービスへの接続を可能にする。
【0215】
RAN134は、コアネットワーク133、通信端末11などとの通信接続を行う。なお、図示されていない他の通信ネットワーク、例えば、AN(Access Network)との通信接続も行ってよい。RAN134は、gNB、あるいは、ng-eNBと呼ばれる基地局を含む。RANのことをNG(Next Generation)-RANと称する場合もある。
【0216】
UE10とAMF601間では、リファレンスポイントN1を介して相互に情報の交換が行われる。RAN134とAMF601間では、リファレンスポイントN2を介して相互に情報の交換が行われる。SMF606とUPF630間では、リファレンスポイントN4を介して相互に情報の交換が行われる。
【0217】
なお、通信品質は、例えば、送受信における遅延時間、データレート、チャンネル占有率(Channel Occupancy Ratio)などで示されてもよい。チャンネル占有率は、CBR(Channel Busy Ratio)、リソース使用率、または混雑度で示されてもよい。例えば、CBRは利用可能な全無線リソースに対する使用している無線リソースの割合で示されてもよい。また、混雑度は、基準信号(Reference Signal)の受信強度であるRSRP(Reference Signal Received Power)に対する帯域内の全受信電力であるRRSI(Received Signal Strength Indicator)の比で示されてもよい。また、混雑度は、基準信号の受信品質であるRSRQ(Reference Signal Received Quality)の逆数で示されてもよい。
【0218】
(第2実施形態)
第1実施形態において説明した通り、MLアプリケーションは、DNNの一連の計算の結果に基づいて処理を行う。しかし、当該一連の計算の途中の計算結果に基づいてMLアプリケーションの処理を行ったとしても、MLアプリケーションの処理結果に影響が少ない場合もあり得ることが、近年の研究により判明している。このように、DNNの一連の計算全てを行わずに計算途中でブレイクアウトさせることは、Early-exitingと称される(Early terminationとも称される)。
【0219】
Early-exitingを行うことによって、MLアプリケーションの精度は下がり得るが、最後まで計算が行われないため、MLアプリケーションの処理が完了するまでに要する時間は抑えられる。特に、第1実施形態のように、複数の通信装置が計算を分担し、通信ネットワークを介して計算結果を順に渡していく場合、計算余力、通信品質などの通信リソースの状況によっては、DNNの計算結果が想定以上に遅く返信されることもあり得る。ゆえに、第2実施形態の情報処理システムは、状況に応じてEarly-exitingを行い、DNNの一連の計算の途中の計算結果を通信端末11に返信する。これにより、MLアプリケーションの処理が完了するまでに要する時間を抑える。
【0220】
なお、第1実施形態では、論理エンティティが計算担当を決定していたが、Early-exitingを行う第2実施形態では、計算担当は予め定められていてもよい。また、第1実施形態では、状況に応じて、論理エンティティが計算担当を動的に変更することができたが、第2実施形態では、計算担当は固定で変更できないとしてもよい。また、遅延時間などのMLアプリケーションの要求を満たせないと判定された場合に、計算担当の動的変更とEarly-exitingのいずれを実行するかが決定されてもよい。
【0221】
なお、Early-exitingを行う場合、計算担当のいずれかがDNNの一連の計算の途中の計算結果を通信端末11に送信することになるが、当該計算担当は、論理エンティティから指定された担当範囲の計算を最後まで実行し、実行された計算結果を通信端末11に送信する場合もあり得るし、担当範囲の途中で計算を終了して実行された計算結果を通信端末11に送信する場合もあり得る。例えば、ある計算担当の担当範囲がDNNの第3レイヤと第4レイヤであるときに、第3レイヤの計算までを行い、第3レイヤの計算結果を通信端末11に送信することもあり得る。
【0222】
ただし、Early-exitingを行う場合、計算を終了する位置を考慮したほうが好ましい。図4に示したように、DNNの各レイヤにおけるデータサイズはまとまりがない。そのため、論理エンティティは、送信されるデータサイズが大きいために遅延が大きくなることがないよう、計算担当の担当範囲を決定していた。ゆえに、計算担当が担当範囲の計算を途中終了した場合、途中終了した位置によっては計算結果のデータサイズが大きくなり、通信に時間がかかり、Early-exitingを行ったにも関わらず遅延が大きくなるといった事態も起こり得る。また、論理エンティティは、計算担当間の通信帯域が大きい場合、計算結果のデータサイズが大きくても問題ないと判断し得るが、Early-exitingを行う場合、計算結果は次の計算担当ではなく通信端末11に送信されるので、考慮すべき通信帯域が異なる。例えば、通信端末11と、最初の計算担当である通信ノードAと、が無線接続されており、通信ノードAと、2番目の計算担当である通信ノードBと、が有線接続されている場合もあり得る。このような場合、通信ノードAから通信ノードBへ送信される計算結果のデータサイズは、無線通信に対しては大きすぎることもあり得る。また、通信ノードAの担当範囲を計算した場合の計算結果では、MLアプリケーションの精度が低くなる恐れもある。このように、各計算担当に担当範囲に含まれる全ての計算を実行させることがEarly-exitingに適さない場合もあり得る。
【0223】
また、担当範囲の計算を途中終了する場合では、MLアプリケーションの処理精度の改善などを目的として、追加の計算を実行する場合もあり得る。また、追加の計算は、計算を途中終了する位置などによって異なっていてもよい。例えば、担当範囲の計算を途中終了する場合の計算範囲を予め複数用意しておき、担当範囲の計算を途中終了する場合には、複数の計算範囲のうちからいずれか一つを選択してもよい。図21は、Early-exitingを行う場合の計算範囲の例を示す図である。図21の矢印で示された計算フロー71は、担当範囲の計算を途中終了する場合の計算の流れ(計算範囲)を示す。計算フロー72は、担当範囲の計算を途中終了する場合の計算の流れを示す。計算フロー73は、担当範囲の計算を途中終了しない場合の計算の流れを示す。計算フロー71と計算フロー72の折れ曲がった後の畳み込み処理は、通常の担当範囲に含まれる計算とは別に追加された計算である。ここでは、途中終了した計算フローから、推論結果を出力するための計算を行う。換言すると、ディープニューラルネットワークの一連の計算における途中の計算の結果を送信するための計算を行う。計算フロー73に示すように、Early-exitingを行わない場合、2番目の処理として5x5の畳み込み処理(Conv5x5)が行われるが、計算フロー71上の2番目の処理は3x3の畳み込み処理(Conv3x3)となっている。計算フロー71と計算フロー72のいずれを実行するかは、計算結果のデータサイズ、要する時間などに応じて選択されればよい。あるいは、計算担当がEarly-exitingの実行指示を受けた時点において計算が進んでおり、計算フロー71の通りに実行できない場合に、計算フロー72が選択されるといったことが行われてもよい。第1から第3の計算フローに示したように、Early-exitingが行われる場合、計算担当は担当範囲の少なくとも一部の計算を実行するが、計算担当が実行した計算内容全体はそのときの状況に応じて異なり得る。なお、Early-exitingの判定実施は、担当範囲の計算の中で、開始から終了の間のいずれかの位置において判定が行われてもよい。換言すると、当該判定の前に計算を実行しても良いし、判定の前に計算を実行しなくても良いし、判定の後に計算を実行しても良いし、判定の後に計
算を実行しなくても良い。また、それらの処理の有無は判定の結果や本明細書に示すその他の情報に基づいて異なっても良い。
【0224】
Early-exitingの判定条件は、様々なものが考えられ、適宜に定めてよい。複数の条件を設けてもよいし、複数のパラメータに基づいた判定条件を用いてもよい。例えば、計算結果に関する条件をEarly-exitingの判定条件としてもよい。例えば、自身の計算範囲の最終計算結果または各レイヤにおける計算結果に基づいて判定を行ってもよい。また、計算結果にソフトマックス関数などの活性化関数をさらに適用した上で判定を行ってもよい。また、交差エントロピーの値を用いて判定してもよい。例えば、ソフトマックス関数の出力値が所定の閾値以上であったときに、そのレイヤでDNNの処理を終了し、Early-exitingを行うとしてもよい。
【0225】
また、Early-exitingの判定条件として、計算担当に関する条件を設けてもよい。例えば、計算担当の計算余力を判定条件に用いてよい。
【0226】
また、Early-exitingの判定条件として、通信に関する条件を設けてもよい。例えば、RARP、RARQ、RSSI、Link failureといった通信ネットワークの通信品質を判定条件にしてもよい。例えば、次の計算担当への通信リンクの品質が悪い場合、パケットエラーによって遅延が大きくなり得る。そのため、通信品質が悪いほど、Early-exitingをなるべく行うような判定条件を設けてもよい。また、送信する計算結果のデータ量が小さければ、通信品質が悪くとも送信可能なこともあり得る。ゆえに、送信する計算結果のデータ量も判定条件に含めてよい。また、通信ネットワークのパス情報を判定条件としてもよい。例えば、端末同士間通信(PC5)では一般的に通信リンクの帯域が細いため、端末同士間通信(PC5)であった場合には、通信品質が悪いとみなし、Early-exitingを行うような判定条件を設けてもよい。また、ルート上に流れるトラフィック量の情報、各ノードで処理しているトラフィック量の情報といったトラフィックに基づく判定条件であってもよい。なお、トラフィックは、通信リソースの使用率などで表されてもよい。
【0227】
また、Early-exitingの判定条件として、通信端末11の移動(モビリティ)に関する条件を設けてもよい。例えば、移動速度、移動方向、移動によって生じたリンク切り替えやハンドオーバーに関する情報を判定条件に用いてよい。通信端末11のモビリティが高い場合、DNNの計算途中において、通信端末11がハンドオーバーする恐れが高くなる。そのため、Early-exitingを行い、ハンドオーバーが起きる前に、DNNの途中の計算結果を通信端末11に返信してしまうことが考えられる。
【0228】
また、MLアプリケーションなどからの要求を満たすかどうかを判定条件としてもよい。例えば、DNNの計算結果が通信端末11に返信されるまでの時間(遅延)、Early-exitingによって返信されるDNNの途中の計算結果の確からしさ(精度)などを含む要求情報をMLアプリケーションから取得された場合に、これらの要求事項を満たすかどうかが、計算余力、通信品質、これまでの実績などに基づいて判定されてもよい。
【0229】
また、Early-exitingの実行指示を受け取ったか否か判定条件としてもよい。例えば、DNNの計算結果が通信端末11に返信されるまでの時間(遅延)を所定時間内に収めたい場合に、通信端末11がアプリケーションレイヤでタイムスタンプをつけ、返信を受け取るまでの時間をカウントし、当該時間が上限を過ぎた時点でEarly-exitingの実行指示を送信する。通信端末11が計算担当を全て認識している場合は、通信端末11が全ての計算担当に実行指示を送信してもよい。各計算担当を通信端末11が認識していない場合などでは、通信端末11から順に各計算担当に実行指示がリレーされてもよい。そして、計算中にEarly-exitingの通知を受け取った計算担当がEarly-exitingを行えばよい。なお、通信端末11が所要時間をカウントするのではなく、各計算担当が、事前に設定した許容時間から計算に要した時間を減算して次の計算担当に通知し、許容時間を使い切った計算担当が計算結果を通信端末11に送信することも考えられる。また、担当範囲の計算に必要な時間が許容時間よりも小さい場合に、担当範囲の計算を途中終了することも考えられる。なお、所要時間の上限値、遅延マージン値など、Early-exitingを行うか否かを判定するためのパラメータの値は、論理エンティティが決定してもよいし、MLアプリケーションが決定してもよい。
【0230】
なお、Early-exitingの判定条件は、時間帯、MLアプリケーションの種類、並行して実行される他のMLアプリケーションなどに応じて、変更されてもよい。例えば、精度が要求されるMLアプリケーションの場合ではEarly-exitingの判定条件を標準よりも厳しくし、所要時間を抑えることが要求されるMLアプリケーションの場合では、Early-exitingの判定条件を標準よりも緩やかにしてもよい。
【0231】
また、判定条件に用いられる情報は、NEF(Network Exposure Function)などを介して、アプリケーションレイヤから通信レイヤへと通知されてもよい。
【0232】
Early-exitingを行う際の処理の流れについて説明する。図22は、Early-exitingに関する処理の流れの第1例を示した概略シーケンス図である。なお、図の都合上、通信端末以外の計算担当はまとめて一つとして表している。
【0233】
論理エンティティが、Early-exitingの判定条件を計算担当に送信する(T301)。なお、計算担当が固定でない場合は、計算担当となり得るエンティティに当該判定条件を予め送信しておいてもよいし、あるいは、計算担当が変更された時点で計算担当が変更されたことを通知するとともに当該判定条件を送信してもよい。各計算担当は、論理エンティティからの判定条件を受信して設定する(T302)。
【0234】
その後、通信端末11がMLアプリケーションを実行し(T303)、次の計算担当に対し、DNNの計算に必要な情報を送信する(T304)。通信端末11が計算担当の場合は、通信端末11が行ったDNNの計算結果もDNNの計算に必要な情報に含まれる。また、通信端末11は、判定に用いられる情報を送信してもよい。例えば、計算結果が通信端末11に返信されるまでに要する時間の上限値(許容時間)、計算結果の精度などを通信端末11が各計算担当に送信し、各計算担当は当該情報を判定条件のパラメータの値として用いてもよい。
【0235】
次の計算担当は、DNNの計算に必要な情報を受け取り(T305)、Early-exitingの判定に必要な情報を収集し、収集された情報を用いてEarly-exitingの判定を行う(T306)。なお、当該情報を予め収集しておいてもよい場合は、事前に収集しておいてもよい。判定結果に基づいてDNNの計算を実行する(T307)。前述の通り、Early-exitingの実行する場合と実行しない場合とでDNNの計算範囲が異なっていてもよい。
【0236】
なお、ここでは、Early-exitingの判定を行ってからDNNの計算を開始しているが、DNNの計算の途中でEarly-exitingの判定が行われてもよい。
【0237】
計算担当は、判定の結果に対応する相手に計算結果を送付する(T308)。Early-exitingを実行せず、かつ、次の計算担当が存在する場合、次の計算担当に計算結果を送付する。この場合、次の計算担当がT305からT308の処理を行う。なお、図22のT308からT305に向かう矢印は、同じの計算担当がT305からT308の処理を再度行うことを示しているのではなく、別の計算担当がT305からT308の処理を行うことを意味する。次の計算担当が存在しない場合、言い換えれば、DNNの出力層まで計算が終了した場合と、Early-exitingを実行した場合と、は、計算担当は通信端末11に計算結果を送付する。なお、計算結果以外に必要な情報を送信してもよい。例えば、計算担当が通信端末11から判定に用いる情報を受信している場合は、当該情報を次の計算担当にも送信する。Early-exitingの判定に用いられる情報が、計算担当にバケツリレー方式で順番に送信されてもよい。
【0238】
通信端末11は、DNNの計算結果を受信し(T309)、計算結果に基づくMLアプリケーションの処理を実行する(T310)。図22の例のようにEarly-exitingを実行する場合では、DNNの一連の計算の終了を待たずに計算結果が通信端末11に送信されるため、MLアプリケーションの処理が遅延することを防ぐことができる。
【0239】
このように、Early-exitingの実施の有無によって、計算担当の計算結果の送付先が異なり、Early-exitingが行われた場合は、計算担当の計算結果が通信端末11に送信される。ゆえに、Early-exitingの判定は、計算結果を通信端末11に送信するか否かの判定とも言える。
【0240】
Early-exitingの別の例について説明する。Early-exitingに関するこれまでの説明では、DNNの一連の計算の途中の計算結果を通信端末11に返信し、通信端末11の待ち時間を減らすようにした。一方、計算担当の計算余力などが想定よりもなくなった場合には、担当範囲内の計算を切り上げ、残りの計算を次の計算担当に託すことも考えられる。次の計算担当のほうが高い計算余力を有する場合、そのようにすれば、最終的な通信端末11の待ち時間を減らし得る。そこで、Early-exitingを行っても、計算結果が通信端末11に送信されない場合を説明する。
【0241】
図23は、Early-exitingに関する処理の流れの第2例を示した概略シーケンス図である。図22の例では計算担当が担当範囲の全ての計算を実行する場合もEarly-exitingに含まれたが、図23の例のEarly-exitingは、計算担当が担当範囲の全ての計算を実行する場合は含まれず、計算担当が担当範囲の計算を途中で終了することを意味する。
【0242】
なお、通信端末11も担当範囲の計算を途中で終了することができる。そのため、図23の例は、通信端末11が第1計算担当である例を示している。また、図23の例では、通信端末11以外に、第2計算担当、第3計算担当、および最終計算担当(第4計算担当)がいる場合を示している。
【0243】
各計算担当は、論理エンティティからの判定条件を受信して設定する(T302)。その後、通信端末11がMLアプリケーションを実行する(T303)。通信端末11は、Early-exitingの判定に必要な情報を収集し、収集された情報を用いてEarly-exitingの判定を行う(T306)。そして判定結果に基づいてDNNの計算を実行する(T307)。当該計算の範囲は、Early-exitingの実行する場合と実行しない場合とで異なり、判定結果や判定のタイミングによっては計算を実行しない場合があっても良い。換言するとT307の処理は必ずしも行われなくても良い。これは、本明細書におけるどの実施例においても同様である。通信端末11は、Early-exitingの実行如何に関わらず、計算結果を次の計算担当である第2計算担当に送付する(T308)。なお、Early-exitingを行ったときに、次の計算担当が計算を開始する位置を認識するために当該位置を示す情報も次の計算担当に送信してもよい。当該情報は、例えば、通信端末11の担当範囲の最後のレイヤを示す情報でもよいし、次の計算担当の担当範囲の最初のレイヤを示す情報でもよいし、計算結果を出力したノードを示す情報でもよいし、計算結果を入力すべきノードを示す情報でもよい。なお、途中終了する所定位置を次の計算担当が認識している場合は、当該位置まで計算を行い、計算結果を送信すれば、次の計算担当が計算を開始する位置を認識するための情報を送信する必要はない。
【0244】
第2計算担当は、通信端末11の計算結果に関する情報の受信、Early-exitingの判定に必要な情報の収集、Early-exitingの判定、判定結果に基づくDNN計算の実行、次の計算担当である第3計算担当への送付を行う(T305からT308)。第3計算担当も同様にT305からT308の処理を行い、第3計算担当の計算結果が最終計算担当に送信される。
【0245】
最終計算担当も同様にT305からT307の処理を行うが、最終計算担当の次の計算担当が存在しないため、最終計算担当は、Early-exitingの実行如何に関わらず、計算結果を通信端末11に送信する(T311)。通信端末11は、図22の例と同様、DNNの計算結果を受信し(T309)、計算結果に基づくMLアプリケーションの処理を実行する(T310)。このようにすれば、処理の遅延の要因となり得る計算担当の計算量を減らすことができ、図22の例ほどではないが、通信端末11の待ち時間を減らし得る。また、DNNの一連の計算が最終計算担当まで行われるため、例えば第2計算担当がDNNの計算の途中終了の結果を送付した場合よりも、通信端末11が受信する計算結果の精度は高くなり得る。
【0246】
また、Early-exitingの判定を各計算担当が行うのではなく、論理エンティティなどの特定のエンティティなどが決定する例の流れを説明する。図24は、Early-exitingに関する処理の流れの第3例を示した概略シーケンス図である。図24の例では、図22の例に対し、論理エンティティがEarly-exitingの判定を行う点などが異なる。なお、計算担当を決定するエンティティと、Early-exitingの判定を行う決定するエンティティは異なっていてもよい。
【0247】
図22の例と同様、論理エンティティがEarly-exitingの判定条件を計算担当に送信し(T301)、各計算担当が論理エンティティからの判定条件を受信して設定する(T302)が、当該判定条件は、図24の例では、論理エンティティからEarly-exitingの実行指示を受信したか否かである。
【0248】
通信端末11は、MLアプリケーションを実行すると(T303)、DNNの計算を依頼することを論理エンティティに通知する(T312)。論理エンティティは、Early-exitingの判定に必要な情報を収集し、収集された情報を用いてEarly-exitingの判定を行う(T306)。論理エンティティの判定は定期的に繰り返される。例えば、論理エンティティが、計算余力、通信品質といった通信リソースを定期的に確認して、当該通信リソースに基づいて判定が行われてもよい。また、論理エンティティが、通信端末11からの通知が行われてからの経過時間を計測し、通信端末11から通知された上限値を超えているかを確認してもよい。また、通信端末11は、図22の例と同様、次の計算担当である第1計算担当に対し、DNNの計算に必要な情報を送信する(T304)。
【0249】
第1計算担当は、図22の例と同様、T305からT308の処理を行う。図24の例では、論理エンティティからEarly-exitingの実行指示を受信していないので、担当範囲の計算を実行し、計算結果を第2計算担当に送信する。
【0250】
図24の例では、第1計算担当のDNNの計算の間に、判定条件が満たされて、論理エンティティがEarly-exitingの実行を決定し、全ての計算担当に送信する(T314)。なお、図24の例では、いずれの計算担当が計算中であるかを論理エンティティが認識していないため、全ての計算担当に送信するとしている。各計算担当が計算終了を論理エンティティに通知するなどによっていずれの計算担当が計算中であるかを論理エンティティが認識している場合は、次の計算担当だけに送信してもよい。
【0251】
第2計算担当は、第1計算担当の計算結果を受け取る前に、Early-exitingの実行通知を受信する(T315)。その後、第1計算担当の計算結果が送信されて、第2計算担当は、T305からT308の処理を行う。ゆえに、第2計算担当は、Early-exitingを行う場合の計算を実行し、実行された計算結果を通信端末11に送信することになる。通信端末11は、図22の例同様、T309およびT310の処理を実行する。このように、論理エンティティがEarly-exitingの実行を判定し、論理エンティティからの実行通知を各計算担当のEarly-exitingの判定条件としてもよい。なお、Early-exitingの実行通知をDNNの計算途中に受け取った場合、計算担当は、可能であれば、Early-exitingを行うとしてもよい。
【0252】
なお、Early-exitingを実行すると判定された場合、Early-exitingのための処理と並行して、Early-exitingを行わない場合の処理も継続して実行してもよい。すなわち、Early-exitingを実行した計算担当は、途中の計算結果を通信端末11に送信するとともに、次の計算担当にも計算結果を送信してもよい。こうすると、通信端末11は、DNNの途中までの計算結果を受信した後に、DNNの最終の計算結果も受信することができる。例えば、MLアプリケーションの処理結果をDNN計算の途中結果から早く得られるようにし、その後、MLアプリケーションの処理が正しかったかを、後から受信したDNNの最終の計算結果に基づいて確認するといったことを行うことができる。その結果、計算精度の向上や計算時間の短縮に貢献しうる。以降、Early-exitingを行った場合でも、Early-exitingを行わなかった場合の計算も実行し、DNNの最終的な計算結果を通信端末11に送信することをマルチフィードバックと記載する。
【0253】
なお、マルチフィードバックを行う場合に担当範囲の途中で計算を終了したときは、計算担当は、図23の例で示したように、残りの計算を次の計算担当に依頼してもよいし、担当範囲の全ての計算を実行した上で、次の計算担当に計算結果を送信してもよい。
【0254】
マルチフィードバックを行うか否かは、通信端末11から通知されてもよい。あるいは、Early-exitingを行った計算担当が論理エンティティにEarly-exitingを行ったことを通知し、論理エンティティは、当該通知を受けて、マルチフィードバックを行うか否かを、状況に応じて決定してもよい。マルチフィードバックの実行判定条件も、Early-exitingの実行判定条件と同様に、計算担当の計算余力、通リソース、MLアプリケーションの要求仕様などに応じて、決定されてよい。
【0255】
また、Early-exitingを行った計算担当は、次の計算担当にEarly-exitingが行われたことを通知し、次の計算担当がEarly-exitingを行わないようにしてもよい。逆に、既にEarly-exitingが行われた場合であっても、次の計算担当もEarly-exitingを行ってもよい。ゆえに、通信端末11は、複数のEarly-exitingによる計算結果と、DNNの最終の計算結果と、を受け取ることもあり得る。
【0256】
図25は、マルチフィードバックを説明する概念図である。図25の例では、通信端末と、第2から第4の計算担当がDNNの計算を担当している。図25の例では、第2計算担当がEarly-exitingを行っており、第2計算担当のEarly-exitingによる計算結果が通信端末11に返信されていることが矢印で表されたフィードバックFD1によって表されている。また、第2計算担当は、マルチフィードバックのために計算結果を第3計算担当に送信している。一方、第3計算担当もEarly-exitingを行っており、第3計算担当のEarly-exitingによる計算結果が通信端末11に返信されていることがフィードバックFD2によって表されている。また、第3計算担当も、マルチフィードバックのために計算結果を第4計算担当に送信している。図25の例では、第4計算担当はDNNの一連の計算の最後まで計算を行い、最終計算結果を通信端末11に送信しいていることがフィードバックFD3によって表されている。このように、通信端末11は、複数のEarly-exitingによる計算結果(FD1とFD2)と、DNNの最終の計算結果(FD3)と、を受け取ることがあり得る。
【0257】
なお、マルチフィードバックを行う場合は、Early-exitingが行われた後のDNNの計算は、各計算担当が分担して計算を行うのではなく、特定のエンティティが計算を一局集中的に実行してもよい。例えば、図25の例では、Early-exitingが行われた場合、第2計算担当および第3計算担当は計算を実行せず、第4通信担当が残りの計算を一括して行うとしてもよい。
【0258】
なお、Early-exitingが行われた場合、Early-exitingを行った計算担当、Early-exitingを行った理由、計算の終了位置など、Early-exitingの実行に関する情報が通信端末11に送信されてもよい。また、マルチフィードバックを実行する場合は、論理エンティティなどが、実績、通信リソースなどに基づき、DNNの最終計算結果が通信端末11に到達する時間を推定し、通信端末11に通知してもよい。これにより、MLアプリケーションは、Early-exitingの結果を受け取ったとしても、Early-exitingの結果を用いずに、DNNの最終計算結果を待つということもできる。
【0259】
また、Early-exitingを行った計算担当は、計算担当の変更を論理エンティティに要求してもよい。例えば、自身の計算余力に問題があるためにEarly-exitingを行った場合には、自身を計算担当から外すように要求してもよい。例えば、次の計算担当との通信品質に問題があるためにEarly-exitingを行った場合では、次の計算担当を変更するように要求してもよい。
【0260】
また、通信端末11は、Early-exitingの実行可否の通知を論理エンティティ、各計算担当に行ってもよい。例えば、Early-exitingの実行を拒否する通知が通信端末11から送信されている場合は、各計算担当はEarly-exitingの判定条件に従わずに、Early-exitingを行わないとしてもよい。また、マルチフィードバックの実行可否に関する通知を行ってもよい。また、マルチフィードバックを許可する場合、図25で示したフィードバックの数の上限値などを指定してもよい。
【0261】
第2実施形態の各エンティティの内部構成は、第1実施形態同様でよいため省略する。Early-exitingを行わない場合の計算範囲と、Early-exitingを行う場合の計算範囲と、を各装置の記憶部(図18の記憶部52または図19の記憶部112)に記憶しておき、各装置の制御部(図18の制御部53または図19の制御部113)が用いる計算範囲を切り替え、各装置の演算部(図18の演算部54または図19の演算部114)がDNNの計算を実行すればよい。
【0262】
以上のように、本実施形態では、複数のエンティティがDNNの一連の計算を分担して担当する分散学習を行う場合においてEarly-exitingを実行する。Early-exitingを実行することにより、通信遅延などが起きやすい通信ノードを用いた分散学習においても、DNNの計算結果が通信端末11にフィードバックされる時間を所定時間内に抑えることが可能となる。また、計算担当の計算余力などが想定よりもなくなった場合には、担当範囲内の計算も途中で終了し、残りの計算を次の計算担当に託すこともできる。このようにして、DNNの一連の計算にかかる時間を抑えることもできる。
【0263】
なお、本開示の処理は、特定の規格に限定されるものではなく、例示された設定は、適宜に変更されてよい。なお、上述の実施形態は本開示を具現化するための一例を示したものであり、その他の様々な形態で本開示を実施することが可能である。例えば、本開示の要旨を逸脱しない範囲で、種々の変形、置換、省略またはこれらの組み合わせが可能である。そのような変形、置換、省略等を行った形態も、本開示の範囲に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0264】
また、本開示において説明された処理の手順は、これら一連の手順を有する方法として捉えてもよい。あるいは、これら一連の手順をコンピュータに実施させるためのプログラム、または、当該プログラムを記憶する記録媒体として捉えてもよい。また、上記で説明された論理エンティティおよび計算担当の処理は、コンピュータのCPU等のプロセッサによって実行される。また、記録媒体の種類は、本開示の実施形態に影響を及ぼすものではないため、特に限られるものではない。
【0265】
なお、本開示で示された、図18から図20で示された各構成要素は、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。例えば、各構成要素がマイクロプログラムなどのソフトウェアで実現されるソフトウェアモジュールであり、プロセッサが当該ソフトウェアモジュールを実行することにより、各構成要素が実現されてもよい。あるいは、各構成要素が、半導体チップ(ダイ)上の回路ブロック、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路によって実現されてもよい。また、構成要素の数と、構成要素を実現するハードウェアの数と、は一致していなくともよい。例えば、1つのプロセッサまたは回路が複数の構成要素を実現していてもよい。逆に、1つの構成要素が複数のプロセッサまたは回路により実現されていてもよい。
【0266】
なお、本開示で述べられたプロセッサは、その種類が限られるものではない。例えば、CPU、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などであってもよい。
【0267】
また、上記ではDNNにおける本開示の活用について記載したが、必ずしもこれに限定されない。例えばSNN(スパイキングニューラルネットワーク)等において同様の構成が用いられても良い。また、その際にDNNにおける活用とは違う課題を解決するために用いられても良い。上述したいずれかの情報の伝達にはスパイク信号を用いても良い。また、時系列データから因果関係を抽出し、その情報を基に上述したいずれかの判断を行っても良い。
【0268】
また、基地局装置50の記憶部52、通信端末11の記憶部112など、データを記憶するための構成要素は、データ読み書き可能な装置によって実現されればよく、当該装置は適宜に選択されてよい。例えば、DRAM、SRAM、フラッシュメモリ、ハードディスクなどであってよい。
【0269】
なお、本開示は以下のような構成を取ることもできる。
[1]
ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置であって、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、
前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する、
情報処理装置。
[2]
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定されなかった場合には、前記第1範囲に含まれる計算の少なくとも一部を実行し、実行された計算の結果を、前記第2の通信装置に送信する前記計算の結果として用い、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合には、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
[1]に記載の情報処理装置。
[3]
前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第1の通信装置に送信するための前記計算に用いる、
[1]に記載の情報処理装置。
[4]
前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
[1]に記載の情報処理装置。
[5]
前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算を継続し、前記第1範囲の計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
[1]ないし[4]のいずれか一項に記載の情報処理装置。
[6]
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、さらに、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2の通信装置に送信する、
[1]ないし[5]のいずれか一項に記載の情報処理装置。
[7]
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の全てが実行されなかったときは、実行された計算の結果とともに、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報を、前記第2の通信装置に送信する、
[6]に記載の情報処理装置。
[8]
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記一連の計算の少なくとも一部を実行可能な第3の通信装置に送信する、
[1]ないし[7]のいずれか一項に記載の情報処理装置。
[9]
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の所定位置までを実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
[1]ないし[7]のいずれか一項に記載の情報処理装置。
[10]
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算のいずれの位置まで実行するかを決定し、前記第1範囲に含まれる計算を決定された位置まで実行し、実行された計算の結果と、決定された位置を示す情報と、を前記第2の通信装置に送信する、
[1]ないし[7]のいずれか一項に記載の情報処理装置。
[11]
前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置の計算余力に関する情報、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置におけるトラフィック量に関する情報、のうちの少なくとも1つに基づいて前記判定を行う、
[1]ないし[10]のいずれか一項に記載の情報処理装置。
[12]
前記第1の通信装置との間の通信品質、前記第1の通信装置のモビリティ情報、のうちの少なくとも1つに基づいて前記判定を行う、
[1]ないし[11]のいずれか一項に記載の情報処理装置。
[13]
前記一連の計算を途中終了することを指示する情報、前記一連の計算における途中の計算の結果を前記第1の通信装置に送信することを指示する情報、のうちの少なくとも1つに基づいて前記判定を行う、
[1]ないし[12]のいずれか一項に記載の情報処理装置。
[14]
前記第1の通信装置から要求情報を取得し、前記要求情報に基づいて前記判定を行う、 [1]ないし[13]のいずれか一項に記載の情報処理装置。
[15]
前記第1範囲の計算に必要な時間が与えられた許容時間よりも大きい場合に、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定する、
[1]ないし[14]のいずれか一項に記載の情報処理装置。
[16]
ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行い、
前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信する、
情報処理装置。
[17]
前記第2範囲の計算担当である装置が前記第2範囲に含まれる計算を途中終了してもよいか否かを示す情報を、前記第2範囲の計算担当である装置にさらに送信する、
[16]に記載の情報処理装置。
[18]
ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置において実行される情報処理方法であって、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行うステップと、
前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信するステップと、
前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信するステップと、
を備える情報処理方法。
[19]
ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行うステップと、
前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信するステップと、
を備える情報処理方法。
[20]
ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する第1情報処理装置および第2情報処理装置を少なくとも備え、
前記第1情報処理装置は、
前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2情報処理装置に送信し、
前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信し、
前記第2情報処理装置は、
前記一連の計算のうちの前記第1情報処理装置によって実行された計算以降の計算を前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
情報処理システム。
[21]
少なくとも、ディープニューラルネットワークの一連の計算のうちの第1範囲の計算を行う第1情報処理装置と、前記ディープニューラルネットワークの一連の計算のうちの前記第1範囲に続く第2範囲の計算を行う第2情報処理装置と、を備え、
前記第1情報処理装置は、
前記第1範囲に含まれる計算を途中終了するか否かの判定を行い、
前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第2情報処理装置に送信し、
前記第2情報処理装置は、
前記情報を受け取ったときは、前記一連の計算の前記第1情報処理装置によって実行された計算の続きを、前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
情報処理システム。
[22]
前記第1範囲を決定する第3情報処理装置
をさらに備える[20]に記載の情報処理システム。
[23]
前記第1範囲に含まれる計算を途中終了するか否かの判定を行う第3情報処理装置
をさらに備え、
前記第3情報処理装置は、前記第1範囲に含まれる計算を途中終了する指示を前記第1情報処理装置に送信し、
前記第1情報処理装置は、前記指示を受け取った場合に、前記第1範囲に含まれる計算を途中終了すると判定する、
[21]に記載の情報処理システム。
【符号の説明】
【0270】
1:情報処理システム、11:通信端末、111:無線通信部、1110:送信処理部、1111:符号化部、1112:変調部、1113:多重部、1114:無線送信部、1115:受信処理部、1116:無線受信部、1117:多重分離部、1118:復調部、1119:復号部、112:記憶部、113:制御部、114:演算部、1141:条件設定部、1142:演算モデル設定部、1143:演算処理部、115:アンテナ、12:クラウドシステム、121:クラウドサーバー、13:通信ネットワーク、131:無線通信ノード、132:ドナーノード、133:コアネットワーク、1331:コアネットワークの通信ノード、134:RAN、2:点線枠(DNN)、21:DNNのノード、22:DNNのリンク、50:基地局装置、51:無線通信部、510:送信処理部、511:符号化部、512:変調部、513:多重部、514:無線送信部、515:受信処理部、516:無線受信部、517:多重分離部、518:復調部、519:復号部、52:記憶部、53:制御部、54:演算部、55:ネットワーク通信部、56:アンテナ、601:AMF、602:NEF、603:NRF、604:NSSF、605:PCF、606:SMF、607:UDM、608:AF、609:AUSF、610:UCMF、630:UPF、640:DN、71・72・73:計算フロー、FD1・FD2・FD3:フィードバック、
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25