Patent classifications
G06F7/49963
SYSTEM AND METHOD FOR ROUNDING RECIPROCAL SQUARE ROOT RESULTS OF INPUT FLOATING POINT NUMBERS
Methods and systems for determining whether an infinitely precise result of a reciprocal square root operation performed on an input floating point number is greater than a particular number in a first floating point precision. The method includes calculating the square of the particular number in a second lower floating point precision; calculating an error in the calculated square due to the second floating point precision; calculating a first delta value in the first floating point precision by calculating the square multiplied by the input floating point number less one; calculating a second delta value by calculating the error multiplied by the input floating point number plus the first delta value; and outputting an indication of whether the infinitely precise result of the reciprocal square root operation is greater than the particular number based on the second delta term.
METHODS AND SYSTEMS FOR SECURE ARITHMETIC EQUALITY AND COMPARISON USING QUADRATIC RESIDUES
Disclosed are methods and system for providing secure arithmetic equality and comparison using probabilistic rounding in the domain of Farey rationals with quadratic residues for a Multi-Party Computation (MPC) system. Embodiments securely provide for evaluation of encoded rational numbers for arithmetic equality equal to zero or not, probabilistic modulo of two rational numbers, probabilistic modulo of a rational number by a public value of two, a test for whether a rational number is greater-than-zero for quadratic residues and a general greater-than-zero test for a rational number which are quadratic non-residues.
Dithered quantization of parameters during training with a machine learning tool
A machine learning tool uses dithered quantization of parameters during training of a machine learning model such as a neural network. The machine learning tool receives training data and initializes certain parameters of the machine learning model (e.g., weights for connections between nodes of a neural network, biases for nodes). The machine learning tool trains the parameters in one or more iterations based on the training data. In particular, in a given iteration, the machine learning tool applies the machine learning model to at least some of the training data and, based at least in part on the results, determines parameter updates to the parameters. The machine learning tool updates the parameters using the parameter updates and a dithered quantizer function, which can add random values before a rounding or truncation operation.
TASK PROCESSING METHOD AND APPARATUS BASED ON MODEL QUANTIZATION, AND DEVICE AND STORAGE MEDIUM
A task processing method includes: updating, based on a first difference between a first quantized output and a first floating-point output of an optimization unit in a Transformer model, a weight quantization factor and an activation quantization factor of the optimization unit; updating, based on a second difference between a second quantized output and a second floating-point output of the optimization unit, a weight quantization increment of the optimization unit; determining a weight quantization rounding direction of the optimization unit based on the target weight quantization increment; and quantizing the weight parameter of the optimization unit based on the target weight quantization factor and the weight quantization rounding direction; performing forward inference computation on input data of the optimization unit based on a target quantization weight parameter for the optimization unit, and quantizing an input/output of the optimization unit based on a target activation quantization factor of the optimization unit.
Method of performing hardware efficient unbiased rounding of a number
A method and hardware for performing hardware efficient unbiased rounding of a number includes receiving the number in a binary format having a first portion and a second portion. The first portion comprises bits of the number above a rounding point and the second portion comprises bits of the number after the rounding point. The method includes adding a first amount to the number to obtain a first value. Further the method comprises determining if the bit above the rounding point for a controlling value is 0 bit or a 1 bit. The controlling value is either the received number in the binary format or the first value. The method further includes adding a second amount to b+1 LSBs of the first value to obtain a second value if the bit above the rounding point for the controlling value is a 0 bit and rounding the number by truncating the last b bits of the second value or the last b bits of the first value based on the determination.