Method and system for compressing application data for operations on multi-core systems
US-11599367-B2 · Mar 7, 2023 · US
US12126367B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12126367-B2 |
| Application number | US-202318178237-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 3, 2023 |
| Priority date | Jan 24, 2020 |
| Publication date | Oct 22, 2024 |
| Grant date | Oct 22, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A multi-core system for executing a layer of a convolutional neural network, the system comprising: 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, wherein the compressed weight matrix is formed by matrix factorization and quantization of a floating point format of each weight to a floating point composite; a plurality of cores, wherein one of the plurality of cores is configured as a decompression module operable to obtain an approximation of the weight values by decompressing the compressed weight matrix by expanding the floating point composite of each weight to the floating point format; and wherein some of the plurality of cores are configured to execute the at least one layer of the convolutional neural network with the approximation of weight values to produce an inference output. 2. The system of claim 1 , wherein the compressed weight matrix is formed by matrix factorization and wherein a decompression matrix is stored in the storage device, wherein the decompression module is operable to obtain the approximation of the weight values by decompressing the compressed weight matrix through the decompression matrix. 3. The system of claim 2 , wherein the matrix factorization is performed by singular value decomposition. 4. The system of claim 2 , wherein the matrix factorization is performed by principal components analysis. 5. The system of claim 1 , wherein compressed weight matrix is encoded prior to being stored in the storage device. 6. The system of claim 5 , wherein the encoding is a Hoffman encoding procedure. 7. The system of claim 1 , wherein the floating point format is a 32-bit single precision floating point number in accordance with the IEE754 standard and the floating point composite is a four-bit value. 8. The system of claim 1 , wherein the convolutional neural network is an image classification model including image based inputs and wherein the interference output is a classification of the image. 9. The system of claim 1 , wherein the storage device includes a second compressed weight matrix of a second set of weights associated with a second layer of the convolutional neural network, wherein the decompression module is operable to obtain a second approximation of the second set of weights, and wherein the plurality of cores executes the second layer of the convolutional neural network with the second approximation of weight values. 10. A method of executing a layer of a convolutional neural network via a multi-core system having a plurality of cores, the method comprising: compressing the set of weights by quantization of a floating point format of each weight to a floating point composite; storing the compressed set of weights in a storage device of a multi-core device configured to execute the convolutional neural network; configuring one of the plurality of cores as a decompression module operable to obtain an approximation of the weight values by decompressing the compressed weight matrix by expanding the floating point composite of each weight to the floating point format; and configuring some of the plurality of cores to execute the at least one layer of the convolutional neural network with the approximation of weight values to produce an inference output. 11. The method of claim 10 , further comprising: performing matrix factorization of the set of weights to produce a decompression matrix and a set of factorized weights for the quantization; and storing the decompression matrix and the compressed set of factorized weights in the storage device. 12. The method of claim 11 , wherein the matrix factorization is performed by singular value decomposition. 13. The method of claim 11 , wherein the matrix factorization is performed by principal components analysis. 14. The method of claim 10 , further comprising encoding the compressed weight matrix. 15. The method of claim 14 , wherein the encoding is a Hoffman encoding procedure. 16. The method of claim 10 , wherein the floating point format is a 32-bit single precision floating point number in accordance with the IEE754 standard and the floating point composite is a four-bit value. 17. The method of claim 10 , wherein the convolutional neural network is an image classification model including image based inputs and wherein the interference output is a classification of the image. 18. The method of claim 10 , further comprising: performing matrix factorization of a second set of weights associated with a second layer of the convolutional neural network to produce a second decompression matrix and a second set of factorized weights; compressing the second set of factorized weights by quantization of a floating point value of each weight to a floating point format; and storing the second compressed set of factorized weights and the second decompression matrix in a storage device of a multi-core device configured to execute the second layer of the convolutional neural network. 19. An edge device comprising: a plurality of cores for executing at least one layer of a convolutional neural network model trained for image classification; a storage device storing a compressed weight matrix of a set of weights of the at least one layer of the convolutional network model, and a decompression matrix, wherein the compressed weight matrix is formed by matrix factorization and quantization of a floating point format of each weight to a floating point composite; a decompression module operable to obtain an approximation of the weight values by decompressing the compressed weight matrix by expanding the floating point composite of each weight to the floating point format; and wherein the plurality of cores execute the at least one layer of the decompressed convolutional neural network with the approximation of weight values to classify an input image, and wherein the compressed weight matrix of the set of weight is stored without having to re-train the convolutional neural network model to maintain model performance.
Quantised networks; Sparse networks; Compressed networks · CPC title
Convolutional networks [CNN, ConvNet] · CPC title
Type of the data to be coded, other than image and sound · CPC title
Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word · CPC title
using neural networks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.