IP Library Patent Application 18793328
Patent Application
App. No. 18/793,328

Machine Learning Using Four-Bit Binary Data Formats

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/793,328
Abstract

A computing system can obtain a machine-learned model comprising one or more parameters having a four-bit binary format. The four-bit binary format can correlate a plurality of sixteen respective binary values to a plurality of sixteen corresponding numerical values represented by the binary values. The sixteen numerical values can be symmetric about a median. A plurality of step sizes between the sixteen numerical values can be non-uniform. The computing system can obtain one or more input values for one or more layers of the machine-learned model. The computing system can process, based at least in part on the one or more parameters having the four-bit binary format, the one or more input values to generate one or more output values.

Claims (147)

1 . A method comprising:

obtaining, by a computing system comprising one or more computing devices, a machine-learned model comprising one or more parameters having a four-bit binary format, wherein:

the four-bit binary format correlates sixteen respective binary values to sixteen corresponding numerical values represented by the binary values;

the sixteen numerical values are symmetric about a median; and

a plurality of step sizes between the sixteen numerical values is non-uniform;

obtaining, by the computing system, one or more input values for one or more layers of the machine-learned model; and

processing, by the computing system based at least in part on the one or more parameters having the four-bit binary format, the one or more input values to generate one or more output values.

2 . The method of claim 1 , wherein a difference between a first value and second value of the sixteen numerical values is larger than a difference between a third value and a fourth value of the sixteen numerical values, wherein each of the third and fourth values is closer to the median than each of the first and second values.

3 . The method of claim 1 , wherein the sixteen numerical values consist of: [−7, −6, −5, −4, −3, −2, −1, −0.25, 0.25, 1, 2, 3, 4, 5, 6, 7].

4 . The method of claim 1 , wherein at least one of the one or more input values has the four-bit binary format.

5 . The method of claim 1 , wherein at least one of the one or more output values has the four-bit binary format.

6 . The method of claim 1 , wherein the machine-learned model is a first machine-learned model, and obtaining the first machine-learned model comprises:

obtaining a second machine-learned model having one or more parameters having a binary format requiring more than four bits to represent each numerical value; and

quantizing the one or more parameters of the second machine-learned model to determine the one or more parameters of the first machine-learned model.

7 . The method of claim 6 , wherein the second machine-learned model was trained by:

for each of a plurality of iterations:

obtaining, by the computing system, one or more training input values;

transforming, by the computing system based at least in part on the sixteen numerical values, the one or more parameters of the second machine-learned model to generate transformed parameters;

generating, by the computing system based at least in part on the transformed parameters, one or more machine-learned output values based on the one or more training input values; and

updating, by the computing system based on the one or more machine-learned output values, the second machine-learned model.

8 . The method of claim 7 , wherein the second machine-learned model comprises one or more adapter layers, and updating the second machine-learned model comprises updating the one or more adapter layers.

9 . The method of claim 1 , further comprising training the machine-learned model by:

for each of a plurality of iterations:

obtaining, by the computing system, one or more training input values;

generating, by the computing system based at least in part on the one or more parameters having the four-bit binary format, one or more machine-learned output values based on the training input values; and

updating, by the computing system based at least in part on the one or more output values, the machine-learned model.

10 . The method of claim 9 , wherein the machine-learned model comprises one or more adapter layers, and updating the machine-learned model comprises updating the one or more adapter layers.

11 . The method of claim 1 , wherein a ratio of each step size of the sixteen numerical values to a difference between a highest value and lowest value of the sixteen numerical values is within 30 percent of:

[

1

1

4

,

1

1

4

,

1

1

4

,

1

1

4

,

1

1

4

,

1

1

4

,

3

5

6

,

2

5

6

,

3

5

6

,

1

1

4

,

1

1

4

,

1

1

4

,

1

1

4

,

1

1

4

,

1

1

4

]

.

12 . The method of claim 1 , wherein generating the one or more output values comprises:

mapping, by the computing system based on the binary format, the one or more parameters to one or more corresponding numerical parameter values; and

performing, by the computing system using the numerical parameter values, a forward pass of the machine-learned model.

13 . The method of claim 12 , wherein the mapping comprises:

