IP Library Granted Patent US 11,893,470
Granted Patent B2
US 11,893,470 · App. 16/704,263 · Granted Feb 6, 2024

Neural network processing using specialized data representation

Inventor: Sanjay Patel (San Ramon, CA)
Assignee: MIPS Tech, LLC
G06N3/04G06F1/16G06F7/483G06N3/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,893,470
App. No.
16/704,263
Granted
Feb 6, 2024
Kind
B2
Abstract

Techniques for neural network processing using specialized data representation are disclosed. Input data for manipulation in a layer of a neural network is obtained. The input data includes image data, where the image data is represented in bfloat16 format without loss of precision. The manipulation of the input data is performed on a processor that supports single-precision operations. The input data is converted to a 16-bit reduced floating-point representation, where the reduced floating-point representation comprises an alternative single-precision data representation mode. The input data is manipulated with one or more 16-bit reduced floating-point data elements. The manipulation includes a multiply and add-accumulate operation. The manipulation further includes a unary operation, a binary operation, or a conversion operation. A result of the manipulating is forwarded to a next layer of the neural network.

Claims (33)

1. A processor-implemented method for data manipulation comprising:

obtaining input data comprising a plurality of image channels for manipulation in a layer of a neural network, wherein the manipulation is performed on a processor that supports single-precision operations and the input image data comprises an 8-bit unsigned integer for each channel of the image data;

converting, for each channel of the image data, the 8-bit unsigned integer for that channel of the image data to a 16-bit reduced floating-point representation in a bfloat16format without loss of precision in the image data, wherein the reduced floating-point representation comprises an alternative single-precision data representation mode;

manipulating each 16-bit reduced floating-point image channel with one or more 16-bit reduced floating-point data elements of the neural network; and

forwarding a result of the manipulating to a next layer of the neural network.

2. The method of claim 1 wherein the manipulating includes a multiply and add-accumulate operation.

3. The method of claim 1 wherein the manipulating includes a unary operation, a binary operation, or a conversion operation.

4. The method of claim 1 wherein the one or more 16-bit reduced floating-point data elements comprise one or more neural network weights.

5. The method of claim 4 wherein the weights are trained using single-precision data representations.

6. The method of claim 5 further comprising converting the single-precision data representations into 16-bit reduced floating-point data representations for use in neural network processing.

7. The method of claim 1 wherein the manipulating comprises a dot-product operation.

8. The method of claim 1 wherein an operation employs a table lookup function to accomplish a division, a square root, a reciprocal, or a reciprocal square root calculation.

9. The method of claim 8 wherein the table lookup function uses 7+1 input bits to yield a 19-bit output.

10. The method of claim 1 further comprising performing left or right versions of commands for the processor that support single-precision operations to handle 8-bit unsigned integer input.

11. The method of claim 10 wherein the performing enables hybrid data type support.

12. The method of claim 11 wherein the hybrid data type support includes support for an 8-bit unsigned integer representation and a 16-bit reduced floating-point representation.

13. The method of claim 1 further comprising including commands for the processor that support single-precision operands and 16-bit reduced floating-point representation operands in a same operation.

14. The method of claim 1 wherein the 16-bit reduced floating-point representation comprises a bfloat16 data representation.

15. The method of claim 1 wherein the 16-bit reduced floating-point representation comprises a reduced mantissa floating-point representation.

16. The method of claim 1 wherein the manipulating includes mixed floating-point data elements.

17. The method of claim 16 wherein the mixed floating-point data elements include single-precision data elements.

18. A computer program product embodied in a non-transitory computer readable medium for data manipulation, the computer program product comprising code which causes one or more processors to perform operations of:

obtaining input image data comprising a plurality of image channels for manipulation in a layer of a neural network, wherein the manipulation is performed on a processor that supports single-precision operations and the input image data comprises an 8-bit unsigned integer for each channel of the image data;

converting, for each channel of the image data, the 8-bit unsigned integer for that channel of the image data to a 16-bit reduced floating-point representation in a bfloat16 format without loss of precision in the image data, wherein the reduced floating-point representation comprises an alternative single-precision data representation mode;

manipulating each 16-bit reduced floating-point image channel with one or more 16-bit reduced floating-point data elements of the neural network; and

forwarding a result of the manipulating to a next layer of the neural network.

19. A computer system for data manipulation comprising:

a memory which stores instructions;

one or more processors coupled to the memory wherein the one or more processors, when executing the instructions which are stored, are configured to:

obtain input image data comprising a plurality of image channels for manipulation in a layer of a neural network, wherein the manipulation is performed on a processor that supports single-precision operations and the input image data comprises an 8-bit unsigned integer for each channel of the image data;

convert, for each channel of the image data, the 8-bit unsigned integer for that channel of the image data to a 16-bit reduced floating-point representation in a bfloat16 format without loss of precision in the image data, wherein the reduced floating-point representation comprises an alternative single-precision data representation mode;

manipulate each 16-bit reduced floating-point image channel with one or more 16-bit reduced floating-point data elements of the neural network; and

forward a result of the manipulating to a next layer of the neural network.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2025
From: PATEL, SANJAY
To: MIPS TECH, LLC
Reel/Frame 071023/0815 →
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →