Method and system for compressing application data for operations on multi-core systems
AssigneeCornami, Inc.
InventorTianfang Liu
Life of this patent
Estimating the term…
Loading patent…
AssigneeCornami, Inc.
InventorTianfang Liu
Estimating the term…
A system and method to compress application control data, such as weights for a layer of a convolutional neural network, is disclosed. A multi-core system for executing at least one layer of the convolutional neural network includes a storage device storing a compressed weight matrix of a set of weights of the at least one layer of the convolutional network and a decompression matrix. The compressed weight matrix is formed by matrix factorization and quantization of a floating point value of each weight to a floating point format. A decompression module is operable to obtain an approximation of the weight values by decompressing the compressed weight matrix through the decompression matrix. A plurality of cores executes the at least one layer of the convolutional neural network with the approximation of weight values to produce an inference output.
A multi-core system for executing at least one layer of a convolutional neural network, the system comprising:
A method of compression of a set of weights for a layer of a convolutional neural network, the method comprising:
A method of image classification comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
No references of this kind are recorded.
Compression ; Expansion; Suppression of unnecessary data, e.g. redundancy reduction: digital compression and data reduction techniques where the…
Using non-contact-making devices, e.g. tube, solid state device; using unspecified devices: computations with numbers represented by a non-linear…
Arrangements for executing specific programs: program loading or initiating
Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods: based on approximation criteria, e.g.…
About 14 years 9 months of term left · ends 4 Aug 2041 (estimated)
The present disclosure relates generally to applications run by multi-core systems. More particularly, aspects of this disclosure relate to techniques to compress application data such as weights for a neural network application with operations distributed on a multi-core system for execution.
Computing systems are increasing based on homogeneous cores that may be configured for different executing applications. Thus, such cores may be adapted for many different operations and be purposed for various parallel programming tasks. The cores are typically fabricated on a die. Such dies may be fabricated so they may be divided to allocate the needed processing power. The processing performed by such dies thus relies on many cores being employed to divide programming operations. One example of such division may be a streaming model of programming multiple cores that employs different threads that are assigned to different cores.
The multiple cores may be programmed for applications such as image classification using machine learning, as the cores may be configured to provide outputs from determinations of weights and different input feature data. The multiple cores are beneficial for such an application because parallel operations may be assigned to different cores for simultaneous execution. For example, groups of cores may be assigned to each layer of the neural net to apply weights to the input feature data to classify the image.
The disclosure will be better understood from the following description of exemplary embodiments together with reference to the accompanying drawings, in which:
FIG. 1A is a diagram of a chip having four dies each having multiple processing cores that may execute a convolutional neural network model;
FIG. 1B is a simplified diagram of one of the dies on the chip shown in FIG. 1A;
The present disclosure is susceptible to various modifications and alternative forms. Some representative embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed. Rather, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
The present inventions can be embodied in many different forms. Representative embodiments are shown in the drawings, and will herein be described in detail. The present disclosure is an example or illustration of the principles of the present disclosure, and is not intended to limit the broad aspects of the disclosure to the embodiments illustrated. To that extent, elements, and limitations that are disclosed, for example, in the Abstract, Summary, and Detailed Description sections, but not explicitly set forth in the claims, should not be incorporated into the claims, singly, or collectively, by implication, inference, or otherwise. For purposes of the present detailed description, unless specifically disclaimed, the singular includes the plural and vice versa; and the word “including” means “including without limitation.” Moreover, words of approximation, such as “about,” “almost,” “substantially,” “approximately,” and the like, can be used herein to mean “at,” “near,” or “nearly at,” or “within 3-5% of,” or “within acceptable manufacturing tolerances,” or any logical combination thereof, for example.
The present disclosure is directed toward a system and method of compressing control data such as weight data in a learned image classification model. The compression process includes a stage of matrix refactoring, a compress (quantization) stage and a lossless encoding stage to produce a compressed set of weights for the model. The compression process thus produces a compressed weights file and a decompression matrix. The compressed weights file and decompression matrix is stored by the multi-core system. When the image classification model is performed by the multi-core system, the system will decompress the compressed weights file using the decompression matrix. The decompression process includes lossless decoding, an expand (quantization) stage and a matrix restoration stage to obtained the weights from image classification process.