JP6890741B2 - アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム - Google Patents

アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム Download PDF

Info

Publication number
JP6890741B2
JP6890741B2 JP2021506820A JP2021506820A JP6890741B2 JP 6890741 B2 JP6890741 B2 JP 6890741B2 JP 2021506820 A JP2021506820 A JP 2021506820A JP 2021506820 A JP2021506820 A JP 2021506820A JP 6890741 B2 JP6890741 B2 JP 6890741B2
Authority
JP
Japan
Prior art keywords
architecture
combination
layer
layers
candidates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021506820A
Other languages
English (en)
Other versions
JPWO2020188658A1 (ja
Inventor
山本 亮
亮 山本
秀知 岩河
秀知 岩河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6890741B2 publication Critical patent/JP6890741B2/ja
Publication of JPWO2020188658A1 publication Critical patent/JPWO2020188658A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Advance Control (AREA)

Description

本発明は、アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラムに関する。特に、最適なNN(ニューラルネットワーク)アーキテクチャを生成するアーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラムに関する。
近年、人工知能といった分野では、多層のニューラルネットワークであるDNN(ディープニューラルネットワーク)による機械学習手法が注目されている。この機械学習手法のアルゴリズムは、深層学習といわれる。
非特許文献1では、ニューラルネットワークが入力されると、RTL(Register Transfer Level)が生成される技術が開示されている。非特許文献1では、内部的には高位合成が動作する。
An Object Detector based on Multiscale Sliding Window Search using a Fully Pipelined Binarized CNN on an FPGA
非特許文献1の技術では、処理時間の要求によっては、回路規模が最小とはならないアーキテクチャが取得される。つまり、ニューロン数および層数といったNN情報と処理時間および回路規模といった非機能要件とから、最適な回路アーキテクチャを得ることができない場合がある。
人工知能の処理は重たく、回路規模が大きくなる傾向にある。そのため、人工知能処理を開発する開発者あるいは回路の部品を選ぶ回路設計者には、その人工知能の処理がどのくらいの回路規模となるかを予め見積もりたいという要望がある。しかし、非特許文献1の技術では、最適な回路アーキテクチャを得ることができないため、回路規模と適切に見積もることはできないという課題がある。
本発明は、非機能要件を満たす回路アーキテクチャの候補を迅速かつ適切に推定することにより、より的確な回路アーキテクチャの見積もりを支援することを目的とする。
本発明に係るアーキテクチャ推定装置は、複数の層を備えたニューラルネットワークモデルにより表される動作を実行する回路のアーキテクチャを推定するアーキテクチャ推定装置において、
前記ニューラルネットワークモデルを表すニューラルネットワーク情報と、前記回路に要求される非機能要件とを受け付ける受付部と、
前記複数の層の層間のアーキテクチャである層間アーキテクチャと、前記複数の層の各層ごとの層内のアーキテクチャである層内アーキテクチャとの組み合わせをアーキテクチャ組み合わせとして生成し、前記アーキテクチャ組み合わせから前記非機能要件として遅延量を削減するアーキテクチャ組み合わせの候補を複数のアーキテクチャ組み合わせ候補として探索する探索部と、
前記複数のアーキテクチャ組み合わせ候補の各々について、前記非機能要件を満たすか否かを判定する判定部と、
前記複数のアーキテクチャ組み合わせ候補のうち前記非機能要件を満たすアーキテクチャ組み合わせ候補をアーキテクチャ候補として含む候補情報を生成する候補情報生成部と
を備えた。
本発明に係るアーキテクチャ推定装置によれば、非機能要件を満たす回路アーキテクチャの候補を迅速かつ適切に推定することにより、より的確な回路アーキテクチャの見積もりを支援することができる。
実施の形態1に係るアーキテクチャ推定装置の構成図。 実施の形態1に係るアーキテクチャ推定装置の入出力の例。 実施の形態1に係るNN情報の構成例。 実施の形態1に係る非機能要件の構成例。 実施の形態1に係るアーキテクチャ推定装置の動作を表すフロー図。 実施の形態1に係るDNN情報を表す模式図。 実施の形態1に係るDNN構造の層内アーキテクチャの処理構成例。 実施の形態1に係るDNN構造の時分割アーキテクチャを示す図。 実施の形態1に係るDNN構造の非同期型パイプラインアーキテクチャを示す図。 実施の形態1に係るパターン情報の例を示す図。 実施の形態1に係るアーキテクチャ別の処理時間と乗算器数の見積もり方式を示す図。 実施の形態1に係る非同期型パイプラインアーキテクチャにおけるパターン別の遅延量の見積もり詳細を示す図。 実施の形態1に係る非同期型パイプラインアーキテクチャにおけるパターン別の遅延量の見積もり詳細を示す図。 実施の形態1に係る候補情報の構成例。 実施の形態1の変形例に係るアーキテクチャ推定装置の構成図。
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係るアーキテクチャ推定装置100の構成について説明する。
アーキテクチャ推定装置100は、コンピュータである。アーキテクチャ推定装置100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
アーキテクチャ推定装置100は、機能要素として、受付部110と探索部120と判定部130と候補情報生成部140と記憶部150を備える。記憶部150には、NN情報151(ニューラルネットワーク情報)と非機能要件152とパターン情報153と候補情報154が記憶される。
受付部110と探索部120と判定部130と候補情報生成部140の機能は、ソフトウェアにより実現される。記憶部150は、メモリ921あるいは補助記憶装置922に備えられる。
プロセッサ910は、アーキテクチャ推定プログラムを実行する装置である。アーキテクチャ推定プログラムは、受付部110と探索部120と判定部130と候補情報生成部140の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
通信装置950は、レシーバとトランスミッタを有する。通信装置950は、無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。
アーキテクチャ推定プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、アーキテクチャ推定プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、アーキテクチャ推定プログラムを実行する。アーキテクチャ推定プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されているアーキテクチャ推定プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、アーキテクチャ推定プログラムの一部または全部がOSに組み込まれていてもよい。
アーキテクチャ推定装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、アーキテクチャ推定プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、アーキテクチャ推定プログラムを実行する装置である。
アーキテクチャ推定プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
受付部110と探索部120と判定部130と候補情報生成部140の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また受付処理と探索処理と判定処理と候補情報生成処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。
アーキテクチャ推定プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、アーキテクチャ推定方法は、アーキテクチャ推定装置100がアーキテクチャ推定プログラムを実行することにより行われる方法である。
アーキテクチャ推定プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、アーキテクチャ推定プログラムは、プログラムプロダクトとして提供されてもよい。
<アーキテクチャ推定装置100の入出力>
図2は、本実施の形態に係るアーキテクチャ推定装置100の入出力の例を示す図である。
アーキテクチャ推定装置100は、複数の層を備えたニューラルネットワークモデルにより表される動作を実行する回路のアーキテクチャを推定する装置である。
アーキテクチャ推定装置100には、入力インタフェース930あるいは通信装置950を介して、NN(ニューラルネットワーク)情報151と、非機能要件152とが入力される。そして、アーキテクチャ推定装置100は、出力インタフェース940あるいは通信装置950を介して、候補情報154を出力する。
図3は、本実施の形態に係るNN情報151の構成例である。
図4は、本実施の形態に係る非機能要件152の構成例である。
図3では、説明の簡単のために、NN情報151を表で表している。NN情報151は、複数の層を備えたニューラルネットワークモデルを表す。NN情報151は、全結合のDNN(Deep neural network)構造である。本実施の形態では、全結合のDNN構造で説明を行うが、全結合していない順伝播型のCNN(Convolutional Neural Network)構造でも適用可能である。
非機能要件152には、回路に要求される非機能要件が定義される。具体的には、非機能要件152には、回路に要求される遅延量が含まれる。具体的には、非機能要件152には、図4に示すように、要求する回路の遅延量、周期、およびDSP(Digital Signal Processor)数といった情報が定義されている。DSP数は、乗算器の数である。
アーキテクチャ推定装置100から出力される候補情報154については後述する。
***動作の説明***
次に、本実施の形態に係るアーキテクチャ推定装置100の動作について説明する。
図5は、本実施の形態に係るアーキテクチャ推定装置100の動作を表すフロー図である。
<受付処理:ステップS101>
ステップS101において、受付部110は、ニューラルネットワークモデルを表すNN情報151と、回路に要求される非機能要件152とを受け付ける。受付部110は、NN情報151と非機能要件152とを記憶部150に記憶する。具体的には、受付部110は、学習フレームワークで定義されたNNフォーマットを構文分析(パース)し、NN構造を取得する。NNフォーマットは、具体的には、Caffeであればprototxtである。
<探索処理:ステップS102>
ステップS102において、探索部120は、複数の層の層間のアーキテクチャである層間アーキテクチャ21と、複数の層の各層ごとの層内のアーキテクチャである層内アーキテクチャ22との組み合わせをアーキテクチャ組み合わせ121として生成する。探索部120は、アーキテクチャ組み合わせから、非機能要件152として遅延量を削減するアーキテクチャ組み合わせの候補を複数のアーキテクチャ組み合わせ候補122として探索する。
<探索処理:ステップS102の詳細>
図6は、本実施の形態に係るDNN情報151を表す模式図である。
図7は、本実施の形態に係るDNN構造の層内アーキテクチャの処理構成例である。
図8は、本実施の形態に係るDNN構造の時分割アーキテクチャを示す図である。
図9は、本実施の形態に係るDNN構造の非同期型パイプラインアーキテクチャを示す図である。
通常、DNN構造では、層間に、Poolingあるいはバッチ正規化といった処理が入る場合がある。しかし、図6のDNN情報151では説明を簡単にするため省略する。
また、図7に示すように、DNN構造の層内アーキテクチャ22には、処理の順序、すなわちループの順番と、ループの展開数分のアーキテクチャが存在する。
また、図8に示すように、DNN構造の層間アーキテクチャ21には、時分割回路による計算方式を取る時分割アーキテクチャが存在する。また、図9に示すように、DNN構造の層間アーキテクチャ21には、非同期型パイプライン回路による計算方式を取る非同期型パイプラインアーキテクチャが存在する。
探索部120は、ループの順序とループの展開数から決定される入力演算優先型アーキテクチャと出力演算優先型アーキテクチャとを層内アーキテクチャ22として、複数のアーキテクチャ組み合わせを探索する。また、探索部120は、時分割アーキテクチャと非同期型パイプラインアーキテクチャとを層間アーキテクチャ21として、複数のアーキテクチャ組み合わせを探索する。
まず、探索部120は、これらの処理方式のすべての組み合わせを構築し、全てのアーキテクチャ組み合わせ121を生成する。
図10は、本実施の形態に係るパターン情報153の例を示す図である。
図10に示すように、時分割アーキテクチャ211は、前層の計算が終わらないと、次の層の計算が開始できない。また、非同期型パイプラインアーキテクチャ212は、前層の計算結果を、後層が直ちに利用し、計算を開始できる。
パターン情報153には、層間アーキテクチャ21が非同期型パイプラインアーキテクチャ212であるアーキテクチャ組み合わせに対して遅延量を削減させる層内アーキテクチャ22の組み合わせパターンが記憶されている。図10のパターン情報153に示すように、前層と後層との組み合わせパターンが入力演算優先型アーキテクチャと出力演算優先型アーキテクチャとの組み合わせにより決定されている。
パターン情報153のパターン1からパターン4は、遅延量(レイテンシ)の削減が可能なアーキテクチャの組み合わせである。
探索部120は、全てのアーキテクチャ組み合わせ121から、層間アーキテクチャ21が非同期型パイプラインアーキテクチャであり、かつ、層内アーキテクチャ22の組み合わせパターンがパターン情報153を満たすアーキテクチャ組み合わせを、複数のアーキテクチャ組み合わせ候補122として探索する。
つまり、探索部120は、まず全てのアーキテクチャ組み合わせ121を生成し、全てのアーキテクチャ組み合わせ121から、パターン情報153に基づいて、複数のアーキテクチャ組み合わせ121を探索する。探索部120は、全てのアーキテクチャ組み合わせ121から、層間アーキテクチャ21が非同期型パイプラインアーキテクチャであり、かつ、層内アーキテクチャ22の組み合わせパターンがパターン情報153を満たすアーキテクチャ組み合わせを、複数のアーキテクチャ組み合わせ121として探索する。
<判定処理:ステップS103>
ステップS103において、判定部130は、複数のアーキテクチャ組み合わせ候補122の各々について、非機能要件152を満たすか否かを判定する。判定部130は、複数のアーキテクチャ組み合わせ候補122のうち、非機能要件152を満たすと判定したアーキテクチャ組み合わせ候補をアーキテクチャ候補131として出力する。
図11は、本実施の形態に係るアーキテクチャ別の処理時間と乗算器(DSP)数見積もり方式を示す図である。
図12および図13は、本実施の形態に係る非同期型パイプラインアーキテクチャにおけるパターン別の遅延量の見積もり詳細を示す図である。
判定部130は、図11から図13に示すような手法を用いて、複数のアーキテクチャ組み合わせ候補122について、非機能要件152を満たすか否かを判定する。
このように、アーキテクチャ推定装置100では、NN情報151から、層内アーキテクチャであるNNの計算順序を考慮し、各アーキテクチャで実現した場合の、DSP数、周期、および遅延量といったリソース情報を見積もる。このとき、高位合成は用いない。アーキテクチャ推定装置100では、非同期型パイプラインアーキテクチャにおいては、予めパターン情報153設定されているレイテンシ削減が可能なアーキテクチャの組み合わせを用いる。
<候補情報生成処理:ステップS104>
ステップS104において、候補情報生成部140は、複数のアーキテクチャ組み合わせ候補122のうち非機能要件152を満たすアーキテクチャ組み合わせ候補をアーキテクチャ候補131として含む候補情報154を生成する。候補情報生成部140は、判定部130からアーキテクチャ候補131を取得し、取得したアーキテクチャ候補131を候補情報154に設定することにより候補情報154を生成する。候補情報154は、出力インタフェース940あるいは通信装置950を介して、ディスプレイといった出力機器に出力される。
図14は、本実施の形態に係る候補情報154の構成例を示す図である。
1層、2層、および3層には、各層の層内アーキテクチャ22が設定される。非同期型パイプラインアーキテクチャにおける1層、2層、および3層の層内アーキテクチャ22の組み合わせは、パターン情報153を用いて決定される。層間アーキテクチャ21には、非同期型パイプラインアーキテクチャを表すASYNC、あるいは、時分割アーキテクチャを表すSEQが設定される。候補情報154では、1行に、アーキテクチャ候補131と、アーキテクチャ候補131について推定される非機能要件とが設定される。
AI開発者あるいは回路設計者は、人工知能の処理がどのくらいの回路規模となるかを、この候補情報154を用いて予め見積もることができる。
以上で、本実施の形態に係るアーキテクチャ推定装置100のアーキテクチャ推定処理についての説明を終わる。
***他の構成***
<変形例1>
本実施の形態では、受付部110と探索部120と判定部130と候補情報生成部140の機能がソフトウェアで実現される。変形例として、受付部110と探索部120と判定部130と候補情報生成部140の機能がハードウェアで実現されてもよい。
図15は、本実施の形態の変形例に係るアーキテクチャ推定装置100の構成を示す図である。
アーキテクチャ推定装置100は、電子回路909、メモリ921、補助記憶装置922、入力インタフェース930、および出力インタフェース940を備える。
電子回路909は、受付部110と探索部120と判定部130と候補情報生成部140の機能を実現する専用の電子回路である。
電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
受付部110と探索部120と判定部130と候補情報生成部140の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、受付部110と探索部120と判定部130と候補情報生成部140の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
また、別の変形例として、受付部110と探索部120と判定部130と候補情報生成部140の一部あるいはすべての機能が、ファームウェアで実現されていてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、アーキテクチャ推定装置100において、受付部110と探索部120と判定部130と候補情報生成部140の機能は、プロセッシングサーキットリにより実現される。
***本実施の形態の効果の説明***
本実施の形態に係るアーキテクチャ推定装置100は、ニューラルネットワークのモデルと、スループットとFPGA上で利用可能なDSP数とを含む非機能要件とを入力とする。そして、アーキテクチャ推定装置100は、非機能要件を満たすFPGA上のDNN回路構成を探索する。DNN計算順序最適化部は、DNNの各層の計算順序を変更する。また、アーキテクチャ推定装置100は、利用可能なDSP数を上限に、FPGA上で回路アーキテクチャを探索し、スループットとレイテンシを満足するFPGA上のアーキテクチャを出力する。アーキテクチャ推定装置100は、AI開発者あるいは設計者に依存せず、短時間で最適な回路の設計が可能になる。
また、本実施の形態に係るアーキテクチャ推定装置100は、回路実装知識がなくとも、短時間で最適なAI推論回路アーキテクチャを得ることができる。また、LSI化でどれくらい高速化できるか、回路規模が必要かを設計することなく、短時間で得ることができる。また、DNN回路情報(各層のレイテンシおよび規模)を出力することで、回路のボトルネックがわかり、DNN設計にフィードバックができる。
また、本実施の形態に係るアーキテクチャ推定装置100は、AI推論について、高性能かつ小規模な適切な回路アーキテクチャは要求されるネットワークに依存する。そのため、ネットワークに合った回路を生成できる。また、本実施の形態に係るアーキテクチャ推定装置100によれば、AIの層間アーキテクチャあるいは探索技術をDNNに特化し、層内の計算順序を変更し、複数の層間で最適な計算順序にすることができる。
また、本実施の形態に係るアーキテクチャ推定装置100は、DNNの各層の計算順序の変更を考慮して、設定されたDSP上限を制約に、取り得るアーキテクチャ全ての非機能を見積もることができる。そして、その中から、非機能要件を満たし、かつリソースが最も小さいアーキテクチャを選択することができる。このようにすることで、自動的に処理時間を満たし、かつ最小回路規模なアーキテクチャを取得することができる。
以上の実施の形態1では、アーキテクチャ推定装置の各部を独立した機能ブロックとして説明した。しかし、アーキテクチャ推定装置の構成は、上述した実施の形態のような構成でなくてもよい。アーキテクチャ推定装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、アーキテクチャ推定装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態1のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物あるいは用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
21 層間アーキテクチャ、22 層内アーキテクチャ、100 アーキテクチャ推定装置、110 受付部、120 探索部、121 アーキテクチャ組み合わせ、122 複数のアーキテクチャ組み合わせ候補、130 判定部、131 アーキテクチャ候補、140 候補情報生成部、150 記憶部、151 NN情報、152 非機能要件、153 パターン情報、154 候補情報、211 時分割アーキテクチャ、212 非同期型パイプラインアーキテクチャ、909 電子回路、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。

Claims (6)

  1. 複数の層を備えたニューラルネットワークモデルにより表される動作を実行する回路のアーキテクチャを推定するアーキテクチャ推定装置において、
    前記ニューラルネットワークモデルを表すニューラルネットワーク情報と、前記回路に要求される非機能要件とを受け付ける受付部と、
    前記複数の層の層間のアーキテクチャである層間アーキテクチャと、前記複数の層の各層ごとの層内のアーキテクチャである層内アーキテクチャとの組み合わせをアーキテクチャ組み合わせとして生成し、前記アーキテクチャ組み合わせから前記非機能要件として遅延量を削減するアーキテクチャ組み合わせの候補を複数のアーキテクチャ組み合わせ候補として探索する探索部と、
    前記複数のアーキテクチャ組み合わせ候補の各々について、前記非機能要件を満たすか否かを判定する判定部と、
    前記複数のアーキテクチャ組み合わせ候補のうち前記非機能要件を満たすアーキテクチャ組み合わせ候補をアーキテクチャ候補として含む候補情報を生成する候補情報生成部と
    を備えたアーキテクチャ推定装置。
  2. 前記受付部は、
    前記回路に要求される遅延量を含む前記非機能要件を受け付け、
    前記探索部は、
    時分割アーキテクチャと非同期型パイプラインアーキテクチャとを前記層間アーキテクチャとして前記複数のアーキテクチャ組み合わせ候補を探索する請求項1に記載のアーキテクチャ推定装置。
  3. 前記アーキテクチャ推定装置は、
    前記層間アーキテクチャが前記非同期型パイプラインアーキテクチャであるアーキテクチャ組み合わせに対して前記遅延量を削減させる層内アーキテクチャのパターンをパターン情報として記憶する記憶部を備え、
    前記層間アーキテクチャが前記非同期型パイプラインアーキテクチャであり、かつ、前記層内アーキテクチャの組み合わせパターンが前記パターン情報を満たすアーキテクチャ組み合わせを、前記複数のアーキテクチャ組み合わせ候補として探索する請求項2に記載のアーキテクチャ推定装置。
  4. 前記探索部は、
    ループの順序とループの展開数から決定される入力演算優先型アーキテクチャと出力演算優先型アーキテクチャとを前記層内アーキテクチャとして、前記複数のアーキテクチャ組み合わせ候補を探索し、
    前記パターン情報は、
    前層と後層との組み合わせパターンが前記入力演算優先型アーキテクチャと前記出力演算優先型アーキテクチャとの組み合わせにより決定されている請求項3に記載のアーキテクチャ推定装置。
  5. 複数の層を備えたニューラルネットワークモデルにより表される動作を実行する回路のアーキテクチャを推定するアーキテクチャ推定装置のアーキテクチャ推定方法において、
    受付部が、前記ニューラルネットワークモデルを表すニューラルネットワーク情報と、前記回路に要求される非機能要件とを受け付け、
    探索部が、前記複数の層の層間のアーキテクチャである層間アーキテクチャと、前記複数の層の各層ごとの層内のアーキテクチャである層内アーキテクチャとの組み合わせをアーキテクチャ組み合わせとして生成し、前記アーキテクチャ組み合わせから前記非機能要件として遅延量を削減するアーキテクチャ組み合わせの候補を複数のアーキテクチャ組み合わせ候補として探索し、
    判定部が、前記複数のアーキテクチャ組み合わせ候補の各々について、前記非機能要件を満たすか否かを判定し、
    候補情報生成部が、前記複数のアーキテクチャ組み合わせ候補のうち前記非機能要件を満たすアーキテクチャ組み合わせ候補をアーキテクチャ候補として含む候補情報を生成するアーキテクチャ推定方法。
  6. 複数の層を備えたニューラルネットワークモデルにより表される動作を実行する回路のアーキテクチャを推定するアーキテクチャ推定装置のアーキテクチャ推定プログラムにおいて、
    前記ニューラルネットワークモデルを表すニューラルネットワーク情報と、前記回路に要求される非機能要件とを受け付ける受付処理と、
    前記複数の層の層間のアーキテクチャである層間アーキテクチャと、前記複数の層の各層ごとの層内のアーキテクチャである層内アーキテクチャとの組み合わせをアーキテクチャ組み合わせとして生成し、前記アーキテクチャ組み合わせから前記非機能要件として遅延量を削減するアーキテクチャ組み合わせの候補を複数のアーキテクチャ組み合わせ候補として探索する探索処理と、
    前記複数のアーキテクチャ組み合わせ候補の各々について、前記非機能要件を満たすか否かを判定する判定処理と、
    前記複数のアーキテクチャ組み合わせ候補のうち前記非機能要件を満たすアーキテクチャ組み合わせ候補をアーキテクチャ候補として含む候補情報を生成する候補情報生成処理とをコンピュータであるアーキテクチャ推定装置に実行させるアーキテクチャ推定プログラム。
JP2021506820A 2019-03-15 2019-03-15 アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム Active JP6890741B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/010970 WO2020188658A1 (ja) 2019-03-15 2019-03-15 アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム

Publications (2)

Publication Number Publication Date
JP6890741B2 true JP6890741B2 (ja) 2021-06-18
JPWO2020188658A1 JPWO2020188658A1 (ja) 2021-09-13

Family

ID=72519712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021506820A Active JP6890741B2 (ja) 2019-03-15 2019-03-15 アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム

Country Status (3)

Country Link
US (1) US20210350216A1 (ja)
JP (1) JP6890741B2 (ja)
WO (1) WO2020188658A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694617B (zh) * 2018-12-29 2023-05-02 中科寒武纪科技股份有限公司 网络离线模型的处理方法、人工智能处理装置及相关产品
CN114330699A (zh) * 2020-09-28 2022-04-12 华为技术有限公司 神经网络结构搜索方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103606B2 (en) * 2006-12-08 2012-01-24 Medhat Moussa Architecture, system and method for artificial neural network implementation
EP3451237A4 (en) * 2016-04-28 2019-04-17 Sony Corporation INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD
WO2018066074A1 (ja) * 2016-10-04 2018-04-12 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP6936592B2 (ja) * 2017-03-03 2021-09-15 キヤノン株式会社 演算処理装置およびその制御方法

Also Published As

Publication number Publication date
WO2020188658A1 (ja) 2020-09-24
US20210350216A1 (en) 2021-11-11
JPWO2020188658A1 (ja) 2021-09-13

Similar Documents

Publication Publication Date Title
US7162704B2 (en) Method and apparatus for circuit design and retiming
US10684776B2 (en) Memory configuration for inter-processor communication in an MPSoC
Westby et al. FPGA acceleration on a multi-layer perceptron neural network for digit recognition
Lin et al. Hp-gnn: Generating high throughput gnn training implementation on cpu-fpga heterogeneous platform
Ma et al. Algorithm-hardware co-design of single shot detector for fast object detection on FPGAs
US8667441B2 (en) Clock optimization with local clock buffer control optimization
JP6890741B2 (ja) アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム
US8146039B2 (en) Optimal distance based buffer tree for data path and clock
CN116070557A (zh) 使用强化学习的数据路径电路设计
JP4396987B2 (ja) 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体
KR102002732B1 (ko) 앙상블 모델을 이용한 심층 신경망 기반 데이터 처리 방법 및 장치
JP5157534B2 (ja) 動作合成装置、および、プログラム
Rao et al. Vlsi design and analysis of multipliers for low power
US10599803B2 (en) High level synthesis apparatus, high level synthesis method, and computer readable medium
CN115293076A (zh) 生成电路的方法、电子设备及存储介质
JP6735951B2 (ja) 高位合成装置、高位合成方法および高位合成プログラム
Tufa et al. Acceleration of Deep neural network training using field programmable gate arrays
US10289786B1 (en) Circuit design transformation for automatic latency reduction
JP6342065B2 (ja) 回路設計支援装置及び回路設計支援方法及び回路設計支援プログラム
Lee et al. High-Speed CNN Accelerator SoC Design Based on a Flexible Diagonal Cyclic Array
CN115099176B (zh) 优化电路的方法、电子设备及存储介质
Huzyuk et al. Designing low-power and high-speed fpga-based binary decision tree hardware accelerators
Abid et al. Low power methodology for wishbone compatible IP cores based SoC design
US20240095430A1 (en) Power Prediction Systems, Circuitry and Methods
JP6545406B2 (ja) 高位合成装置、高位合成方法および高位合成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210322

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210322

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210525

R150 Certificate of patent or registration of utility model

Ref document number: 6890741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250