IP Library Granted Patent US 10,949,746
Granted Patent B2
US 10,949,746 · App. 15/423,900 · Granted Mar 16, 2021

Efficient parallel training of a network model on multiple graphics processing units

Inventors: Imai Haruki (Yokohama, JP); Tung Duc Le (Ichikawa, JP); Yasushi Negishi (Tokyo, JP)
Assignee: International Business Machines Corporation
G06N3/084G06N3/0454
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 10,949,746
App. No.
15/423,900
Granted
Mar 16, 2021
Kind
B2
Abstract

A system and method provides efficient parallel training of a neural network model on multiple graphics processing units. A training module reduces the time and communication overhead of gradient accumulation and parameter updating of the network model in a neural network by overlapping processes in an advantageous way. In a described embodiment, a training module overlaps backpropagation, gradient transfer and accumulation in a Synchronous Stochastic Gradient Decent algorithm on a convolution neural network. The training module collects gradients of multiple layers during backpropagation of training from a plurality of graphics processing units (GPUs), accumulates the gradients on at least one processor and then delivers the gradients of the layers to the plurality of GPUs during the backpropagation of the training. The whole model parameters can then be updated on the GPUs after receipt of the gradient of the last layer.

Claims (31)

1. An apparatus comprising:

a central processing unit (CPU) communicatively coupled to a plurality of graphics processing units (GPUs) and a memory unit;

a training module residing in the memory unit and executed by the CPU that overlaps backpropagation, gradient transfer and accumulation for each layer of a plurality of layers to train a neural network model by:

collecting gradients of a first layer transferred from the GPUs to the CPU during backpropagation of training;

accumulating the gradients of the first layer on the CPU concurrently during backpropagation; and

delivering the accumulated gradients of the first layer from the CPU to the GPUs concurrently during backpropagation of a second layer on the GPUs after summing up all gradients of the first layer.

2. The apparatus of claim 1 wherein at least one of the GPUs further updates whole model parameters of the neural network model after receipt of a gradient of a last layer.

3. The apparatus of claim 1 wherein the backpropagation is part of a synchronous stochastic gradient descent algorithm for training the neural network model.

4. The apparatus of claim 1 wherein the neural network model is part of a convolutional neural network (CNN).

5. The apparatus of claim 1 further comprising an array in the memory unit coupled to the CPU for storing partial gradients of each layer collected from the GPUs.

6. The apparatus of claim 5 wherein the array further stores accumulated gradients of each layer collected from the GPUs.

7. The apparatus of claim 1 wherein the GPUs transfer gradients of each layer to be collected by the CPU while continuing execution of subsequent layers.

8. The apparatus of claim 1 wherein the GPUs create a communication stream to send the gradients of each layer to a host for accumulation.

9. A computer-implemented method executed by at least one central processing unit (CPU) for training a neural network model comprising:

collecting gradients of each layer of a plurality of layers during backpropagation of training sent from a plurality of graphics processing units (GPUs);

accumulating the gradients of each layer on the CPU concurrently while the GPUs continue backpropagation of a subsequent layer to overlap backpropagation, gradient transfer and accumulation; and

delivering the gradients of each layer during the backpropagation of a subsequent layer from the CPU to GPUs after summing up all gradients of each layer.

10. The method of claim 9 wherein at least one of the GPUs further updates whole model parameters of the neural network model after receipt of a gradient of a last layer.

11. The method of claim 10 wherein after updating the whole model parameters, the GPUs start forward computation for the next training iteration.

12. The method of claim 9 wherein the backpropagation is part of a synchronous stochastic gradient descent algorithm for training the neural network model.

13. The method of claim 9 wherein the neural network model is part of a convolutional neural network (CNN).

14. The method of claim 9 further comprising storing partial gradients of each layer collected from the GPUs in an array in a memory coupled to the CPU.

15. The method of claim 14 wherein the array further stores accumulated gradients of each layer collected from the GPUs.

16. The method of claim 9 further comprising creating a communication stream to send the gradients of each layer to a host for accumulation.

17. A computer-implemented method executed by at least one central processing unit (CPU) for training a neural network model comprising:

collecting gradients of each layer of a plurality of layers during backpropagation of training sent from a plurality of graphics processing units (GPUs);

accumulating the gradients of each layer on the CPU concurrently while the GPUs continue backpropagation execution of subsequent layers to overlap backpropagation, gradient transfer and accumulation;

storing partial gradients of each layer collected from the GPUs in an array in a memory coupled to the CPU and further storing accumulated gradients of each layer collected from the GPUs in the array;

creating a communication stream to send the gradients of each layer to a host for accumulation and delivering the gradients of each layer during the backpropagation from the CPU to GPUs after summing up all gradients of each layer;

wherein at least one of the GPUs further updates whole model parameters of the neural network model after the receipt of a gradient of a last layer; and

wherein the backpropagation is part of a synchronous stochastic gradient descent algorithm for training the neural network model on a convolutional neural network (CNN).

Assignments (3)
SECURITY INTEREST Recorded Jul 8, 2025
From: ANTHROPIC, PBC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071626/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ANTHROPIC, PBC
Reel/Frame 071201/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2017
From: HARUKI, IMAI; LE, TUNG DUC; NEGISHI, YASUSHI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041626/0688 →
Continuity (2)
Provisional Application 62413695 · Oct 27, 2016
Related Publication 20180121806A1 · May 3, 2018
Cited By (1)
US 12,430,560