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

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

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

特表2024-5330192Dメッシュルーティング内の暗黙的なベクトル連結
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】2Dメッシュルーティング内の暗黙的なベクトル連結
(51)【国際特許分類】
   G06N 3/063 20230101AFI20240905BHJP
   G06F 15/173 20060101ALI20240905BHJP
【FI】
G06N3/063
G06F15/173 683C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024502057
(86)(22)【出願日】2022-09-26
(85)【翻訳文提出日】2024-01-15
(86)【国際出願番号】 EP2022076629
(87)【国際公開番号】W WO2023052287
(87)【国際公開日】2023-04-06
(31)【優先権主張番号】17/488,827
(32)【優先日】2021-09-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】バー、ジェフリー
(72)【発明者】
【氏名】細川 浩二
(72)【発明者】
【氏名】ツァイ、シンユウ
(72)【発明者】
【氏名】ジェイン、シャバム
(72)【発明者】
【氏名】ナラヤナン、プリティッシュ
【テーマコード(参考)】
5B045
【Fターム(参考)】
5B045BB15
(57)【要約】
2Dメッシュルーティング内の暗黙的なベクトル連結
ニューラルコアのアレイが提供される。各ニューラルコアは、順序付けられた入力線、順序付けられた出力線、及びシナプスを備え、シナプスのそれぞれは入力線の1つ、及び出力線の1つに動作可能に結合される。複数の信号線が提供される。信号線のうちの少なくとも1つは、ニューラルコアのアレイの各次元に沿って配置される。複数のルータが提供され、ルータのそれぞれは、ニューラルコアの1つ、及びニューラルコアのアレイのそれぞれの次元に沿った信号線の少なくとも1つに動作可能に結合される。ルータのそれぞれは、少なくとも1つの信号線から、その結合されたニューラルコアに信号を選択的にルーティングする。ルータのそれぞれは、その結合されたニューラルコアから少なくとも1つの信号線に信号を選択的にルーティングする。ルータは、順序付けられた入力線及び順序付けられた出力線をセグメントにセグメント化し、各セグメントの信号を独立してルーティングする。
【特許請求の範囲】
【請求項1】
システムであって、
ニューラルコアのアレイ、前記アレイは、少なくとも1つの次元を有し、ここで、前記ニューラルコアのそれぞれは、複数の順序付けられた入力線、複数の順序付けられた出力線、及び複数のシナプスを含み、前記複数のシナプスのそれぞれは、前記複数の順序付けられた入力線のうちの1つ、及び前記複数の順序付けられた出力線のうちの1つに動作可能に結合される;
複数の信号線、ここで、前記複数の信号線のうちの少なくとも1つは、前記ニューラルコアのアレイの各次元に沿って配置される;及び
複数のルータ、前記複数のルータのそれぞれは、(i)複数の前記ニューラルコアのうちの1つ、及び(ii)前記ニューラルコアのアレイのそれぞれの前記次元に沿った前記複数の信号線の少なくとも1つに動作可能に結合され、ここで、前記複数のルータのそれぞれは、前記少なくとも1つの信号線から、その結合されたニューラルコアに信号を選択的にルーティングするように構成され、
前記複数のルータのそれぞれは、その結合されたニューラルコアから前記少なくとも1つの信号線に信号を選択的にルーティングするように構成され、
前記複数のルータは、前記複数の順序付けられた入力線及び前記複数の順序付けられた出力線を複数のセグメントにセグメント化し、前記複数のセグメントのそれぞれの前記信号を独立してルーティングするように構成されている
を備えるシステム。
【請求項2】
前記複数のセグメントは等しいサイズである、請求項1に記載のシステム。
【請求項3】
前記ニューラルコアのそれぞれは、他の前記ニューラルコアからのセグメントを結合された入力ベクトルに連結するように構成されている、請求項1に記載のシステム。
【請求項4】
前記独立したルーティングは、前記ニューラルコアのそれぞれにおけるルーティングマスクによって構成可能である、請求項1に記載のシステム。
【請求項5】
前記ニューラルコアのアレイは二次元を有する、請求項1に記載のシステム。
【請求項6】
1つの信号線は前記ニューラルコアの前記複数の順序付けられた入力線のそれぞれに対応し、1つの信号線は前記ニューラルコアの前記複数の順序付けられた出力線のそれぞれに対応する、請求項1に記載のシステム。
【請求項7】
前記信号線は、前記ニューラルコアに平行な平面に配置される、請求項6に記載のシステム。
【請求項8】
前記複数の信号線はメッシュ内に配置される、請求項6に記載のシステム。
【請求項9】
前記複数のルータのそれぞれは、その結合されたニューラルコアを選択的にバイパスするように構成されている、請求項1に記載のシステム。
【請求項10】
前記複数のルータのそれぞれは、前記少なくとも1つの信号線に沿って2方向に信号を伝送するように構成されている、請求項1に記載のシステム。
【請求項11】
複数のデジタルバッファをさらに備え、デジタルバッファのそれぞれが前記複数のルータのうちの1つに動作可能に結合され、前記複数のデジタルバッファのそれぞれが信号復元用に構成されている、請求項1に記載のシステム。
【請求項12】
前記複数のニューラルコアの前記複数のシナプスは、訓練されたニューラルネットワークとして構成されている、請求項1に記載のシステム。
【請求項13】
前記信号線に沿った第1の方向は順伝播に対応し、前記信号線に沿った第2の方向は逆伝播に対応する、請求項1に記載のシステム。
【請求項14】
方法であって、
複数の信号線を介して複数のルータで信号を受信する段階;
前記複数のルータのそれぞれによって、少なくとも1つの信号線からニューラルコアまで前記信号を選択的にルーティングする段階;
前記複数のルータによって、前記ニューラルコアから前記複数の信号線に選択的に信号をルーティングする段階、ここで、
前記複数のルータは、複数の順序付けられた入力線及び複数の順序付けられた出力線を複数のセグメントにセグメント化し、前記複数のセグメントのそれぞれの前記信号を独立してルーティングするように構成され、
前記ニューラルコアは、前記複数の順序付けられた入力線、前記複数の順序付けられた出力線、及び複数のシナプスを備え、前記複数のシナプスのそれぞれは、前記複数の順序付けられた入力線のうちの1つ、及び前記複数の順序付けられた出力線のうちの1つに動作可能に結合され、
前記複数の信号線は、前記ニューラルコアを有するニューラルコアのアレイの各次元に沿って配置される
を備える方法。
【請求項15】
前記複数のセグメントは等しいサイズである、請求項14に記載の方法。
【請求項16】
前記ニューラルコアのそれぞれは、他の前記ニューラルコアからのセグメントを結合された入力ベクトルに連結するように構成されている、請求項14に記載の方法。
【請求項17】
前記独立したルーティングは、前記ニューラルコアのそれぞれにおけるルーティングマスクによって構成可能である、請求項14に記載の方法。
【請求項18】
前記ニューラルコアのアレイは二次元を有する、請求項14に記載の方法。
【請求項19】
1つの信号線は前記ニューラルコアの前記複数の順序付けられた入力線のそれぞれに対応し、1つの信号線は前記ニューラルコアの前記複数の順序付けられた出力線のそれぞれに対応する、請求項14に記載の方法。
【請求項20】
前記信号線は、前記ニューラルコアに平行な平面に配置される、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、マルチコアニューラルネットワークに関し、より詳細には、2Dメッシュルーティング内の暗黙的なベクトル連結に関する。
【発明の概要】
【0002】
本発明の一態様によれば、システムが提供され、システムはニューラルコアのアレイを備え、アレイは少なくとも1つの次元を有する。ニューラルコアのそれぞれは、複数の順序付けられた入力線、複数の順序付けられた出力線、及び複数のシナプスを備え、シナプスのそれぞれは、複数の入力線のうちの1つ、及び複数の出力線のうちの1つに動作可能に結合される。複数の信号線が提供される。複数の信号線のうちの少なくとも1つは、ニューラルコアのアレイの各次元に沿って配置される。複数のルータが提供され、ルータのそれぞれは、(i)複数のニューラルコアのうちの1つ、及び(ii)ニューラルコアのアレイのそれぞれの次元に沿った信号線の少なくとも1つに動作可能に結合される。複数のルータのそれぞれは、少なくとも1つの信号線から、その結合されたニューラルコアに信号を選択的にルーティングするように構成されている。複数のルータのそれぞれは、その結合されたニューラルコアから少なくとも1つの信号線に信号を選択的にルーティングするように構成されている。複数のルータは、複数の順序付けられた入力線及び複数の順序付けられた出力線を複数のセグメントにセグメント化し、複数のセグメントのそれぞれの信号を独立してルーティングするように構成されている。
【0003】
本発明の別の態様によれば、マルチコアニューラルネットワークを動作させる方法が提供される。信号は、複数の信号線を介して複数のルータで受信される。信号は、複数のルータのそれぞれによって、少なくとも1つの信号線からニューラルコアまで選択的にルーティングされる。信号は、複数のルータによって、ニューラルコアから複数の信号線に選択的にルーティングされる。複数のルータは、複数の順序付けられた入力線及び複数の順序付けられた出力線を複数のセグメントにセグメント化し、複数のセグメントのそれぞれの信号を独立してルーティングするように構成されている。ニューラルコアは、複数の順序付けられた入力線、複数の順序付けられた出力線、及び複数のシナプスを備え、シナプスのそれぞれは、複数の入力線のうちの1つ、及び複数の出力線のうちの1つに動作可能に結合される。複数の信号線は、ニューラルコアを有するニューラルコアのアレイの各次元に沿って配置される。
【図面の簡単な説明】
【0004】
図1】本開示の実施形態による、ニューラルコアの例示的なアレイを示す。
【0005】
図2】本開示の実施形態による、ニューロン回路の回線交換接続のための上流/下流ルータを示す図である。
【0006】
図3】本開示の実施形態による、クロスバーアレイを使用して構成された上流/下流ルータを示す。
【0007】
図4】本開示の実施形態による、相互接続されたルータのアレイを示す。
【0008】
図5A】本開示の実施形態による、コア端部にボーダーガード回路を含む上流/下流ルータを示す。
図5B】本開示の実施形態による、コア端部にボーダーガード回路を含む上流/下流ルータを示す。
【0009】
図6】本開示の実施形態による、例示的なアナログファブリックを示す。
【0010】
図7A】本開示の実施形態による、アナログファブリック上のデータベクトルの例示的なルーティングを示す。
図7B】本開示の実施形態による、アナログファブリック上のデータベクトルの例示的なルーティングを示す。
図7C】本開示の実施形態による、アナログファブリック上のデータベクトルの例示的なルーティングを示す。
【0011】
図8】本開示の実施形態による、セグメント化されたファブリック構成を示す。
【0012】
図9】本開示の実施形態による、暗黙的な連結を示す。
【0013】
図10】本開示の実施形態による、暗黙的な分割を示す。
【0014】
図11】本開示の実施形態による、収集を示す。
【0015】
図12】本開示の実施形態による、例示的なボーダーガード回路の詳細図である。
【0016】
図13図12の回路を使用する本開示による例示的なタイルを示す。
【0017】
図14】本開示の実施形態による、例示的なボーダーガード回路の回路概略図である。
【0018】
図15】本開示の実施形態による、マルチコアニューラルネットワークを動作させる方法を示す。
【0019】
図16】本開示の一実施形態による、コンピューティングノードを示す。
【発明を実施するための形態】
【0020】
人工ニューラルネットワーク(Artificial Neural Network:ANN)は分散コンピューティングシステムであり、シナプスと呼ばれる接続ポイントを介して相互接続された多数のニューロンからなる。各シナプスは、あるニューロンの出力及び別のニューロンの入力の間の接続の強度をエンコーディングする。各ニューロンの出力は、それに接続されている他のニューロンから受信した入力の集合によって決定される。したがって、所与のニューロンの出力は、前のレイヤからの接続されたニューロンの出力、及びシナプスの重みによって決定される接続の強度に基づいている。ANNは、特定のクラスの入力が所望の出力を生成するようにシナプスの重みを調整することによって、特定の問題(例えば、パターン認識)を解決するように訓練される。
【0021】
ANNは、クロスポイントアレイ又はクロスワイヤアレイとしても知られる、クロスバーアレイを含む、様々な種類のハードウェア上に実装され得る。基本的なクロスバーアレイ構成は、一組の導電性行線、及び一組の導電性行線と交差するように形成された一組の導電性列線を含む。2組の線間の交差点は、クロスポイントデバイスによって分離されている。クロスポイントデバイスは、ニューロン間のANNの重み付けされた接続として機能する。
【0022】
様々な実施形態では、不揮発性メモリベースのクロスバーアレイ、又はクロスバーメモリが提供される。複数の接合は、列ラインと交差する行ラインによって形成される。不揮発性メモリなどの抵抗性メモリ素子は、行ラインの1つ及び列ラインの1つの間の接合カップリングのそれぞれでセレクタと直列である。セレクタは、揮発性スイッチ又はトランジスタであり得、それらの様々なタイプが当技術分野で知られている。メモリスタ、相変化メモリ、導電ブリッジRAM、スピントランスファートルクRAMを含む、様々な抵抗性メモリ素子が本明細書で説明するような使用に適していることが理解されよう。
【0023】
一定数のシナプスがコア上に提供され、次いで、複数のコアを接続して完全なニューラルネットワークを提供し得る。そのような実施形態では、コア間の相互接続が提供され、例えば、パケット交換ネットワーク又は回線交換ネットワークを介して、あるコア上のニューロンの出力を別のコアに伝達する。パケット交換ネットワークでは、アドレスビットを伝送、読み取り、処理する必要があるため、電力及び速度が犠牲になるが、相互接続のより高い柔軟性が達成され得る。回線交換ネットワークではアドレスビットは必要ないため、柔軟性及び再構成可能性は他の手段で達成しなければならない。
【0024】
様々な例示的なネットワークでは、複数のコアがチップ上にアレイ状に配置されている。そのような実施形態では、コアの相対位置は、基本方向(北、南、東、西)によって参照され得る。
【0025】
アナログメモリ素子を備えるニューラルコアの物理アレイの文脈において、本開示は、ニューロモーフィック計算を目的としたアレイコア間の信号の柔軟なルーティングを提供する。様々な実施形態では、これらのニューラル信号によって搬送されるデータは、バッファリング又は他の形態のデジタル信号復元に適したデジタル電圧レベルを使用して、各線によって搬送されるパルス持続時間にエンコーディングされる。他の実施形態では、データは、デジタル位値ビットを表すバイナリパルスとして直接時間多重化され、搬送先で上記デジタル位値ビットをラッチするために使用されるローカル又は転送クロック信号のエッジと調整され得る。
【0026】
そのようなコアアレイ内では、積和演算を単一ステップで効率的に実行できるが、1つのコアの端部にある出力周辺回路からいくつかの他のコアの端部にある入力周辺回路に出力データを伝達するという問題が残っている。柔軟で再構成可能なハードウェアを実装するには、任意の1つのコアから任意の他のコアへの任意のルーティングパスをサポートできる能力が所望される。深層学習アプリケーションはパケット交換ネットワークが提供する完全な柔軟性を必要としないが、1つのコアの出力ニューロンから複数の他のアレイコアの関連付けられた入力ニューロンへのデータのシングルキャスト及びマルチキャストの両方をサポートすることが所望される。
【0027】
本開示の様々な実施形態では、各コアの端部上の各ニューロンは、その特定のニューロンの専用ルーティングファブリックに接続可能である。ルーティングファブリックは、コア端部のすべてのニューロンに対応するデータベクトル全体内の特定のニューロンに関連付けられた線、バッファ、及びスイッチのメッシュを備える。単一ニューロンのルーティングファブリックが本明細書の様々な例で説明されているが、すべてのニューロン(又はデータベクトルの要素)がそれぞれの専用ルーティングライン上を並行して移動することが理解されよう。様々な実施形態では、1つ又は複数の制御ラインが、平行ラインのすべて又は実質的な部分を同時に制御する。他の実施形態では、マスクビットのレジスタにより、平行ラインのサブセットのマスクされた制御が可能になる。
【0028】
アナログAIの目的は、アナログ不揮発性抵抗性メモリのコンダクタンス値にエンコーディングされた記憶された重みの行列全体にわたって乗算及び累積演算を実行するために、複数の行ラインに励起ベクトルを導入して並列ベクトル乗算演算を実行することである。上記で論じたように、回線交換並列接続のためのアレイ統合上流/下流ルータの方法は、そのようなアプリケーションにとって有利である。この方式により、アナログAIタイル及びコンピューティングコア間で、持続時間形式で、又は、生のデジタルデータとして、のいずれかで信号ベクトルの超並列伝送及びバッファリングが可能になる。
【0029】
さらに、特定の搬送先に到着しなければならないベクトルが複数のソースから発信され、各々のソースに長いベクトル全体のサブセットのみが含まれている状況に対処する必要がある。したがって、本開示は、2Dメッシュルーティング内の暗黙的なベクトル連結を提供する。
【0030】
具体的には、本開示は、2Dメッシュにわたって異なるソースで取得された多くの短いベクトルを暗黙的に連結し、それらを1つ又は複数の搬送先に長い連結ベクトルとして配信する方法について説明する。この手法の利点の1つは、デジタル回路によって連結が実行される共通のステージングポイントにサブベクトルを次々とシリアルに送信する必要なしに、長いデータベクトルを連結できることである。
【0031】
各列及び行は、2Dルータメッシュ上の専用パスを有する独自の専用ルータ回路を有するため、暗黙的な連結では、ボーダーガード回路のいくつかの部分(例えば、ベクトル要素0~31)で2Dメッシュに新しいデータを強制する(例えば、このデータをメッシュ上に北に送る)一方で、ボーダーガード回路の他の部分(例えば、ベクトル要素32~511)では、(例えば、南から)受信する既存のデータをバッファリングして、新たに強制されたデータと並行して送信できるようにする能力が必要である。
【0032】
そのような能力により、異なる位置にある複数の計算ユニットから取得されたLSTMベクトルの暗黙的な連結が可能になる。例えば、長さ512のベクトルは、コンピューティングコア1で強制された128個のデータ要素、コンピューティングコア2からの別の128個、など、4つのコンピューティングコアにわたって暗黙的に連結される可能性がある。このベクトルは、複数のタイル、及び専用SRAMを備えたコアの両方に転送でき、例えば、双方向LSTMの文脈では、後で使用するために、現在連結されているベクトルを記憶する必要がある可能性がある。
【0033】
連結する必要がある2つのデータ要素がルータメッシュ内の同じ専用ルータ線を使用しようとする可能性を避けるために、連結されるデータがすべて2Dメッシュルータの一意の列(行)に並ぶように計算を体系化するように注意しなければならない。さらに、ボーダーガードの動作を制御する制御回路は、この暗黙的な連結をサポートするために、データベクトルの適切な部分をルータ線に渡す、又は強制できるように、十分にきめ細かい制御を可能にしなければならない。
【0034】
ここで図1を参照すると、本開示の実施形態によるニューラルコアの例示的なアレイが示されている。アレイ100は複数のコア101を含む。アレイ100内のコアは、以下でさらに説明するように、ライン102によって相互接続される。この例では、アレイは二次元である。しかし、本開示はコアの一次元アレイ又は三次元アレイに適用され得ることが理解されよう。コア101は、上記で説明したようなシナプスを実装する不揮発性メモリアレイ111を含む。コア101は西側及び南側を含み、それぞれが入力として機能し、他方が出力として機能し得る。西側は、コア101の側面全体専用のサポート回路112、行のサブセット専用の共有回路113、及び個々の行専用の行ごと回路114を含む。南側も同様に、コア101の側面全体専用のサポート回路115、列のサブセット専用の共有回路116、及び個々の列専用の列ごと回路117を含む。西/南という命名法は、相対的な位置を参照しやすくするために採用されているに過ぎず、入力及び出力の方向を制限することを意図したものではないことが理解されよう。
【0035】
分類器としての動作中、コアのアレイは、当技術分野で知られている様々な方法を使用して訓練され得ることが理解されよう。特定のアルゴリズムは、画像認識、音声認識、言語処理などの特定のタスクに適し得る。訓練アルゴリズムは、学習プロセス中に所与の問題の最適な解決策に向かって収束するシナプスの重みのパターンを導出する。逆伝播は教師あり学習に適したアルゴリズムの1つであり、学習プロセス中に既知の正しい出力が利用可能である。そのような学習の目標は、訓練中に利用できなかったデータを一般化するシステムを取得することである。
【0036】
一般に、逆伝播中に、ネットワークの出力が既知の正しい出力と比較される。出力層のニューロンごとに誤差値が計算される。誤差値が出力層から開始して逆方向に伝播され、各ニューロンに関連付けられた誤差値が決定される。誤差値は、ネットワーク出力に対する各ニューロンの寄与に対応する。次いで、誤差値を使用して重みが更新される。このように段階的に補正することによって、ネットワーク出力が訓練データに一致するように調整される。逆伝播中、データのベクトルは順伝播中に使用される方向とは反対の方向にコア間を移動し得る。したがって、順伝播中にデータベクトルが、例えば、コア3の南側から、例えば、コア4の西側に渡された場合、逆伝播中、データベクトルを逆に、すなわち、コア4の西側からコア3の南側に渡す必要があり得る。
【0037】
逆伝播を適用すると、ANNは訓練セット内のほとんどの例で高い精度を迅速に達成する。訓練時間の大部分は、このテストの精度のさらなる向上を図るために費やされる。この間、システムはすでにこれらの例を認識することを学習しているため、多数の訓練データ例が補正されることはほとんどない。一般に、ANNの性能はデータセットのサイズに応じて向上する傾向があるが、これは、より大きなデータセットには、ANNが訓練されている異なるクラス間の境界例がより多く含まれるという事実によって説明できる。
【0038】
したがって、訓練中に、アレイ100には例データ及び例ラベルが提供され得る。推測された分類が出力として提供され得る。推測された分類に基づいて、コアのアレイに重みオーバーライドが提供され得る。次に、更新された重みがアレイから読み取られ得る。
【0039】
ここで図2を参照すると、本開示の実施形態による、ニューロン回路の回線交換接続のための上流/下流ルータが示されている。この実施形態では、スイッチはアレイ端部に構成され、バッファはアレイ内に配置される。この回線交換ルータは、出力データのベクトル全体を別のコアに伝送する必要性に対処する。いくつかの実施形態では、データは持続時間としてエンコーディングされる。他の実施形態では、データは2進数としてエンコーディングされる。持続時間エンコーディングされたデータの開始を示すエッジ、又はデジタル位値ビットのラッチのためのエッジを提供する転送クロック信号などの同期信号も、データベクトルと一緒に伝送し得る。
【0040】
ライン201~204はアレイ内のコア間の接続を提供し、図1のライン102に対応する。上記で論じたように、各ラインはチップ上の相対方向に対応する。各々は伝送ゲート205…208と対になっている。
【0041】
伝送ゲート209、210(ROW_connect及びCOLUMN_connectとラベル付けされる)は、各コアの行211及び列212ニューロン回路への入口に提供される。これにより、各ニューロン回路は、伝送ゲートを介して関連付けられたルータ線に接続(又は分離)できる。いくつかの実施形態では、伝送ゲートは、相補的な駆動信号を使用して、ソース間及びドレイン間に接続されたPFET及びNFETとして実装される。例示的な実施形態では、列への入口はコアの南側に対応し、行への入口はコアの西側に対応する。
【0042】
伝送ゲート213…216はバッファ217を囲んでいる。コア(西、東、南、北とラベル付けされている)間の伝送ゲート205~208;各ニューロン回路(ROW_connect及びCOLUMN_connectとラベル付けされている)の入口にある伝送ゲート209、210;バッファ(DOWN_in、UP_in、DOWN_out、及びUP_outとラベル付けされている)を囲む伝送ゲート213…216を正しく構成することによって、このルータは、あるアレイコアの任意の端部にあるニューロン回路から任意の他のアレイコアの端部にあるニューロン回路まで、ニューロンごとに回線交換ルーティングを提供するために使用できる。
【0043】
マルチコア環境では、ルータ線(例えば、ライン102の個々の要素である、201…204)は、各ニューロン回路(例えば、アレイ111の個々の要素である、211、212)の近くを通過し、伝送ゲート(例えば、205…208)を介して、次のコア(北、南、東、又は西へ)のルータ線に、及び各コアに配置されているバッファ回路(例えば、217)に接続する。
【0044】
様々な実施形態では、簡単にするために、北及び西のルータ配線が互いに配線接続され、南及び東のルータ配線が互いに配線接続される。そのような実施形態では、バッファ回路を使用して、下流(北/西から南/東へ)又は上流(その逆)のいずれかで信号を強化できる。
【0045】
図3を参照すると、図2のルータが複数のニューロンの場合に一般化されており、スイッチ及びバッファがクロスバーアレイに関連して示されている。この図では、伝送ゲート301~304が、隣接するコア(西、東、南、北とラベル付けされている)及びコア305の間に提供されている。様々な実施形態では、伝送ゲート301…304は、伝送がコア全体に基づいて選択されるように、到着するすべてのニューロンルータに結合される。ルータ306(簡略図で示す)は、コア305内のニューロンごとに回線交換ルーティングを提供するために、図2に関連して説明したように構成され得る。
【0046】
描写されているように、いくつかの実施形態では、バッファ回路は、その位置が、関連付けられたニューロン回路の行位置又は列位置の両方ではなく、いずれかに調整されるように編成できる。
【0047】
したがって、周囲で生成された持続時間又はバイナリデータ(エンコーディングデータ)は、コアアレイを横切る配線上のボーダーガード回路によって配置される。これらの信号は、ターゲットコアに到着するまで、他の様々なボーダーガード回路でバッファリング又はブロックされ得る。
【0048】
様々な実施形態では、バッファ回路及びその伝送ゲートは、アレイ内の周期的な位置、すなわち、列位置と相関し、行とは独立した位置(又は、必要に応じて、その逆)のアレイ内に配置される。アレイ間の伝送ゲートは、ニューロン回路の外側の端部に位置し、一方、ニューロン回路の入口の伝送ゲートは、ニューロン回路の適切な部分に含めることができる。図3に示すように、2本の南北線を使用すると、南北線がバッファの物理的位置に信号を伝達するので、所与の行のバッファ回路を、その行の同じ場所に配置する必要がなくなる。いくつかの実施形態では、これは、2つの東西線があり、バッファの位置が列位置ではなく行位置で調整されるように反転させることができる。
【0049】
図4を参照すると、本開示の実施形態による、相互接続されたルータのアレイが示されている。この例では、ルータ401~406のそれぞれが、ルータ200のインスタンスに対応し、隣接するコア上に配置されている。
【0050】
この例のゲートは、マルチキャストルーティング用に構成されている。コア401の南側の列ニューロンの出力は、このコアの近く及び遠くに隣接する両方のコアの西側の行ニューロンにルーティングされる。このルーティングネットワークを適用するために閉じられる伝送ゲートは明るい灰色で表示され、開いている伝送ゲートは元の色のままである。信号は、任意のアレイコアを上流/下流方向に通過するときにバッファリングされるが、ハードコードされた接続(例えば、北から西、又はその逆、又は南から東、又はその逆)によって渡される信号はバッファリングされないことに留意されたい。閉じた伝送ゲートは灰色で表示される。
【0051】
ここでは、コア401の南側にある列ニューロンがルータファブリックを駆動している。コア404内の開いた伝送ゲートにより、この信号ベクトルがコア404を通過するときの伝送及びバッファリングが可能になるが、コア404の行ニューロン及び列ニューロンによって無視される。しかし、コア404及び405の間、405及び402の間、及び402及び403の間の伝送ゲートが開いているため、信号のベクトルがコア403の西端上の行ニューロンに到着できる。同時に、信号のベクトルは、コア405内にあるバッファ、及びコア405及び406の間のボーダーガード回路(以下でさらに説明する)で開いている伝送ゲートによってバッファリングされ、同じ信号ベクトルがコア406の西端上の行ニューロンに到着できるようになる。結果として、データベクトルは、途中で2つのバッファリングステージを使用して、コア401の南側からコア403及び406の両方の西側にマルチキャストされた。
【0052】
図5A図5Bを参照すると、共有ボーダーガード回路を含む上流/下流ルータが示されている。この実施形態では、スイッチ及びバッファの両方が、コア端部に位置するボーダーガード内に配置される。これにより、1つ又は複数のパルス持続時間としてエンコーディングされたデータベクトルの要素を、1つ又は複数のソースコアから1つ又は複数の搬送先コアに転送できる。
【0053】
この例では、ボーダーガード回路には必須の伝送ゲート及びバッファが含まれている。したがって、追加の回路はコア自体の中に配置されない。そのような実施形態は、2つではなく4つのインバータを必要とするため、やや大きな面積を必要とするが、端部ごとのバッファリングという点で利点を提供する。さらに、この構成により、コアの端部にある行ニューロン又は列ニューロンが、隣接するコアを介してルータファブリックからCONNECT_TO_OUTスイッチを介して入力を受信でき、一方で、別の信号が同時にそのアレイコアを通過する。そのような状況では、伝送ゲートINSIDE及びCONNECT_TO_INを閉じることによって、行ニューロン又は列ニューロンは、下流(PASS_IN伝送ゲートを使用する)又は上流(PASS_OUT伝送ゲートを通過)のいずれかのニューロンデータの伝送を中断することなく、ルータメッシュのアレイコア部分の内側から、又はルータメッシュのアレイコア部分の外側のいずれかからデータを受信することができるか、又はどちらからもデータを受信することができない。
【0054】
コア501は、ボーダーガードの機能を実行する共有回路502を含み、コアの対応する端部への信号の出入りを可能にする。ピッチには、コア(例えば、リード102に対応する)を相互接続するために、より高いレベルの配線503が提供される。ボーダーガード共有回路により、コア501の西端及び南端からの信号の出入りが可能になる。
【0055】
図5Bを参照すると、コア501上の南のボーダーガード回路504は、バッファリングを使用して出力信号505を配線503に接続する。次に、信号505は1つ以上の中間ルータを経由して搬送先コア506にルーティングされる。西のボーダーガード回路507は、入力信号505をコア506に接続する。
【0056】
図6を参照すると、本開示の実施形態による、例示的なアナログファブリックが示されている。様々な実施形態では、2Dメッシュ(垂直線で描かれている)が各構成要素の上部に提供される。様々な実施形態では、構成要素には、コンピューティングコア(CC、601)及びアナログタイル(タイル、602)が含まれる。この例示的な実施形態では、各構成要素は512本の垂直線(チャネル)及び512本の水平チャネルを有する。
【0057】
各構成要素上のデータルーティングは、4セットの512個のボーダーガード(BG、603)を使用して制御される。各ボーダーガードには、本明細書の他の箇所に記載されているように、ドライバ及びスイッチが含まれている。この図では、同じ色のBGが相互にデータを送信できる。
【0058】
図7A図7Cを参照すると、本開示の実施形態による、アナログファブリック上のデータベクトルの例示的なルーティングが示されている。この例では、1つのプロデューサがデータベクトルd1…d512を生成した。端部上のすべてのBGは連携して、データベクトル全体の1つのプロデューサからデータベクトルを配信する。複数のコンシューマがベクトルを受信し得るが、各コンシューマはデータベクトル全体を消費せざるを得ない。
【0059】
図8を参照すると、本開示の実施形態による、セグメント化されたファブリック構成が示されている。端部ごとのボーダーガードはN個のグループにセグメント化される。この例示的な図では、N=4である。各セグメントは独立して制御され、動作はソフトウェアでプログラム可能である。
【0060】
BGはセグメント間でインターリーブすることもできる。例えば、BG0、BG4、BG8は物理セグメント1に配置され得る。
【0061】
様々な実施形態では、制御回路及びマスクレジスタは、端部ごとのセグメント内のBGにわたって共有される。
【0062】
図9を参照すると、本開示の実施形態による、暗黙的な連結が示されている。この例では、複数のプロデューサ901~904が提供される。すべてのプロデューサは同時に送信することも、個別に送信することもでき、どちらの任意選択もマスク及び制御回路を使用してサポートされている。プロデューサ901~904によって送信されたセグメントは、連結ベクトル905に連結される。
【0063】
図10を参照すると、本開示の実施形態による、暗黙的な分割が示されている。この例では、ベクトル1005は複数のセグメントにわたって分割され、複数の部分コンシューマ1001~1004にルーティングされる。
【0064】
図11を参照すると、本開示の実施形態による、収集が示されている。この例では、ベクトル1001は他の複数のタイルから収集される。これは、本開示によって可能になる多くのデータ操作動作の一例であることが理解されよう。
【0065】
図12を参照すると、本開示の実施形態による、例示的なボーダーガード回路の詳細図が提供されている。所与のタスクは、有効なRCV_動作及びDRV_動作の対に関して定義される。受信動作はRCV_{N|S|OUT}、駆動動作はDRV_{N|S|IN}である。様々な実施形態では、北ドライバ及び南ドライバはバッファリング及びトライステートを有する。
【0066】
図13を参照すると、図12の回路を使用する例示的なタイルが示されている。ローカルマスクビットに基づいて、ルーティングタスクA又はタスクBが選択される。例えば、TASK_Aは、RCV_S及びDRV_N;及びTASK_BはRCV_OUT及びDRV_Nである。この手法を使用すると、すべてのチャネルにわたって、きめ細かい制御が可能になる。様々な実施形態では、マスクは、2Dメッシュを使用して、又はスキャンチェーンを使用してロードされる。この例では、RCV_A_{N|S|OUT}及びRCV_B_{N|S|OUT};DRV_A_{N|S|IN}及びDRV_B_{N|S|IN}である。
【0067】
図14を参照すると、本開示の実施形態による、例示的なボーダーガード回路の回路概略図が提供されている。
【0068】
図15を参照すると、本開示の実施形態による、マルチコアニューラルネットワークを動作させる方法が示されている。1501において、信号は、複数の信号線を介して複数のルータで受信される。1502において、信号は、複数のルータのそれぞれによって、少なくとも1つの信号線からニューラルコアまで選択的にルーティングされる。1503において、信号は、複数のルータによってニューラルコアから複数の信号線まで選択的にルーティングされる。複数のルータは、複数の順序付けられた入力線及び複数の順序付けられた出力線を複数のセグメントにセグメント化し、複数のセグメントのそれぞれの信号を独立してルーティングするように構成されている。ニューラルコアは、複数の順序付けられた入力線、複数の順序付けられた出力線、及び複数のシナプスを備え、シナプスのそれぞれは、複数の入力線のうちの1つ、及び複数の出力線のうちの1つに動作可能に結合される。複数の信号線は、ニューラルコアを有するニューラルコアのアレイの各次元に沿って配置される。
【0069】
ここで図16を参照すると、コンピューティングノードの例の概略図が示されている。コンピューティングノード10は、適切なコンピューティングノードの一例にすぎず、本明細書に記載の実施形態の使用又は機能の範囲に関して、いかなる制限も示唆することを意図するものではない。それとは関係なく、コンピューティングノード10は、上述の機能のいずれかを実装及び/又は実行できる。
【0070】
コンピューティングノード10には、多数の他の汎用又は専用コンピューティングシステム環境又は構成で動作可能である、コンピュータシステム/サーバ12がある。コンピュータシステム/サーバ12での使用に適し得る周知のコンピューティングシステム、環境及び/又は構成の例は、限定されないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記のシステム又はデバイス、及び同様のもののいずれかを含む分散型クラウドコンピューティング環境を含む。
【0071】
コンピュータシステム/サーバ12は、コンピュータシステムによって実行されるプログラムモジュールなどのコンピュータシステム実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、構成要素、ロジック、データ構造などを含み得る。コンピュータシステム/サーバ12は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境で実施し得る。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカル及びリモートの両方のコンピュータシステム記憶媒体に配置され得る。
【0072】
図16に示すように、コンピューティングノード10内のコンピュータシステム/サーバ12は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム/サーバ12の構成要素は、限定されないが、1つ又は複数のプロセッサ又は処理ユニット16、システムメモリ28、及びシステムメモリ28を含む様々なシステム構成要素をプロセッサ16に結合するバス18を含み得る。
【0073】
バス18は、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用するプロセッサ又はローカルバスを含む、いくつかのタイプのバス構造のいずれかの1つ又は複数を表す。限定ではなく例として、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、ペリフェラルコンポーネントインターコネクト(PCI)バス、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)、及びアドバンストマイクロコントローラバスアーキテクチャ(AMBA)が含まれる。
【0074】
コンピュータシステム/サーバ12は、典型的には、様々なコンピュータシステム可読媒体を含む。そのような媒体は、コンピュータシステム/サーバ12によってアクセス可能な任意の利用可能な媒体であり得、揮発性及び不揮発性媒体、取り外し可能及び取り外し不可能な媒体の両方を含む。
【0075】
システムメモリ28は、ランダムアクセスメモリ(RAM)30及び/又はキャッシュメモリ32などの揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピュータシステム/サーバ12は、他の取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータシステム記憶媒体をさらに含み得る。単なる例として、記憶システム34は、取り外し不可能な不揮発性磁気媒体(図示せず、通常「ハードドライブ」と呼ばれる)からの読み取り、及びこれへの書き込みのために提供され得る。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピディスク」)からの読み取り、及びこれへの書き込みのための磁気ディスクドライブ、及びCD-ROM、DVD-ROM又は他の光媒体などの取り外し可能な不揮発性光ディスクへの読み取り、又はこれへの書き込みのための光ディスクドライブが提供され得る。そのような例では、各々が1つ又は複数のデータ媒体インターフェースによってバス18に接続され得る。以下でさらに図示及び説明するように、メモリ28は、本開示の実施形態の機能を実行するように構成されたプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0076】
プログラムモジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40は、限定ではなく例として、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータと同様に、メモリ28に記憶され得る。オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュールのそれぞれ、及びプログラムデータ又はそれらのいくつかの組み合わせは、ネットワーク環境の実装を含み得る。プログラムモジュール42は、概して、本明細書に記載される実施形態の機能及び/又は方法論を実行する。
【0077】
コンピュータシステム/サーバ12はまた、キーボード、ポインティングデバイス、ディスプレイ24など;ユーザがコンピュータシステム/サーバ12と相互作用できるようにする1つ又は複数のデバイス;及び/又はコンピュータシステム/サーバ12が、1つ又は複数の他のコンピューティングデバイスと通信できるようにする任意のデバイス(例えば、ネットワークカード、モデムなど)などの1つ又は複数の外部デバイス14と通信し得る。そのような通信は、入力/出力(I/O)インターフェース22を介して行うことができる。さらに、コンピュータシステム/サーバ12は、ネットワークアダプタ20を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、及び/又はパブリックネットワーク(例えば、インターネット)などの1つ又は複数のネットワークと通信できる。図示のように、ネットワークアダプタ20は、バス18を介してコンピュータシステム/サーバ12の他の構成要素と通信する。図示されていないが、コンピュータシステム/サーバ12と併せて他のハードウェア及び/又はソフトウェア構成要素を使用できることを理解されたい。例としては、限定されないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、データアーカイブ記憶システムなどが含まれる。
【0078】
本開示は、システム、方法、及び/又はコンピュータプログラム製品として具現化し得る。コンピュータプログラム製品は、プロセッサに、本開示の態様を実行させるために、コンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数の媒体)を含み得る。
【0079】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持及び記憶できる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、限定されないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は前述の任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非包括的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能型読み取り専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的にエンコーディングされたデバイス、及び前述したデバイスの任意の適切な組み合わせが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波又は他の自由に伝播する電磁波、導波管又は他の伝送媒体を通って伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を通じて伝送される電気信号など、一時的な信号それ自体であると解釈されるべきではない。
【0080】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワークを介して外部コンピュータ又は外部記憶デバイスにダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを有し得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0081】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk(登録商標)、C++、又は同様のものなどのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、全部をユーザのコンピュータ上で実行してもよいし、一部をユーザのコンピュータ上で実行してもよいし、一部をユーザのコンピュータ上、及び一部をリモートコンピュータ上で実行してもよいし、又は全部をリモートコンピュータ又はサーバ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得るか、又は、その接続が(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに対して行われ得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実行するために、電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【0082】
本開示の態様は、本開示の実施形態による方法、装置(システム)、及び/又はコンピュータプログラム製品のフローチャート図又はブロック図を参照して本明細書に記載されている。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0083】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータのプロセッサ、又は他のプログラム可能なデータ処理装置に提供され、マシンを生成し得て、その結果、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート図及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実施するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに特定の方法で機能するように指示できるコンピュータ可読記憶媒体内に記憶され得て、その結果、命令を記憶したコンピュータ可読記憶媒体は、フローチャート図及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作の態様を実施する命令を含む製品を備える。
【0084】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で一連の動作可能なステップを実行させて、コンピュータ実装プロセスを生成し得て、その結果、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で実行される命令が、フローチャート図及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実装する。
【0085】
図中のフローチャート図及びブロック図は、本開示の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート図又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を有する、モジュール、セグメント、又は命令の一部を表し得る。いくつかの代替実装では、ブロック内に示されている機能は、図に示されている順序と異なる順序で行われ得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行され得るか、又は、関連する機能に応じてブロックが逆の順序で実行されることもあり得る。また、ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースシステムによって実装できることにも留意されたい。
【0086】
本開示の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であること、又は開示された実施形態に限定することを意図するものではない。多くの修正及び変形は、記載する実施形態の範囲から逸脱することなく、当業者に明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、又は市場で見られる技術を超える技術的改良を最も良く説明するため、又は他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。
図1
図2
図3
図4
図5A
図5B
図6
図7A
図7B
図7C
図8
図9
図10
図11
図12
図13
図14
図15
図16
【手続補正書】
【提出日】2024-04-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
システムであって、
ニューラルコアのアレイ、前記アレイは、少なくとも1つの次元を有し、ここで、前記ニューラルコアのそれぞれは、複数の順序付けられた入力線、複数の順序付けられた出力線、及び複数のシナプスを含み、前記複数のシナプスのそれぞれは、前記複数の順序付けられた入力線のうちの1つ、及び前記複数の順序付けられた出力線のうちの1つに動作可能に結合される;
複数の信号線、ここで、前記複数の信号線のうちの少なくとも1つは、前記ニューラルコアのアレイの各次元に沿って配置される;及び
複数のルータ、前記複数のルータのそれぞれは、(i)複数の前記ニューラルコアのうちの1つ、及び(ii)前記ニューラルコアのアレイのそれぞれの前記次元に沿った前記複数の信号線の少なくとも1つに動作可能に結合され、ここで、前記複数のルータのそれぞれは、前記少なくとも1つの信号線から、その結合されたニューラルコアに信号を選択的にルーティングするように構成され、
前記複数のルータのそれぞれは、その結合されたニューラルコアから前記少なくとも1つの信号線に信号を選択的にルーティングするように構成され、
前記複数のルータは、前記複数の順序付けられた入力線及び前記複数の順序付けられた出力線を複数のセグメントにセグメント化し、前記複数のセグメントのそれぞれの前記信号を独立してルーティングするように構成されている
を備えるシステム。
【請求項2】
前記複数のセグメントは等しいサイズである、請求項1に記載のシステム。
【請求項3】
前記ニューラルコアのそれぞれは、他の前記ニューラルコアからのセグメントを結合された入力ベクトルに連結するように構成されている、請求項1に記載のシステム。
【請求項4】
前記独立したルーティングは、前記ニューラルコアのそれぞれにおけるルーティングマスクによって構成可能である、請求項1に記載のシステム。
【請求項5】
前記ニューラルコアのアレイは二次元を有する、請求項1に記載のシステム。
【請求項6】
1つの信号線は前記ニューラルコアの前記複数の順序付けられた入力線のそれぞれに対応し、1つの信号線は前記ニューラルコアの前記複数の順序付けられた出力線のそれぞれに対応する、請求項1に記載のシステム。
【請求項7】
前記信号線は、前記ニューラルコアに平行な平面に配置される、請求項6に記載のシステム。
【請求項8】
前記複数の信号線はメッシュ内に配置される、請求項6に記載のシステム。
【請求項9】
前記複数のルータのそれぞれは、その結合されたニューラルコアを選択的にバイパスするように構成されている、請求項1に記載のシステム。
【請求項10】
前記複数のルータのそれぞれは、前記少なくとも1つの信号線に沿って2方向に信号を伝送するように構成されている、請求項1に記載のシステム。
【請求項11】
複数のデジタルバッファをさらに備え、デジタルバッファのそれぞれが前記複数のルータのうちの1つに動作可能に結合され、前記複数のデジタルバッファのそれぞれが信号復元用に構成されている、請求項1に記載のシステム。
【請求項12】
前記複数のニューラルコアの前記複数のシナプスは、訓練されたニューラルネットワークとして構成されている、請求項1に記載のシステム。
【請求項13】
前記信号線に沿った第1の方向は順伝播に対応し、前記信号線に沿った第2の方向は逆伝播に対応する、請求項1から12のいずれか一項に記載のシステム。
【請求項14】
方法であって、
複数の信号線を介して複数のルータで信号を受信する段階;
前記複数のルータのそれぞれによって、少なくとも1つの信号線からニューラルコアまで前記信号を選択的にルーティングする段階;
前記複数のルータによって、前記ニューラルコアから前記複数の信号線に選択的に信号をルーティングする段階、ここで、
前記複数のルータは、複数の順序付けられた入力線及び複数の順序付けられた出力線を複数のセグメントにセグメント化し、前記複数のセグメントのそれぞれの前記信号を独立してルーティングするように構成され、
前記ニューラルコアは、前記複数の順序付けられた入力線、前記複数の順序付けられた出力線、及び複数のシナプスを備え、前記複数のシナプスのそれぞれは、前記複数の順序付けられた入力線のうちの1つ、及び前記複数の順序付けられた出力線のうちの1つに動作可能に結合され、
前記複数の信号線は、前記ニューラルコアを有するニューラルコアのアレイの各次元に沿って配置される
を備える方法。
【請求項15】
前記複数のセグメントは等しいサイズである、請求項14に記載の方法。
【請求項16】
前記ニューラルコアのそれぞれは、他の前記ニューラルコアからのセグメントを結合された入力ベクトルに連結するように構成されている、請求項14に記載の方法。
【請求項17】
前記独立したルーティングは、前記ニューラルコアのそれぞれにおけるルーティングマスクによって構成可能である、請求項14に記載の方法。
【請求項18】
前記ニューラルコアのアレイは二次元を有する、請求項14に記載の方法。
【請求項19】
1つの信号線は前記ニューラルコアの前記複数の順序付けられた入力線のそれぞれに対応し、1つの信号線は前記ニューラルコアの前記複数の順序付けられた出力線のそれぞれに対応する、請求項14から18のいずれか一項に記載の方法。
【請求項20】
前記信号線は、前記ニューラルコアに平行な平面に配置される、請求項19に記載の方法。
【国際調査報告】