(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-13
(45)【発行日】2022-04-21
(54)【発明の名称】三次元スタッキングを有するニューラルネットワークアクセラレータタイルアーキテクチャ
(51)【国際特許分類】
G06N 3/063 20060101AFI20220414BHJP
H04B 5/02 20060101ALI20220414BHJP
【FI】
G06N3/063
H04B5/02
(21)【出願番号】P 2019552135
(86)(22)【出願日】2018-05-11
(86)【国際出願番号】 US2018032259
(87)【国際公開番号】W WO2018231395
(87)【国際公開日】2018-12-20
【審査請求日】2019-11-25
(32)【優先日】2017-06-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ノワツィク,アンドレアス・ゲオルク
(72)【発明者】
【氏名】テマム,オリビエ
(72)【発明者】
【氏名】ナラヤナスワミ,ラビ
(72)【発明者】
【氏名】ダサリ,ウダイ・クマール
【審査官】久保 光宏
(56)【参考文献】
【文献】国際公開第2017/057488(WO,A1)
【文献】特開2011-86738(JP,A)
【文献】Tadahiro Kuroda,"ThruChip Interface (TCI) for 3D Networks on Chip",Proceedings of 2011 IEEE/IFIP 19th International Conference on VLSI and System-on-Chip,2011年10月05日,Pages 238-241,ISBN: 978-1-4577-0170-2, <DOI: 10.1109/VLSISoC.2011.6081644>.
【文献】Akio Nomura, et al.,"3D Shared Bus Architecture Using Inductive Coupling Interconnect",Proceedings of 2015 IEEE 9th International Symposium on Embedded Multicore/Many-core Systems-on-Chip,2015年09月25日,Pages 259-266,ISBN: 978-1-4799-8670-5, <DOI: 10.1109/MCSoC.2015.27>.
【文献】Yasuhiro Take, et al.,"3D NoC with Inductive-Coupling Links for Building-Block SiPs",IEEE TRANSACTIONS ON COMPUTERS,2012年10月12日,Vol.63, No.3,Pages 748-763,ISSN: 0018-9340, <DOI: 10.1109/TC.2012.249>.
【文献】大久保徹以(外7名),「無線3次元積層チップを用いたDeep Learningアクセラレータのコンパイラツールチェーン」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2017年03月02日,Vol.116, No.510,第357~362頁,ISSN: 0913-5685.
【文献】Bilel Belhadj, et al.,"The Improbable But Highly Appropriate Marriage of 3D Stacking and Neuromorphic Accelerators",Proceedings of 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES),2014年10月17日,ISBN: 978-1-4503-3050-3, <DOI: 10.1145/2656106.2656130>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00-99/00
H04B5/02
H01L21/00-49/02
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
三次元ニューラルネットワークアクセラレータであって、
第1の伝送コイルを備える第1のニューラルネットワークアクセラレータタイルと、
第2の伝送コイルを備える第2のニューラルネットワークアクセラレータタイルとを備え、
前記第1のニューラルネットワークアクセラレータタイルは、前記第2のニューラルネットワークアクセラレータタイルに隣接し垂直に整列し、
前記第1の伝送コイルは、前記第2の伝送コイルと誘導結合を介して無線伝達を確立するように構成され、
前記第1のニューラルネットワークアクセラレータタイルおよび前記第2のニューラルネットワークアクセラレータタイルは、前記確立された無線伝達を通して、途切れのないデータの流れを提供する伝達スキームを含む相互接続システムを形成することによってニューラルネットワークの計算を実行するように構成される、三次元ニューラルネットワークアクセラレータ。
【請求項2】
前記第1のニューラルネットワークアクセラレータタイルは、第1のニューラルネットワークアクセラレータチップ上の第1のタイルのアレイ内に含まれ、
前記第2のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータチップ上の第2のタイルのアレイ内に含まれる、請求項1に記載の三次元ニューラルネットワークアクセラレータ。
【請求項3】
前記第1の伝送コイルは、前記第2の伝送コイルとの近距離無線伝達を確立するように構成される、請求項1または請求項2に記載の三次元ニューラルネットワークアクセラレータ。
【請求項4】
前記第1の伝送コイルは、Thruチップインタフェース(TCI)受信機およびTCI送信機をさらに備え、
前記TCI受信機は、前記第2の伝送コイルから無線伝達を受信するように構成され、
前記TCI送信機は、前記第2の伝送コイルに無線伝達を送信するように構成される、請求項1~請求項3のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【請求項5】
前記第1のニューラルネットワークアクセラレータタイルは、処理要素およびリングバスをさらに備え、前記処理要素、前記第1の伝送コイル、前記TCI受信機、および前記TCI送信機は、前記リングバスを通して伝達可能に接続される、請求項4に記載の三次元ニューラルネットワークアクセラレータ。
【請求項6】
前記処理要素は、ハードウェア内でニューラルネットワーク計算を行うための回路を含む、請求項5に記載の三次元ニューラルネットワークアクセラレータ。
【請求項7】
前記第1の伝送コイルは、前記第2の伝送コイルとのThruチップインタフェース(TCI)接続を確立し、垂直なリングバスを形成するように構成される、請求項1または請求項2に記載の三次元ニューラルネットワークアクセラレータ。
【請求項8】
前記第1のニューラルネットワークアクセラレータタイルは、他の伝送コイルからの干渉を阻止するための短絡平面をさらに備える、請求項1~請求項7のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【請求項9】
前記第1のニューラルネットワークアクセラレータチップは、前記第2のニューラルネットワークアクセラレータチップに対して180度回転される、請求項2に記載の三次元ニューラルネットワークアクセラレータ。
【請求項10】
前記第1のニューラルネットワークアクセラレータチップおよび第2のニューラルネットワークアクセラレータチップは、同じ配向にされる、請求項2に記載の三次元ニューラルネットワークアクセラレータ。
【請求項11】
ニューラルネットワークアクセラレータを製造するための方法であって、前記方法は、
第2のニューラルネットワークアクセラレータタイルに隣接し垂直に整列された第1のニューラルネットワークアクセラレータタイルをスタッキングすることを備え、
前記第1のニューラルネットワークアクセラレータタイルは、第1の伝送コイルを備え、
前記第2のニューラルネットワークアクセラレータタイルは、第2の伝送コイルを備え、
前記第1の伝送コイルは、前記第2の伝送コイルと誘導結合を介して無線で伝達するように構成され、
前記第1のニューラルネットワークアクセラレータタイルおよび前記第2のニューラルネットワークアクセラレータタイルは、無線伝達を通して、途切れのないデータの流れを提供する伝達スキームを含む相互接続システムを形成することによってニューラルネットワークの計算を実行するように構成される、方法。
【請求項12】
前記第1のニューラルネットワークアクセラレータタイルは、第1のニューラルネットワークアクセラレータチップ上の第1のタイルのアレイ内に含まれ、
前記第2のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータチップ上の第2のタイルのアレイ内に含まれる、請求項11に記載の方法。
【請求項13】
前記第1の伝送コイルは、前記第2の伝送コイルとの近距離無線伝達を確立するように構成される、請求項11または請求項12に記載の方法。
【請求項14】
前記第1の伝送コイルは、Thruチップインタフェース(TCI)受信機およびTCI送信機をさらに備え、
前記TCI受信機は、前記第2の伝送コイルから無線伝達を受信するように構成され、
前記TCI送信機は、前記第2の伝送コイルに無線伝達を送信するように構成される、請求項11~請求項13のいずれか1項に記載の方法。
【請求項15】
前記第1のニューラルネットワークアクセラレータタイルは、処理要素およびリングバスをさらに備え、前記処理要素、前記第1の伝送コイル、前記TCI受信機、および前記TCI送信機は、前記リングバスを通して伝達可能に接続される、請求項14に記載の方法。
【請求項16】
前記処理要素は、ハードウェア内でニューラルネットワーク計算を行うための回路を含む、請求項15に記載の方法。
【請求項17】
前記第1の伝送コイルは、前記第2の伝送コイルとのThruチップインタフェース(TCI)接続を確立し、垂直なリングバスを形成するように構成される、請求項11または請求項12に記載の方法。
【請求項18】
前記第2のニューラルネットワークアクセラレータ
タイルは、前記第1のニューラルネットワークアクセラレータ
タイルに対して90度回転されて前記第1のニューラルネットワークアクセ
ラレータ
タイルの近くにスタックされ、前記垂直なリングバスは、スタックされたタイルを通るバイファイラスパイラルを形成する、請求項17に記載の方法。
【請求項19】
前記第1のニューラルネットワークアクセラレータタイルは、他の伝送コイルからの干渉を阻止するための短絡平面をさらに備える、請求項11~請求項18のいずれか1項に記載の方法。
【請求項20】
前記第1のニューラルネットワークアクセラレータチップは、前記第2のニューラルネットワークアクセラレータチップに対して180度回転される、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
分野
この明細書は、一般にハードウェア内のニューラルネットワーク計算を加速することに関する。
【背景技術】
【0002】
背景
ニューラルネットワークは、1つまたは複数の非線形ユニットの層を用いて、受信された入力のための出力を予測する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれの組の現在値に従い受信された入力からの出力を生成する。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
概して、この明細書で説明される主題の1つの革新的局面は、三次元ニューラルネットワークアクセラレータであって、第1の伝送コイルを含む第1のニューラルネットワークアクセラレータタイルと、第2の伝送コイルを含む第2のニューラルネットワークアクセラレータタイルとを含み、第1のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータタイルに隣接し垂直に整列し、第1の伝送コイルは、第2の伝送コイルと誘導結合を介して無線で伝達するように構成され、第1のニューラルネットワークアクセラレータタイルおよび第2のニューラルネットワークアクセラレータタイルは、確立された無線伝達を通して、途切れのないデータの流れを提供する伝達スキームを含む静的相互接続システムを形成することによってニューラルネットワークの計算を加速するように構成される、三次元ニューラルネットワークアクセラレータにおいて具体化されることができる。
【0004】
これらの実装および他の実装は、任意に以下の1つまたは複数の機能を含めることができる。第1のニューラルネットワークアクセラレータタイルは、第1のニューラルネットワークアクセラレータチップ上の第1のタイルのアレイ内に含まれ、第2のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータチップ上の第2のタイルのアレイ内に含まれ、第1の伝送コイルは、近距離無線伝達を通して第1のニューラルネットワークアクセラレータタイルと第2のニューラルネットワークアクセラレータタイルとの間のデジタルロジック相互接続をさらに提供するように構成され、第1の伝送コイルは、Thruチップインタフェース(TCI)受信機およびTCI送信機をさらに備え、TCI受信機は、第2の伝送コイルから無線伝達を受信するように構成され、TCI送信機は、第2の伝送コイルに無線伝達を送信するように構成され、第1のニューラルネットワークアクセラレータタイルは、処理要素およびリングバスをさらに備え、処理要素、第1の伝送コイル、TCI受信機、およびTCI送信機は、リングバスを通して伝達可能に接続され、処理要素は、ハードウェア内でニューラルネットワーク計算を行うための回路を含み、第1の伝送コイルは、第2の伝送コイルとのThruチップ接続をさらに確立し、垂直なリングバスを形成するように構成され、第1のニューラルネットワークアクセラレータタイルは、他の伝送コイルからの干渉を阻止するための短絡平面をさらに備え、第1のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータタイルに対して180度回転される。
【0005】
この明細書で説明される主題の特定の実施形態は、以下の1つまたは複数の利点を実現するように実装されることができる。三次元にスタックされたニューラルネットワークアクセラレータであって、増加されたオンチップ記憶容量を有して、たとえば、より大きいモデルを保持する、三次元にスタックされたニューラルネットワークアクセラレータ。他の三次元スタッキング解決策を上回る追加的な利点は、より低いコスト、より高い帯域幅、よりコンパクトであること、および増加されたスケーラビリティを含む。
【0006】
この明細書で説明される主題の1つまたは複数の実装の詳細は、添付の図面および以下の説明に記載される。主題の他の潜在的な特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0007】
【
図1A】例示的なニューラルネットワークアクセラレータタイルのブロック図である。
【
図1B】例示的なニューラルネットワークアクセラレータタイルのブロック図である。
【
図1C】例示的なニューラルネットワークアクセラレータタイルのブロック図である。
【
図2】2つのニューラルネットワークアクセラレータチップを有する例示的な三次元にスタックされたニューラルネットワークアクセラレータを示す。
【
図3】2つのニューラルネットワークアクセラレータチップを有する別の例示的な三次元にスタックされたニューラルネットワークアクセラレータを示す。
【
図4】2つのニューラルネットワークアクセラレータチップを有するさらに別の例示的な三次元にスタックされたニューラルネットワークアクセラレータを示す。
【
図5】中程度の帯域幅設計のための垂直なリングバス実装を有する例示的な三次元にスタックされたニューラルネットワークアクセラレータを示す。
【発明を実施するための形態】
【0008】
さまざまな図面の同様の参照番号および名称は、同様の要素を示す。
詳細な説明
ロボティック分野、物のインターネット、および機械学習アルゴリズムを使用する他の分野において技術は、急速に進んでいる。たとえば、顔認識およびユーザ嗜好決定技術は、ニューラルネットワークといった機械学習技法を使用して、結果の精度を増加させる。ニューラルネットワーク計算は、汎用グラフィクスプロセッシングユニット、フィールドプログラマブルゲートアレイ、特定用途向けチップ、および他のハードウェア等を使用して行われ得る。ニューラルネットワークモデルが大きさおよび複雑性を増加させるにつれて、それらは、実行のためにより多くのコンピュータ計算リソースを必要とする。大規模ハードウェアニューラルネットワークアクセラレータは、コンピュータ計算リソースの増加を扱うために用いられ得る。
【0009】
ここで説明されるのは、ニューラルネットワークアクセラレータのためのアーキテクチャである。ニューラルネットワークアクセラレータは、ニューラルネットワークの計算、すなわち、出力を生成するためにニューラルネットワークを使用する入力の処理を加速するように構成されるハードウェアコンピューティングシステムである。ニューラルネットワークアクセラレータは、各々が相互接続されたニューラルネットワークアクセラレータタイルのアレイを含むニューラルネットワークダイ(チップ)をスタッキングすることによって作られ得る。いくつかの実装では、ニューラルネットワークチップ上のアレイ内の各ニューラルネットワークタイルは、平坦なリングバス埋め込みを介して互いに伝達可能に結合される。一度切断されると、ニューラルネットワークチップは、三次元にスタックされ得、ニューラルネットワークアクセラレータを形成する。スタックされたとき、1つのニューラルネットワークチップ上のタイルのアレイ内の少なくとも1つのニューラルネットワークタイルは、第1のチップの直上または直下にスタックされた別のニューラルネットワークチップ上のそれぞれのニューラルネットワークタイルに無線で伝達可能に連結され得る。連結されたニューラルネットワークタイルは、静的相互接続システムを形成する。いくつかの実装では、形成された静的相互接続システムは、それぞれのニューラルネットワークアクセラレータタイルを通して線形の一連の処理として組織化される。線形シーケンスを通した処理時間の線形パイプラインは、アンコアとも称される特別なコントローラ内で開始および終了する。アンコアは、機能的ブロックの集合であり、これは、ホストコンピュータへの入力/出力(I/O)、オフチップメモリへのインタフェース、I/Oデバイスへの接続、および/または同期実行、協調、およびバッファ機能を取り扱い得る。
【0010】
ニューラルネットワークアクセラレータは、ウェハーレベルスタッキングを通して作られ得、そこでは、ウェハーは、互いの上にスタックされ、一緒に接合される。ウェハーは、半導体材料の薄いスライス(たとえば、シリコン、窒化ガリウム等)であり、典型的に丸く、直径において300または450ミリメートルの間であり得る。各ウェハーは、一連のダイ(またはチップ)を有し、各々は、ニューラルネットワークアクセラレータタイルのアレイを含む。ダイ(およびそれらのタイル)は、ウェハーがスタックされ接合されるときに整列される。スタックされたときに、異なるチップ上のニューラルネットワークアクセラレータタイルは、無線伝達(すなわち、TCI技術を使用する誘導結合)を通して、またはシリコンビア(TSV)を通してといった垂直な配線を通して、互いに伝達可能に結合され得る。スタックされたウェハーは、そしてニューラルネットワークアクセラレータであるダイスタックに切断される。
【0011】
各ニューラルネットワークアクセラレータタイルは、自己完結型であり、多層ニューラルネットワークの部分によって必要とされる計算を独立に実行することができる。ニューラルネットワークアクセラレータタイルは、処理要素(またはプロセッサ、プロセッサコア)、メモリ、および伝送コイルに結合されたリングバスを含む。伝送コイルは、直上または直下にスタックされた隣接するタイルの伝送コイルに誘導的に伝達するように構成され得る。処理要素は、ハードウェア内でニューラルネットワーク計算を処理するために必要とされる計算を行うように構成される。たとえば、処理要素は、ハードウェア内で1つまたは複数のニューラルネットワーク構築ブロック計算、たとえば、行列乗算、活性化関数の計算、プーリング、ソフトマックスまたはロジスティック回帰計算等を行い得る。ニューラルネットワークアクセラレータタイル内に含まれる処理要素のための例示的アーキテクチャは、米国特許出願第15/335,769号に記載され、それは、参照によってここに組み込まれる。
【0012】
ニューラルネットワークアクセラレータの作成中に、ニューラルネットワークアクセラレータチップ/ダイは、埋め込まれたニューラルネットワークタイルを通したチップ間の無線伝達を可能とするような方法でスタックされる。ニューラルネットワークアクセラレータタイルは、埋め込まれた伝送コイルを通してスタックされたタイル間の無線伝達を可能とすることによって、この三次元スケーリングをサポートする。いくつかの実装では、スタックされたタイル間の無線伝達は、Thruチップ無線配線技術に基づく(Thruチップ無線配線技術は、“Low-Cost 3D Chip Stacking with ThruChip Wireless Connections”,Dave Ditzel,August 11,2014、においてより詳細に説明される)。たとえば、伝送コイルは、TCIの対を提供するループであり得る。いくつかの実装では、伝送コイルは、ニューラルネットワークアクセラレータタイルのロジックおよび/またはメモリ面積の上に、従来の金属酸化物半導体(CMOS)処理を用いて構築される。ニューラルネットワークアクセラレータタイルが他のタイルの上にスタックされた(すなわち、それぞれのダイ/チップがスタックされた)とき、TCI(コイル)は、それぞれのニューラルネットワークアクセラレータタイルの上または下のニューラルネットワークアクセラレータタイルへと送信されるべきおよび/またはそこから受信されたデータを可能とする。いくつかの実装では、
図2および
図3に示されるように、アレイ内の少なくとも1つのタイルの場所は、直上または直下にスタックされたニューラルネットワークチップでのそれぞれのタイルの場所からの無線伝達を受信するように構成され、別のタイルの場所は、無線伝達を同じニューラルネットワークチップでのそれぞれのタイルの場所に送信するように構成される。いくつかの実装では、
図4に示されるように、アレイ内の1つのタイルの場所は、直上または直下にスタックされたニューラルネットワークチップでのそれぞれのタイルの場所からまたはそこへと、無線伝達を受信しおよび送信する両方を行うように構成される。
【0013】
ニューラルネットワークアクセラレータチップはまた、タイルのアレイへとまたはそこからのデータを結合するためのI/Oインタフェース回路、タイルの処理要素および他のインタフェースにクロック信号を提供し、機能を制御するためのクロック配信回路等といったアンコア内の他のオンチップ回路を含む。たとえば、インタフェースは、ホストコンピュータに対してであり得る。そのようなインタフェースは、三次元スタック内のすべてのチップ上で複製され得、またはインタフェースは、TCIを介して三次元スタックに結合される異なる処理ノードを用いる第2のチップに委任され得る。
【0014】
ニューラルネットワークアクセラレータチップは、静的相互接続システムを通して形成されるシーケンスに従いデータを各タイル間でルーティングし得る。たとえば、データは、静的相互接続システム内の1つのコンピューティングタイルにおいて受信され、処理され得、タイルの出力はそして、静的相互接続システム内のシーケンス内の次のタイルへと送信され、またはそれによって受信される。次のタイルはそして、受信された入力を処理する。この処理は、シーケンス内の各タイルによって繰り返される。
【0015】
図1Aは、例示的ニューラルネットワークアクセラレータタイル100のブロック図である。例示的タイル100は、処理要素110、リングバス120、伝送コイル130、TCI受信機142、およびTCI送信機140を含む。ニューラルネットワークアクセラレータタイル100は、同様のニューラルネットワークアクセラレータのアレイ内のウェハー上に製造され得る。ニューラルネットワークアクセラレータのアレイは、ウェハー上の製造されたダイに含まれ得る。タイルプロセッサ要素(またはプロセッサコア(複数可))110は、機能的ユニット、メモリ、データ経路、および制御ロジックを含み得、これらは、計算を行い、機能を制御するために使用される。いくつかの実装では、伝送コイル130は、ニューラルネットワークアクセラレータタイル100の処理要素110(すなわち、ロジックおよび/またはメモリ面積)の上方に作られ、面積の節約を最大化する。
【0016】
リングバス120は、処理要素110、伝送コイル130、TCI受信機142、およびTCI送信機140並びに同じダイ内(すなわち、同じタイルアレイ内)に製造される他のニューラルネットワークアクセラレータ間の相互接続といったタイル100の部品の相互接続を提示する。いくつかの実装では、リングバス120は、それぞれのニューラルネットワークチップ上の平坦な埋め込まれたリングバスの部分であり、それは、有向二部グラフにおいてハミルトニアン回路を形成するようにアレイ内のタイルを接続し、そこでは、各処理タイルが1つの入力頂点および1つの出力頂点によって表され、プロセッシングユニットが入力を出力に接続するエッジである。リングバス120に対して、可能なマルチプレクサ構成は、ある出力をある入力に接続する多数のエッジによって表され得る。いくつかの実装では、平坦な埋め込みの一部としてタイルの線形の連なりを容易にするために、リングバス120は、1つの側でタイル100に入り、反対側でそれを離れる。
【0017】
上述のように、タイル100は、ニューラルネットワークアクセラレータチップ上の同様のタイルのアレイ内に含まれ得る個々のコンピューティングユニットである。いくつかの実装では、タイル100は、1つまたは複数の隣接するタイルに伝達可能に結合され得、これは、スタックされ、三次元にスタックされたニューラルネットワークアクセラレータ内の静的相互接続システムを形成し得る。スタックされたタイルは、三次元にスタックされたニューラルネットワークアクセラレータ上でニューラルネットワークの計算を分散するために用いられる。たとえば、各タイル100は、1つまたは複数の隣接するタイル(すなわち、上または下にあり無線で接続されるタイル、または平坦なリングバスを通して接続されたニューラルネットワークチップでの同じタイルアレイ内のタイル)と伝達して、静的相互接続システムを形成する。相互接続システムは、処理タイルが三次元スタックのコンピュータ計算リソースを包含するリングバス120といった1つまたは複数のリングバスの一部となるように構成されることができる。そのような構成は、チップの三次元スタック内のタイルが効率的に利用され、用途によって要求された場合にコンピュータ計算リソースを複数のリングへと再組織化する柔軟性を提供することを可能とする。
【0018】
伝送コイル130は、タイル100内に埋め込まれ、TCI接続を提供し、これは、それぞれのTCI受信機142によって受信され、それぞれのTCI送信機140によって伝送される。伝送コイル130は、他のタイル100、たとえばスタックされた三次元的に上または下のそれぞれのタイルの伝送コイル130との間の近距離無線伝達を可能とするために、磁場を使用する誘導結合を用いる。可能とされた近距離無線伝達は、三次元にスタックされたニューラルネットワークアクセラレータチップ間のデジタルロジック相互接続を提供する。いくつかの実装では、タイル100は、確立された近距離無線伝達を用いて、三次元スタック内の上または下の隣接するタイルと伝達し得る。伝送コイル130は、
図1Aに示されるように互いからオフセットされ得、これにより2つのタイルがスタックされたときに、それぞれの伝送コイルは、他のコイル間の伝送に干渉しない。伝送コイル130、TCI受信機142、およびTCI送信機140は、一緒にTCIを形成する。そのようなTCIは、タイル100に対して小さく、これによりTCI接続のために必要とされる面積は、比較可能なTSVよりも小さい。たとえば、現在の処理において20ナノメートル(nm)の特徴の大きさ、毎秒50ギガビット(Gb/s)を超える帯域幅を有するノードが実現される。実際の速度は、電力やシリアライザ/デシリアライザ(SERDES)ロジックの複雑さなどのエンジニアリング上の考慮事項の影響を受ける。たとえば、TCIコイルの大きさは、スタックされたダイの厚さに依存する。現在の薄型化技術は、2.6マイクロメートル(mm)のダイ厚を、一辺2.6mmのコイルサイズの3倍、つまり約8mmに対して実証している。より控えめなダイの厚さは4mmであり、コイルサイズは約12mmである。
【0019】
たとえば、タイルは、1×1mmのオーダーであり、約6000個のTCIのための空間を有し得る。高い帯域幅設計を有するタイル100は、このタイル面積の著しい割合を覆ういくつかのTCI(伝送コイル130、TCI受信機142、およびTCI送信機140)を含み得る。たとえば、TCIの群は、20Gb/秒で動作され得、データをリングバス120から送信するために約50個のTCI、およびデータをリングバス120に対して受信するために別の50個のTCIを必要とし得る。
【0020】
中程度の帯域幅設計を有するタイルは、タイル面積のより小さい部分を覆ういくつかのTCIを含む。たとえば、ダイ厚さは、約15mmに増加され得、タイル100は、約20-30個のTCIを含み得る。そのような例では、伝送コイル130は、その一辺が45mmであってもよく、約400個の可能なTCIの場所をもたらし得る。TCIは、1×1mmタイルのエッジの半分の線形行内に配置され得、TCI送信機140およびTCI受信機142の両方は、タイルのインタフェース側の近くにあり、10Gb/秒以下で動作する。例示的な中程度の帯域幅設計構成は、
図4内に図示される。
【0021】
いくつかの実装では、タイル100は、平坦なリングバスの部分120を含む。平坦なリングバスは、ニューラルネットワークチップ上のアレイ内の各タイルは、伝達可能に結合する。リングバスは、1つのタイルから次のタイルに延在し(すなわち、ポイントツーポイント)、各々が0.25~0.5毎秒ギガビット(Gb/s)の間の帯域幅の、約2000個の配線を有する。リングバスの幅は、リングバスを構成する配線の数である。たとえば、チップ上の各タイルは、約2000個の配線上にデータを送り出し、前のタイルから到来する約2000個の別の組の配線を有する。
【0022】
そのような実装では、タイル100のためのTCIの信号レートは、20~40Gb/sの間であり得る。いくつかの実装では、送信機が、一定の電流スイッチングのために実際のデータレートとは独立に一定の量の電力を引き込むので、TCIは、電力を浪費しないように高いレートで動作し得る。コイルの大きさは、個々のダイ厚さの関数である。タイル100は、2.6マイクロメートルと10マイクロメートルとの間にまで薄くされ得る。これは、エッジ長が12マイクロメートルから30マイクロメートルまたはチップ対チップ距離の3倍であるTCIコイルに対応する。
【0023】
高い帯域幅設計のために、厚さの上限(10mm)でのタイル厚さ、高速信号レート、および低い多重化率が使用されることができる。高い帯域幅設計のいくつかの実装のために、タイル100上のTCIは、リングバスレートでデータを伝送するかまたは受信するかのいずれかを行うことができるが、両方を行うことはできない。そのような実装では、帯域幅仮定は、より多くのTCIを使用し得(タイル毎に約6000個のTCIが利用可能)、これにより1つのリングバス接続と同等の帯域幅を伝送しまたは受信するために十分なTCIのための十分な広さが1つのタイル上に存在する。例示的な高い帯域幅設計構成は、
図2および3内に示される。
【0024】
図1Bは、タイル100の抽象的な表現のブロック図である。
図1Bにおいてタイル100の抽象的な表現は、処理要素110と、丸150で表されたTCIの組とを含む。タイル100のためのTCI150の組は、
図1Aからの伝送コイル130、TCI受信機142、およびTCI送信機140を含む。
【0025】
図1Cは、タイル100の別の抽象的な表現のブロック図である。
図1Cにおいてタイル100の抽象的な表現は、処理要素110、丸150によって表されたTCIの2つの組、およびマルチプレクサ160を含む。タイル100のためのTCI150の組は、2つの別個の組としてグループ分けされた、
図1Aからの伝送コイル130、TCI受信機142、およびTCI送信機140を含む。マルチプレクサ160は、どのTCIの組が送信しておりどれが受信しているか管理し、たとえば、構成レジスタによって静的に制御される。上述のように、1つのタイルのための可能なTCIの場所の数は、かなり大きくされることができ(約6000個)、このため2つの丸の各々は、(
図1Bの符号と一貫した)送信機または受信機であるように構成されるTCIの群を提示する。
図1Bおよび1C内の抽象的な表現は、
図2-
図5において使用される。
【0026】
図2は、2つのニューラルネットワークアクセラレータチップ220および222を有する例示的な三次元にスタックされたニューラルネットワークアクセラレータ200を示す。2つのチップのスタックが図示されるが、任意の数のチップ(層)は、使用され得る。ニューラルネットワークアクセラレータチップ220および222は、ニューラルネットワークアクセラレータタイル100を含み、これは、(
図1Bに示されるような)1つのTCIの組を含む。図示される例では、ニューラルネットワークアクセラレータチップ220および222は、互いの上に同じ配向において配置され、これにより各それぞれのニューラルネットワークアクセラレータチップ220および222のためのリングバス(240、242)は、平行に同方向において延在する。TCIデータ接続232は、上述のように誘導結合を使用して隣接するタイル100を通るアクセラレータチップ220と222との間の伝達を提供する。交差点230は、TCIデータ接続232がリングバス240および242をネットワークアクセラレータチップ220と222との間でルーティングするために使用される場所である。交差点230は、ネットワークアクセラレータチップ220および222の両方のすべてのタイル100を包含するリングバス240および242を1つのリングへとステッチで結合することによって作成される。1つのリングは、ネットワークアクセラレータチップ220および222の両方のタイル100を伝達可能に結合する。図示される例では、TCIデータ接続232の単一の対が示されるが、TCIデータ接続232の任意の数の対は、ニューラルネットワークアクセラレータチップ220と222との間に使用され、形成され得る。垂直なデータ交換に参加し得る各タイルの対は、これらのタイルを接続する2つの配線の組を有し(交差点230)、これは、2倍の量の配線(すなわち、2000個の代わりに4000個)を必要とし得る。
【0027】
図3は、2つのニューラルネットワークアクセラレータチップ320および322を有する例示的な三次元にスタックされたニューラルネットワークアクセラレータ300を示す。2つのチップのスタックが図示されるが、任意の数のチップ(層)は、使用され得る。ニューラルネットワークアクセラレータチップ320および322は、ニューラルネットワークアクセラレータタイル100を含み、これは、(
図1Bに示されるような)1つのTCIの組を含む。図示される例では、ニューラルネットワークアクセラレータチップ320および322は、互いの上に配置されるが、互いに対して180度回転されて配向される。
図2と同様に、TCIデータ接続332は、隣接するタイル100を通して誘導結合を使用してアクセラレータチップ320と322との間の伝達を提供する。
【0028】
図示される例では、平坦なリングバス340および342埋め込みの際のいくつかの重要ではない制約とともに(たとえば、回転対称レイアウトを避けること)、回転されたニューラルネットワークアクセラレータチップ320および322は、それぞれのリングバス340および342が交差場所330において反対方向に延在することを引き起こす。開示された設計内のTCIの場所の位置における制約は、スタックされたときに2つのチップが180度回転されてもTCIの垂直な位置合わせを可能とする。追加的に、
図3において示されるレイアウトは、
図2に示されるように、交差場所330において1つのチップが2つのリングバス配線の組を有することを阻止し、データトラフィックを同時に伝搬させ、他のチップは、任意の配線を使用しない。この構成は、リングバス交差を実装するマルチプレクサのコストを超え得る配線コストを減らし得る。追加的に、
図3におけるレイアウトは、ルーティングのオーバヘッドを減らし得る。図示される例では、TCIデータ接続332の単一の対が示されるが、TCIデータ接続332の任意の数の対は、ニューラルネットワークアクセラレータチップ320と322との間に形成され得る。そのような設計は、いくつかの用途で必要とされる複数の独立したリングの形成を可能とする。
【0029】
図4は、2つのニューラルネットワークアクセラレータチップ420および422を有する例示的な三次元にスタックされたニューラルネットワークアクセラレータ400を示す。2つのチップのスタックが図示されるが、任意の数のチップ(層)は、使用され得る。ニューラルネットワークアクセラレータチップ420および422は、ニューラルネットワークアクセラレータタイル100を含み、これは、(
図1Cに示されるような)2つのTCIの組を含む。図示される例では、ニューラルネットワークアクセラレータチップ420および422は、各々の上に配置され、同じ配向においてスタックされる。TCIデータ接続432は、隣接するタイル100の対におけるTCIの組の間で確立され、上述のように誘導結合を使用して2つの隣接するタイル100を通してアクセラレータチップ420と422との間の伝達を提供する。タイル100内の2つのTCIの組を用いることによって、交差は、ちょうど1つのタイルの場所に局所化される。この構成は、長い配線がタイル全体に広がる必要性を阻止し得る。代わりに、図示されるアクセラレータ400は、マルチプレクサを制御し、どのTCIの組が送信しておりどれが受信しているかを管理するタイル構成内の対称性を破るビット(Symmetry breaking bit)を用い得る。図示される例では、タイルの単一の対は、TCIデータ接続432を形成するために使用されて示されるが、TCIデータ接続432の任意の数の対は、ニューラルネットワークアクセラレータチップ420と422との間のために使用され得る。
【0030】
図5は、高い帯域幅設計のための垂直なリングバス実装を有する例示的な三次元にスタックされたニューラルネットワークアクセラレータ500を示す。図示される例は、チップ間のTCI接続542および544を有する3つのスタックされたニューラルネットワークアクセラレータチップ510、520、および530を示す。TCI接続542は、チップ510上のタイルの場所512とチップ520上のタイルの場所524との間にある。TCI接続544は、チップ520上のタイルの場所522とチップ530上のタイルの場所532との間にある。図示される例の場合、各タイルの場所512、522、524、および532は、同一のタイル位置を共有する(すなわち、タイルの各列は、1つのリングとして接続される)すべてのスタックされたチップ上のすべてのタイルをルーティングする1つの垂直なリングバスを形成する。各スタックされたチップ510、520、および530は、スタック内の前のチップに対して90度回転される。リングバス接続は、スタックを通してバイファイラスパイラルを形成する。頂部(または底部)は、リングを閉じるリングバスを反映する。いくつかの実装では、2つの処理タイルは、少なくとも1つの処理タイルが上方向で横切られ、別の1つが下方向で横切られるように、この列の1つの仮想タイルへと組み合わされる。スタック内のチップの数とは独立にリング内のタイルの数を制御するために、1つの垂直ならせんを構成する仮想タイルは、より大きい(偶数の)数のタイルプロセッサをグループ分けし得る。図示される例では、底部層510は、ホストコンピュータおよび/またはリングバスコントローラへのインタフェースを含み得、一方、残りのスタックを構成するチップは、純粋なタイルアレイであり得る。そのような構成は、制御信号をすべてのタイルに同時にブロードキャストするために使用されることができる垂直なバスに基づく追加的なTCIを提供し、チップ全体上で配線を延在させることに関連付けられた遅延を阻止し得る。いくつかの実装では、リングは、コントローラタイル510上で一緒にステッチで結合され、より多くのタイルを有するより長いリングを作成し得る。そのような構成は、コントローラ対タイル比の動的変化を提供する。図示される例では、短絡平面518、528、および538は、TCIコイルからの干渉が次のチップを超えて到達することを阻止するために用いられる。いくつかの実装では、短絡平面518、528、および538は、固体金属平面または密なグリッドであり、これは、製造処理全体における著しいコスト増加を課すことなくTCIの範囲を短絡することができる。
【0031】
この明細書は多くの特定の実装の詳細を含むが、これらは発明の範囲や特許請求の範囲を制限するものではなく、特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に記載されている特定の特徴は、単一の実施形態において組み合わされて実装されることもできる。逆に、単一の実施形態の文脈で説明される様々な特徴は、複数の実施形態で別々にまたは任意の適切なサブコンビネーションで実装されることもできる。さらに、特徴は特定の組み合わせで機能するものとして上記で説明され得、当初にそのように主張されようとも、主張された組み合わせからの1つまたは複数の特徴は、場合によっては組み合わせから削除され得、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられ得る。
【0032】
同様に、操作は図面に特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような操作、またはすべての説明された操作を示された特定の順序または順番で実行することを要求するものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利であり得る。さらに、上記の実施形態におけるさまざまなシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、記述されたプログラムコンポーネントおよびシステムは一般に単一のソフトウェア製品または複数のソフトウェア製品にパッケージ化されることができる。
【0033】
主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲内にある。たとえば、請求項に記載される動作は、異なる順序で実行でき、それでも望ましい結果を達成する。一例として、添付の図に描かれた処理は、望ましい結果を達成するために、示された特定の順序または連続的な順序を必ずしも必要としない。特定の実装では、マルチタスクと並列処理が有利であり得る。
【0034】
さらに他の実装は、以下の例で要約される。
例1:三次元ニューラルネットワークアクセラレータであって、
第1の伝送コイルを備える第1のニューラルネットワークアクセラレータタイルと、
第2の伝送コイルを備える第2のニューラルネットワークアクセラレータタイルとを備え、
第1のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータタイルに隣接し垂直に整列し、
第1の伝送コイルは、第2の伝送コイルと誘導結合を介して無線伝達を確立するように構成され、
第1のニューラルネットワークアクセラレータタイルおよび第2のニューラルネットワークアクセラレータタイルは、確立された無線伝達を通して、途切れのないデータの流れを提供する伝達スキームを含む静的相互接続システムを形成することによってニューラルネットワークの計算を加速するように構成される、三次元ニューラルネットワークアクセラレータ。
【0035】
例2:第1のニューラルネットワークアクセラレータタイルは、第1のニューラルネットワークアクセラレータチップ上の第1のタイルのアレイ内に含まれ、
第2のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータチップ上の第2のタイルのアレイ内に含まれる、例1に記載の三次元ニューラルネットワークアクセラレータ。
【0036】
例3:第1の伝送コイルは、近距離無線伝達を通して第1のニューラルネットワークアクセラレータタイルと第2のニューラルネットワークアクセラレータタイルとの間のデジタルロジック相互接続をさらに提供するように構成される、例1または例2に記載の三次元ニューラルネットワークアクセラレータ。
【0037】
例4:第1の伝送コイルは、Thruチップインタフェース(TCI)受信機およびTCI送信機をさらに備え、
TCI受信機は、第2の伝送コイルから無線伝達を受信するように構成され、
TCI送信機は、第2の伝送コイルに無線伝達を送信するように構成される、例1~例3のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【0038】
例5:第1のニューラルネットワークアクセラレータタイルは、処理要素およびリングバスをさらに備え、処理要素、第1の伝送コイル、TCI受信機、およびTCI送信機は、リングバスを通して伝達可能に接続される、例4に記載の三次元ニューラルネットワークアクセラレータ。
【0039】
例6:処理要素は、ハードウェア内でニューラルネットワーク計算を行うための回路を含む、例5に記載の三次元ニューラルネットワークアクセラレータ。
【0040】
例7:第1の伝送コイルは、第2の伝送コイルとのThruチップインタフェース(TCI)接続をさらに確立し、垂直なリングバスを形成するように構成される、例1~例6のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【0041】
例8:第1のニューラルネットワークアクセラレータタイルは、他の伝送コイルからの干渉を阻止するための短絡平面をさらに備える、例1~例7のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【0042】
例9:第1のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータタイルに対して180度回転される、例1~例8のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【0043】
例10:第1のニューラルネットワークアクセラレータタイルおよび第2のニューラルネットワークアクセラレータタイルは、同じ配向にされる、例1~例9のいずれか1項に記載の三次元ニューラルネットワークアクセラレータ。
【0044】
例11:ニューラルネットワークアクセラレータを製造するための方法であって、方法は、
第2のニューラルネットワークアクセラレータタイルに隣接し垂直に整列された第1のニューラルネットワークアクセラレータタイルをスタッキングすることを備え、
第1のニューラルネットワークアクセラレータタイルは、第1の伝送コイルを備え、
第2のニューラルネットワークアクセラレータタイルは、第2の伝送コイルを備え、
第1の伝送コイルは、第2の伝送コイルと誘導結合を介して無線で伝達するように構成され、
第1のニューラルネットワークアクセラレータタイルおよび第2のニューラルネットワークアクセラレータタイルは、無線伝達を通して、途切れのないデータの流れを提供する伝達スキームを含む静的相互接続システムを形成することによってニューラルネットワークの計算を加速するように構成される、方法。
【0045】
例12:第1のニューラルネットワークアクセラレータタイルは、第1のニューラルネットワークアクセラレータチップ上の第1のタイルのアレイ内に含まれ、
第2のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータチップ上の第2のタイルのアレイ内に含まれる、例11に記載の方法。
【0046】
例13:第1の伝送コイルは、近距離無線伝達を通して第1のニューラルネットワークアクセラレータタイルと第2のニューラルネットワークアクセラレータタイルとの間のデジタルロジック相互接続をさらに提供するように構成される、例11または例12に記載の方法。
【0047】
例14:第1の伝送コイルは、Thruチップインタフェース(TCI)受信機およびTCI送信機をさらに備え、
TCI受信機は、第2の伝送コイルから無線伝達を受信するように構成され、
TCI送信機は、第2の伝送コイルに無線伝達を送信するように構成される、例11~例13のいずれか1項に記載の方法。
【0048】
例15:第1のニューラルネットワークアクセラレータタイルは、処理要素およびリングバスをさらに備え、処理要素、第1の伝送コイル、TCI受信機、およびTCI送信機は、リングバスを通して伝達可能に接続される、例14に記載の方法。
【0049】
例16:処理要素は、ハードウェア内でニューラルネットワーク計算を行うための回路を含む、例15に記載の方法。
【0050】
例17:第1の伝送コイルは、第2の伝送コイルとのThruチップインタフェース(TCI)接続をさらに確立し、垂直なリングバスを形成するように構成される、例11~例16のいずれか1項に記載の方法。
【0051】
例18:第2のニューラルネットワークアクセラレータタイルは、は、第1のニューラルネットワークアクセラレータタイルに対して90度回転され、垂直なリングバスは、スタックを通るバイファイラスパイラルを形成する、例17に記載の方法。
【0052】
例19:第1のニューラルネットワークアクセラレータタイルは、他の伝送コイルからの干渉を阻止するための短絡平面をさらに備える、例11~例18のいずれか1項に記載の方法。
【0053】
例20:第1のニューラルネットワークアクセラレータタイルは、第2のニューラルネットワークアクセラレータタイルに対して180度回転される、例11~例19のいずれか1項に記載の方法。