IP Library Patent Application 18077177
Patent Application
App. No. 18/077,177

TECHNIQUES OF PERFORMING OPERATIONS USING A HYBRID ANALOG-DIGITAL PROCESSOR

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 None
App. No.
18/077,177
Abstract

Described herein are techniques of using a hybrid analog-digital processor to perform matrix operations. The hybrid analog-digital may store digital values in memory encoded in a low bit number format. The hybrid analog-digital processor may perform, using an analog processor, a matrix operation to obtain output(s). The output(s) may be encoded in the number format. The hybrid analog-digital processor may determine, using the output(s), an unbiased estimate of a matrix operation result. The hybrid analog-digital processor may store, in the memory, the unbiased estimate of the matrix operation result encoded in the number format.

Claims (63)

1 . A method of using a hybrid analog-digital processor to perform matrix operations, the hybrid analog-digital processor comprising a digital controller and an analog processor, the hybrid analog-digital processor configured to store digital values in memory encoded in a number format that uses less than 32 bits to represent a number, the method comprising:

performing, using the analog processor, a matrix operation to obtain at least one output, the at least one output encoded in the number format;

determining, using the at least one output, an unbiased estimate of a matrix operation result; and

storing, in the memory, the unbiased estimate of the matrix operation result encoded in the number format.

2 . The method of claim 1 , wherein the matrix operation is a matrix multiplication.

3 . The method of claim 1 , wherein determining, using the at least one output, the unbiased estimate of the matrix operation result comprises:

determining, using the at least one output, the matrix operation result; and

stochastically rounding the matrix operation result to obtain the unbiased estimate of the matrix operation result.

4 . The method of claim 1 , wherein:

the at least one output comprises a plurality of outputs each encoded in the number format; and

determining the unbiased estimate of the matrix operation result comprises:

determining an accumulation of the plurality of outputs, wherein the accumulation of the plurality of outputs is encoded in the number format; and

determining the unbiased estimate of the matrix operation result using the accumulation of the plurality of outputs.

5 . The method of claim 4 , wherein determining the accumulation of the plurality of outputs comprises determining a compensated summation of at least some of the plurality of outputs to obtain the accumulation of the plurality of outputs.

6 . The method of claim 1 , wherein determining, using the at least one output, the unbiased estimate of the matrix operation result comprises:

determining, using the at least one output, the unbiased estimate of the matrix operation result based on a probability distribution modeling noise of the analog processor.

7 . The method of claim 6 , wherein the probability distribution is a Gaussian distribution.

8 . The method of claim 6 , wherein the probability distribution modeling the noise of the analog processor is obtained by:

obtaining a plurality of noise samples from a plurality of operations performed using the analog processor; and

generating the probability distribution using the plurality of sample noise samples.

9 . The method of claim 1 , wherein the number format is a 16 bit floating point number format.

10 . The method of claim 1 , wherein the number format is an 8 bit floating point number format.

11 . The method of claim 1 , wherein the matrix operation is performed as part of training a machine learning model and the method further comprises:

determining, using the unbiased estimate of the matrix operation result, a parameter gradient for parameters of the machine learning model; and

updating the parameters of the machine learning model using the parameter gradient.

12 . The method of claim 10 , wherein the parameter gradient and the parameters of the machine learning model are encoded in the number format.

13 . The method of claim 1 , wherein the matrix operation is performed as part of determining an output of a machine learning model for a respective input and the method further comprises:

determining, using the unbiased estimate of the matrix operation result, the output of the machine learning model for the respective input.

14 . The method of claim 1 , wherein the matrix operation involves a first matrix and performing, using the analog processor, the matrix operation comprises:

identifying a plurality of portions of the first matrix, the plurality of portions including a first matrix portion;

determining a scaling factor for the first matrix portion;

scaling the first matrix portion using the scaling factor to obtain a scaled first matrix portion;

programming the analog processor using the scaled first matrix portion; and

performing, by the analog processor programmed using the scaled matrix portion, the matrix operation to obtain a first output of the at least one output.

15 . A system for performing matrix operations, the system comprising:

a hybrid analog-digital processor, the hybrid analog-digital processor comprising:

a digital controller;

an analog processor; and

memory configured to store digital values encoded in a number format that uses less than 32 bits to represent a number;

wherein the hybrid analog-digital processor is configured to:

perform, using the analog processor, a matrix operation to obtain at least one output, the at least one output encoded in the number format;

determine, using the at least one output, an unbiased estimate of a matrix operation result; and

store, in the memory, the unbiased estimate of the matrix operation result encoded in the number format.

16 . The system of claim 15 , wherein determining, using the at least one output, the unbiased estimate of the matrix operation result comprises:

determining, using the at least one input, the unbiased estimate of the matrix operation result based on a probability distribution modeling noise of the analog processor.

17 . The system of claim 15 , wherein:

the at least one output comprises a plurality of outputs; and

determining the unbiased estimate of the matrix operation result comprises:

determining a compensated summation of at least some of the plurality of outputs, wherein the compensated summation is encoded in the number format; and

determining, using the compensated summation, the unbiased estimate of the matrix operation result.

18 . The system of claim 15 , wherein the matrix operation is performed as part of training a machine learning model and the hybrid analog-digital processor is further configured to:

determine, using the matrix operation result encoded in the number format, a parameter gradient for parameters of the machine learning model; and

update the parameters of the machine learning model using the parameter gradient.

19 . The system of claim 15 , wherein the matrix operation involves a first matrix and performing, using the analog processor, the matrix operation comprises:

identifying a plurality of portions of the first matrix, the plurality of portions including a first matrix portion;

determining a scaling factor for the first matrix portion;

scaling the first matrix portion using the scaling factor to obtain a scaled first matrix portion;

programming the analog processor using the scaled first matrix portion; and

performing, by the analog processor programmed using the scaled matrix portion, the matrix operation to obtain a first output of the at least one output.

20 . A non-transitory computer-readable storage medium storing instructions that, when executed by a hybrid analog-digital processor, cause the hybrid analog-digital processor to perform a method of performing matrix operations, the hybrid analog-digital processor comprising a digital controller and an analog processor, the hybrid analog-digital processor configured to store digital values in memory encoded in a number format that uses less than 32 bits to represent a number, the method comprising:

performing, using the analog processor, a matrix operation to obtain at least one output, the at least one output encoded in the number format;

determining, using the at least one output, an unbiased estimate of a matrix operation result; and

storing, in the memory, the unbiased estimate of the matrix operation result encoded in the number format.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2022
From: BUNANDAR, DARIUS; MCCARTER, CALVIN; BASUMALLIK, AYON
To: LIGHTMATTER, INC.
Reel/Frame 062234/0983 →