Patents by Inventor Eric Sen CHUNG
Eric Sen CHUNG has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20240402993Abstract: Embodiments of the present disclosure include systems and methods for determining shared exponent values for shared exponent floating point data types. A device may determine a shared global exponent value for a plurality of floating point numbers. The device may determine a sub exponent value from a plurality of candidate sub exponent values that minimizes a quantization error value determined based on a subset of the plurality of floating point numbers and a version of the subset of the plurality of floating point numbers quantized based on the shared global exponent and the sub exponent value. The determined sub exponent value is shared among the subset of the plurality of floating point numbers. The device may, based on the sub exponent value, represent the subset of the plurality of floating point numbers using a shared exponent floating point data type.Type: ApplicationFiled: May 30, 2023Publication date: December 5, 2024Inventors: Rasoul SHAFIPOUR, Bita DARVISH ROUHANI, Marius Octavian STAN, Mathew Kent HALL, Preyas Janak SHAH, Ankit MORE, Eric Sen CHUNG, Douglas C. BURGER
-
Publication number: 20240403644Abstract: Embodiments of the present disclosure include systems and methods for optimizing deep neural network models based on sparsification and quantization. A device may identify a layer in a plurality of layers included in a neural network model, each layer in the plurality of layers comprising a plurality of weight values. The device may select a weight value from the plurality of weight values in the layer. The device may remove the weight value from the plurality of weight values in the layer to produce a modified version of the layer. The device may update remaining weight values in the plurality of weight values in the modified version of the layer, wherein removing the weight value and updating the remaining weight values provides greater compression of the neural network model and reduces loss of accuracy of the neural network model.Type: ApplicationFiled: May 31, 2023Publication date: December 5, 2024Inventors: Rasoul SHAFIPOUR, Bita DARVISH ROUHANI, Eric Sen CHUNG, Douglas C. BURGER
-
Publication number: 20240231894Abstract: A hardware retire circuit includes: one or more input queues, each queue corresponding to an input stream of tasks and being configured to store input task identifiers corresponding to tasks of the input stream; and processing logic configured to: receive a completed task event; determine whether a completed task queue identifier and a completed task identifier of the completed task event match an input task identifier of an input task at a head of an input queue having an input queue identifier corresponding to the completed task queue identifier; and in response to determining a match, pop the task at the head of the input queue and output a task retirement event corresponding to the input task.Type: ApplicationFiled: October 21, 2022Publication date: July 11, 2024Applicant: Microsoft Technology Licensing, LLCInventors: Yi LUO, Jinwen XI, Xuan ZUO, Haishan ZHU, Eric Sen CHUNG
-
Publication number: 20240134683Abstract: A hardware retire circuit includes: one or more input queues, each queue corresponding to an input stream of tasks and being configured to store input task identifiers corresponding to tasks of the input stream; and processing logic configured to: receive a completed task event; determine whether a completed task queue identifier and a completed task identifier of the completed task event match an input task identifier of an input task at a head of an input queue having an input queue identifier corresponding to the completed task queue identifier; and in response to determining a match, pop the task at the head of the input queue and output a task retirement event corresponding to the input task.Type: ApplicationFiled: October 20, 2022Publication date: April 25, 2024Applicant: Microsoft Technology Licensing, LLCInventors: Yi LUO, Jinwen XI, Xuan ZUO, Haishan ZHU, Eric Sen CHUNG
-
Patent number: 11853897Abstract: Bounding box quantization can reduce the quantity of bits utilized to express numerical values prior to the multiplication of matrices comprised of such numerical values, thereby reducing both memory consumption and processor utilization. Stochastic rounding can provide sufficient precision to enable the storage of weight values in reduced-precision formats without having to separately store weight values in a full-precision format. Alternatively, other rounding mechanisms, such as round to nearest, can be utilized to exchange weight values in reduced-precision formats, while also storing weight values in full-precision formats for subsequent updating. To facilitate conversion, reduced-precision formats such as brain floating-point format can be utilized.Type: GrantFiled: December 9, 2022Date of Patent: December 26, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Taesik Na, Daniel Lo, Haishan Zhu, Eric Sen Chung
-
Patent number: 11741362Abstract: A system for training a neural network receives training data and performing lower precision format training calculations using lower precision format data at one or more training phases. One or more results from the lower precision format training calculations are converted to higher precision format data, and higher precision format training calculations are performed using the higher precision format data at one or more additional training phases. The neural network is modified using the results from the one or more additional training phases. The mixed precision format training calculations train the neural network more efficiently, while maintaining an overall accuracy.Type: GrantFiled: May 8, 2018Date of Patent: August 29, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Daniel Lo, Eric Sen Chung, Bita Darvish Rouhani
-
Publication number: 20230110219Abstract: Bounding box quantization can reduce the quantity of bits utilized to express numerical values prior to the multiplication of matrices comprised of such numerical values, thereby reducing both memory consumption and processor utilization. Stochastic rounding can provide sufficient precision to enable the storage of weight values in reduced-precision formats without having to separately store weight values in a full-precision format. Alternatively, other rounding mechanisms, such as round to nearest, can be utilized to exchange weight values in reduced-precision formats, while also storing weight values in full-precision formats for subsequent updating. To facilitate conversion, reduced-precision formats such as brain floating-point format can be utilized.Type: ApplicationFiled: December 9, 2022Publication date: April 13, 2023Applicant: Microsoft Technology Licensing, LLCInventors: Taesik NA, Daniel LO, Haishan ZHU, Eric Sen CHUNG
-
Patent number: 11526761Abstract: Bounding box quantization can reduce the quantity of bits utilized to express numerical values prior to the multiplication of matrices comprised of such numerical values, thereby reducing both memory consumption and processor utilization. Stochastic rounding can provide sufficient precision to enable the storage of weight values in reduced-precision formats without having to separately store weight values in a full-precision format. Alternatively, other rounding mechanisms, such as round to nearest, can be utilized to exchange weight values in reduced-precision formats, while also storing weight values in full-precision formats for subsequent updating. To facilitate conversion, reduced-precision formats such as brain floating-point format can be utilized.Type: GrantFiled: August 24, 2019Date of Patent: December 13, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Taesik Na, Daniel Lo, Haishan Zhu, Eric Sen Chung
-
Publication number: 20210056423Abstract: Bounding box quantization can reduce the quantity of bits utilized to express numerical values prior to the multiplication of matrices comprised of such numerical values, thereby reducing both memory consumption and processor utilization. Stochastic rounding can provide sufficient precision to enable the storage of weight values in reduced-precision formats without having to separately store weight values in a full-precision format. Alternatively, other rounding mechanisms, such as round to nearest, can be utilized to exchange weight values in reduced-precision formats, while also storing weight values in full-precision formats for subsequent updating. To facilitate conversion, reduced-precision formats such as brain floating-point format can be utilized.Type: ApplicationFiled: August 24, 2019Publication date: February 25, 2021Inventors: Taesik NA, Daniel LO, Haishan ZHU, Eric Sen CHUNG
-
Patent number: 10579334Abstract: A system for block floating point computation in a neural network receives a plurality of floating point numbers. An exponent value for an exponent portion of each floating point number of the plurality of floating point numbers is identified and mantissa portions of the floating point numbers are grouped. A shared exponent value of the grouped mantissa portions is selected according to the identified exponent values and then removed from the grouped mantissa portions to define multi-tiered shared exponent block floating point numbers. One or more dot product operations are performed on the grouped mantissa portions of the multi-tiered shared exponent block floating point numbers to obtain individual results. The individual results are shifted to generate a final dot product value, which is used to implement the neural network. The shared exponent block floating point computations reduce processing time with less reduction in system accuracy.Type: GrantFiled: May 8, 2018Date of Patent: March 3, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Daniel Lo, Eric Sen Chung
-
Publication number: 20190347072Abstract: A system for block floating point computation in a neural network receives a plurality of floating point numbers. An exponent value for an exponent portion of each floating point number of the plurality of floating point numbers is identified and mantissa portions of the floating point numbers are grouped. A shared exponent value of the grouped mantissa portions is selected according to the identified exponent values and then removed from the grouped mantissa portions to define multi-tiered shared exponent block floating point numbers. One or more dot product operations are performed on the grouped mantissa portions of the multi-tiered shared exponent block floating point numbers to obtain individual results. The individual results are shifted to generate a final dot product value, which is used to implement the neural network. The shared exponent block floating point computations reduce processing time with less reduction in system accuracy.Type: ApplicationFiled: May 8, 2018Publication date: November 14, 2019Inventors: Daniel LO, Eric Sen CHUNG
-
Publication number: 20190347553Abstract: A system for training a neural network receives training data and performing lower precision format training calculations using lower precision format data at one or more training phases. One or more results from the lower precision format training calculations are converted to higher precision format data, and higher precision format training calculations are performed using the higher precision format data at one or more additional training phases. The neural network is modified using the results from the one or more additional training phases. The mixed precision format training calculations train the neural network more efficiently, while maintaining an overall accuracy.Type: ApplicationFiled: May 8, 2018Publication date: November 14, 2019Inventors: Daniel LO, Eric Sen CHUNG, Bita Darvish ROUHANI
-
Patent number: 10467324Abstract: A method is provided that includes providing a hard-wired integer multiplier circuit configured to multiply a first physical operand and a second physical operand, mapping a first logical operand to a first portion of the first physical operand, mapping a second logical operand to a second portion of the first physical operand, and mapping a third logical operand to the second physical operand. The method further includes multiplying the first physical operand and the second physical operand using the hard-wired integer multiplier circuit to provide a multiplication result that includes a first portion including a product of the first logical operand and the third logical operand, and a second portion including a product of the second logical operand and the third logical operand.Type: GrantFiled: May 24, 2017Date of Patent: November 5, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Eric Sen Chung, Jeremy Halden Fowers, Shlomo Alkalay
-
Patent number: 10372456Abstract: A hardware accelerator having an efficient instruction set is disclosed. An apparatus may comprise logic configured to access a first and a second machine instruction. The second machine instruction may be missing a tensor operand needed to execute the second machine instruction. The logic may be further configured to execute the first machine instruction, resulting in a tensor. The logic may be further configured to execute the second machine instruction using the resultant tensor as the missing tensor operand.Type: GrantFiled: May 24, 2017Date of Patent: August 6, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jeremy Halden Fowers, Kalin Ovtcharov, Steven Karl Reinhardt, Eric Sen Chung, Ming Gang Liu
-
Patent number: 10338925Abstract: Tensor register files in a hardware accelerator are disclosed. An apparatus may comprise tensor operation calculators each configured to perform a type of tensor operation. The apparatus may also comprises tensor register files, each of which is associated with one of the tensor operation calculators. The apparatus may also comprises logic configured to store respective ones of the tensors in the plurality of tensor register files in accordance with the type of tensor operation to be performed on the respective tensors. The apparatus may also control read access to tensor register files based on a type of tensor operation that a machine instruction is to perform.Type: GrantFiled: May 24, 2017Date of Patent: July 2, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jeremy Halden Fowers, Steven Karl Reinhardt, Kalin Ovtcharov, Eric Sen Chung
-
Patent number: 10331445Abstract: A processor circuit is provided that includes an input terminal and an output terminal, a plurality of vector processor operation circuits, a selector circuit coupled to the input terminal, the output terminal, and each of the vector processor operation circuits, and a scheduler circuit adapted to control the selector circuit to configure a vector processing pipeline comprising zero, one or more of the vector processor operation circuits in any order between the input terminal and the output terminal.Type: GrantFiled: May 24, 2017Date of Patent: June 25, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jeremy Halden Fowers, Ming Gang Liu, Kalin Ovtcharov, Steven Karl Reinhardt, Eric Sen Chung
-
Publication number: 20180341486Abstract: A processor circuit is provided that includes an input terminal and an output terminal, a plurality of vector processor operation circuits, a selector circuit coupled to the input terminal, the output terminal, and each of the vector processor operation circuits, and a scheduler circuit adapted to control the selector circuit to configure a vector processing pipeline comprising zero, one or more of the vector processor operation circuits in any order between the input terminal and the output terminal.Type: ApplicationFiled: May 24, 2017Publication date: November 29, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Jeremy Halden FOWERS, Ming Gang LIU, Kalin OVTCHAROV, Steven Karl REINHARDT, Eric Sen CHUNG
-
Publication number: 20180341483Abstract: Tensor register files in a hardware accelerator are disclosed. An apparatus may comprise tensor operation calculators each configured to perform a type of tensor operation. The apparatus may also comprises tensor register files, each of which is associated with one of the tensor operation calculators. The apparatus may also comprises logic configured to store respective ones of the tensors in the plurality of tensor register files in accordance with the type of tensor operation to be performed on the respective tensors. The apparatus may also control read access to tensor register files based on a type of tensor operation that a machine instruction is to perform.Type: ApplicationFiled: May 24, 2017Publication date: November 29, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Jeremy Halden FOWERS, Steven Karl REINHARDT, Kalin OVTCHAROV, Eric Sen CHUNG
-
Publication number: 20180341622Abstract: A method is provided that includes providing a hard-wired integer multiplier circuit configured to multiply a first physical operand and a second physical operand, mapping a first logical operand to a first portion of the first physical operand, mapping a second logical operand to a second portion of the first physical operand, and mapping a third logical operand to the second physical operand. The method further includes multiplying the first physical operand and the second physical operand using the hard-wired integer multiplier circuit to provide a multiplication result that includes a first portion including a product of the first logical operand and the third logical operand, and a second portion including a product of the second logical operand and the third logical operand.Type: ApplicationFiled: May 24, 2017Publication date: November 29, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Eric Sen CHUNG, Jeremy Halden FOWERS, Shlomo ALKALAY
-
Publication number: 20180341484Abstract: A hardware accelerator having an efficient instruction set is disclosed. An apparatus may comprise logic configured to access a first and a second machine instruction. The second machine instruction may be missing a tensor operand needed to execute the second machine instruction. The logic may be further configured to execute the first machine instruction, resulting in a tensor. The logic may be further configured to execute the second machine instruction using the resultant tensor as the missing tensor operand.Type: ApplicationFiled: May 24, 2017Publication date: November 29, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Jeremy Halden FOWERS, Kalin OVTCHAROV, Steven Karl REINHARDT, Eric Sen CHUNG, Ming Gang LIU