(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】マルチチップイジングマシンアーキテクチャのためのシステム及び方法
(51)【国際特許分類】
G06N 3/063 20230101AFI20241029BHJP
G06N 99/00 20190101ALI20241029BHJP
G06N 3/047 20230101ALI20241029BHJP
【FI】
G06N3/063
G06N99/00 180
G06N3/047
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024529216
(86)(22)【出願日】2022-11-22
(85)【翻訳文提出日】2024-05-15
(86)【国際出願番号】 US2022080325
(87)【国際公開番号】W WO2023211517
(87)【国際公開日】2023-11-02
(32)【優先日】2021-11-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】508144129
【氏名又は名称】ユニバーシティ オブ ロチェスター
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100153729
【氏名又は名称】森本 有一
(72)【発明者】
【氏名】マイケル ホアン
(72)【発明者】
【氏名】アンシュジ シャーマ
(72)【発明者】
【氏名】リチャード アフォアクワ
(57)【要約】
スケーラブルなイジングマシンシステムは、複数のチップであって、各チップは複数のNノードを含み、各ノードはコンデンサ、陽端子、及び陰端子を含む、複数のチップと、Nロウ及びMカラムに配置された複数のN×M接続ユニットであって、各接続ユニットは1セットの再構成可能な抵抗接続部を含み、各接続ユニットは再構成可能な抵抗接続部を介して1対のNノードを接続するように構成可能である、複数のN×M接続ユニットと、複数の相互接続部であって、複数のチップの各チップは少なくとも1つの相互接続部を介して複数のチップのすべての他のチップに通信可能に接続される、複数の相互接続部とを含む。結合スピン系のハミルトニアンを計算する方法も開示される。
【選択図】なし
【特許請求の範囲】
【請求項1】
複数のチップを含む、スケーラブルなイジングマシンシステムであって、
各チップは、
複数のNノードであって、各ノードはコンデンサ、陽端子、及び陰端子を有する、前記複数のNノードと、
Nロウ及びMカラムに配置された複数のN×M接続ユニットであって、各接続ユニットは再構成可能な抵抗接続部のセットを有し、各接続ユニットは前記再構成可能な抵抗接続部を介して前記Nノードの対を接続するように構成可能である、前記複数のN×M接続ユニットと、
複数の相互接続部であって、前記複数のチップの各チップは少なくとも1つの相互接続部を介して前記複数のチップの他のすべてのチップと通信可能に接続される、前記複数の相互接続部と、
を含む、前記スケーラブルなイジングマシンシステム。
【請求項2】
前記複数のチップは2次元アレイに配置される、請求項1に記載のスケーラブルなイジングマシンシステム。
【請求項3】
前記複数のチップは3次元アレイに配置される、請求項1に記載のスケーラブルなイジングマシンシステム。
【請求項4】
前記複数のチップは少なくとも1つの正方形アレイに配置される、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項5】
前記複数の相互接続部のうちの少なくとも1つの相互接続部は無線データ接続部を含む、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項6】
各チップは、少なくとも1サブセットの前記Nノードの状態情報をデジタルで格納するように構成されたデータバッファをさらに含む、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項7】
N=Mである、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項8】
各接続ユニットは、2つの陽端子であって、それぞれが前記複数のノード内の異なるノードの前記陽端子に接続される、前記2つの陽端子と、2つの陰端子であって、それぞれが前記複数のノードの異なるノードの前記陰端子に接続される、前記2つの陰端子とを含む、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項9】
前記複数の相互接続部のうちの少なくとも1つの相互接続部は、前記相互接続部を接続する、または切断するように構成されたスイッチを含む、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項10】
少なくとも1つのチップは、前記ノードを接続するための再構成可能な接続ファブリックをさらに含む、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項11】
各チップは、バッファメモリ、プロセッサ、及び命令が格納された非一時的なコンピュータ可読媒体をさらに含み、前記命令は、前記プロセッサによって実行されると、ノード状態を前記バッファメモリに格納し、前記バッファメモリからノード状態を取得する、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項12】
前記命令は、より大きいタスクをバッチモードで実行するために、あるチップからその次のチップへノード状態をシーケンスで伝送するステップをさらに含む、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項13】
各バッファメモリは、前記スケーラブルなイジングマシンシステム内の少なくとも1サブセットの前記状態のバッファリングされたコピーを格納するのに十分である、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項14】
各バッファメモリは、前記スケーラブルなイジングマシンシステム内のすべての前記状態のバッファリングされたコピーを格納するのに十分である、先行請求項のいずれかに記載のスケーラブルなイジングマシンシステム。
【請求項15】
結合スピン系のハミルトニアンを計算する方法であって、
複数のチップを含むスケーラブルなイジングマシンシステムを提供することであって、各チップは、
複数のNノードであって、各ノードはコンデンサ、陽端子、及び陰端子を有し、前記コンデンサでの電荷はスピンを表す、前記複数のNノードと、
Nロウ及びMカラムに配置された複数のN×M接続ユニットであって、各接続ユニットは再構成可能な抵抗接続部のセットを有し、各接続ユニットは前記再構成可能な抵抗接続部を介して前記Nノードの対を接続するように構成可能である、前記複数のN×M接続ユニットと、
を含む、前記提供することと、
前記複数のチップを相互接続部のセットを介して互いに接続することと、
前記結合スピン系をサブシステムのセットにセグメント化し、前記複数のチップの各チップを前記サブシステムのセットの1サブシステムによって構成することと、
すべての前記サブシステムを計算することによって前記結合スピン系の前記ハミルトニアンを計算することと、
を含む、前記方法。
【請求項16】
前記サブシステムを少なくとも部分的にシーケンスで計算することを含む、請求項15に記載の方法。
【請求項17】
前記サブシステムを同時に計算することを含む、請求項15に記載の方法。
【請求項18】
前記ノードの少なくとも1サブセットの状態をバッファメモリに格納することをさらに含む、先行請求項のいずれかに記載の方法。
【請求項19】
ノード状態の1サブセットを1つのチップから別のチップに伝送することをさらに含む、先行請求項のいずれかに記載の方法。
【請求項20】
前記複数のチップの各チップ上のバッファメモリにすべての前記ノードの状態を格納することをさらに含む、先行請求項のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年11月22日に出願された米国仮出願第63/281,944号に対する優先権を主張するものであり、その全体が参照により本明細書に組み込まれる。
【0002】
連邦政府資金による研究開発の記載
本発明は、Defense Advanced Research Projects Agencyから授与されたHR00112090012に基づく政府支援により行われた。米国政府は、本発明に一定の権利を有する。
【背景技術】
【0003】
自然は何十年にもわたって多くの問題解決手法にインスピレーションを与えてきた。最近では、研究者は自然を利用して問題を直接解決することにますます注目している。イジングマシンはその好例であり、数多くの研究プロトタイプがあり、また多くの設計コンセプトが存在する。イジングマシンは、NP完全問題の族をマッピングし、従来のアルゴリズムよりもはるかに速い速度で、場合によってはノイマン型コンピュータの数分の1のエネルギーコストで競合解を導出することができる。
【0004】
ただし、物理イジングマシンの問題解決容量は固定されていることが多い。サポートがなければ、より大きい問題はまったく解くことができない。最新技術はソフトウェアベースの分割統治戦略である。N個超のスピン変数の問題は、N個以下のスピンの一連の部分問題に変換され、マシンに投入される。イジングマシンに関する限り、問題はマシンの容量にも当てはまる。本明細書でさらに説明されるように、このタイプのサポートでは、パフォーマンスが高いイジングマシンを使用する利点はすぐになくなる。劣化は基本的なものによって起こるため、ソフトウェア最適化によって改善されることができない。
【0005】
本明細書では、基本的にスケーラブルなマシンアーキテクチャを開示する。言い換えれば、各マシンは、単純な問題を解くために独立して作用することも、またはより大きい問題を解くために群にまとめて作用することもできる。後者のモードでは、マシンは外部スピンを明示的に認識し、チップ内スピンとチップ間スピンとの両方の結合を実装する。
【発明の概要】
【0006】
一態様では、スケーラブルなイジングマシンシステムは、複数のチップであって、各チップは複数のNノードを含み、各ノードはコンデンサ、陽端子、及び陰端子を含む、複数のチップと、Nロウ及びMカラムに配置された複数のN×M接続ユニットであって、各接続ユニットは1セットの再構成可能な抵抗接続部を含み、各接続ユニットは再構成可能な抵抗接続部を介して1対のNノードを接続するように構成可能である、複数のN×M接続ユニットと、複数の相互接続部であって、複数のチップの各チップは少なくとも1つの相互接続部を介して複数のチップのすべての他のチップに通信可能に接続される、複数の相互接続部とを含む。
【0007】
一実施形態では、複数のチップは2次元アレイに配置される。一実施形態では、複数のチップは3次元アレイに配置される。一実施形態では、複数のチップは少なくとも1つの正方形アレイに配置される。一実施形態では、複数の相互接続部のうちの少なくとも1つの相互接続部は無線データ接続部を含む。一実施形態では、各チップは、少なくとも1サブセットのNノードの状態情報をデジタルで格納するように構成されたデータバッファをさらに含む。一実施形態では、N=Mである。
【0008】
一実施形態では、各接続ユニットは、2つの陽端子であって、それぞれが複数のノード内の異なるノードの陽端子に接続される、2つの陽端子と、2つの陰端子であって、それぞれが複数のノードの異なるノードの陰端子に接続される、2つの陰端子とを含む。一実施形態では、複数の相互接続部のうちの少なくとも1つの相互接続部は、相互接続部を接続する、または切断するように構成されたスイッチを含む。一実施形態では、少なくとも1つのチップは、ノードを接続するための再構成可能な接続ファブリックをさらに含む。一実施形態では、各チップは、バッファメモリ、プロセッサ、及び命令が格納された非一時的なコンピュータ可読媒体をさらに含み、これら命令は、プロセッサによって実行されると、ノード状態をバッファメモリに格納し、バッファメモリからノード状態を取得する。
【0009】
一実施形態では、命令は、より大きいタスクをバッチモードで実行するために、あるチップからその次のチップへノード状態をシーケンスで伝送するステップをさらに含む。一実施形態では、各バッファメモリは、スケーラブルなイジングマシンシステム内の少なくとも1サブセットの状態のバッファリングされたコピーを格納するのに十分である。一実施形態では、各バッファメモリは、スケーラブルなイジングマシンシステム内のすべての状態のバッファリングされたコピーを格納するのに十分である。
【0010】
一態様では、結合スピン系のハミルトニアンを計算する方法は、複数のチップを有するスケーラブルなイジングマシンシステムを提供することであって、各チップは複数のNノードであって、各ノードはコンデンサ、陽端子、及び陰端子を有し、コンデンサでの電荷はスピンを表す、複数のNノードと、Nロウ及びMカラムに配置された複数のNxM接続ユニットであって、各接続ユニットは再構成可能な抵抗接続部のセットを有し、各接続ユニットは再構成可能な抵抗接続部を介して1対のNノードを接続するように構成可能である、複数のNxM接続ユニットとを有する、提供することと、1セットの相互接続部を介して複数のチップを互いに接続することと、結合スピン系を1セットのサブシステムにセグメント化し、複数のチップの各チップをその1セットのサブシステムの1サブシステムによって構成することと、すべてのサブシステムを計算することによって結合スピン系のハミルトニアンを計算することとを含む。
【0011】
一実施形態では、方法は、サブシステムを少なくとも部分的にシーケンスで計算することを含む。一実施形態では、方法は、サブシステムを同時に計算することを含む。一実施形態では、方法は、少なくとも1サブセットのノードの状態をバッファメモリに格納することを含む。一実施形態では、方法は、1サブセットのノード状態をあるチップから別のチップに伝送することを含む。一実施形態では、方法は、複数のチップの各チップ上のバッファメモリにすべてのノードの状態を格納することを含む。
【0012】
前述の目的及び特徴、ならびに他の目的及び特徴は、以下の説明及び添付の図面を参照することにより明らかになる。これらの図面は、本発明の理解を提供するために含まれ、本明細書の一部を構成するものであり、同様の数字は同様の要素を表す。
【図面の簡単な説明】
【0013】
【
図1】例示的なコンピューティングデバイスである。
【
図2】A及びBは、グラフサイズに対する高速化のグラフである。
【
図5A】例示的なマルチチップアーキテクチャの図である。
【
図5B】例示的なマルチチップアーキテクチャの図である。
【
図7】例示的なマルチチップアーキテクチャである。
【
図8】例示的な再構成可能なマルチノードアーキテクチャの図である。
【
図9】3次元アレイに配置された例示的なマルチチップアーキテクチャの図である。
【
図10】A及びBは、異なるエポックサイズに対するエネルギーの無知に勝るサプライズのグラフである。
【
図11】例示的なバッチ処理アーキテクチャの図である。
【
図12】様々なアーキテクチャの実行時間のグラフである。
【
図13】様々なアーキテクチャの実行時間のグラフである。
【
図14A】実行時間にわたる反転及びビット変化のグラフである。
【
図14B】異なるエポックサイズにわたる平均の反転及びビット変化のグラフである。
【
図15】A及びBは、実行時間にわたる計算結果のグラフである。
【
図16A】実行時間にわたる誘起スピン反転のグラフである。
【
図16B】エポック時間にわたる誘起スピン反転の平均割合のグラフである。
【発明を実施するための形態】
【0014】
本発明の図面及び説明は、本発明の明確な理解に関連する要素を図示するために簡略化されているが、明確化のために、関連するシステム及び方法に見られる他の多くの要素を省略していることを理解されたい。当業者であれば、本発明を実施する際に他の要素及び/またはステップが望ましい及び/または必要であると認識することができる。しかしながら、そのような要素及びステップは、当該技術分野で良く知られており、また本発明のより良い理解を促進するものではないため、そのような要素及びステップについての説明は本明細書では提供されない。本明細書の開示は、当業者に公知のこのような要素及び方法に対するすべての変動及び修正を対象とする。
【0015】
別途定義されない限り、本明細書で使用されるすべての技術用語及び科学用語は、本発明が属する当業者が一般に理解する意味と同一の意味を有する。本明細書に記載のものと同様もしくは同等の任意の方法及び物質が本発明の実施または試験において使用され得るが、例示的な方法及び材料は、以下に記載される。
【0016】
本明細書で使用される場合、次の用語のそれぞれは、この節においてそれに関連付けられた意味を有する。
【0017】
本明細書で使用される場合、冠詞「a」及び「an」は、冠詞の文法上の目的語のうちの1つまたは複数(すなわち、少なくとも1つ)を言う。例として、「(an)要素」は、1つ以上の要素を意味する。
【0018】
本明細書では、量、時間的持続時間などの測定可能な値に言及する際に使用される「約」は、そのような変動が適切であるとして、特定の値から±20%、±10%、±5%、±1%、及び±0.1%の変動を包含することを意味する。
【0019】
本開示を通じて、本発明の様々な態様を範囲形式で表すことができる。範囲形式の記述は、単に便宜及び簡略化のためのものであり、本発明の範囲に対する柔軟性のない制限と解釈されるべきではないことを理解されたい。したがって、範囲の記述は、可能なすべてのより狭い範囲及びその範囲内の個々の数値を具体的に開示したものとみなされるべきである。例えば、1~6などの範囲の記述は、1~3、1~4、1~5、2~4、2~6、3~6などといったより狭い範囲、ならびに該範囲に含まれる個々の数値、例えば1、2、2.7、3、4、5、5.3、6ならびにその間の全体的及び部分的な増分を具体的に開示したものとみなされるべきである。これは、範囲の幅に関係なく適用される。
【0020】
本発明のいくつかの態様では、本明細書で提供される命令を実行するソフトウェアは、非一時的なコンピュータ可読媒体に格納されてもよく、ソフトウェアは、プロセッサ上で実行されると、本発明のステップの一部またはすべてを実行する。
【0021】
本発明の態様は、コンピュータソフトウェアで実行されるアルゴリズムに関する。特定の実施形態は、特定のプログラミング言語で書き込まれるように、または特定のオペレーティングシステムもしくはコンピューティングプラットフォーム上で実行されるように説明される場合があるが、本発明のシステム及び方法が、いかなる特定のコンピューティング言語、プラットフォーム、またはそれらの組み合わせにも限定されるものではないことが理解される。本明細書で説明されるアルゴリズムを実行するソフトウェアは、C、C++、C#、Objective-C、Java(登録商標)、JavaScript(登録商標)、MATLAB(登録商標)、Python、PHP、Perl、Ruby、またはVisual Basicを含むがこれらに限定されない、当技術分野で知られている任意のプログラミング言語で書き込まれても、コンパイルされても、または解釈されてもよい。さらに、本発明の素子がサーバ、クラウドインスタンス、ワークステーション、シンクライアント、モバイルデバイス、組み込みマイクロコントローラ、テレビ、または当技術分野で知られている他の任意の適切なコンピューティングデバイスを含むがこれらに限定されない、任意の許容可能なコンピューティングプラットフォーム上で実行され得ることが理解される。
【0022】
本発明の一部は、コンピューティングデバイス上で実行するソフトウェアとして説明される。本明細書で説明されるソフトウェアは、1つの特定のコンピューティングデバイス(例えば、専用サーバまたはワークステーション)上で動作するものとして開示される場合があるが、当技術分野では、ソフトウェアが本質的にポータブルであり、そのうえ専用サーバ上で実行するほとんどのソフトウェアも、本発明の目的のために、デスクトップもしくはモバイルデバイス、ラップトップ、タブレット、スマートフォン、時計、ウェアラブル電子機器もしくは他のワイヤレスデジタル/携帯電話、テレビ、クラウドインスタンス、組み込みマイクロコントローラ、シンクライアントデバイス、または当技術分野で知られている他の任意の適切なコンピューティングデバイスを含む広範囲のデバイスのいずれかで実行され得ることが理解される。
【0023】
同様に、本発明の一部は、様々な無線または有線コンピュータネットワークを介して通信するものとして説明される。本発明の目的上、「ネットワーク」、「ネットワーク化された」、及び「ネットワーク化する」という言葉は、有線Ethernet、光ファイバ接続、様々な802.11規格のいずれかを含む無線接続、3G、4G/LTE、もしくは5GネットワークなどのセルラーWANインフラストラクチャ、Bluetooth(登録商標)、Bluetooth(登録商標)低エネルギー(BLE)、もしくはZigbee(登録商標)通信リンク、またはある電子デバイスが別の電子デバイスと通信することができる任意の他の方法を包含するものと理解される。いくつかの実施形態では、本発明のネットワーク化部分の素子は、仮想プライベートネットワーク(VPN)を介して実装され得る。
【0024】
図1及び以下の説明は、本発明を実施し得る適切なコンピューティング環境の簡単で一般的な説明を提供することを意図したものである。本発明はコンピュータのオペレーティングシステム上で実行するアプリケーションプログラムと組み合わせて実行するプログラムモジュールの一般的な文脈で上記に説明されているが、当業者であれば、本発明が他のプログラムモジュールと組み合わせて実施されてもよいことを認識するであろう。
【0025】
概して、プログラムモジュールは、特定のタスクを実施するまたは特定の抽象的なデータタイプを実装する、ルーチン、プログラム、コンポーネント、データ構造体、及び他のタイプの構造体を含む。さらに、当業者であれば、本発明はハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施されてもよい。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実施されてもよい。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートとの両方のメモリストレージデバイスに位置していてもよい。
【0026】
図1は、本発明の様々な実施形態を実施するためのコンピュータ100の例示的なコンピュータアーキテクチャを示す。
図1に示されるコンピュータアーキテクチャは、中央処理装置150(「CPU」)、ランダムアクセスメモリ110(「RAM」)及び読み出し専用メモリ(「ROM」)115を含むシステムメモリ105、ならびにシステムメモリ105をCPU150に結合するシステムバス135を含む、従来のパーソナルコンピュータを示す。起動中などに、コンピュータ内の素子間で情報を転送するのを補助する、基本的なルーチンを含む、基本入力/出力システムは、ROM115に格納される。コンピュータ100は、オペレーティングシステム125、アプリケーション/プログラム130、及びデータを格納するためのストレージデバイス120をさらに含む。
【0027】
ストレージデバイス120は、バス135に接続されたストレージコントローラ(図示せず)を介してCPU150に接続される。ストレージデバイス120及びそれに関連するコンピュータ可読媒体は、コンピュータ100に不揮発性ストレージを提供する。本明細書に含まれるコンピュータ可読媒体の説明は、ハードディスクまたはCD-ROMドライブなどのストレージデバイスに言及しているが、当業者であれば、コンピュータ可読媒体がコンピュータ100によってアクセスされることができる任意の利用可能な媒体であることができることを理解されたい。
【0028】
例として、限定するものではないが、コンピュータ可読媒体は、コンピュータ記憶媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータ等の情報を記憶するために、任意の方法、または技術で実装される、揮発性、及び不揮発性、着脱可能、及び固定媒体を含む。コンピュータ記憶媒体は、これに限定されないが、RAM、ROM、EPROM、EEPROM、フラッシュメモリもしくは他のソリッドステートメモリ技術、CD‐ROM、DVDもしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、またはコンピュータによってアクセスされ得る所望の情報を記憶するために使用され得る、任意の他の媒体を含む。
【0029】
本発明の様々な実施形態によれば、コンピュータ100は、インターネットまたはイントラネットなどのTCP/IPネットワークのような、ネットワーク140を介したリモートコンピュータへの論理接続部を使用するネットワーク化環境で動作し得る。コンピュータ100は、バス135に接続されたネットワークインタフェースユニット145を介してネットワーク140に接続し得る。ネットワークインタフェースユニット145が他のタイプのネットワーク及びリモートコンピュータシステムに接続するためにも利用され得ることを理解されたい。
【0030】
またコンピュータ100は、キーボード、マウス、タッチスクリーン、カメラ、マイクロフォン、コントローラ、ジョイスティック、または他のタイプの入力デバイスを含む、いくつかの入出力デバイス160からの入力を受信して処理するための入出力コントローラ155を含んでもよい。同様に、入出力コントローラ155は、表示画面、プリンタ、スピーカ、または他のタイプの出力デバイスに出力を提供し得る。コンピュータ100は、光ファイバ、Ethernet、もしくは銅線を含むがこれらに限定されない有線接続、またはWi-Fi、Bluetooth(登録商標)、近距離無線通信(NFC)、赤外線を含むがこれらに限定されない無線手段、またはその他の適切な有線もしくは無線接続を介して入出力デバイス160に接続することができる。
【0031】
簡単に上述されるように、いくつかのプログラムモジュール及びデータファイルは、ネットワーク化コンピュータの動作を制御するのに適したオペレーティングシステム125を含む、コンピュータ100のストレージデバイス120及び/またはRAM110に格納され得る。ストレージデバイス120及びRAM110は、1つまたは複数のアプリケーション/プログラム130も格納し得る。特に、ストレージデバイス120及びRAM110は、ユーザに様々な機能を提供するためのアプリケーション/プログラム130を格納し得る。例えば、アプリケーション/プログラム130は、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、デスクトップパブリッシングアプリケーション、データベースアプリケーション、ゲームアプリケーション、インターネットブラウジングアプリケーション、電子メールアプリケーション、メッセージングアプリケーションなどのような多くのタイプのプログラムを含み得る。本発明の一実施形態によれば、アプリケーション/プログラム130は、ワードプロセッシング機能、スライドプレゼンテーション機能、スプレッドシート機能、データベース機能などを提供するための多機能ソフトウェアアプリケーションを含む。
【0032】
いくつかの実施形態では、コンピュータ100は、コンピュータ100の周囲の環境及びその内部の環境を監視するための様々なセンサ165を含むことができる。これらのセンサ165には、全地球測位システム(GPS)センサ、感光センサ、ジャイロスコープ、磁力計、温度計、近接センサ、加速度計、マイクロフォン、バイオメトリックセンサ、気圧計、湿度センサ、放射線センサ、またはその他の任意の適切なセンサが含まれることができる。
【0033】
本明細書では、様々な実施形態において、3D集積化マルチチップイジングマシン、複数の「チップレット」がキャリア上に集積化されたマクロチップバージョン、いくつかの再構成可能なイジングマシンの汎用デジタル相互接続に基づいたシステム、及び相互接続型イジングマシンの様々な最適化手法が開示される。
【0034】
自然界で実行されるコンピューティングタスクの例には、微分方程式を解くこと、ランダムサンプリングを実行することなどが含まれる。これらの自然プロセスの一部は既に利用されている。例えば、トランジスタは、オン及びオフが可能であり、今日のほとんどのコンピュータの基礎となっている。しかし、これは、例えば問題全体を解決するために、自然の計算能力をより高いレベルで利用することとは異なっている。実際、いくつかの非常に強力なアルゴリズムは自然から着想を得たものである(S.Kirkpatrick,et al.,Science,vol.220,1983;G.Zames,et al.,Information Technology Journal,1981;及びD.H.Ackley,et al.,Cognitive science,1985)。
【0035】
計算基板が自然を基礎とする場合には、特定の問題をノイマン型アーキテクチャにマッピングするよりも迅速かつ効率的に解くことができることは想像に難くない。このような努力の中で、最近急速な進歩を遂げているのがイジングマシンである。
【0036】
簡単に言えば、イジングマシンは、結合スピン系のための低エネルギー状態を探す。いくつかの問題(実際には、すべてのNP完全問題)は、以下でさらに詳述されるように、イジング式の等価最適化問題として表すことができる。既存のイジングマシンは、その大部分がプロトタイプまたはコンセプトであるが、特定の問題に対する良好な性能及びエネルギー効率の見込みを既に示している。
【0037】
場合によっては、問題のサイズがマシンの容量を超えると、問題を特定のハードウェアにマッピングできなくなることがある。直観的には、何らかの分割統治形式を使用すると、より大きい問題を、所与のハードウェアの複数のインスタンスにマッピングすることができるより小さい部分問題に分割することが可能になるため、さらにイジングマシンの加速の恩恵を受けることができるはずである。既存の一例では、D-Wave(M.Booth,et al,Technical Report,2017)が採用したアルゴリズムでは、このような分割統治戦略を採用するシステムの効果的な高速化は、問題のサイズが増大するにつれて急速に低減する。例えば、500ノードのマシンはフォンノイマンのソルバー(シミュレーテッドアニーリング)よりも600,000の高速化に達することができるが、同じマシンを使用して520ノードの問題を解くと、250の高速化しか達成しない。
【0038】
本開示には、単純な分割統治戦略によって提示された問題の議論が含まれる。このような戦略が基本的に「グルー」計算によってそのパフォーマンスが制限されることが示される。したがって、当技術分野では、そのようなグルーを不要にするためにゼロから設計されるマシンが必要とされている。いくつかの実施形態では、この目標を達成し得るハードウェア設計が本明細書に開示される。最後に、この設計が高いパフォーマンスを維持しながらより大きい問題を実際にスケーリングすることができ、シーケンシャルソルバーと比較して6桁を上回る高速化、そして最先端の計算アクセラレータと比較して2000xを上回る高速化を達成することができることを示す実験データが提示される。
【0039】
イジングマシンの原理
イジングモデルは、結合スピン系のハミルトニアンを記述するために用いられる。スピンは1の自由度を有し、2つの値(+1、-1)のうちのいずれかを取る。このシステムのエネルギーは、スピンのペアワイズ結合(J
ij=J
ji)と、各スピンに対する何らかの外場(μ)の相互作用(h
i)との関数である。その結果、ハミルトニアンは次のようになる:
【数1】
【0040】
このような式が与えられると、システムのどの状態([σ1,σ2,...])が最低エネルギーを有するかという最小化問題を述べることができる。そのようなハミルトニアンを有する物理システムは、当然ながら低エネルギー状態の方に傾向がある。あたかも自然が常に最小化問題を解こうとしているかのようであるが、これは決して簡単なことではない。
【0041】
実際、状態空間のカーディナリティはスピンの数によって指数関数的に増加し、最適化問題はNP完全であり、これは、NP完全問題の元のリスト(R.M.Karp,Springer US,1972,pp.85-103)の一部である、一般化された最大カット問題と容易に変換可能である。
【0042】
したがって、スピンの物理システムが何らかの形でプログラム可能な結合パラメータ(式1のJijとμhi)を提供する場合、これは、イジング式(式1)で表すことができる最適化問題を解決するための専用コンピュータとして使用することができる。実際には、Karp NP完全集合に含まれるすべての問題は、それらのイジング式が導出される(A.Lucas,Frontiers in Physics,2014)。また、問題が既にQUBO(quadratic unconstrained binary optimization:二次制約なしバイナリ最適化)式を有している場合、イジング式へのマッピングは、スピンにビットを置換するのと同じくらい簡単であり、即ち、σi=2bi-1となる。
【0043】
イジング式にマッピングし得る問題のクラスが広範にわたるため、これらの問題を解決する自然ベースのコンピューティングシステムの構築は大きな注目を集めている。大まかに言えば、イジングマシンの設計は4つのステップを経る。
【0044】
(1)量子ビット(R.Harris,et al.,Phys.Rev.B,Jul2010);the phase of an optical pulse(T.Inagaki,et al.,Science,2016);またはコンデンサの極性(R.Afoakwa,et al.,2021 IEEE International Symposium on High-Performance Computer Architecture(HPCA),2021)であっても、スピンを表す物理変数を特定する。
【0045】
(2)結合のメカニズムと、係数をどのようにプログラムするかを特定する。
【0046】
(3)問題解決能力を、その動作理論(自然の「見えざる手」を明らかにする)と満足のいく実践結果の両方で実証する。
【0047】
(4)優れた機械指標(解決時間、エネルギー消費量、及び/または構築コスト)を実証する。
【0048】
重要なのは、異なるアプローチが異なる基本的なトレードオフを提供し得ることである。したがって、観察されたプロトタイプの事例に基づいて一般的なアプローチを評価することは時期尚早である。それにもかかわらず、本明細書に開示されるのは、注意事項が適切に理解されている限り、当業者がランドスケープの基本的な感覚を得るのを助けることができる、大雑把な特徴付けである。この特徴付けは決して包括的なものではない。特に、概念を明確にするために、GPU、FPGA、またはASICを使用してノイマン型アルゴリズム(シミュレーテッドアニーリングまたはそのバリアント)を加速する多数の設計を、物理イジングマシンとしてではなく、加速シミュレーテッドアニーラとして扱う。
【0049】
量子アニーリング(QA)は、断熱性要件を緩和する(S.Boixo,et al.,Nature physics,2014)という点で、断熱量子計算(AQC)とは異なる。QAには技術的にAQCが部分集合として含まれているが、現在のD-Waveシステムは断熱ではない。言い換えれば、基底状態に達するという理論的な保証を有しない。基底状態の保証がなければ、量子ビットのイジング物理学は、代替のものよりも他の既知の利点を有さない。そして量子デバイスを使ってスピンを表すことは、おそらく最適ではないと主張できる。第一に、これらのデバイスは、ノイズに対してはるかに敏感であるため、25kWの動作電力のほとんどを消費する極低温動作条件を必要とする。第二に、量子ビットを結合させることは他のスピン形態を結合させることに比べて困難である可能性があり、これは、現在のマシンがローカル結合ネットワークを使用する理由を説明している。その結果、一般的なグラフのトポロジーの場合、これらの局所結合マシンに必要とされるノード数が二次関数的に増加し、D-Wave2000q上の公称2000ノードは、約64個の有効ノードのみに相当する(R.Hamerly,et al.,Science advances,2019;R.Hamerly,et al.,D-Wave 2000Q arXiv,2018)。
【0050】
コヒーレントイジングマシン(CIM)は、いくつかの問題に対処する第2世代設計のものと考えることができる。(T.Inagaki,et al.,Science,2016)では、2000ノードすべてを相互に結合することができ、明らかにこれまでで最も強力な物理イジングマシンとなる。例示的なCIMは、スピンとして機能する特殊な光パルスを使用するため、室温下で動作することができ、消費電力はわずか約200Wである。しかし、パルスは長さ1kmの光ファイバに収めなければならず、このシステムでは厳しい温度安定性が要求されるため、何スピンも安定した動作状態を維持するのは困難である。2000ノードを超えてスケーリングする取り組みはまだ成功していない。
【0051】
CIMの動作原理は蔵本モデル(Y.Takeda,et al.,Quantum Science and Technology,Nov 2017)によって観察できるので、理論的には他の発振器を用いても同様の目標を達成できる。これにより、第3世代といえる電子発振器ベースのイジングマシン(OIM)が数多く開発された。これらのシステムは、スピンにLCタンク、及び結合ユニットとして(プログラム可能な)抵抗器を使用する。技術的には、発振器の位相は、(イジングモデルでは上または下の1自由度ではなく)XY平面にわたる2自由度のスピンに相当する。その結果、サブハーモニック注入同期(SHIL)(K.Cho,et al.,International conference on artificial neural networks.Springer,2011)などの制約を課してイジング式の問題を解くための追加のメカニズムが必要になる。これらの電子発振器ベースのイジングマシンは、機械指標の観点から、以前の設計よりも大幅に改善されている。確かに、それらの正確な電力消費及び動作速度は、選択された正確なインダクタンス及び容量に依存するため、桁違いの範囲にわたる可能性がある。ただし、電力消費が1~10W程度のデスクトップサイズを実現することは困難ではなく、これは、電力消費が200W~25kWのキャビネットサイズの機械よりも大幅に改善される。しかしながら、オンチップ・インテグレーションでは、インダクタはしばしば実用上の課題の原因となる。例えば、これらは、面積集約型であり、品質係数の低下や位相ノイズの増加といった望ましくない寄生性を有し、そのすべてが、数千のオンチップ発振器の間で周波数の均一性と位相の同期性を維持する際に実用上の課題を引き起こす。アーキテクチャが異なるもう1つの電子設計は、BRIM(Bistable Resistively-coupled Ising Machine:双安定性抵抗的結合型イジングマシン)(R.Afoakwa,et al.,2021 IEEE International Symposium on High-Performance Computer Architecture(HPCA),2021)である。BRIMに関する追加の情報は、2021年4月16日に出願されたPCT出願第PCT/US2021/070402号に見出すことができ、その内容全体が参照により本明細書に組み込まれる。
【0052】
BRIMでは、スピンは、双安定になっているフィードバック回路によって電圧が制御されるコンデンサとして実装される。この設計はCMOS互換であり、(位相ではなく)電圧を使用してスピンを表すため、計算タスク用の付加的なアーキテクチャサポートに対する簡単なインタフェースが可能となる。したがって、本明細書で開示された特定の実施形態では、BRIMと同様のベースライン基板を使用する。本明細書では同じ原理が、グルーロジックの量が異なるすべてのイジングマシンに直接的に適用できることに留意されたい。
【0053】
現在のほとんどの(物理)イジングマシンでは、問題がハードウェアに適合する場合、ノイマン型コンピューティングと比較して大幅な高速化及びエネルギー利得が期待され得る。ただし、問題がマシンの容量を超える場合に何が起こるかについてはほとんど議論されていない。マッピングされることができる問題の一部に比例して、マシンが依然として加速することができると想定することは理解できる。本明細書でさらに議論されるように、現実には、マシンの容量を超えた問題については、ほとんどまたはまったく利益が期待されていない。
【0054】
まず、D-Waveのシステムで採用されているアプローチについて議論する。同社のシステムは市販されている唯一のイジングマシンプラットフォームであるため、その解は最先端であり、あらゆる比較のベースラインでもある。次いで、基本原理から始めて、分割統治戦略の詳細について議論してから、解くべき部分問題が互いに厳密には独立していないため、並列化が困難になるという問題について議論する。
【0055】
D-Waveのツール(M.Booth,et al.,Technical Report,2017)を使用すると、どのようなイジングマシンを使用しても、そのハードウェア容量を超える問題を解くことができる。このようなシステムのパフォーマンスを確認するために (読者の便宜のため、アルゴリズムは付属書類に複製されている)、BRIMモデルがイジングマシンとして使用される。一般的な戦略はどのイジングマシンでも機能するはずであるが、BRIMは開示された研究に多くの実用的な利点を提供する。まず、全対全結合を提供する。これは、nノードのマシンがnノードの任意のグラフをマッピングすることができることを意味する。多くのマシンは、多数の公称ノードを提供するが、近傍結合のみを提供する(R.Harris,et al.,Phys.Rev.B,Jul 2010;M.Yamaoka,et al.,2015 IEEE International Solid-State Circuits Conference-(ISSCC)Digest of Technical Papers,Feb2015;及びT.Takemoto,et al.,IEEE International Solid-State Circuits Conference,February2019を参照)。一般的なnノードグラフは、O(n2)個の結合パラメータを有する。したがって、このようなグラフをマッピングするには、局所結合マシンにO(n2)ノードが必要である。
【0056】
第二に、スケーラブルなイジングマシンのアーキテクチャサポートについては後で検討するが、BRIMのCMOS互換性は設計の大幅な柔軟性を提供する。
【0057】
図2A及び
図2Bでは、問題のサイズがマシンの容量を超えて増大するにつれて、500ノードのイジングマシンが高速化することが示される。
図2A及び
図2Bを参照すると、500スピンBRIMだけでなくサポート用のシーケンシャルコンピュータも使用した2つのd-n-cアルゴリズム(D-Wave及び本明細書で開示された別のもの)の高速化が示される。
図2Aは、テストしたすべてのグラフの高速化を示す。
図2Bは、グラフサイズ500から520までのセグメントを拡大したものである。
【0058】
測定の詳細は、定性的なレッスンに影響しないため無視される。この図から、2つのことがわかる。第一に、問題が大きくなってもマシン内に収まる場合、イジングマシンの高速化が向上する。明らかに、より大きいハードウェア容量が望ましい。ただし、この図は第二の、おそらくより重要な点、すなわち、問題がハードウェアの許容量を超えるとすぐに、高速化が急激にクラッシュすることを示している(
図2B)。高速化が低下するのは驚くべきことではない。驚くべきことは、その量と速さである。当然のことながら、これの一部はD-Waveツールの特定の実施態様によるものである。したがって、代替案が作成されたが、その結果(
図2Aに示す)はわずかな改善にすぎない。
図2Aの急激な低下は、次に議論される根本的な理由によるものである。
【0059】
ユーザは、ネットワーク経由でソルバーAPI(SAPI)を使用してD-Waveシステムとインタラクトする。ジョブはSAPIサーバキューにサブミットされる。次に、ジョブはワーカに割り当てられ、ワーカによって従来のプロセッサ上で実行されると、量子プロセッサへの命令をサブミットし、量子プロセッサから結果を受信し、必要に応じて結果を後処理し、結果を送信してユーザに返す機能を担う。
【0060】
アルゴリズムの一般的なアイデア(下記のアルゴリズム1を参照)は簡単である:状態の一部が固定されたままである場合、元のQUBO問題は、ソルバーに投入される(18行目)ことができるより小さい部分問題に変換される(15行目のsubQubo)。状態ベクトルの様々な部分(15行目から21行目)に対してこのアクションを繰り返すと、アルゴリズムの1パスが構成される。より良い結果を得るために、複数のパスが実行される(whileループは14行目で開始される)。以下のアルゴリズム2は、より効率的な開示され、改良されたアプローチを示している。
アルゴリズム1 D-WAVE分割統治アルゴリズム
1: Input: QUBO instance
2: #V best, lowest value found to date
3: #Qbest, solution bit vector corresponding to the lowest value so far
4: #index, indices of the bits in the solution
5:
6: # Get initial estimate of minimum value and backbone
7: Qtmp ← random 0 / 1 vector
8: (Vbest, Qbest) ← TabuSearch(QUBO, Qtmp)
9: index ← OrderByImpact(QUBO, Qbest)
10: passCount ← 0
11: Qtmp ← Qbest
12: total ← fraction * size(QUBO)
13:
14: while passCount < numRepeats do
15: for i = 0;i < total;i = i + subQuboSize do
16: # select subQubo with other variables clamped
17: subQubo ← Clamp(QUBO;Qtmp;index[i : i +subQuboSize - 1])
18: (subV, subQ) ← DWaveSearch(subQubo)
19: # project onto full solution
20: Qtmp[index[i : i + subQuboSize - 1]] ← subQ
21: end for
22: (V, Qnew) ← TabuSearch(QUBO, Qtmp)
23: index ← OrderByImpact(QUBO, Qnew)
24: if V < Vbest then
25: Vbest ← V;Qbest ← Qnew
26: passCount ← 0
27: else if V == Vbest then
28: Qbest ← Qnew
29: passCount ++
30: else
31: passCount ++
32: end if
33: Qtmp ← Qnew
34: end while
35: Output: Vbest;Qbest
アルゴリズム2:代替の分割統治アルゴリズム
1: Input: Graph
2: #V ← random 0 / 1 spin vector
3: # numSolvers ← number of solvers
4: # numRepeats ← number of times to repeat
5: # epoch ← Epoch times for each solver
6: # ratio ← ratio in which the graph is to be partitioned
7:
8: (subG, subV) ← RandPartition(Graph, V, ratio)
9: ene ← IsingEnergy(subG, subV)
10: for r = 0;r < numRepeats;++r do
11: for i = 0;i < numSolvers;++i do
12: # Launch solvers (Can be parallel)
13: Solver(subG[i];subV [i];epoch[i];ene[i])
14: end for
15: Synchronise(subG;subV;ene)
16: end for
17:
18: V ← copy(subV)
19: FinalEne ← IsingEnergy(Graph;V )
20: Output: V;FinalEne
【0061】
ここで、イジング最適化問題における分割統治の原理について説明する。上記の式1を最小にするという問題は(高次元の)エネルギーランドスケープをナビゲートして最も低い谷を見つけることとしてよく説明される。いくつかの次元(例えば、経度)を固定したまま、より良いスポットを探して残りの次元に沿ってナビゲートすることが企図される。(多くのソルバーはこのアナロジーで説明され得る。)これが分割統治戦略の本質である。この点(及びその問題)は、以下に明確かつ明示的に示される。ここでは、行列の概念がより役立つ。式1は次のように書き換えられ得る:
H=--σ
TJσ--μh
Tσ
式2
式中σ=[σ
1,..σ
n]
T、J=│J
ij│
n×n、及びh=[h
1,..,h
n]
T。ここで、Jは対角が0である対称行列である。nノード問題がkノードとn-kノードの2つの部分問題に分割される場合、式2は次のように書き換えられ得る:
【数2】
式中、g
u=h
u+J
xσ
l及び
【数3】
【0062】
この書き換えにより、より大きい正方行列が上部と下部の部分行列JuとJl(両方とも正方形)、及び「交差項」(J×とその転置)に分解されることができることが示される。交差項の効果を元のバイアス(それぞれhu及びhl)と組み合わせて、新しいバイアス(それぞれgu及びgl)にすることができる。この観点から、nノードのイジング最適化問題は、常にk及びn-kノードの部分問題に、そして推移性によって任意のサイズの部分問題の組み合わせに分解されることができる。
【0063】
式3は、分解の原理を示すだけでなく、分解の問題点も明確に示す。元の問題では、J及びhはパラメータであり、変化しない。分解後、上部パーティションのバイアス(gu)は下部パーティションの状態の関数になる。これは、2つのパーティションが独立していないことを意味する。換言して厳密に言えば、部分問題はシーケンスで解決される必要がある。すなわち、探索によって上部パーティションの現在の状態が変化する場合、下部パーティションでの探索を開始する前に、その変化を反映するために下部パーティションのパラメータを更新する必要がある。また、パーティション化によって総ワークロードが軽減されない。したがって、正準シミュレーテッドアニーリングの並列バージョンがないことは驚くべきことではない。
【0064】
マシンの容量よりも大きい問題を解こうとする場合、その問題は無関係に見えるかもしれない。結局、より大きい問題が2つの部分(例えば、A及びB)に分解されることができ、ここではAはイジングマシンに収まり、A及びBの処理が重複することができない場合でも、Aの処理による高速化が期待され得る。その論拠は正しい。しかし実際には、深刻な帰結をもたらす微妙な問題が複数存在する。関連する2つについては、以下で議論される。
【0065】
第一に、既に示されたように、分解では部分問題の式が常に変化するため、再プログラミングが必要になる。多くのイジングマシンにとって、再プログラミングはコストのかかる操作であり、問題の解決よりも時間がかかる場合がある。おそらく極端な例を挙げると、D-Waveのプログラミング時間は11.7msであるが、通常の実行では残りのステップの合計が240μsである。これらのイジングマシンの一般的な(普遍的ではないにしても)使用パターンは、一度プログラムし、異なる初期条件から何度も(例えば、50回)アニールし、最良の結果を得ることであることに留意されたい。このような使用パターンでは、長いプログラミング時間は、何度もアニーリングを実行することで償却される。分解された問題では、1回のアニーリング実行内で再プログラミングを何度も実行する必要がある場合がある。
【0066】
第二に、再プログラミングのコストが何らかの形で対処されても、アムダールの法則は依然として考慮されなければならない。BRIMの具体例(
図2A)を使用すると、シーケンシャルコンピュータで500ノードの問題を解くことの高速化は10
5のオーダーになる。開示されたアルゴリズムを使用して、510ノードの問題を、ハードウェアにマッピングされた500ノードの部分問題とその残りの部分だけでなくソフトウェアに残されたグルー計算にも分解することを検討されたい。命令で測定されるソフトウェアのワークロードは、元の510ノードの問題のソフトウェアのワークロードの約0.13%になる。残りのソフトウェアのワークロードの多くは「グルー」(新しいバイアス、g
u=μh
u+J
×σ
l及びg
l=μh
l+J
×
Tσ
uの計算)であり、元のソルバーとは異なる。その結果、アムダールの法則は直接適用されない。それにもかかわらず、高速化の上限が700x程度と見積もられることが可能である。
【0067】
開示された簡略化された解析の一部は、ニュアンスを含まずに第一原理で問題の核心を説明することを目的とするが、より重要な点は非常に明確であり、以下に要約される。
【0068】
原理的には、問題の式により、より大きい問題の分解が明らかに可能になるが、より小さいコンポーネントの問題は独立していない。その結果、複数のイジングマシンをグルーで合わせるためにノイマン型コンピューティングに依存することは、その容量をわずかに超える問題の加速を著しく制限するため、根本的に欠陥のある戦略となる。これらのマシンは、連携して使用され、分解のボトルネックに対処するようにゼロから設計される必要がある。
【0069】
イジングマシンのスケーリングの一般解析
イジングマシンのコアには、ノード及び結合ユニットという2タイプのコンポーネントが含まれる。既に上記で議論されたように、結合ユニットは結合強度J
ijを最適化問題への入力として受け入れるようにプログラムできる必要があり、動的システムは、問題の解として個々のスピンのそれぞれの状態を読み出す前に、何らかのアニーリング制御に基づいて進化する。バイアス項、μh
iσ
iは、σ
iを追加の固定スピン(σ
n+1=+1)と結合した、特別な結合項
【数4】
としてみることができる。
【0070】
問題が何らかの特定のトポロジーを有しない限り、どのスピンも他のスピンと結合することができる。したがって、スピン(O(N))よりもはるかに多くの結合パラメータ(O(N
2))が存在する。しかし、既存のイジングマシンの多くは、近くのスピンのみが結合することを許されるマシンアーキテクチャを採用しているため、O(N)個の結合ユニット及びO(N)個のスピンを含むシステムになる。特別なソフトウェアツールを使用して、最初に元の問題を、マシンのアーキテクチャによって課された制約に従う形式に変換した。したがって、大まかに言えば、これらのO(N)個の結合ユニットは、
【数5】
のスケールの問題をマッピングすることができる。これは、実際の問題を観察することによって確認される。本開示の残りの部分では、全対全結合によるアーキテクチャのみに焦点を当てる。
【0071】
最近、いくつかの電子イジングマシンが提案されている(T.Wang et al.,2019;T.Wang,et al.,Proceedings of the 56th Annual Design Automation Conference 2019;J.Chou,et al.,Scientific Reports,2019)。主な動作原理は似ているが、より深いレベルでは技術的に大きい違いがある。ベースラインはBRIMであり、N個の双安定ノードのアレイがNxNの抵抗結合ユニットのアレイによって相互接続される。
図3及び
図4を参照すると、ノードコンデンサ(305)、結合抵抗器(303、304)、及び並列/逆並列接続部を示すBRIMのブロック図が示される。結合ユニットは、システムがアニーリングを開始する前に、DACのアレイによってプログラムされる。ノードi及びjの間の結合抵抗器の値は、1/J
ijに設定される。つまり、強い結合は抵抗が低くなることを意味する。また結合強度の符号は、並列接続部(303、402)か逆並列接続部(304、403)かいずれかで実装されることができる。具体的には、結合パラメータJ
ijが陰性である場合、2つのノードは逆並列(304)方式で接続される(例えば、302aの陽極板は302bの陰極板に接続され、逆も同様である)。これにより、2つのノードが反対の極性になることが促進されるため、この対の結合(J
ijσ
iσ
j)の寄与によって全体のエネルギーが低下する。逆に、J
ijが陽性である場合、同じ極性のプレートは抵抗器を介して結合される(例えば、302aの陽極板は302cの陽極板に接続され、逆も同様である)。
【0072】
これらすべての電子イジングマシンは動的システムとして解析されることができ、Lyapunov安定性解析は、なぜそれらが低エネルギー状態に向かう傾向があるのかをより理論的な方法で示す。しかし、本開示の目的には、状況例を用いたより直観的な議論で十分である。システムが特定の状態にあり、1つのスピン(例えば、σ
k=1)は、「間違い」であると仮定する。つまり、スピンが「反転」する(σ
k=+1)場合、エネルギーは改善または減少する。これはつまり、
【数6】
【0073】
J
jkはノードj及びkの間の結合抵抗器で表され、σ
jをその表現(V
j、ノードjの電圧)と置換することにより、項
【数7】
は、ノードkへの電流結合を表す、
【数8】
で近似される。式4によれば、この値はσ
kの逆符号のものである。これは、ノードkが間違いである場合、ノードkに入力される合成電流が逆極性になるため、それを訂正/反転しようとする効果を有することを示す。同様の演習で、ノードkが正しい場合(つまり、ノードkを反転するとエネルギーが増加/低下する場合)、外部から電流が入力されると、ノードkはkの現在の極性と一致するため、現在の状態が維持されることを示すことができる。このベースラインを考慮して、大容量のイジングマシンの概念的に単純な設計の1つがここで開示される。
【0074】
マクロチップアーキテクチャ
図5Aを参照すると、BRIMチップの「マクロチップ」k×kアレイ(k=2)のブロック図が示される。スイッチを使用すると、各チップが独立して動作するか、連携して大きいイジングマシンとして動作するかいずれかが可能になる。挿入図に示されるように、右上のチップの結合ユニットは、チップ自体のノードか、それらを隣接するチップ内の結合ユニットの同じロウに接続するワイヤかいずれかに接続される。
図5Aの文脈では、CUは結合ユニットであり、PUはプログラミングユニットである。
【0075】
k2個のチップ(502、503、504、505)を接続して、(kN)2個の接続ユニット513を備えたより大きいマシンを形成することができる。結合ユニットのロウのワイヤは、左及び/または右の隣接チップから同じロウの対応するワイヤに結合される。同様に、上部及び下部に隣接する同じカラムのワイヤを結合する。個々のチップのパッケージ化の問題を無視する場合、回路領域全体を、kNノードを備えた1つの(より大きい)「マクロチップ」イジングマシンとして単純にみることができる。
【0076】
図5Bを参照すると、「マクロチップ」の代替の概略図が示されており、やはり4つのチップ502~505を有するが、この実施形態では、ロウ当たり1ノード510のみを有し、チップ上のすべての結合ユニットを制御するための1つのプログラミングユニット512を各チップが有する。
【0077】
Nノードのイジングマシンが与えられると、本開示のシステムは、各問題からのノード数の総和がNを超えない限り、複数のより小さい問題を同時に解くことができる。これは、
図6に示される図にみられる。結合行列の網掛け領域がすべてゼロに保たれる場合、行列は効果的にいくつかのより小さい部分行列に分離される。これは明らかにリソース効率が良くなく、kNノードのマクロチップを形成するにはk
2個のチップが必要である。このマクロチップを使用してサイズNのより小さい問題を解いた場合、それらのような問題で対応することができるのはk個のみである。実際、その場合、k×kアレイの対角線にあるチップの結合アレイのみが使用されている。
【0078】
このような無駄を避けることは難しくない。1つのチップをマクロチップの残りの部分から分離することにより、明らかに独立したイジングマシンとして機能することができる。いくつかの実施形態では、第iロウ及びカラムをチップ上の第iノードか、隣接するチップから対応するロウまたはカラムかいずれかに接続されることができるノードにスイッチを挿入してもよい。このサポートにより、チップはより大きいマイクロチップ配置に携わることか、独立して動作することかいずれかができる。実際、最小の独立ユニットは単一チップである必要はなく、設計者が選択したサイズのモジュールである必要がある。再び
図5A及び
図5Bを参照すると、図全体が1つのチップとして代替に扱われ、各ブロック(502~505)はモジュールである。このチップは、1つの大きいマシンとしてか、k
2個の小さい独立マシンとしてかいずれかで動作することができる。他の実施形態では、再配置可能性のために異なるシステムが導入されてもよい。例えば、再び
図5A及び
図5Bを参照すると、各チップ内のノード510、対角線カプラ511、及びインタフェースピン513という3つのタイプのユニットが再配置可能であってもよい。独立動作では、各チップは他のチップから単離され、単一チップのイジングマシンのように動作し、ノードは通常モードであり、ピンはワイヤのロウ及びカラムから切断され、対角線カプラはクロスオーバーモードになる(ロウi及びカラムiのワイヤは対角線カプラ(i,i)に接続される)。集団動作では、ワイヤの対応するロウ及びカラムがピン513を介して隣接するチップに接続され、マクロチップ全体の主対角線を除くすべての対角線カプラは通常のカプラモードに切り替えられ(主対角線はクロスオーバーモードに留まり)、最も左側のチップのノードのみが通常モードになり、他のチップの他のノードはバイパスモードになる。一部の配置では、チップのサブセットが集団で機能し、残りは独立して機能する。
【0079】
このマクロチップの設計は概念的には単純であるが、その実装に関しては多くの問題がある。主な関心事はチップインタフェースである。チップが集積化されるのがPCBを介してか、インターポーザを介してかによって、チップと基板との間のインタフェースが工学的な課題になる場合がある。インタフェースは複数のチップ間で高速に変化するアナログ信号を搬送するため、システムビヘイビアの解析が容易ではなくなることは確かである。このため、いくつかの実施形態では、本明細書に開示されるデバイスは、完全にデジタルインタフェースを含み得る。ある意味では、複数のチップだけでなくデジタル相互接続部を使用して、マルチプロセッサイジングマシンを作成する。
【0080】
本明細書で企図されるように、複数のチップ間のデジタル相互接続部は、例えば、SPI、I2C、Ethernet、もしくはPCI Express(PCIe)、または他のバス通信規格を含むがこれらに限定されない、当技術分野で知られている任意のトランシーバを使用して、様々な形態を取り得る。デジタル相互接続部を使用すると、デジタル相互接続部から受信した情報を格納するために、またはデジタル相互接続部を介して転送されることを待機するために、一時的または非一時的なメモリの使用が必要になる場合がある。いくつかの実施形態では、複数のチップの各チップは、例えばNノードに関連するデータを格納するためにN個の領域に分割された、1つまたは複数のバッファを含み得る。
【0081】
マルチプロセッサアーキテクチャ
すべての結合係数を物理単位で具現化することにより、本明細書に開示されるマクロチップは、マルチチップ動作をサポートするためのあらゆるグルー計算を根本的に回避する。この重要な特徴が維持されていながら、マルチプロセッサアーキテクチャはマクロチップのインタフェースの問題に対処する。
【0082】
図7にこの設計を示す。最上部701は、論理システムレイアウト、すなわち、N
2個の結合ユニット721を有するNノード702を示す。物理的には、例えば4つのチップ(703、704、705、706)に分割されることができ、各チップにはノードの完全集合が含まれる。これらのノードの一部(オレンジ色で示される)は、何らかの他のチップの上の実ノードの単なる「シャドウコピー」である。例えば、チップC
1上のノード3(N
3)は、いくつかの実施形態では、単なるバッファであってもよい。実ノード3はチップC
2(704)上にある。ノード3が極性を(例えば、-1に)変化させる場合、C
2はこの情報をデジタルファブリック(図示せず)を介して他のチップに通信する。他のすべてのチップは、C2がそれらのさらなる変化を通知するまで、バッファを使用してノード3の-1の値を維持する。言い換えれば、実ノードと比較して、シャドウコピーは時間的にも(少し遅延する)、値的にも(常に電圧レールにある)近似している。
【0083】
この設計では、単一チップの論理構造が結合行列全体の長いスライスを捕捉する。それでもこの論理構造は、典型的な正方形のベースラインチップアーキテクチャに基づいて実装される。違いは、本開示の論理構造がモジュラの再配置可能なアレイから構築されることである。
図8を参照すると、それぞれがnノード及びnxnの結合アレイを有する4x4モジュールから作られた再配置可能なチップの図が示される。ノードは、通常のノード(青色)、シャドウコピー(オレンジ色)、または完全にバイパス(緑色)という3つの異なるモードで動作することができる。これらのモジュールは3つの方法で構成されることができる。(1)4nx4n:チップは4nノードを有する独立マシンである。これらの4nノードは第一カラム(青色)にある。モジュールの残りのノードはバイパスされる(緑色)。(2)2nx8n:この配置により、4つのチップを8nx8nのシステムに接続することが可能になる。現在のチップでは、2nノードのみが通常(青色)であり、6nノードがシャドウコピー(オレンジ色)である。これらはワイヤで接続され、それぞれ8個のアレイを有する2カラムの論理アレイになる。(3)nx16n:前の例と同様に、このチップは15個のチップと共に使用され、16nノードを有するマルチプロセッサを形成する。再配置可能な論理構造の図示の例は4x4アレイとして示されているが、2x2、3x3、4x4、5x5、6x6、7x7、8x8などを含むがこれらに限定されない、いずれかの適切な幾何学的形状をマルチモジュール構造が有し得ることが理解される。いくつかの実施形態では、マルチモジュール構造は、例えば、2x2x2、3x3x3、4x4x4、5x5x5、6x6x6などの3次元に配置され得る。正方形または立方体の配置が便利な場合もあるが、いくつかの実施形態では、アレイは他のものとは異なる1次元以上を有する場合がある。例えば、2次元アレイはXxYxZのように配置され得、X、Y及びZのそれぞれは2、3、4、5、6、7、8、9、10、または他の任意の整数から選択される。
【0084】
図8に示されるように、単一チップはkxk個のモジュール(この例ではk=4)の正方形アレイになることができる。各モジュールは、n個の配置可能なノードのアレイ、及びnxnの接続ユニットからなる。一般的なアイデアは、これらのモジュールを様々な目的に応じて様々な方法でつなぎ合わせることができるということである。例えば、
図8は、モジュール間の相互接続を変化させることで、4x4;8x2;及び16x1という3つの配置で合わせて接続された16個のモジュールの同じ群を示す。このように、このチップは、4nノードの単一マシンとして使用されること、8nノードの4チップマルチプロセッサの一部であること、または16nノードの16チップマルチプロセッサの一部であることができる。
【0085】
具体的な例として2nx8nの配置を取り上げ、同じ配置の3個の他のチップと組み合わせる場合、システムは完全な8nx8nの結合行列を形成する。
図8(右下)には、16個のモジュールの所望の論理構成が示される。これらのモジュールのうち、2つだけ(2nノードを提供)が通常のノード(青色のモジュール1及び2)として構成され、6つがシャドウコピー(オレンジ色の3、4、及び9~12)として構成され、残りはパススルー(緑色)に構成される。ノードの配置が異なるだけでなく、ワイヤ接続も変更する必要がある。例えば、モジュール1及び9は、モジュール1~4及び9~12が8モジュールの高さの1カラムとして機能することができるように接続される必要がある。
【0086】
基本的なアイデアは、スピンが極性を変化させる場合、あるチップが他のすべてのチップと通信して、それら他のすべてのチップがそれらのシャドウコピーを更新する必要があるということである。通信需要は、一次近似、f
sNlog(N)に対するものであり、Nはシステム内のスピンの総数であり、f
sはスピン反転の周波数である。本開示のベースラインイジング基板の具体例を考えると、解かれる問題に応じて、平均して1つのスピン/ノードが10~20nsごとに反転する。同じスピン反転周波数を仮定すると、16個の8,000スピンチップを使用してマルチプロセッサイジングマシンを形成した場合、システム全体で32,000スピン
【数9】
を提供し、少なくとも50Tb/s(ブロードキャスト)帯域幅が必要になる。実際、アニーリングスケジュールにより、システムはスケジュールの開始時により高いスピン反転周波数を有するため、さらに多くのピーク帯域幅が必要とされる。
【0087】
このような通信がどのようなマルチスレッドのノイマン型ソルバーにも必要であることに留意されたい。違いは、最先端の物理イジングマシンと比較して、ノイマン型ソルバーが桁違いに遅いため、それに応じて帯域幅需要が低くなることである。
【0088】
この重要な固有の帯域幅需要を考慮すると、すぐにいくつかの技術的解決策が思いつく。光通信と3D集積化はどちらも魅力的なオプションである。実際、3D集積化は、提案されているアーキテクチャにとって非常に便利な解決策である。
図9に4層3D ICの一例を示す。ノードとそれらのシャドウコピーは互いに重なり合うように好都合に配置されるため、シリコン貫通ビア(TSV)で簡単に接続されることができる。実際、TSVの距離が短いため、シャドウノードはアーキテクチャ上もはや必要ない。いくつかの実施形態では、シャドウノードは依然として駆動能力を向上させ得る。
【0089】
最後に、いくつかの実施形態では、通信需要がファブリックの供給にマッチングするように、イジングマシンの物理速度を遅くし得る。BRIMの場合、これは(少なくとも)2つの方法を組み合わせて実現されることができる。第一に、マシンのRC定数を大きくすることができる(充電を遅くするために、使用される結合抵抗器を大きくし得る)。例えば、いくつかの実施形態では、結合抵抗器は、5kΩから50kΩの間、または10kΩから40kΩの間、または30kΩから35kΩの間、または約31kΩの抵抗値を有し得る。いくつかの実施形態では、関連する時定数を増加させ、充電を遅くするために、これらよりも大きい結合抵抗器(例えば、少なくとも100kΩ、少なくとも200kΩ、少なくとも500kΩ、または100kΩから1MΩの間)が使用され得る。
【0090】
第二に、例えば輻輳が終わるのを待機するために、システムを完全に停止させることができる。これらのメカニズムをどのように組み合わせても、計算は単純であり、帯域幅需要を2xだけ減らすには、マシンを2xだけ遅くする必要がある。以下でさらに議論される他の方法を使用して、対応するパフォーマンスの低下を伴うことなく帯域幅需要を低下させ得る。
【0091】
複数のイジングマシンの並行動作(同じ問題を解く)は、大まかに言うと、各マシンが独立して局所探索を実行し、スピンの状態に関する情報を相互に交換するという組み合わせとして説明されることができる。驚くほど重要な設計パラメータは、スピンの変化を他のものに通信するまでの待機時間である。マルチプロセッサは単一の大型イジングマシンに最も近く機能するため、どんな変化も即時に送信するのは自然な選択のように思われる。ただし、待機することにもメリットがある。時間窓の間、スピンが何度も反転を繰り返し得る。ある程度の待機時間があれば、不必要な更新による帯域幅の浪費を避け得る。この点で、待機時間が長ければ長いほど、より多くの帯域幅を節約できる。ただし、実際には、以下でさらに説明されるように、待機時間は解品質に影響を与える。
【0092】
並行動作では、すべてのソルバーは、他のソルバーにマッピングされたスピンの真の状態にある程度「無知」である。4ソルバーシステムを一例に取ると、どの時点でも、システムのスピン状態はS
g=[A,B,C,D]
Tとして表されることができ、各文字は各マシンのスピンベクトルを表す。したがって、通信遅延だけでなく上記の待機により、第一ソルバーによる現在の状態の信念はS
1=[A,B
t,C
t,D
t]
Tである。その局所探索では、基本的に、この信じられている状態のエネルギーE(S
1)を最適化しようとする。E(S
1)が低いことは、必ずしもシステムの真の状態のエネルギーE(S
g)も低いことを意味していない。次に、ソルバーが他のソルバーの真の状態を提供され、エネルギーを再計算したとする。この差は、エネルギーサプライズ(E
サプライズ=E(S
1)E(S
g))として定義され得る。このように、正の値は、現在の状態が更新前にソルバーが信じていたものよりも低い(良い)エネルギーを有し、言い換えれば、それは良いサプライズであることを意味する。
図10A及び
図10Bは、エネルギーサプライズの経験的観察を示す。
【0093】
図10A及び
図10Bを参照すると、異なるエポックサイズに対する無知の程度及び対応するエネルギーサプライズが示される。グラフには8000ノードがあり、パーティション化されて、8つのソルバーにマッピングされると、それぞれのソルバーが1000ノードを解く。
図10Aは、小、中、及び大エポックの通信を示す。
図10Bは、原点付近の拡大されたセグメントを示す。
【0094】
この特定の実験は、8000ノードの問題を、シミュレーテッドアニーリング(SA)ソルバーが8つの部分問題に分割してそれぞれを解くことによって得られる。初期化後、各ソルバーは他の7000ノードの状態を使用してバイアスを計算する。次に、それらの状態を互いに通信する前に、一定時間の局所探索(エポックと呼ばれる)を実行する。エポック境界では、外部スピンが最新ではないスピンの割合によって測定される無知の量を示すことができる。エネルギーサプライズも計算する。この図は、20回の実行からの各エポックの結果を示す。
【0095】
エポック時間が長いと、他のソルバーからより多くのスピン変化が起こる。その結果、どんな単一ソルバーでも外部状態に対するより高度な無知状態にあるため、誤判断の程度が高くなり、サプライズの大きさが大きくなる。エポックが特定の値より長い場合、エネルギーサプライズは無知の程度と高度に相関される。このレジームでは、並列ソルバーが明らかに悪いジョブを行っていると言える(グラフには示されていない、最終的な解品質が非常に悪いことにも反映されている)。これまでのところ、このメッセージは、分解された部分問題が互いに独立していないという以前の解析と一貫性がある。ただし、エポック時間が特定の閾値を下回る場合、状況は相変化(ここでは、エネルギーサプライズはもはや一様に陰性ではなくなる)を受けているように見える。いずれにせよ、サプライズの大きさは低くなる。言い換えれば、多少の無知にもかかわらず、ソルバーは依然として合理的な解を見つけることができる。実際、場合によっては、その解が無知な状態で信じられていたものよりも良い。確かに、全体的な解品質は、ソルバーをシーケンスで(したがっていかなる無知もなく)実行するよりも悪くない(そして実際、統計的には良くなる)。
【0096】
したがって、いくつかの実施形態では、複数のソルバーは、互いに「十分に迅速に」通知し続ける限り、並列で動作することができる。これは、短いエポック時間が有利であることを意味し、一般に通信需要が高いことを意味する。
【0097】
設計のもう1つの重要な側面は、システムが極小値でスタックするのを防ぐためにシステムに導入されたスピン反転に関するものである。(これらを本明細書では誘起スピン反転と呼ぶ。)これらのスピン反転は一般に、メトロポリスアルゴリズム(W.K.Hastings,Biometrika,April 1970)で受け入れられた提案と同様に確率的に適用される。実際の実施態様では、ランダム性は多くの場合、決定論的な擬似ランダムの性質のものである。その結果、擬似乱数生成器(PRNG)が各チップ上で適切に同期される場合、各チップがどこでも同時に同じ出力を生成することが保証されることができる。このように、明示的な通信を行わずに、誘起スピン反転を適用し得る。言い換えれば、例えば反転するノード3をランダムに選択し、ノード3を含むチップから他のチップに、反転の情報を提供する明示的なメッセージを送信する代わりに、すべてのチップ上のPRNGが同時にノード3の反転を誘起し、ノードのコンデンサまたはシャドウレジスタをほぼ同時に更新する。
【0098】
バッチモードの動作
並行動作を注意深く設計すると、顕著な帯域幅の節約(一部の実施形態では、約1.5x)を達成することができるが、完全に異なる動作モード、つまりバッチモードでは、より大幅な節約(約5x)が可能になる。このモードは、普遍的ではないにしても、アニーラを使用する一般的なモードが異なる初期状態でバッチ実行を行い、そのバッチから最良な解を得るという事実を利用している。同じセットアップのバッチ実行は、存在することがわかっている場合、必要な通信を減らすために、非常に簡単な方法で時間をずらしてもよい。
【0099】
重要なアイデアを
図11に示す。縦にみると、単一ジョブ(1つの初期状態、例えばジョブ1から)は、並行モードと同様に複数のソルバー(エポック1のチップ1、エポック2のチップ2などの上)に分散されている。したがって、各チップはまだ問題の一部をアニールしているだけである。しかし、ソルバーはシーケンスで機能するようになる。エポック1の終わりに、チップ1は更新されたスピン状態を他のチップに渡す(図では、すべてのチップのスピンの第一の四半分が濃い赤色に変化することによって示される)。次に、チップ2はジョブ1を選択し、スピンの第二の四半分の探索を続ける。
【0100】
横にみると、4つのチップはそれぞれのエポックごとに異なるジョブ(異なる色で示される)に機能する。同期フェーズでは、更新された状態を交換し、その後、別のジョブでアニーリングを開始する。このアプローチの主な利点は、いかなる無知も生じることなく、各エポックの時間を大幅に長くすることができることである。既に議論されたように、エポックが長くなると、必要な通信帯域幅の合計は、スピン反転のすべての単一イベントを通信するのに必要な帯域幅よりもはるかに少なくなることができる。
【0101】
並列処理を利用するために、バッチモードでは、n個の異なる実行(異なる初期状態から)がいくつかの実施形態では、n個のソルバーにわたって同時に実行され得る。その結果、システムは全体として、状態のn個のコピーを、並行モードでは1個だけの代わりに搬送する必要がある。これをサポートするには、様々な実行の状態を維持するために、ストレージを適度に増加させる必要がある(ソルバーあたり(nxN)ビット)。
【0102】
最後に、バッチモードを実行する良い方法はノイマン型システムと同じように、すべてのマシンが独立して実行を行うことであると考えたくなる。これは、マルチプロセッサのイジングマシンでは明らかに効率が低くなり、問題全体を1台のマシンで解く場合、各エポックの終了時に新しいパラメータでコンテキストを切り替える必要がある。データ量はO(bN2)ビットであり、bは結合重みのビット幅である。対照的に、開示されたバッチモードでは、データ量はO(N)である。
【実施例1】
【0103】
実験例
以下の実験例を参照して、本発明をさらに詳細に説明する。これらの実施例は、例示説明の目的で提供されるにすぎず、別途明記されない限り、限定することを意図するものではない。したがって、本発明は、以下の実施例に限定されるものとは何ら解釈されるべきものではなく、本明細書で提供される教示の結果として明らかになる任意かつすべての変動を包含すると解釈されるべきである。
【0104】
これ以上の説明は省略するが、当業者であれば、前述の説明及び以下の例示を使用して、本発明のシステム及び方法を製造し、利用することができると考えられる。したがって、以下の実施例は、本発明の例示的な実施形態を具体的に示すものであり、いかなる意味においても本開示の残りの部分を制限するものとして解釈されるべきではない。
【0105】
実験方法
イジングマシンの開発がまだその早期段階にあるため、物理システムへのアクセスは困難である。したがって、本明細書で開示されるほとんどの比較は、文献で報告された結果を使用したモデリングと、シミュレーテッドアニーリング(SA)の時間の測定を組み合わせて実行される。すべての実験では、SAはネイティブに実行されるが、BRIMの動的システムの進化は、4次のルンゲクッタ法を使用して微分方程式を解くことによってモデル化される。報告された結果と比較する場合、本実験は直接比較するために文献で使用されたベンチマークの種類によって制限される。様々な問題の解品質を簡単に比較する方法がないため、クロスベンチマーク比較にはピットフォールが多い。幸い、いくつかのベンチマーク(Kグラフ)が一般的に使用されている。比較に使用されるそのようなグラフの1つはK16384として知られており(Kosuke Tatsumura,et al.,Nature Electronics(01Mar2021を参照))、全対全結合を有する16,384個のスピンが含まれる。微分方程式を使用した動的システムのシミュレーションは、サイクルレベルのマイクロプロセッサのシミュレーションよりも桁違いに遅くなることができる。K16384で1μsのダイナミクスをシミュレートするには、非常に強力なサーバで約3日かかる。したがって、これは直接パフォーマンス比較にのみ使用された。より小さいKグラフ(例えば、K2000、Takahiro Inagaki,et al.,Science(2016))は、いくつかの追加の解析に使用される。
【0106】
一般に、SAの実行時間は標準的なパフォーマンスの基準に最も近いものであるが、実際にはかなり微妙な点がある。第一に、既知の最速バージョンであるIsakovのアルゴリズム(S.Isakov,et al.,Computer Physics Communications,Jul2015)が選択さた。第二に、密行列表現を使用して最適化を適用した。これは、Kグラフのような全結合型グラフを利用してパフォーマンスを向上させる。最後に、研究者はこれらの特異的なグラフのアニーリングスケジュールを調整した。この調整は実行時間に大きい影響を与えることが判明した。開示されたハードウェアアニーリングスケジュールを同様に調整することによっても、パフォーマンスが向上することができる可能性がある。残念ながら、そのような調整は、シミュレーションコストが法外に高かったため、これらの実験ではまだ不可能であった。
【0107】
単一ソルバーのベースライン
シミュレーテッドアニーリング用の物理イジングマシン及びデジタルアクセラレータのランドスケープのセンスを得るために、
図12では、K2000を実行したいくつかのユニプロセッサイジングマシンの結果、すなわち、BRIMチップ(シミュレート)、シミュレーテッドアニーリング(測定)、ならびに報告されたSTATICA(K.Yamamoto,et al.,IEEE Journal of Solid-State Circuits,2021);CIM(T.Inagaki,et al.,Science,2016);及びシミュレーテッド分岐マシン(SBM)の2つのバリアント((H.Goto,et al.,Science Advances,2021)の結果を示す。他の多くのマシンは単にグラフにマッピングすることができないため、この比較から除外されている。一見控えめなサイズ(2000ノード)にもかかわらず、K2000は全結合型グラフであり、局所結合のみのマシンには数百万ノードを必要とする。
【0108】
図12を参照すると、様々なマシンでのK2000グラフのパフォーマンスは、y軸の解カット値(高いほど良くなる)、及びx軸の実行時間として示される。すべての時間スケールで、マシンは100回の実行を行った。複数の時間スケールの結果が利用可能であったマシンでは、各時間スケールの平均結果は破線で示され、範囲は網掛け領域として示される。時間スケールが1つだけの結果は、棒グラフとして示し、ドットはカット値の範囲及び平均を示す。
【0109】
このグラフの場合、BRIMは11μsで33,337という最も良く知られた解に到達することができた。同様の解品質に到達することができた他の唯一のマシンは、dSBMで2ms、約180x遅かった。より低い解品質が許容できたとしても、シングルチップBRIMは最速のアニーラよりもまだ約2桁速い。現在のCIM実装では、計算サブシステムを使用してスピン間の結合をシミュレートする。したがって、厳密には物理イジングマシンではなく、ハイブリッドマシンである。設計者が物理的な全結合メカニズムを解明できれば(簡単ではない、または可能でさえないかもしれない)、パフォーマンスが向上し得ると仮定することもできる。
【0110】
要約すると、適切に設計された物理イジングマシンは、従来のシミュレーテッドアニーラ(SA)よりも6桁速くなり、最先端の計算アニーラよりも約2桁速くなることができる。計算アニーラに劣る物理イジングマシンの唯一の欠点は、後者がより大きい問題を解くために簡単にスケーリングすることができることである。以下に、提案されたマルチプロセッサアーキテクチャがこの問題にどのように対処するかを示す。後者が現在知られている最速なシステムであるため、ここではSA及びSBMのみとの比較に焦点を絞る。
【0111】
高レベルの比較
開示されたマルチプロセッサBRIM(mBRIM)アーキテクチャをSBMと、ベンチマークとしてより大きいK16384グラフを使用して比較する。これにより、解品質及びパフォーマンスを文献で報告されている結果と直接比較することが可能になる。4チップマルチプロセッサを想定した。各チップは、8192ノードを備えたBRIM型電子イジングマシンであった。このようなチップは、SBMで使用される単一FPGAよりも、小さいダイサイズ(45nm技術で約80mm2)を有し、消費電力が大幅に少なくなる(10W未満)。このマルチプロセッサの3つの具現化を様々な実装選択のプロキシとして使用した:
【0112】
(1)mBRIM3D:通信が基本的に瞬時であり、帯域幅制限がない3D集積化バージョン;
【0113】
(2)mBRIMHB:通信帯域幅が高いシステム。各チップには、それぞれ250GB/sの3つの専用チャネルが設けられた。したがって、総帯域幅はHBMの帯域幅に近くなる。
【0114】
(3)mBRIMLB:通信帯域幅が低いシステム(mBRIMHBの4分の1)。
【0115】
図13は、様々なmBRIM、SBMの8-FPGA実装、及びSAによって得られた最良の解品質及び時間を示す。わかりやすくするために、グラフには最良の品質の実行結果のみが示される。最高パフォーマンスのmBRIM(mBRIM
3D並行モード)をSBMと比較した場合、mBRIMは、はるかに良い解品質に達し(793,423~799,292対SBMの最良結果の約792,000)、約2200x速くなる(1.1μs対2.47ms)。バッチモードで動作する帯域幅制約配置(mBRIM
LB)でさえ、SBMよりも700x超速くなり、解品質も高くなる。
【0116】
次に、帯域幅制限の影響を調べる。すでに上記で議論されたように、チップ間の通信帯域幅が不十分である場合、いくつかの実施形態では、イジングマシンを減速させて対処することが可能である。当然のことながら、その影響は、解を得るためにさらに長く待機する必要があるということである。mBRIMHB及びmBRIMLBはどちらも、輻輳に誘起された停止のため、mBRIM3Dよりも遅かった。これらの帯域幅制限状況では、開示されたバッチモード動作は合理的に効果的なツールであり、実行速度を向上させることができる。具体的には、バッチモードでは、同じ量のアニーリングをmBRIMHB及びmBRIMLBでそれぞれ2.8x及び7x速く終えることが可能になる。バッチモードでは、mBRIMHBはmBRIM3Dよりも約2xだけ遅く、mBRIMLBはさらに1.4x遅い。ただし、解品質は792,728まで低下する。
【0117】
最後に、mBRIMをSAと比較した。同じ解品質を得るには、mBRIMが約4.5×106速いことが示される。これはK2000での1.3×106の高速化と比較したものである。ここで、アニーリングスケジュールの調整により、SAのパフォーマンスに異常な差(約140x)があることに留意されたい。
【0118】
In-depth分析
:様々なタイプのソルバーがどのように機能するかを第一原理から理解することは有益であり得る。どのようなソルバーを使用する場合でも、良い解を達成するには、高次元のエネルギーランドスケープを十分に探索する必要がある。例として、800ノードのグラフの場合、シミュレーテッドアニーリング(SA)及びBRIMはそれぞれ148K及び115Kの異なる状態を探索して、同等の解品質に到達した。BRIMでは、平均して20psごとにスピン反転が起こる。
【0119】
(シーケンシャル)SAでは、個々のスピンの反転は計算で実現され、代替の配置(特定のスピンが反転した)のエネルギーが計算され、そのエネルギーに基づいて新しい状態が確率的に受け入れられた。大まかに言うと、SAを実行すると、スピン反転ごとに実行される140,000個の命令が計数された。
【0120】
シミュレーテッド分岐(SB)は、まったく新しい計算アプローチである。これは動的システムをシミュレートするものと考えられることができる。そのアルゴリズム設計のおかげで、並列処理が容易になる。したがって、同様のワークロードを有するにもかかわらず、より高速になることができる。SAの非自明な部分も超並列である。ただし、並列SAをカスタムハードウェアで実装するための努力はみられない。それにもかかわらず、SBをBRIMのレベルまで加速させるには、約1000x以上の計算スループット、または毎秒約2ペタOpsが必要になる。したがって、最良の計算アクセラレータと比較しても、なぜ物理イジングマシンがより魅力的なのかは明らかである。
【0121】
既に上記で議論されたように、グローバル状態の無知の程度は、解品質に大きい影響を与えることができる。したがって、並行実行では、各ソルバーに他のすべてのソルバーを頻繁に更新させる必要があった。バッチモードでは、同じ実行の異なるソルバーが基本的にシーケンスで実行され、同じエポックの開始と終了との間の累積状態変化(スピン反転と区別するためにビット変化と呼ばれる)を通信することだけが必要であるため、これは問題にならなくなった。スピンが1つのエポック内で4回反転し、最終的にエポックの開始と同じ状態になる場合、何も通信する必要はない。言い換えれば、スピン反転は4回あるが、ビット変化は0回である。直感的には、エポックが長ければ長いほど、スピン反転が多くなっても、ビット変化が起こらない。
図14A及び
図14Bは、この直感を定量的に確認する。エポック中のスピン反転の回数を測定し、ビット変化の回数を計数した。3.3nsのエポックの場合、アニーリングの進行に伴う数値とそれらの比率との両方が
図14Aに示される。
図14Bは、異なるエポックサイズの関数として比率を示す。
【0122】
図14A及び
図14Bを参照すると、
図14Aは、3.3nsの固定エポックによる4チップBRIMについての経時的な反転及びビット変化の進化を示す。左側の縦軸は、反転(青い実線)及びビット変化(青い破線)に対応する。右側の縦軸は、赤色で示されたビット変化に対する反転の比率に対応する。
図14Bは、ビット変化に対する反転の平均比率とエポックサイズとの相関を示す。この比率は、エポックサイズの増加に伴いほぼ直線的に増加する。
【0123】
エポック中のスピン反転の回数を測定し、ビット変化の回数を計数した。
図14Aでは、アニーリングの進行に伴う数値とそれらの比率との両方が示される。エポックサイズが固定されている場合、初期期間後の比率はむしろ安定する。
図14Bは、異なるエポックサイズの関数として比率を示す。当然のことながら、エポックが長ければ長いほど、比率は高くなる。示されているように、約3nsのエポックサイズを使用する場合、サブナノ秒のエポックを使用した場合と比較して、トラフィック需要を約4~5x削減することができる。解品質がエポックサイズの関数として示される、
図15A及び
図15Bにみられるように、エポックサイズの増加は解品質を低下させる。最良の解品質は、エポックサイズが小さい並行モードで達成された。帯域幅が十分である場合、これが使用するのに最良なモードである。帯域幅が制限されたシステムでは、動的システムは減速する必要がある。この場合、4~5xのトラフィック削減は、動的システムが約4~5x速く実行することができることを意味する。トラフィック削減を達成するには、より長いエポックが必要になる。このような場合、並行モードはより長いエポックに耐えられず、解品質は急速かつ大幅に低下する。一方、バッチモードでは、解品質は低下するが、ごくわずかのみであるため、より長いエポックに対する耐性がはるかに高くなる。したがって、帯域幅に制限のあるシステムでは、高い解品質を維持しながら実行速度を犠牲にしないバッチモードが非常に有用である。
【0124】
最後に、誘起スピン反転を調整する際の帯域幅の減少を調べた。
図16Aは、時間の進化に伴うビット変化及び誘起スピン反転の量を示す。誘起スピン反転であるビット変化の割合もプロットされる。当然のことながら、この値はエポックサイズの関数である。
図16Bは、異なるエポックサイズでの平均割合を示す。明らかに、誘起反転の調整の最適化によって、非自明な量の通信(30~38%)を節約することができる。帯域幅に制約のあるシステムでは、それに応じて実行時間の改善(約1.5x)を期待することができる。
【0125】
図16Aは、3.3nsの固定エポックによる4チップBRIMについての誘起スピン反転及びビット変化の進化を示す。左側の縦軸は、誘起スピン反転(青い実線)及びビット変化(青い破線)に対応する。右側の縦軸は、赤色で示された誘起スピン反転であるビット変化の割合に対応する。
図16Bは、誘起スピン反転の平均割合とエポック持続時間との相関を示す。
【0126】
他の並列処理との対比
最後に、並列処理では分散エージェント間の通信が明らかに共通コンポーネント及びパフォーマンスのボトルネックであることに留意する。したがって、イジングマシンの解を探索する中で、いくつかの車輪が再発明された可能性がある。例えば、シャドウコピーを使用することは、非局所近隣のコピー(ゴースト)を保持することが並列アルゴリズムであるのと同じように、開示されたシステムにとって必要である。また、パフォーマンスへの影響を制限しながら通信を削減する技法が様々な状況、すなわち、低精度データ(場合によっては1ビットのみ)の送信、非可逆圧縮の使用、送信される要素数の削減、またはさらにはラウンドのスキップで探索されてきた。これらの状況と比較すると、具体的にはイジングマシンの場合には2つの重要な違いが強調されることができる:
【0127】
(1)問題のスケール:イジングマシンは動的システムであり、非常に急速に進化することができる。したがって、最適化を行わないと、生の通信需要が膨大になる。例えば、開示された4つのBRIMチップ(45nm技術でそれぞれ約80mm2)は約4TB/sを必要とする。
【0128】
(2)設計の柔軟性:基礎となるイジングマシンの進化プロセスをオーケストレーションする自由度が利用されることができるため、バッチモード及び誘起スピン反転の調整などの最適化が可能である。その結果、圧縮などの追加ロジックがなく、通信需要をわずか218GB/sに削減しながら(20x削減)、解品質を維持することができる。
【0129】
結論
物理イジングマシンは、専用(フォンノイマン)アクセラレータと比較しても、極めて速くエネルギー効率よくイジング式の最適化問題を解くことができる。しかし、既存のイジングマシンは固定容量を有する。分割統治戦略が使用される場合、問題がマシン容量よりわずかに大きい場合でも、イジングマシンを使用する利益は急速に減少する。本明細書に開示されるデバイスは、基本的に、他のマシンと連携してより大きい問題を解くように設計されている。本開示は、マルチプロセッサイジングマシンのアーキテクチャの設計及び最適化を提示する。設計に関連する実験結果は、いくつかの重要なポイントに要約されることができる:
【0130】
(1)保守的な条件(チップ数が少なく、チップ面積と消費電力が少ない)であっても、マルチプロセッサは最先端の計算アクセラレータと比較して約2200xの高速化を達成することができる。
【0131】
(2)提案されたマルチプロセッサアーキテクチャにより、物理イジングマシンもスケールアップして、より大きい問題を解くことができる。様々な問題の高速化を比較することは困難であるが、マルチプロセッサBRIMがそのフォンノイマンの対応物に勝るパフォーマンス上の利点がシングルチップBRIMの場合と同様に有意であると言っても過言ではない。
【0132】
(3)物理イジングマシンが非常に速いため、通信帯域幅が潜在的なボトルネックになる可能性があり、それに応じてマシンが減速する必要がある。これらのような場合、バッチモード動作により、通信需要が約4~5x削減され、つまり、処理スループットが約4~5x向上することができる。
【0133】
本明細書で引用されるありとあらゆる特許、特許出願、及び刊行物の開示は、参照によりそれらの全体が本明細書に組み込まれる。本発明は、具体的な実施形態を参照して開示されてきたが、当業者によって、本発明の真の趣旨および範囲から逸脱することなく、本発明の他の実施形態および変形が考案されてもよいことは明らかである。添付の特許請求の範囲は、全てのかかる実施形態および均等な変形を含むように解釈されることが意図される。
【0134】
引用文献
以下の刊行物は、その全体が参照により本明細書に組み込まれる。
【0135】
Martin Abadi,Ashish Agarwal,Paul Barham,Eugene Brevdo,Zhifeng Chen,Craig Citro,Gregory S.Corrado,Andy Davis,Jeffrey Dean,Matthieu Devin,Sanjay Ghemawat,Ian J.Goodfellow,Andrew Harp,Geoffrey Irving,Michael Isard,Yangqing Jia,Rafal Jozefowicz,Lukasz Kaiser,Manjunath Kudlur,Josh Levenberg,Dan Mane,Rajat Monga,Sherry Moore,Derek Gordon Murray,Chris Olah,Mike Schuster,Jonathon Shlens,Benoit Steiner,Ilya Sutskever,Kunal Talwar,Paul A.Tucker,Vincent Vanhoucke,Vijay Vasudevan,Fernanda B.Viegas,Oriol Vinyals,Pete Warden,Martin Wattenberg,Martin Wicke,Yuan Yu,and Xiaoqiang Zheng.2016.TensorFlow:Large-Scale Machine Learning on Heterogeneous Distributed Systems.CoRRabs/1603.04467(2016).arXiv:1603.04467 http://arxiv.org/abs/1603.04467
【0136】
David H Ackley,Geoffrey E Hinton,and Terrence J Sejnowski.1985.A learning algorithm for Boltzmann machines.Cognitive science9,1(1985),147-169.
【0137】
Richard Afoakwa,Yiqiao Zhang,Uday Kumar Reddy Vengalam,Zeljko Ignjatovic,and Michael Huang.2021.BRIM:Bistable Resistively-Coupled Ising Machine.2021 IEEE International Symposium on High-Performance Computer Architecture(HPCA)(2021),749-760.https://doi.org/10.1109/HPCA51647.2021.00068
【0138】
Dan Alistarh,Torsten Hoefler,Mikael Johansson,Sarit Khirirat,Nikola Konstantinov,and Cedric Renggli.2018.The Convergence of Sparsified Gradient Methods.In Proceedings of the 32nd International Conference on Neural Information Processing Systems(Montreal,Canada)(NIPS’18).Curran Associates Inc.,Red Hook,NY,USA,5977-5987.
【0139】
Dan Alistarh,Jerry Li,Ryota Tomioka,and Milan Vojnovic.2016.QSGD:Randomized Quantization for Communication-Optimal Stochastic Gradient Descent.CoRRabs/1610.02132(2016).arXiv:1610.02132 http://arxiv.org/abs/1610.02132
【0140】
Rami Barends,Alireza Shabani,Lucas Lamata,Julian Kelly,Antonio Mezzacapo,Urtzi Las Heras,Ryan Babbush,Austin G Fowler,Brooks Campbell,Yu Chen,et al.2016.Digitized adiabatic quantum computing with a superconducting circuit.Nature534,7606(2016),222-226.
【0141】
William J.Barry,Mark T.Jones,and Paul E.Plassmann.1998. Parallel adaptive mesh refinement techniques for plasticity problems.Advances in Engineering Software29,3(1998),217-225.https://doi.org/10.1016/S0965-9978(98)00040-4
【0142】
Debraj Basu,Deepesh Data,Can Karakus,and Suhas Diggavi.2019.Qsparse-LocalSGD:Distributed SGD with Quantization,Sparsification,and Local Computations.Curran Associates Inc.,Red Hook,NY,USA.
【0143】
Natalia G Berloff,Matteo Silva,Kirill Kalinin,Alexis Askitopoulos,Julian D Topfer,Pasquale Cilibrizzi,Wolfgang Langbein,and Pavlos G Lagoudakis.2017.Realizing the classical XY Hamiltonian in polariton simulators.Nature materials16,11(2017),1120-1126.
【0144】
Jeremy Bernstein,Yu-Xiang Wang,Kamyar Azizzadenesheli,and Anima Anandkumar.2018.signSGD:compressed optimisation for non-convex problems.CoRR abs/1802.04434(2018).arXiv:1802.04434 http://arxiv.org/abs/1802.04434
【0145】
Fabian Bohm,Guy Verschaffelt,and Guy Van der Sande.2019.A poor man’s coherent Ising machine based on opto-electronic feedback systems for solving optimization problems.Nature Communications10,1(2019),3538.https://doi.org/10.1038/s41467-019-11484-3
【0146】
Sergio Boixo,Troels F Ronnow,Sergei V Isakov,Zhihui Wang,David Wecker,Daniel A Lidar,John M Martinis,and Matthias Troyer.2014. Evidence for quantum annealing with more than one hundred qubits.Nature physics 10,3(2014),218-224.
【0147】
Michael Booth,Steven P.Reinhardt,and Aidan Roy.2017.Partitioning Optimization Problems for Hybrid Classical/Quantum Execution.Technical Report (2017).https://docs.ocean.dwavesys.com/projects/qbsolv/en/latest/_downloads/bd15a2d8f32e587e9e5997ce9d5512cc/qbsolv_techReport.pdf
【0148】
Paul I Bunyk,Emile M Hoskinson,Mark W Johnson,Elena Tolkacheva,Fabio Altomare,Andrew J Berkley,Richard Harris,Jeremy P Hilton,Trevor Lanting,Anthony J Przybysz,et al.2014.Architectural considerations in the design of a superconducting quantum annealing processor.IEEE Transactions on Applied Superconductivity24,4(2014),1-10.
【0149】
KyungHyun Cho,Alexander Ilin,and Tapani Raiko.2011.Improved learning of Gaussian-Bernoulli restricted Boltzmann machines.In International conference on artificial neural networks.Springer,10-17.
【0150】
Jeffrey Chou,Suraj Bramhavar,Siddhartha Ghosh,and William Herzog.2019.Analog Coupled Oscillator Based Weighted Ising Machine.Scientific Reports9,1(2019),14786.https://doi.org/10.1038/s41598-019-49699-5
【0151】
Chase Cook,Hengyang Zhao,Takashi Sato,Masayuki Hiromoto,and Sheldon X.D.Tan.2019.GPU Based Parallel Ising Computing for Combinatorial Optimization Problems in VLSI Physical Design.arXiv:1807.10750[physics.comp-ph]
【0152】
D-WAVE.2014.minorminer.https://github.com/dwavesystems/minorminer
【0153】
D-WAVE.2022.Operation and Timing.https://docs.dwavesys.com/docs/latest/c_qpu_timing.html
【0154】
Zachary DeVito,Niels Joubert,Francisco Palacios,Stephen Oakley,Montserrat Medina,Mike Barrientos,Erich Elsen,Frank Ham,Alex Aiken,Karthik Duraisamy,Eric Darve,Juan Alonso,and Pat Hanrahan.2011.Liszt:A domain specific language for building portable mesh-based PDE solvers.In SC’11:Proceedings of 2011 International Conference for High Performance Computing,Networking,Storage and Analysis.1-12.https://doi.org/10.1145/2063384.2063396
【0155】
Melih Elibol,Lihua Lei,and Michael I.Jordan.2020.Variance Reduction with Sparse Gradients.CoRR abs/2001.09623(2020).arXiv:2001.09623 https://arxiv.org/abs/2001.09623
【0156】
Hayato Goto,Kotaro Endo,Masaru Suzuki,Yoshisato Sakai,Taro Kanao,Yohei Hamakawa,Ryo Hidaka,Masaya Yamasaki,and Kosuke Tatsumura.2021.High-performance combinatorial optimization based on classical mechanics.Science Advances7,6(2021),eabe7953.https://doi.org/10.1126/sciadv.abe7953 arXiv:https://www.science.org/doi/pdf/10.1126/sciadv.abe7953
【0157】
Hidenori GYOTEN,Masayuki HIROMOTO,and Takashi SATO.2018. Area Efficient Annealing Processor for Ising Model without Random Number Generator.IEICE Transactions on Information and Systems E101.D,2(2018),314-323.https://doi.org/10.1587/transinf.2017RCP0015
【0158】
Ryan Hamerly,Takahiro Inagaki,Peter L McMahon,Davide Venturelli,Alireza Marandi,Tatsuhiro Onodera,Edwin Ng,Carsten Langrock,Kensuke Inaba,et al.2018.Scaling advantages of all-to-all connectivity in physical annealers:the Coherent Ising Machine vs.D-Wave 2000Q.D-Wave 2000Q arXiv(2018).
【0159】
Ryan Hamerly,Takahiro Inagaki,Peter L McMahon,Davide Venturelli,Alireza Marandi,Tatsuhiro Onodera,Edwin Ng,Carsten Langrock,Kensuke Inaba,Toshimori Honjo,et al.2019.Experimental investigation of performance differences between coherent Ising machines and a quantum annealer.Science advances5,5(2019),eaau0823.
【0160】
R Hamerly,A Sludds,L Bernstein,M Prabhu,C Roques-Carmes,J Carolan,Y Yamamoto,M Soljacic,and D Englund.2019.Towards Large-Scale Photonic Neural-Network Accelerators.2019 IEEE International Electron Devices Meeting (IEDM).IEEE,22-8.
【0161】
R.Harris,M.W.Johnson,T.Lanting,A.J.Berkley,J.Johansson,P.Bunyk,E.Tolkacheva,E.Ladizinsky,N.Ladizinsky,T.Oh,F.Cioata,I.Perminov,P.Spear,C.Enderud,C.Rich,S.Uchaikin,M.C.Thom,E.M.Chapple,J.Wang,B.Wilson,M.H.S.Amin,N.Dickson,K.Karimi,B.Macready,C.J.S.Truncik,and G.Rose.2010.Experimental investigation of an eight-qubit unit cell in a superconducting optimization processor.Phys.Rev.B82(Jul2010),024511.Issue2.https://doi.org/10.1103/PhysRevB.82.024511
【0162】
Takahiro Inagaki,Yoshitaka Haribara,Koji Igarashi,Tomohiro Sonobe,Shuhei Tamate,Toshimori Honjo,Alireza Marandi,Peter L McMahon,Takeshi Umeki,Koji Enbutsu,et al.2016. A coherent Ising machine for 2000-node optimization problems.Science354,6312(2016),603-606.
【0163】
S.V.Isakov,I.N.Zintchenko,T.F.Ronnow,and M.Troyer.2015.Optimised simulated annealing for Ising spin glasses.Computer Physics Communications192(Jul2015),265-271.https://doi.org/10.1016/j.cpc.2015.02.015
【0164】
Richard M.Karp.1972.Reducibility among Combinatorial Problems.Springer US,Boston,MA,85-103.https://doi.org/10.1007/978-1-4684-2001-2_9
【0165】
Kihwan Kim,M-S Chang,Simcha Korenblit,Rajibul Islam,Emily E Edwards,James K Freericks,G-D Lin,L-M Duan,and Christopher Monroe.2010.Quantum simulation of frustrated Ising spins with trapped ions.Nature465,7298(2010),590-593.
【0166】
Andrew D King,Juan Carrasquilla,Jack Raymond,Isil Ozfidan,Evgeny Andriyash,Andrew Berkley,Mauricio Reis,Trevor Lanting,Richard Harris,Fabio Altomare,et al.2018.Observation of topological phenomena in a programmable lattice of 1,800qubits.Nature 560,7719(2018),456-460.
【0167】
S.Kirkpatrick,C.D.Gelatt,and M.P.Vecchi.1983.Optimization by Simulated Annealing.Science220,4598(1983),671-680.https://doi.org/10.1126/science.220.4598.671 arXiv:https://science.sciencemag.org/content/220/4598/671.full.pdf
【0168】
Orion S.Lawlor,Sayantan Chakravorty,Terry L.Wilmarth,Nilesh Choudhury,Isaac Dooley,Gengbin Zheng,and Laxmikant V. Kale.2006.ParFUM:A Parallel Framework for Unstructured Meshes for Scalable Dynamic Physics Applications.Eng.with Comput.22,3(dec2006),215-235.
【0169】
Tao Lin,Sebastian U.Stich,and Martin Jaggi.2018.Don’t Use Large Mini-Batches,Use Local SGD.CoRR abs/1808.07217(2018).arXiv:1808.07217 http://arxiv.org/abs/1808.07217
【0170】
Andrew Lucas.2014.Ising formulations of many NP problems.Frontiers in Physics2(2014),5.
【0171】
Peter L.McMahon,Alireza Marandi,Yoshitaka Haribara,Ryan Hamerly,Carsten Langrock,Shuhei Tamate,Takahiro Inagaki,Hiroki Takesue,Shoko Utsunomiya,Kazuyuki Aihara,Robert L.Byer,M.M.Fejer,Hideo Mabuchi,and Yoshihisa Yamamoto.2016.A fully programmable 100-spin coherent Ising machine with all-to-all connections.Science354,6312(2016),614-617.https://doi.org/10.1126/science.aah5178 arXiv:https://science.sciencemag.org/content/354/6312/614.full.pdf
【0172】
Chris Mellor.2021.DRAM,it stacks up:SK hynix rolls out 819 GB/s HBM3 tech.https://www.theregister.com/2021/10/20/sk_hynix_hbm3/
【0173】
Misbah Mubarak,Seegyoung Seol,Qiukai Lu,and Mark S.Shephard.1900.A Parallel Ghosting Algorithm for The Flexible Distributed Mesh Database.Scientific Programming 21(01Jan1900),654971.https://doi.org/10.3233/SPR-130361
【0174】
Saavan Patel,Lili Chen,Philip Canoza,and Sayeef Salahuddin.2020.Ising Model Optimization Problems on a FPGA Accelerated Restricted Boltzmann Machine.arXiv:2008.04436[cs.AR]
【0175】
D Pierangeli,G Marcucci,and C Conti.2019. Large-scale photonic Ising machine by spatial light modulation.Physical review letters122,21(2019),213902.
【0176】
Frank Seide,Hao Fu,Jasha Droppo,Gang Li,and Dong Yu.2014.1-Bit Stochastic Gradient Descent and Application to Data-Parallel Distributed Training of Speech DNNs.In Interspeech 2014(interspeech 2014 ed.).https://www.microsoft.com/en-us/research/publication/1-bit-stochastic-gradient-descent-and-application-to-data-parallel-distributed-training-of-speech-dnns/
【0177】
Sebastian U.Stich.2019.Local SGD Converges Fast and Communicates Little.In International Conference on Learning Representations.https://openreview.net/forum?id=S1g2JnRcFX
【0178】
Sebastian U.Stich,Jean-Baptiste Cordonnier,and Martin Jaggi.2018.Sparsified SGD with Memory.In Proceedings of the 32nd International Conference on Neural Information Processing Systems(Montreal,Canada)(NIPS’18).Curran Associates Inc.,Red Hook,NY,USA,4452-4463.
【0179】
Kenta Takata,Alireza Marandi,Ryan Hamerly,Yoshitaka Haribara,Daiki Maruo,Shuhei Tamate,Hiromasa Sakaguchi,Shoko Utsunomiya,and Yoshihisa Yamamoto.2016.A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems.Scientific Reports6,1(2016),34089.https://doi.org/10.1038/srep34089
【0180】
Y Takeda,S Tamate,Y Yamamoto,H Takesue,T Inagaki,and S Utsunomiya.2017.Boltzmann sampling for an XY model using a non-degenerate optical parametric oscillator network.Quantum Science and Technology3,1(nov2017),014004.https://doi.org/10.1088/2058-9565/aa923b
【0181】
T.Takemoto,M.Hayashi,C.Yoshimura,and M.Yamaoka.2019.2.6A 2 by 30k-Spin Multichip Scalable Annealing Processor Based on a Processing-In-Memory Approach for Solving Large-Scale Combinatorial Optimization Problems.In IEEE International Solid-State Circuits Conference.
【0182】
Kosuke Tatsumura,Alexander R.Dixon,and Hayato Goto.2019.FPGA-Based Simulated Bifurcation Machine.In 2019 29th International Conference on Field Programmable Logic and Applications(FPL).59-66.https://doi.org/10.1109/FPL.2019.00019
【0183】
Kosuke Tatsumura,Masaya Yamasaki,and Hayato Goto.2021.Scaling out Ising machines using a multi-chip architecture for simulated bifurcation.Nature Electronics4,3(01Mar2021),208-217.https://doi.org/10.1038/s41928-021-00546-4
【0184】
Hongyi Wang,Scott Sievert,Zachary Charles,Shengchao Liu,Stephen Wright,and Dimitris Papailiopoulos.2018.ATOMO:Communication-Efficient Learning via Atomic Sparsification.In Proceedings of the 32nd International Conference on Neural Information Processing Systems(Montreal,Canada)(NIPS’18).Curran Associates Inc.,Red Hook,NY,USA,9872-9883.
【0185】
Tianshi Wang and Jaijeet Roychowdhury.2019.OIM:Oscillator-Based Ising Machines for Solving Combinatorial Optimisation Problems.arXiv:1903.07163[cs.ET]
【0186】
Tianshi Wang,Leon Wu,and Jaijeet Roychowdhury.2019.New Computational Results and Hardware Prototypes for Oscillator-Based Ising Machines.In Proceedings of the 56th Annual Design Automation Conference 2019(Las Vegas,NV,USA)(DAC’19).Association for Computing Machinery,New York,NY,USA,Article239,2pages.https://doi.org/10.1145/3316781.3322473
【0187】
Jianqiao Wangni,Jialei Wang,Ji Liu,and Tong Zhang.2018.Gradient Sparsification for Communication-Efficient Distributed Optimization.In Advances in Neural Information Processing Systems,S.Bengio,H.Wallach,H.Larochelle,K.Grauman,N.Cesa-Bianchi,and R.Garnett(Eds.),Vol.31.Curran Associates,Inc.https://proceedings.neurips.cc/paper/2018/file/3328bdf9a4b9504b9398284244fe97c2-Paper.pdf
【0188】
Kasho Yamamoto,Kazushi Kawamura,Kota Ando,Normann Mertig,Takashi Takemoto,Masanao Yamaoka,Hiroshi Teramoto,Akira Sakai,Shinya Takamaeda-Yamazaki,and Masato Motomura.2021.STATICA:A 512-Spin 0.25M-Weight Annealing Processor With an All-Spin-Updates-at-Once Architecture for Combinatorial Optimization With Complete Spin-Spin Interactions. IEEE Journal of Solid-State Circuits 56,1(2021),165-178.https://doi.org/10.1109/JSSC.2020.3027702
【0189】
Yoshihisa Yamamoto,Kazuyuki Aihara,Timothee Leleu,Ken-ichi Kawarabayashi,Satoshi Kako,Martin Fejer,Kyo Inoue,and Hiroki Takesue.2017.Coherent Ising machines-Optical neural networks operating at the quantum limit.npj Quantum Information3,1(2017),1-15.
【0190】
Masanao Yamaoka,Chihiro Yoshimura,Masato Hayashi,Takuya Okuyama,Hidetaka Aoki,and Hiroyuki Mizuno.2015. A 20k-spin Ising chip to solve combinatorial optimization problems with CMOS annealing.IEEE Journal of Solid-State Circuits51,1(2015),303-309.
【0191】
M.Yamaoka,C.Yoshimura,M.Hayashi,T.Okuyama,H.Aoki,and H.Mizuno.2015.24.3 20k-spin Ising chip for combinational optimization problem with CMOS annealing.In 2015 IEEE International Solid-State Circuits Conference-(ISSCC)Digest of Technical Papers.1-3.https://doi.org/10.1109/ISSCC.2015.7063111
【0192】
Chihiro Yoshimura,Masato Hayashi,Takuya Okuyama,and Masanao Yamaoka.2017.Implementation and Evaluation of FPGA-based Annealing Processor for Ising Model by use of Resource Sharing. International Journal of Networking and Computing7,2(2017),154-172.http://www.ijnc.org/index.php/ijnc/article/view/148
【0193】
G Zames,NM Ajlouni,NM Ajlouni,NM Ajlouni,JH Holland,WD Hills,and DE Goldberg.1981. Genetic algorithms in search,optimization and machine learning.Information Technology Journal3,1(1981),301-302.
【0194】
W.K.Hastings,Monte Carlo sampling methods using Markov chains and their applications,Biometrika,Volume 57,Issue1,April1970,Pages97-109,https://doi.org/10.1093/biomet/57.1.97
【国際調査報告】