IP Library Granted Patent US 11,556,859
Granted Patent B2
US 11,556,859 · App. 16/900,584 · Granted Jan 17, 2023

Method for al model transferring with layer and memory randomization

Inventors: Yueqiang Cheng (Sunnyvale, CA); Hefei Zhu (Sunnyvale, CA)
Assignees: BAIDU USA LLC; KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
G06N20/10G06F9/5027G06F12/08
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,556,859
App. No.
16/900,584
Granted
Jan 17, 2023
Kind
B2
Abstract

A method to transfer an artificial intelligence (AI) model includes identifying a plurality of layers of the AI model, the plurality of layers organized in a first ordered list. The method further includes randomizing the plurality of layers by reorganizing the first ordered list into a second ordered list, and transferring the plurality of layers of the AI model to a data processing accelerator in an order defined by the second ordered list.

Claims (40)

1. A computer-implemented method to transfer an artificial intelligence (AI) model, comprising:

identifying a plurality of layers of the AI model, the plurality of layers organized in a first ordered list and wherein each layer is associated with a memory address;

randomizing, by a processing device, a first subset of the plurality of layers to generate a second ordered list of the plurality of layers, wherein the second ordered list places the plurality of layers in a different order compared against the first ordered list;

randomizing, by the processing device, the memory address associated with each layer of a second subset of layers; and

transferring, by the processing device, the plurality of layers of the AI model to a data processing accelerator according to the second ordered list and the randomized memory addresses.

2. The method of claim 1 , wherein each layer of the plurality of layers is either randomized into the second ordered list and/or has its corresponding memory address randomized prior to transferring the plurality of layers to the data processing accelerator.

3. The method of claim 1 , wherein the memory address associated with each layer is a base memory address for the corresponding layer.

4. The method of claim 3 , wherein each layer is further associated with a kernel function.

5. The method of claim 4 , wherein the kernel function associated with each layer uses the base memory address to retrieve weights from the corresponding layer.

6. The method of claim 1 , wherein randomizing the memory addresses comprises:

determining an address space of the data processing accelerator; and

randomly assigning an address of the address space to each of the layers of the AI model.

7. The method of claim 1 , wherein the data processing accelerator comprises one or more artificial intelligence (AI) accelerators.

8. A system to transfer an artificial intelligence (AI) model, the system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

identify a plurality of layers of the AI model, the plurality of layers organized in a first ordered list and wherein each layer is associated with a memory address;

randomize a first subset of the plurality of layers to generate a second ordered list of the plurality of layers, wherein the second ordered list places the plurality of layers in a different order compared against the first ordered list;

randomize the memory address associated with each layer of a second subset of layers; and

transfer the plurality of layers of the AI model to a data processing accelerator according to the second ordered list and the randomized memory addresses.

9. The system of claim 8 , wherein each layer of the plurality of layers is either randomized into the second ordered list and/or has its corresponding memory address randomized prior to transferring the plurality of layers to the data processing accelerator.

10. The system of claim 8 , wherein the memory address associated with each layer is a base memory address for the corresponding layer.

11. The system of claim 10 , wherein each layer is further associated with a kernel function.

12. The system of claim 11 , wherein the kernel function associated with each layer uses the base memory address to retrieve one or more weights from the corresponding layer.

13. The system of claim 8 , wherein to randomize the memory addresses the processing device is to:

determine an address space of the data processing accelerator; and

randomly assign an address of the address space to each of the layers of the AI model.

14. The system of claim 8 , wherein the data processing accelerator comprises one or more artificial intelligence (AI) accelerators.

15. A non-transitory machine readable storage medium storing instructions that, when executed by a processing device, perform operations comprising:

identifying a plurality of layers of an Artificial Intelligence (AI) model, the plurality of layers organized in a first ordered list and wherein each layer is associated with a memory address;

randomizing, by the processing device, a first subset of the plurality of layers to generate a second ordered list of the plurality of layers, wherein the second ordered list places the plurality of layers in a different order compared against the first ordered list;

randomizing, by the processing device, the memory address associated with each layer of a second subset of layers; and

transferring, by the processing device, the plurality of layers of the AI model to a data processing accelerator according to the second ordered list and the randomized memory addresses.

16. The non-transitory machine readable storage medium of claim 15 , wherein each layer of the plurality of layers is either randomized into the second ordered list and/or has its corresponding memory address randomized prior to transferring the plurality of layers to the data processing accelerator.

17. The non-transitory machine readable storage medium of claim 16 , wherein the memory address associated with each layer is a base memory address for the corresponding layer.

18. The non-transitory machine readable storage medium of claim 17 , wherein each layer is further associated with a kernel function.

19. The non-transitory machine readable storage medium of claim 18 , wherein the kernel function associated with each layer uses the base memory address to retrieve weights from the corresponding layer.

20. The non-transitory machine readable storage medium of claim 16 , wherein randomizing the memory addresses comprises:

determining an address space of the data processing accelerator; and

randomly assigning an address of the address space to each of the layers of the AI model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: BAIDU USA LLC
To: BAIDU USA LLC; KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
Reel/Frame 057829/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: CHENG, YUEQIANG; ZHU, HEFEI
To: BAIDU USA LLC
Reel/Frame 052931/0960 →
Continuity (1)
Related Publication 20210390463A1 · Dec 16, 2021