JP7125425B2 - 最適化されたディープネットワーク処理のためのグラフマッチング - Google Patents
最適化されたディープネットワーク処理のためのグラフマッチング Download PDFInfo
- Publication number
- JP7125425B2 JP7125425B2 JP2019558376A JP2019558376A JP7125425B2 JP 7125425 B2 JP7125425 B2 JP 7125425B2 JP 2019558376 A JP2019558376 A JP 2019558376A JP 2019558376 A JP2019558376 A JP 2019558376A JP 7125425 B2 JP7125425 B2 JP 7125425B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- source code
- neural network
- representation
- code representation
- 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
Links
- 238000012545 processing Methods 0.000 title description 26
- 238000013528 artificial neural network Methods 0.000 claims description 78
- 230000015654 memory Effects 0.000 claims description 40
- 238000000034 method Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 67
- 238000010586 diagram Methods 0.000 description 11
- 230000004913 activation Effects 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 5
- 239000004744 fabric Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4436—Exlining; Procedural abstraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Description
ニューラルネットワークは、益々多くのタイプのアプリケーションで使用されている。例えば、ニューラルネットワークは、パターン認識及び分類の分野において使用されている。ニューラルネットワークは、各々が受容野を有し、集合的に入力空間を構成するニューロンの集合を含むことができる。多層型ニューラルネットワークでは、第1層のニューロン(又は、計算ユニット)の出力が第2層のニューロンの入力となり、第2層のニューロンの出力が第3層のニューロンの入力となり、以下同様である。ニューラルネットワークは、機能の階層を認識するようにトレーニングすることができる。したがって、ニューラルネットワークは、物体認識及び他のアプリケーションにおいて益々使用されるようになっている。
Claims (17)
- メモリと、
前記メモリに接続されたプロセッサと、を備えるシステムであって、
ニューラルネットワークのソースコード表現を受信することと、
1つ以上のパターンの指標を受信することと、
パターン毎に、対応する結合層を特定することと、
前記ソースコード表現が前記1つ以上のパターンのオカレンスを含むか否かを判別することと、
前記1つ以上のパターンのオカレンスを、対応する結合層に置換することと、
前記ニューラルネットワークの最適化された表現を生成することであって、前記最適化された表現は前記単一の結合層を含む、ことと、
を行うように構成されている、
システム。 - 前記ソースコード表現は有向非巡回グラフ(DAG)である、
請求項1のシステム。 - 前記1つ以上のパターンの各々は、前記DAG内の2つ以上の隣接するノードを含む、
請求項2のシステム。 - 前記システムは、
前記ニューラルネットワークによって処理されている入力データセットのサイズの指標を受信することと、
前記ソースコード表現内で第2パターンを検出することであって、前記第2パターンは2つ以上の隣接する層を含む、ことと、
前記第2パターンを任意に置換するための第2結合層を特定することと、
前記入力データセットのサイズに基づいて、前記第2結合層のメモリ使用率を計算することと、
前記メモリ使用率が閾値未満であると判別したことに応じて、前記ソースコード表現内の前記第2パターンを前記第2結合層に置換することと、
前記メモリ使用率が前記閾値以上であると判別したことに応じて、前記ソースコード表現内の前記第2パターンを維持することと、
を行うように構成されている、
請求項1のシステム。 - 前記単一の結合層の動作を実行するために単一のカーネルが呼び出される、
請求項1のシステム。 - 前記最適化された表現を利用して、前記ニューラルネットワークの実行可能なバージョンを生成する、
請求項1のシステム。 - ニューラルネットワークのソースコード表現を受信することと、
1つ以上のパターンの指標を受信することと、
パターン毎に、対応する結合層を特定することと、
前記ソースコード表現が前記1つ以上のパターンのオカレンスを含むか否かを判別することと、
前記1つ以上のパターンのオカレンスを、対応する結合層に置換することと、
前記ニューラルネットワークの最適化された表現を生成することであって、前記最適化された表現は前記単一の結合層を含む、ことと、を含む、
方法。 - 前記ソースコード表現は有向非巡回グラフ(DAG)である、
請求項7の方法。 - 前記1つ以上のパターンの各々は、前記DAG内の2つ以上の隣接するノードを含む、
請求項8の方法。 - 前記ニューラルネットワークによって処理されている入力データセットのサイズの指標を受信することと、
前記ソースコード表現内で第2パターンを検出することであって、前記第2パターンは2つ以上の隣接する層を含む、ことと、
前記第2パターンを任意に置換するための第2結合層を特定することと、
前記入力データセットのサイズに基づいて、前記第2結合層のメモリ使用率を計算することと、
前記メモリ使用率が閾値未満であると判別したことに応じて、前記ソースコード表現内の前記第2パターンを前記第2結合層に置換することと、
前記メモリ使用率が前記閾値以上であると判別したことに応じて、前記ソースコード表現内の前記第2パターンを維持することと、をさらに含む、
請求項7の方法。 - 前記単一の結合層の動作を実行するために単一のカーネルが呼び出される、
請求項7の方法。 - 前記最適化された表現を利用して、前記ニューラルネットワークの実行可能なバージョンを生成する、
請求項7の方法。 - プログラム命令を記憶するコンピュータ可読記憶媒体であって、
前記プログラム命令は、
ニューラルネットワークのソースコード表現を受信することと、
1つ以上のパターンの指標を受信することと、
パターン毎に、対応する結合層を特定することと、
前記ソースコード表現が前記1つ以上のパターンのオカレンスを含むか否かを判別することと、
前記1つ以上のパターンのオカレンスを、対応する結合層に置換することと、
前記ニューラルネットワークの最適化された表現を生成することであって、前記最適化された表現は前記単一の結合層を含む、ことと、
をプロセッサに実行させる、
コンピュータ可読記憶媒体。 - 前記ソースコード表現は有向非巡回グラフ(DAG)である、
請求項13のコンピュータ可読記憶媒体。 - 前記1つ以上のパターンの各々は、前記DAG内の2つ以上の隣接するノードを含む、
請求項14のコンピュータ可読記憶媒体。 - 前記プログラム命令は、
前記ニューラルネットワークによって処理されている入力データセットのサイズの指標を受信することと、
前記ソースコード表現内で第2パターンを検出することであって、前記第2パターンは2つ以上の隣接する層を含む、ことと、
前記第2パターンを任意に置換するための第2結合層を特定することと、
前記入力データセットのサイズに基づいて、前記第2結合層のメモリ使用率を計算することと、
前記メモリ使用率が閾値未満であると判別したことに応じて、前記ソースコード表現内の前記第2パターンを前記第2結合層に置換することと、
前記メモリ使用率が前記閾値以上であると判別したことに応じて、前記ソースコード表現内の前記第2パターンを維持することと、
をプロセッサに実行させる、
請求項13のコンピュータ可読記憶媒体。 - 前記単一の結合層の動作を実行するために単一のカーネルが呼び出される、
請求項13のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/498,943 | 2017-04-27 | ||
US15/498,943 US20180314945A1 (en) | 2017-04-27 | 2017-04-27 | Graph matching for optimized deep network processing |
PCT/US2018/029699 WO2018200899A1 (en) | 2017-04-27 | 2018-04-27 | Graph matching for optimized deep network processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020518068A JP2020518068A (ja) | 2020-06-18 |
JP7125425B2 true JP7125425B2 (ja) | 2022-08-24 |
Family
ID=62148543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019558376A Active JP7125425B2 (ja) | 2017-04-27 | 2018-04-27 | 最適化されたディープネットワーク処理のためのグラフマッチング |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180314945A1 (ja) |
EP (1) | EP3616133A1 (ja) |
JP (1) | JP7125425B2 (ja) |
KR (1) | KR102598173B1 (ja) |
CN (1) | CN110574045B (ja) |
WO (1) | WO2018200899A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111133458B (zh) | 2017-09-15 | 2024-05-03 | 谷歌有限责任公司 | 增强神经网络 |
WO2020042739A1 (zh) * | 2018-08-28 | 2020-03-05 | 中科寒武纪科技股份有限公司 | 数据预处理方法、装置、计算机设备和存储介质 |
US11194688B1 (en) * | 2019-05-08 | 2021-12-07 | Amazon Technologies, Inc. | Application architecture optimization and visualization |
US11610134B2 (en) * | 2019-07-08 | 2023-03-21 | Vianai Systems, Inc. | Techniques for defining and executing program code specifying neural network architectures |
US11720417B2 (en) * | 2020-08-06 | 2023-08-08 | Micron Technology, Inc. | Distributed inferencing using deep learning accelerators with integrated random access memory |
US11216752B1 (en) | 2020-12-01 | 2022-01-04 | OctoML, Inc. | Optimizing machine learning models |
CN112784829B (zh) * | 2021-01-21 | 2024-05-21 | 北京百度网讯科技有限公司 | 一种票据信息的提取方法、装置、电子设备及存储介质 |
KR20220122562A (ko) | 2021-02-26 | 2022-09-02 | 경희대학교 산학협력단 | 서브 그래프 매칭 방법 및 장치 |
US11797280B1 (en) * | 2021-06-30 | 2023-10-24 | Amazon Technologies, Inc. | Balanced partitioning of neural network based on execution latencies |
CN114691330A (zh) | 2022-03-28 | 2022-07-01 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002236906A (ja) | 2001-02-09 | 2002-08-23 | Fuji Electric Co Ltd | 積結合型ニューラルネットワークの最適化学習方法 |
US20160358070A1 (en) | 2015-06-04 | 2016-12-08 | Samsung Electronics Co., Ltd. | Automatic tuning of artificial neural networks |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1960867A4 (en) * | 2005-12-13 | 2010-10-13 | Crossbeam Systems Inc | SYSTEMS AND METHOD FOR PROCESSING DATA FLOWS |
US8225074B2 (en) * | 2008-10-02 | 2012-07-17 | Nec Laboratories America, Inc. | Methods and systems for managing computations on a hybrid computing platform including a parallel accelerator |
US9377954B2 (en) * | 2014-05-09 | 2016-06-28 | Advanced Micro Devices, Inc. | System and method for memory allocation in a multiclass memory system |
US10223635B2 (en) * | 2015-01-22 | 2019-03-05 | Qualcomm Incorporated | Model compression and fine-tuning |
US10489703B2 (en) * | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
US10102478B2 (en) * | 2015-06-26 | 2018-10-16 | Conduent Business Services, Inc. | Distributed and privacy-preserving prediction method |
US10157045B2 (en) * | 2016-11-17 | 2018-12-18 | The Mathworks, Inc. | Systems and methods for automatically generating code for deep learning systems |
-
2017
- 2017-04-27 US US15/498,943 patent/US20180314945A1/en not_active Abandoned
-
2018
- 2018-04-27 KR KR1020197034458A patent/KR102598173B1/ko active IP Right Grant
- 2018-04-27 WO PCT/US2018/029699 patent/WO2018200899A1/en unknown
- 2018-04-27 CN CN201880027542.4A patent/CN110574045B/zh active Active
- 2018-04-27 JP JP2019558376A patent/JP7125425B2/ja active Active
- 2018-04-27 EP EP18724099.9A patent/EP3616133A1/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002236906A (ja) | 2001-02-09 | 2002-08-23 | Fuji Electric Co Ltd | 積結合型ニューラルネットワークの最適化学習方法 |
US20160358070A1 (en) | 2015-06-04 | 2016-12-08 | Samsung Electronics Co., Ltd. | Automatic tuning of artificial neural networks |
Also Published As
Publication number | Publication date |
---|---|
KR20200002027A (ko) | 2020-01-07 |
EP3616133A1 (en) | 2020-03-04 |
KR102598173B1 (ko) | 2023-11-06 |
WO2018200899A1 (en) | 2018-11-01 |
CN110574045A (zh) | 2019-12-13 |
CN110574045B (zh) | 2024-02-09 |
JP2020518068A (ja) | 2020-06-18 |
US20180314945A1 (en) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7125425B2 (ja) | 最適化されたディープネットワーク処理のためのグラフマッチング | |
US11544545B2 (en) | Structured activation based sparsity in an artificial neural network | |
Ignatov et al. | Ai benchmark: Running deep neural networks on android smartphones | |
US11734006B2 (en) | Deep vision processor | |
US20220129752A1 (en) | Memory bandwidth reduction techniques for low power convolutional neural network inference applications | |
US11461615B2 (en) | System and method of memory access of multi-dimensional data | |
US11615297B2 (en) | Structured weight based sparsity in an artificial neural network compiler | |
JP7434146B2 (ja) | ニューラルネットワークの、アーキテクチャに最適化された訓練 | |
US11551028B2 (en) | Structured weight based sparsity in an artificial neural network | |
JP7451614B2 (ja) | オンチップの計算ネットワーク | |
US20200279133A1 (en) | Structured Sparsity Guided Training In An Artificial Neural Network | |
US20200302285A1 (en) | Auto generation and tuning tool for convolution kernels | |
US11694075B2 (en) | Partitioning control dependency edge in computation graph | |
Chen et al. | A high-throughput neural network accelerator | |
Cooke et al. | A tradeoff analysis of FPGAs, GPUs, and multicores for sliding-window applications | |
US11921814B2 (en) | Method and device for matrix multiplication optimization using vector registers | |
Rakvic et al. | Parallelizing iris recognition | |
US20210406209A1 (en) | Allreduce enhanced direct memory access functionality | |
JP2022505316A (ja) | 不可逆スパースロードsimd命令ファミリ | |
CN114846452A (zh) | 零值存储器压缩 | |
Silva et al. | Cuda-based parallelization of power iteration clustering for large datasets | |
Eid et al. | Hardware implementation of YOLOv4-tiny for object detection | |
US11947487B2 (en) | Enabling accelerated processing units to perform dataflow execution | |
Gao et al. | Reconfigurable hardware generation for tensor flow models of cnn algorithms on a heterogeneous acceleration platform | |
Cong et al. | Design Space Exploration of Heterogeneous-Accelerator SoCs with Hyperparameter Optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220524 |
|
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: 20220628 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7125425 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |