(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023132043
(43)【公開日】2023-09-22
(54)【発明の名称】演算処理装置および演算処理方法
(51)【国際特許分類】
H03K 19/17704 20200101AFI20230914BHJP
G06N 3/10 20060101ALI20230914BHJP
【FI】
H03K19/17704
G06N3/10
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2022037139
(22)【出願日】2022-03-10
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り [学会等] 公開者名 佐藤幸紀、大垣雅史 学会名 ASAP 2021;The 32nd IEEE International Conference on Application-specific Systems,Architectures and Processors(A Virtual Conference) 発表日 令和3年7月7日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人科学技術振興機構、戦略的研究推進事業(さきがけ)革新的コンピューティング技術の開拓「データフロー主導によるカスタム計算機システム開発基盤の体系化」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】304027349
【氏名又は名称】国立大学法人豊橋技術科学大学
(72)【発明者】
【氏名】佐藤 幸紀
【テーマコード(参考)】
5J042
【Fターム(参考)】
5J042CA20
5J042DA04
(57)【要約】
【課題】 脳神経レベル規模に相当する脳神経回路シミュレーションをリアルタイムで処理する演算処理装置を提供すること
【解決手段】 本発明にかかる演算処理装置は、脳神経モデルHodgkin-Huxleyモデルをシミュレーションする演算処理装置であって、書き換え可能な論理回路の多重配列回路と、該多重配列回路は、電気的に一体となりインラインメモリとして動作するブロック・ランダムアクセスメモリと、第一のダイナミック・ランダムアクセスメモリと、に接続され、少なくとも二つのデータフロー型パイプラインを構成し、さらに、該多重配列回路は、電気的バスを介し中央演算処理装置と接続され、該中央演算処理装置が該電気的バスを介して接続する第二のダイナミック・ランダムアクセスメモリと、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
脳神経モデルHodgkin-Huxleyモデルをシミュレーションする演算処理装置であって、
書き換え可能な論理回路の多重配列回路と、
該多重配列回路は、電気的に一体となりインラインメモリとして動作するブロック・ランダムアクセスメモリと、第一のダイナミック・ランダムアクセスメモリと、に接続され、
少なくとも二つのデータフロー型パイプラインを構成し、
さらに、該多重配列回路は、電気的バスを介し中央演算処理装置と接続され、
該中央演算処理装置が該電気的バスを介して接続する第二のダイナミック・ランダムアクセスメモリと、を備える
ことを特徴とする演算処理装置。
【請求項2】
脳神経モデルHodgkin-Huxleyモデルをシミュレーションする演算処理方法であって、
ステンシル計算モデルで構築されたニューロン間の接続関係を、インメモリ方式のデータフロー型パイプラインによりストリーム処理する手段と、
前記データフロー型パイプラインにおいて、サイクルごとに別のニューロンの状態を順次入力することにより、複数のニューロンにおける処理を求める手段と、を具備してなる
ことを特徴とする演算処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算処理装置およびそれに用いる演算処理方法に関する。特に、デジタル回路を用いて脳神経回路のシミュレーション処理を効率化するためのインメモリ型の演算処理装置および演算処理方法に関するものである。
【背景技術】
【0002】
脳神経回路のシミュレーションは、一般に、ノイマン型コンピュータで動作するソフトウェアとして実現されている。あるニューロンの出力信号を次のニューロンへの入力信号として伝えていくので、任意の接続関係を記述するためにニューロン数の2乗個の要素の接続関係を保持する接続行列を実装することが必要となる。
【0003】
また、前記接続行列を用いないニューロン接続関係のモデリングとして次のものがある。非特許文献1には、物理的なニューロン間の距離を変数とするガウス関数として接続確率を表現する手法が示されている。ニューロン間の接続関係を示す接続確率は、物理的なニューロン間の距離の正規分布に従うので、非特許文献2では、高頻度で現れる物理的距離の短い接続に限定する2次元グリッド状に配置されたニューロンを用いる手法が示されている。
【0004】
他方、脳神経回路シミュレーションのハードウェアに関しては、例えば、非特許文献3において、
1)GPU(Graphics Processing Unit)を用いるもの、
2)不揮発性メモリを用いアナログ値ベースの積和演算アクセラレータを構築するもの、
3)ASIC(Application Specific Integrated Circuit)によりデジタル方式のスパイキングニューラルネットワークを構成するもの、
4)FPGA(Field Programmable Gate Array)を用い神経素子及びシナプスのシミュレーションを行うもの(特許文献1を参照)、
5)アナログ回路によりニューロモーフィック計算を行うもの、
などが示されている。
【0005】
上記ハードウェアの中で、非特許文献4においてHodgkin-Huxleyモデルが示されている。Hodgkin-Huxleyモデルは、生物物理学的に最も精度の高いモデルとされる。直接、脳の信号を入力可能であるが、計算コストが高く、処理速度が課題となっている。
【0006】
流体や気象など連続体のシミュレーションで用いられるステンシル計算(例えば、非特許文献5または特許文献2を参照)では、FPGAを用いて構築するデータフロー型パイプラインによる演算処理装置が有用である(非特許文献6)。2次元ステンシル処理の規則性を利用して、FPGAチップ内に実装されるBRAM(Block Random Access Memory)メモリにより、外部からのメモリの入出力を極力排除するインライン式の高効率な演算処理が可能となる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特表2008-545197号公報
【特許文献2】特開2015-191442号公報
【非特許文献】
【0008】
【非特許文献1】M. Ogaki and Y. Sato, "Hodgkin-Huxley-Based Neural Simulation with Networks Connecting to Near-Neighbor Neurons," 2021 IEEE 32nd International Conference on Application-specific Systems, Architectures and Processors (ASAP), 2021, pp. 109-116
【非特許文献2】R. S. Van Der Giessen, S. K. Koekkoek, S. van Dorp, J. R. De Gruijl, A. Cupido, S. Khosrovani, B. Dortland, K. Wellershaus, J. Degen, J. Deuchars, E. C. Fuchs, H. Monyer, K. Willecke, M. T. De Jeu, and C. I. De Zeeuw, “Role of olivary electrical coupling in cerebellar motor learning,” Neuron, vol. 58, no. 4, pp. 599-612, 2008.
【非特許文献3】ニューロモーフィックコンピューティングを支えるハードウェア技術の現状と研究動向. 岡崎 篤也. 日本ロボット学会誌 35(3), 209-214, 2017
【非特許文献4】G. Smaragdos, G. Chatzikonstantis, R. Kukreja, H. Sidiropoulos, D. Rodopoulos, I. Sourdis, Z. Al-Ars, C. Kachris, D. Soudris, C. I. D. Zeeuw, and C. Strydis, “BrainFrame: a node-level heterogeneous accelerator platform for neuron simulations,” Journal of Neural Engineering, vol. 14, p. 066008, nov 2017.
【非特許文献5】Y. Sato, Y. Inoguchi, W. Luk, and T. Nakamura, “Evaluating reconfigurable dataflow computing using the himeno benchmark,” 2012 International Conference on Reconfigurable Computing and FPGAs, ReConFig 2012, pp. 1-7, 12 2012.
【非特許文献6】J. Cong, P. Li, B. Xiao, and P. Zhang, “An optimal microarchitecture for stencil computation acceleration based on non-uniform partitioning of data reuse buffers,” in 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC), pp. 1-6, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述した先行技術では、脳の機能レベルあるいは神経核レベルのシミュレーションの実現への期待を高める一方で、脳神経レベルの規模に相当する数万ニューロンを超えるシミュレーションをリアルタイムに実現することに課題があった。特に、ハードウェア資源や処理性能に大きな影響を与えるため、ニューロン接続の実現手段が重要であり、それと共に、演算処理の計算コストを低減させることが重要である。
【0010】
本発明は、上記先行技術の課題を鑑みてなされたものであり、脳神経レベル規模に相当する脳神経回路シミュレーションをリアルタイムで処理する演算処理装置およびそれに用いる演算処理方法を提供することを目的としてなされたものである。
【課題を解決するための手段】
【0011】
本発明にかかる演算処理装置は、
脳神経モデルHodgkin-Huxleyモデルをシミュレーションする演算処理装置であって、
書き換え可能な論理回路の多重配列回路と、
該多重配列回路は、電気的に一体となりインラインメモリとして動作するブロック・ランダムアクセスメモリと、第一のダイナミック・ランダムアクセスメモリと、に接続され、
少なくとも二つのデータフロー型パイプラインを構成し、
さらに、該多重配列回路は、電気的バスを介し中央演算処理装置と接続され、
該中央演算処理装置が該電気的バスを介して接続する第二のダイナミック・ランダムアクセスメモリと、を備えることを特徴とする。
【0012】
本発明にかかる演算処理方法は、
脳神経モデルHodgkin-Huxleyモデルをシミュレーションする演算処理方法であって、
ステンシル計算モデルで構築されたニューロン間の接続関係を、インメモリ方式のデータフロー型パイプラインによりストリーム処理する手段と、
前記データフロー型パイプラインにおいて、サイクルごとに別のニューロンの状態を順次入力することにより、複数のニューロンにおける処理を求める手段と、を具備してなる
ことを特徴とする。
【発明の効果】
【0013】
本発明にかかる演算処理装置および演算処理方法により、外部からのメモリの入出力を極力排除し、かつ、パイプラインの規則的に動作するインメモリ方式のデータフローに基づくストリーム処理により、不要なデータの転送がなく、当該演算処理方法のデータ参照バターンを完全に要求に応じて構築でき、結果として、脳神経レベルの規模で高効率な脳神経回路シミュレーションが実現される。
【図面の簡単な説明】
【0014】
【
図1】2次元グリッドに配置されたニューロンに対する、隣接ニューロン間の接続に限定したネットワークの模式図である。100×100規模の2次元ネットワークが図示されている。
【
図2】本発明にかかる演算処理装置の概要図である。
【
図3】本発明のデータフローを示すフローチャートである。
【
図4】実施例にかかるハードウェアの構成を示すブロック図である。
【
図5】実施例にかかる脳神経レベル規模のシミュレーション結果を示す模式図である。
【発明を実施するための形態】
【0015】
本発明にかかる演算処理装置は、書き換え可能な論理回路の多重配列(FPGA: Field Programmable Gate Array)回路と、ブロック・ランダムアクセスメモリ(BRAM: Block Random Access Memory)、中央演算処理装置(CPU等)と、ダイナミック・ランダムアクセスメモリ(DRAM)と、電気的バス・インターフェイスと、プログラムおよびデータベースを格納する外部記憶装置(ハードディスク装置等)と、表示用の画像処理装置と、ディスプレイおよび入出力機器と、を電気的に接続されてなるハードウェアと、該プログラムおよびデータベースのソフトウェアと、が密に連携し、逐次、所定の規則に則って情報処理を実行する演算処理装置である。
【0016】
以下に、本発明を実施するための形態に関し、図を使用して詳述する。
【0017】
脳の解剖学的な知見を基にしたニューロンの接続関係の特徴を利用したハードウェアは、データフロー型パイプライン方式の専用回路により効率的な処理を行う。具体的には、高頻度で現れる物理的距離の短いニューロンとの接続関係を、ステンシル計算モデルを利用して構築する。実質的な接続関係があるものだけを格納する仕組みを用いることにより、接続関係の規模の拡大を抑えて脳神経回路シミュレーションを処理できるようになる。
【0018】
図1は、100×100の2次元グリッドに配置されたニューロンに対する、隣接ニューロン間の接続に限定したネットワークの模式図である。
図1中のニューロン間の接続関係を持つ脳神経回路シミュレーションは、ステンシル計算モデルと同様なアルゴリズムで効率的に演算を行う。加えて、
図2に示すように、FPGAにより実装するインメモリ方式のデータフロー型パイプラインの専用回路を用いてストリーム処理することにより、ステンシル計算モデルで構築されたニューロン間の接続関係を従来に比べ効率的に実行できるようになる。
【0019】
全てのニューロンの状態に関するデータは、FPGA回路が備えるBRAMにより構成されるFIFO(First-In First-Out)メモリに格納され、ステンシル計算の持つアクセスパターンの規則性に従ってデータフロー型パイプラインへ入力される。
【0020】
図3に示すアルゴリズムにより、まず、脳神経モデルであるHodgkin-Huxleyモデルにおいて、隣接するニューロンの電位からステンシル計算モデルを用いてニューロン外部電流を計算する。次に、各ニューロン内でゲート変数および膜電位を計算し、時間ステップを一定値ΔTだけ進める。時間ステップの累積値が終了条件を達成すれば処理を完了する。
【0021】
データフロー型パイプラインにおいては、1ニューロンに相当する脳神経回路シミュレーションのデータフローを展開した形状の専用回路を構築する。当該パイプラインにサイクルごとに別のニューロンの状態を順次入力することにより、複数のニューロンにおける処理をオーバーラップさせながら求めることができる。
【0022】
さらに、
図4に示すように、データフロー型パイプラインを少なくとも二つ構築することにより処理の並列度を調整する。データフロー型パイプラインにより更新された各ニューロンの状態は、次の時間ステップで使用されるとともに、
図4に示すような、適宜、電気的バス・インターフェイスを介して、CPUが使用可能な第二のDRAMメモリに書き込みを行う。
【実施例0023】
生物物理学的に最も精度の高いといわれているHodgkin-Huxleyモデルにおいて、隣接ニューロン間の接続に限定したネットワークを持つ、下オリーブ核を模倣した脳神経回路シミュレーションを行った。本発明にかかる演算処理装置は、1チップのFPGAが集積されたボードとホストCPUにて構成した。
【0024】
FPGAでのステンシル計算への局所接続のマッピング
BrainFrame実装の接続行列から発生するボトルネックを避ける。接続確率はニューロン間の距離の関数として記述できる。局所性の特徴は、ニューロンネットワークが隣接するニューロンに直接接続され、二次元グリッド状に配置された、下オリーブ核(下垂体神経核)のシミュレーションで用いられる。生物物理学的ニューロンは隣接する8ニューロンにのみ直接接続をもつ二次元グリッド状にモデル化される。生物物理学的ニューロンの局所性は、ステンシル計算パターンにマップされる。
【0025】
ステンシルベースの局所性を考慮した設計の実現
接続行列をFIFOベースの計算に置き換えることは、ストリームデータは常に同レートで入出力される、FPGAでのデータフロー・パイプラインの実現に貢献する。ステンシル計算を管理するため、マクセラーのカーネル・コンパイラAPIにより提供されるstream.offsetを用いる。DRAMを用いる構成では、オンボードDRAMがニューロンの全パラメータを蓄積するのに用いられる。ストリーム構成では、ニューロンのすべてのパラメータと先の計算結果は、FIFOバッファによりパイプラインへ直接与えられる。
【0026】
データフローの設計において近接ニューロン間のステンシル計算パターンを取り入れたことにより得られる性能向上を評価する。
マクセラー・テクノロジーズ社が提供するHLSフラームワークを使用した、ザイリンクス社製Xilinx(登録商標) Alveo U200を用いる。FPGAのクロック周波数を200MHzに設定した。ベースライン環境として、BrainFrameのソース・コードを用いる。IEEE754の単精度浮動小数点データ形式(32bit)を用いる。リファレンスC実装と同等のオリジナルFPGAコードを用意した。リファレンスCの標準関数getrtimeoftheday()を用いて、ホストマシンのカーネル実行時間を測定した。(FPGA/DRAMの初期化、メモリ割当を除く)オリジナルBrainFrameと、三つのステンシルベースの構成を比較する。設定項目は、シミュレーション時間200ms、時間ステップ0.05ms、ステップ総数4,000、外部入力電流6.0μA、外部の誘発入力のタイミング100-125msとした。
【0027】
接続行列を用いるリファレンスCコードに対するステンシル計算パターンのカスタマイズを行った正確性を評価する。神経細胞の発火と持続振動の波形はほぼ同じであった。誤差は0.03%未満の値であった。
【0028】
10,000ニューロン規模シミュレーションの実行時間
10,000ニューロンからなる下オリーブ核の実時間シミュレーションを行った。
(1)64コアCPU向けデュアルソケットの基本的な構成と、(2)DRAMとFPGA上にパイプラインを構築した構成と、(3)FPGA上にBRAMおよびパイプラインを構築した構成のシミュレーション時間を評価する。
実行時間は、(1)CPU(64スレッド)983ms(オープンMPで並列化)、(2)DRAMとシングルパイプライン342ms、(3)BRAMおよびシングルパイプライン234ms、(2’)DRAMとダブルパイプライン188ms、(3’)BRAMおよびダブルパイプライン131msであった。シングルパイプラインでもCPUより高速だが、実時間シミュレーションではない。パイプライン数を2とすると、10,000ニューロンで実時間シミュレーションを実現できた。つまり、シミュレーション時間200ms以内に10,000ニューロン規模のシミュレーションを実行できた。また、DRAMを用いる構成はBRAMを用いる構成より1.5倍遅い。これは、メモリのスループットに依存するからである。
【0029】
図5に示すように、BrainFrame(200MHz、アンローリングファクター16)と三つの構成の実行時間を比較した。実時間シミュレーション時間は200ms未満である。20,736個のニューロンからなるネットワーク(神経網)の規模まで実時間処理が可能であった。BrainFrameに対し21.6倍(BrainFrameは960ニューロンに対しストリーム構成は20,736ニューロン)のニューロン数で実時間シミュレーションが可能であった。ストリーム構成によるシミュレーションの規模は、632ステージのディープパイプラインのデータフローと同等であり、既存のBrainFrameの実装より66.8倍大きいものである。
【0030】
39,204個のニューロンまでの脳神経回路シミュレーションが、ニューロン数に比例した実行時間で処理可能なスケーラビリティを確認した。
【0031】
また、評価実験により、ニューロン数の規模が大きくなってもメモリ消費を抑えるとともに、大量のメモリアクセスが発生することによる処理速度低下を防ぐことができることを確認した。