Lossless compression of neural network weights
US-2020143249-A1 · May 7, 2020 · US
US11728826B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11728826-B2 |
| Application number | US-202117328452-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 24, 2021 |
| Priority date | May 24, 2021 |
| Publication date | Aug 15, 2023 |
| Grant date | Aug 15, 2023 |
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.
Methods, systems, and apparatus, including computer-readable storage media for hardware compression and decompression. A system can include a decompressor device coupled to a memory device and a processor. The decompressor device can be configured to receive, from the memory device, compressed data that has been compressed using an entropy encoding, process the compressed data using the entropy encoding to generate uncompressed data, and send the uncompressed data to the processor. The system can also include a compressor device configured to generate, from uncompressed data, a probability distribution of codewords, generate a code table from the probability distribution, and compress incoming data using the generated code table.
Opening claim text (preview).
The invention claimed is: 1. A system, comprising: one or more memory devices including a first memory device; one or more processors including a first processor, wherein the one or more processors are coupled to the one or more memory devices; and a decompressor device coupled at least to the first memory device and the first processor, wherein the decompressor device is configured to: receive, from the first memory device, compressed data that has been compressed using an entropy encoding, process the compressed data using the entropy encoding to generate uncompressed data, and send the uncompressed data to the first processor, wherein the compressed data is data compressed from input data, and wherein the one or more processors are configured to: process input data to generate a probability distribution of codewords from the input data; generate a code table from the probability distribution of the codewords in the input data; store the code table in the first memory device; and wherein the decompressor device is configured to process the compressed data by accessing the code table stored in the first memory device. 2. The system of claim 1 , wherein the compressed data is first compressed data and the uncompressed data is first uncompressed data, and wherein the system further comprises a compressor device coupled at least to the first memory device and the first processor, wherein the compressor device is configured to: receive second uncompressed data from the first processor; process the second uncompressed data using the entropy encoding to generate second compressed data; and send the second compressed data to the first memory device. 3. The system of claim 2 , wherein at least one of the compressor device and the decompressor device is implemented as one or more integrated circuits coupled to the first memory device and the first processor by one or more circuit interconnects. 4. The system of claim 2 , wherein a code table corresponding to the entropy encoding is stored on the first memory device, and wherein at least one of the decompressor device and the compressor device is configured to process data using the entropy encoding by accessing the code table from the first memory device. 5. The system of claim 2 , wherein the compressor device is further configured to: receive third uncompressed data from the first memory device; generate, from the third uncompressed data, the probability distribution of codewords from the third uncompressed data; process the third uncompressed data using the generated code table to generate third compressed data; and send the third compressed data and the generated code table to the first memory device. 6. The system of claim 5 , wherein the decompressor device is further configured to: receive, from the first memory device, the generated code table; and process the third compressed data using the entropy encoding and the code table. 7. The system of claim 1 , wherein the input data comprises a plurality of model parameter values for a neural network comprising a plurality of layers; wherein the one or more processors are further configured to: generate, for each layer of the neural network, a respective probability distribution of codewords for respective model parameter values in the layer, and generate, for each layer of the neural network and from the respective probability distribution for the layer, a respective layer code table; and wherein the code table stored in the first memory device comprises a plurality of layer code tables. 8. The system of claim 7 , wherein the decompressor device is further configured to: identify first compressed model parameter values corresponding to a first layer of the plurality of layers, and process the first compressed model parameter values using the entropy encoding and a first layer code table corresponding to the first layer. 9. The system of claim 7 , wherein the plurality of model parameter values are each represented in a floating point format comprising at least an exponent, and wherein the one or more processors are further configured to: generate, for each layer of the neural network, the respective probability distribution of codewords using exponents of model parameter values in the layer as codewords. 10. The system of claim 1 , wherein the decompressor device comprises a plurality of entropy coders configured to decompress data using the entropy encoding, and wherein in processing the data using the entropy coding, the decompressor device is configured to: distribute the compressed data across each of the plurality of entropy coders; process the compressed data across each of the plurality of entropy coders to generate respective output decompressed data; and generate the decompressed data corresponding to the compressed data from the respective output decompressed data of each of the plurality of entropy coders. 11. The system of claim 10 , wherein the number of entropy coders that the decompressor device comprises depends at least on (i) the maximum bandwidth between the first memory device and the first processor, and (ii) the maximum bandwidth of each entropy coder. 12. A decompressor device for data decompression, wherein the decompression device is configured to: receive, from a first memory device, compressed data, wherein the compressed data has been compressed using an entropy encoding; process the compressed data using the entropy encoding to generate uncompressed data by using a code table generated from a probability distribution of codewords identified in uncompressed input data; and send the uncompressed data to a first processor. 13. The decompressor device of claim 12 , wherein the decompressor device is an integrated circuit coupled to the first memory device and the first processor by one or more circuit interconnects. 14. The decompressor device of claim 12 , wherein the code table comprises a plurality of layer code tables, each layer code table corresponding to codewords from a plurality of model parameter values of a respective layer of a neural network comprising a plurality of layers. 15. The decompressor device of claim 14 , wherein the plurality of model parameter values are each represented in a floating point format comprising at least an exponent; and wherein the codewords from the plurality of model parameter values of the respective layer are exponents of plurality of the model parameter values. 16. A method for data decompression performed by a decompressor device, the method comprising: receiving, by the decompressor device and from a first memory device, compressed data, wherein the compressed data has been compressed using an entropy encoding; processing, by the decompressor device, the compressed data using the entropy encoding to generate uncompressed data by using a code table generated from a probability distribution of codewords identified in uncompressed input data; and sending, by the decompressor device, the uncompressed data to a first processor. 17. The method of claim 16 , wherein the decompressor device is one or more integrated circuits coupled to the first memory device and the first processor by one or more circuit interconnects. 18. The method of claim 16 , wherein the code table corresponding to the entropy encoding is stored on the first memory device, and wherein processing the compressed data comprises using the code table from the first memory device.
Quantised networks; Sparse networks; Compressed networks · CPC title
using table look-up for the coding or decoding process, e.g. using read-only memory {(H03M7/4006 takes precedence)} · CPC title
using semiconductor devices · CPC title
Encoder aspects · CPC title
Parallelization · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.