JP2021528730A - メタデータを使用したニューラルネットワークにおける日和見的な負荷分散のための方法及びシステム - Google Patents
メタデータを使用したニューラルネットワークにおける日和見的な負荷分散のための方法及びシステム Download PDFInfo
- Publication number
- JP2021528730A JP2021528730A JP2020567798A JP2020567798A JP2021528730A JP 2021528730 A JP2021528730 A JP 2021528730A JP 2020567798 A JP2020567798 A JP 2020567798A JP 2020567798 A JP2020567798 A JP 2020567798A JP 2021528730 A JP2021528730 A JP 2021528730A
- Authority
- JP
- Japan
- Prior art keywords
- metadata
- computational
- neuron
- neural network
- neurons
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 20
- 210000002569 neuron Anatomy 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 abstract description 12
- 239000010410 layer Substances 0.000 description 47
- 238000012545 processing Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 18
- 238000003860 storage Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- 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
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【選択図】図8
Description
本出願は、2018年6月26日に出願された米国非仮特許出願第16/019374号の利点を主張するものであり、その内容は、ここで参照によって本明細書に組み込まれる。
Claims (20)
- ニューラルネットワークシステムにおける負荷分散のための方法であって、
前記ニューラルネットワークシステムの一部の代表的な計算コストを取得することと、
前記ニューラルネットワークシステムの前記一部をメタデータでタグ付けすることであって、前記メタデータが前記代表的な計算コストを含む、前記タグ付けすることと、
スケジューラにより、処理されている現在の層に後続する層に実行に利用可能なニューロンが存在することを検知することと、
前記メタデータ及びニューロンの利用可能性を使用して、前記スケジューラにより、計算リソースにわたるスケジューリング及び負荷分散を行うことと、
を含む、方法。 - 前記ニューラルネットワークシステムの前記一部が、計算カーネル、ニューロン及び層のうちの少なくとも1つである、請求項1に記載の方法。
- 前記メタデータが、カーネルサイズ、フィルタサイズ、ドロップアウト層、層に存在するニューロンの数、ニューロンの準備性、及び活性化関数のうちの少なくとも1つを含む、請求項1に記載の方法。
- 前記ニューロンの準備性が、ニューロン間の依存関係を説明する、請求項3に記載の方法。
- 前記ニューロンの準備性が、前記ニューロンの準備性に関連付けられたニューロンがプルーニングされた後に更新される、請求項4に記載の方法。
- 前記メタデータが、アプリケーション、フレームワークまたはユーザのうちの少なくとも1つによって前記ニューラルネットワークシステムの前記一部にタグ付けされる、請求項1に記載の方法。
- 前記メタデータが、命令、スカラレジスタ、メモリ及びハードウェアテーブルのうちの少なくとも1つに記憶される、請求項1に記載の方法。
- 前記メタデータの位置が、メタデータサイズ、圧縮能力、メタデータが獲得される場所、及び前記メタデータを使用するスケジューラの種類のうちの少なくとも1つに依存する、請求項1に記載の方法。
- 計算コストが、前記代表的な計算コストから決定される、請求項1に記載の方法。
- 前記代表的な計算コストが、カーネルサイズ、評価時間及びカーネル実行時間のうちの少なくとも1つを含む、請求項9に記載の方法。
- ニューラルネットワークシステムにおける負荷分散のためのシステムであって、
メタデータでタグ付けされた前記ニューラルネットワークシステムの一部であって、前記メタデータが、前記ニューラルネットワークシステムの前記一部に関連付けられた代表的な計算コストを含む、前記ニューラルネットワークシステムの前記一部と、
前記ニューラルネットワークシステムの前記一部に接続されたスケジューラであって、
処理されている現在の層に後続する層に実行に利用可能なニューロンが存在することを検知し、
前記メタデータ及びニューロンの利用可能性を使用して計算リソースにわたるスケジューリング及び負荷分散を行う、前記スケジューラと、
を含む、システム。 - 前記ニューラルネットワークシステムの前記一部が、計算カーネル、ニューロン及び層のうちの少なくとも1つである、請求項11に記載のシステム。
- 前記メタデータが、カーネルサイズ、フィルタサイズ、ドロップアウト層、層に存在するニューロンの数、ニューロンの準備性、及び活性化関数のうちの少なくとも1つを含む、請求項11に記載のシステム。
- 前記ニューロンの準備性が、ニューロン間の依存関係を説明する、請求項13に記載のシステム。
- 前記ニューロンの準備性が、前記ニューロンの準備性に関連付けられたニューロンがプルーニングされた後に更新される、請求項14に記載のシステム。
- 前記メタデータが、アプリケーション、フレームワークまたはユーザのうちの少なくとも1つによって前記ニューラルネットワークシステムの前記一部にタグ付けされる、請求項11に記載のシステム。
- 前記メタデータが、少なくとも、命令、スカラレジスタ、メモリ及びハードウェアテーブルに記憶される、請求項11に記載のシステム。
- 前記メタデータの位置が、メタデータサイズ、メタデータが獲得される場合の圧縮能力、及び前記メタデータを使用するスケジューラの種類のうちの少なくとも1つに依存する、請求項11に記載のシステム。
- 計算コストが、前記代表的な計算コストから決定される、請求項11に記載のシステム。
- 前記代表的な計算コストが、カーネルサイズ、評価時間及びカーネル実行時間のうちの少なくとも1つを含む、請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/019,374 US10970120B2 (en) | 2018-06-26 | 2018-06-26 | Method and system for opportunistic load balancing in neural networks using metadata |
US16/019,374 | 2018-06-26 | ||
PCT/US2019/033247 WO2020005412A2 (en) | 2018-06-26 | 2019-05-21 | Method and system for opportunistic load balancing in neural networks using metadata |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021528730A true JP2021528730A (ja) | 2021-10-21 |
JP7430143B2 JP7430143B2 (ja) | 2024-02-09 |
Family
ID=68981816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020567798A Active JP7430143B2 (ja) | 2018-06-26 | 2019-05-21 | メタデータを使用したニューラルネットワークにおける日和見的な負荷分散のための方法及びシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US10970120B2 (ja) |
EP (1) | EP3815002A4 (ja) |
JP (1) | JP7430143B2 (ja) |
KR (1) | KR20210013707A (ja) |
CN (1) | CN112219192A (ja) |
WO (1) | WO2020005412A2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261903B2 (en) * | 2017-04-17 | 2019-04-16 | Intel Corporation | Extend GPU/CPU coherency to multi-GPU cores |
US10892953B2 (en) * | 2018-02-23 | 2021-01-12 | Nec Corporation | Network-based application acceleration |
US11645534B2 (en) * | 2018-09-11 | 2023-05-09 | Intel Corporation | Triggered operations to improve allreduce overlap |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2486119A (en) | 2009-08-28 | 2012-06-06 | Pneuron Corp | System and method using neural networks for real-time business intelligence and automation control |
US20160335119A1 (en) | 2015-05-12 | 2016-11-17 | minds.ai inc | Batch-based neural network system |
US9916283B2 (en) * | 2015-12-22 | 2018-03-13 | 1Qg Information Technologies Inc. | Method and system for solving a problem involving a hypergraph partitioning |
US20180082181A1 (en) | 2016-05-13 | 2018-03-22 | Samsung Electronics, Co. Ltd. | Neural Network Reordering, Weight Compression, and Processing |
AU2016203619A1 (en) * | 2016-05-31 | 2017-12-14 | Canon Kabushiki Kaisha | Layer-based operations scheduling to optimise memory for CNN applications |
WO2018045361A1 (en) | 2016-09-02 | 2018-03-08 | Synopsys Inc. | Partitioning using a correlation meta-heuristic |
CN110050267B (zh) | 2016-12-09 | 2023-05-26 | 北京地平线信息技术有限公司 | 用于数据管理的系统和方法 |
US10019668B1 (en) * | 2017-05-19 | 2018-07-10 | Google Llc | Scheduling neural network processing |
-
2018
- 2018-06-26 US US16/019,374 patent/US10970120B2/en active Active
-
2019
- 2019-05-21 CN CN201980037280.4A patent/CN112219192A/zh active Pending
- 2019-05-21 KR KR1020207035787A patent/KR20210013707A/ko not_active Application Discontinuation
- 2019-05-21 EP EP19825016.9A patent/EP3815002A4/en active Pending
- 2019-05-21 JP JP2020567798A patent/JP7430143B2/ja active Active
- 2019-05-21 WO PCT/US2019/033247 patent/WO2020005412A2/en unknown
-
2021
- 2021-04-05 US US17/222,543 patent/US11880715B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20210013707A (ko) | 2021-02-05 |
EP3815002A2 (en) | 2021-05-05 |
US11880715B2 (en) | 2024-01-23 |
WO2020005412A3 (en) | 2020-10-22 |
US20190391850A1 (en) | 2019-12-26 |
CN112219192A (zh) | 2021-01-12 |
US20210224130A1 (en) | 2021-07-22 |
WO2020005412A2 (en) | 2020-01-02 |
JP7430143B2 (ja) | 2024-02-09 |
EP3815002A4 (en) | 2022-04-06 |
US10970120B2 (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442795B2 (en) | Convergence among concurrently executing threads | |
KR101590734B1 (ko) | 그래픽 프로세싱 유닛에서의 메모리 공유 | |
KR101559090B1 (ko) | 이종 코어를 위한 자동 커널 마이그레이션 | |
US8782645B2 (en) | Automatic load balancing for heterogeneous cores | |
US11880715B2 (en) | Method and system for opportunistic load balancing in neural networks using metadata | |
US20140157287A1 (en) | Optimized Context Switching for Long-Running Processes | |
US11847497B2 (en) | Methods and apparatus to enable out-of-order pipelined execution of static mapping of a workload | |
US10558418B2 (en) | Monitor support on accelerated processing device | |
Jääskeläinen et al. | Exploiting task parallelism with OpenCL: a case study | |
Liu et al. | π-rt: A runtime framework to enable energy-efficient real-time robotic vision applications on heterogeneous architectures | |
Li et al. | Efficient algorithms for task mapping on heterogeneous CPU/GPU platforms for fast completion time | |
US20190318229A1 (en) | Method and system for hardware mapping inference pipelines | |
US20190354833A1 (en) | Method and system for reducing communication frequency in neural network systems | |
Han et al. | GPU-SAM: Leveraging multi-GPU split-and-merge execution for system-wide real-time support | |
US11847507B1 (en) | DMA synchronization using alternating semaphores | |
Aghapour et al. | Pipelined CNN Inference on Heterogeneous Multi-processor System-on-Chip | |
US11836518B2 (en) | Processor graph execution using interrupt conservation | |
US20230273818A1 (en) | Highly parallel processing architecture with out-of-order resolution | |
US20230333825A1 (en) | Control of storage aliasing via automatic application of artificial dependences during program compilation | |
Metzger | Programmer-transparent efficient parallelism with skeletons | |
WO2023172660A1 (en) | Highly parallel processing architecture with out-of-order resolution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231010 |
|
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: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7430143 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |