IP Library Granted Patent US 11,748,615
Granted Patent B1
US 11,748,615 · App. 16/704,971 · Granted Sep 5, 2023

Hardware-aware efficient neural network design system having differentiable neural architecture search

Inventors: Bichen Wu (Menlo Park, CA); Peizhao Zhang (Fremont, CA); Peter Vajda (Palo Alto, CA); Xiaoliang Dai (Princeton, NJ); Yanghan Wang (Sunnyvale, CA); Yuandong Tian (San Carlos, CA)
Assignee: META PLATFORMS, INC.
G06N3/08G06N3/045G06N3/047G06N3/082G06N3/084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,748,615
App. No.
16/704,971
Granted
Sep 5, 2023
Kind
B1
Abstract

Computer implemented systems are described that implement a differentiable neural architecture search (DNAS) engine executing on one or more processors. The DNAS engine is configured with a stochastic super net defining a layer-wise search space having a plurality of candidate layers, each of the candidate layers specifying one or more operators for a neural network architecture. Further, the DNAS engine is configured to process training data to train weights for the operators in the stochastic super net based on a loss function representing a latency of the respective operator on a target platform, and to select a set of candidate neural network architectures from the trained stochastic super net. The DNAS engine may, for example, be configured to train the stochastic super net by traversing the layer-wise search space using gradient-based optimization of network architecture distribution.

Claims (35)

1. A computer-implemented system comprising:

a differentiable neural architecture search (DNAS) engine executing on one or more processors, wherein the DNAS engine is configured with a stochastic super net defining a layer-wise search space having a plurality of candidate layers, each of the candidate layers specifying one or more operators for a neural network architecture,

wherein the DNAS engine is configured to train the stochastic super net by processing training data to train weights for the operators in the stochastic super net, wherein the DNAS engine is configured to train a weight for a respective operator based on a loss function representing a latency of the respective operator on a target platform, wherein the latency of the respective operator is based on an estimated runtime of the respective operator on the target platform that is independent of runtimes of other operators on the target platform, and

wherein the DNAS engine is configured to select a set of candidate neural network architectures from the trained stochastic super net.

2. The system of claim 1 , wherein the DNAS engine is configured to train the stochastic super net by traversing the layer-wise search space using gradient-based optimization of network architecture distribution.

3. The system of claim 1 ,

wherein the stochastic super net comprises each of the candidate layers having a plurality of parallel candidate blocks, and

wherein the DNAS engine is configured to train the stochastic super net by sampling each of the candidate layers to select and execute one of the candidate blocks from each of the candidate layers.

4. The system of claim 1 ,

wherein the layer-wise search space defines a set of input and output dimensions of image data for each of the candidate layers, and

wherein each of the candidate layers is associated with a corresponding image block type.

5. The system of claim 1 , wherein one or more of the candidate layers is associated with a corresponding number of output filters.

6. The system of claim 1 , wherein, to train the stochastic super net, the DNAS engine is configured to access a latency lookup table that defines the estimated runtime of the respective operator on the target platform.

7. A method comprising:

constructing a stochastic super net defining a layer-wise search space having a number of candidate layers, each of the candidate layers specifying one or more operators for a neural network architecture;

training the stochastic super net by processing training data to train weights for the operators in the stochastic super net, wherein training the stochastic super net includes training a weight for a respective operator based on a loss function associated with a latency of the respective operator on a target platform, wherein the latency of the respective operator is based on an estimated runtime of the respective operator on the target platform that is independent of runtimes of other operators on the target platform; and

selecting a set of candidate neural network architectures from the trained stochastic super net.

8. The method of claim 7 , wherein training the stochastic super net comprises traversing the layer-wise search space using a gradient-based optimization of network architecture distribution.

9. The method of claim 7 ,

wherein constructing the stochastic super net comprises constructing each of the candidate layers to have a plurality of parallel candidate blocks, and

wherein training the stochastic super net comprises sampling each of the candidate layers to select and execute, with the training data, one of the candidate blocks from each of the candidate layers.

10. The method of claim 7 ,

wherein constructing the stochastic super net comprises constructing the layer-wise search space to define a set of input and output dimensions of image data for each of the candidate layers and associating each of the candidate layers with a corresponding image block type.

11. The method of claim 7 , wherein training the stochastic super net comprises accessing a latency lookup table that defines the estimated runtime of the respective operator on the target platform.

12. A computer-readable medium comprising instructions for causing one or more programmable processors to:

construct a stochastic super net defining a layer-wise search space having a number of candidate layers, each of the candidate layers specifying one or more operators for a neural network architecture;

train the stochastic super net by processing training data to train weights for the operators in the stochastic super net, wherein the instructions cause the one or more programmable processors to train a weight for a respective operator based on a loss function associated with a latency of the respective operator on a target platform, wherein the latency of the respective operator is based on an estimated runtime of the respective operator on the target platform that is independent of runtimes of other operators on the target platform; and

select a set of candidate neural network architectures from the trained stochastic super net.

13. The computer-readable medium of claim 12 , further comprising instructions to train the stochastic super net by traversing the layer-wise search space using a gradient-based optimization of network architecture distribution.

14. The computer-readable medium of claim 12 , further comprising instructions to:

construct the stochastic super net by constructing each of the candidate layers to have a plurality of parallel candidate blocks, and

train the stochastic super net by sampling each of the candidate layers to select and execute, with the training data, one of the candidate blocks from each of the candidate layers.

15. The computer-readable medium of claim 12 , further comprising instructions to

construct the stochastic super net by constructing the layer-wise search space to define a set of input and output dimensions of image data for each of the candidate layers and associating each of the candidate layers with a corresponding image block type.

16. The computer-readable medium of claim 12 , further comprising instructions to train the stochastic super net by accessing a latency lookup table that defines the estimated runtime of the respective operator on the target platform, and computing an overall latency of one or more candidate convolutional neural network models according to estimated runtimes for the operators in the stochastic super net.

Assignments (2)
CHANGE OF NAME Recorded Dec 13, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058495/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2020
From: WU, BICHEN; ZHANG, PEIZHAO; VAJDA, PETER; DAI, XIAOLIANG; WANG, YANGHAN; TIAN, YUANDONG
To: FACEBOOK, INC.
Reel/Frame 052896/0708 →
Continuity (1)
Provisional Application 62776310 · Dec 6, 2018
Cited By (4)
US 12,256,075 US 12,323,593 US 12,725,022 US 12,737,689