scaling, by the computing system based on a first scaling factor associated with a first channel of a tensor comprising a plurality of parameters of the machine-learned model, a first plurality of numerical parameter values associated with the first channel; and

scaling, by the computing system based on a second scaling factor associated with a second channel of the tensor, a second plurality of numerical parameter values associated with the second channel.

14 . The method of claim 13 , wherein the mapping further comprises:

offsetting, by the computing system based on a first offset value associated with the first channel, the first plurality of numerical parameter values; and

offsetting, by the computing system based on a second offset value associated with the second channel, the second plurality of numerical parameter values.

15 . The method of claim 12 , wherein the one or more corresponding numerical parameter values are represented in a binary format having more than four bits.

16 . The method of claim 12 , wherein the mapping comprises:

retrieving, from one or more registers based at least in part on the one or more input values having the four-bit binary format, the one or more numerical parameter values.

17 . The method of claim 1 , wherein a difference between an eighth highest value and ninth highest value of the sixteen numerical values is within 10 percent of 2/56 of a difference between a highest value and lowest value of the sixteen numerical values.

18 . The method of claim 1 , wherein:

a difference between a seventh highest value and an eighth highest value of the sixteen numerical values is within 10 percent of 3/56 of a difference between a highest value and lowest value of the sixteen numerical values; and

a difference between a ninth highest value and a tenth highest value of the sixteen numerical values is within 10 percent of 3/56 of a difference between a highest value and lowest value of the sixteen numerical values.

19 . The method of claim 1 , wherein none of the sixteen numerical values are equal to zero.

20 . A computing system comprising one or more processors and one or more non-transitory computer-readable media storing instructions that are executable by one or more processors to cause the computing system to perform operations, the operations comprising:

obtaining a machine-learned model comprising one or more parameters having a four-bit binary format, wherein:

the four-bit binary format correlates sixteen respective binary values to sixteen corresponding numerical values represented by the binary values;

the sixteen numerical values are symmetric about a median; and

a plurality of step sizes between the sixteen numerical values is non-uniform;

obtaining one or more input values for one or more layers of the machine-learned model; and

processing, based at least in part on the one or more parameters having the four-bit binary format, the one or more input values to generate one or more output values.

21 . The computing system of claim 20 , further comprising one or more registers storing one or more numerical values of the sixteen numerical values, wherein the operations further comprise retrieving, from the one or more registers based on a first binary representation of the sixteen respective binary values, a corresponding first numerical value of the sixteen numerical values.

22 . The computing system of claim 21 , further comprising one or more multipliers configured to generate, based on the first numerical value and a second numerical value, a multiplication output.

23 . The computing system of claim 20 , further comprising one or more matrix multiplication units configured to perform matrix multiplications based on input values associated with the four-bit binary format.

24 . One or more non-transitory computer-readable media storing instructions that are executable by one or more processors to cause a computing system to perform operations, the operations comprising:

obtaining a machine-learned model comprising one or more parameters having a four-bit binary format, wherein:

the four-bit binary format correlates sixteen respective binary values to sixteen corresponding numerical values represented by the binary values;

the sixteen numerical values are symmetric about a median; and

a plurality of step sizes between the sixteen numerical values is non-uniform;

obtaining one or more input values for one or more layers of the machine-learned model; and

processing, based at least in part on the one or more parameters having the four-bit binary format, the one or more input values to generate one or more output values.

25 . A processor device comprising:

one or more registers storing one or more numerical values associated with a four-bit binary format, wherein:

the four-bit binary format correlates sixteen respective binary values to sixteen corresponding numerical values represented by the binary values;

the sixteen numerical values are symmetric about a median; and

a plurality of step sizes between the sixteen numerical values is non-uniform;

one or more programmable logic devices configured to retrieve, from the one or more registers based on a first binary value of the sixteen respective binary values, a corresponding first numerical value of the sixteen corresponding numerical values; and

arithmetic hardware configured to perform operations based at least in part on the first numerical value.

26 . The processor device of claim 25 , wherein the arithmetic hardware comprises one or more multipliers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 072361/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2024
From: LI, JIAN; KUMAR, SANJIV; CHERN, FELIX; CHEN, ZHIFENG
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 068902/0957 →