Data compression is used in a wide variety of tasks, including compression of databases, large learning models, videos, images, etc. The cost of decompressing (decoding) data can be prohibitive for certain real-time applications. In many scenarios, it is acceptable to sacrifice (to some extent) on compression in the interest of fast decoding. In this work, we introduce and study a novel problem of finding a prefix tree having the best decode time under the constraint that the code length does not exceed a certain threshold for a natural class of memory access cost functions that use blocking (also referred to as lookup tables), i.e., these decoding schemes access multiple prefix tree entries in a single access, using associative memory table look-ups. We present (i) an exact algorithm for this problem that is polynomial in the number of characters and the codelength; (ii) a strongly polynomial pseudo approximation algorithm that achieves the best decode time by relaxing the codelength constraint by a small factor; and (iii) a more efficient version of the pseudo approximation algorithm that achieves near optimal decode time by relaxing the codelength constraint by a small factor. All our algorithms are based on dynamic programming and capitalize on an interesting structure of the optimal solution. To the best of our knowledge, there is no prior work that gives any provable theoretical guarantees for minimizing decode time along with the code length. We also demonstrate the performance benefits of our algorithm on different types of real-world data sets, namely (i) a deep learning model (Mobilenet-V2); (ii) image and (iii) text data. We also implement and evaluate the performance of our algorithms on the GPU.
翻译:数据压缩用于各种各样的任务,包括数据库压缩、大型学习模型、视频、图像等。 解压缩(解码)数据的成本对于某些实时应用程序来说可能令人望而却步。 在许多假设中,为了快速解码的利益,可以牺牲(在某种程度上)压缩压缩数据。 在这项工作中,我们提出并研究一个新颖的问题,即找到一个具有最佳解码时间的前缀树,在限制下,代码长度不超过使用阻塞(也称为外观表格)的内存存访问成本功能自然等级的一定阈值。 也就是说,这些解压缩(解码)数据类型在一次性访问中访问多个前缀树条目的费用可能非常高。 在许多情形中,为了快速解码的利益,我们可以牺牲(在某种程度上)压缩(在某种程度上)压缩(部分字符数和代码),从而找到一个最优的解码化时间(我们通过一个小因素解码限制来解码时间,(我们通过一个小的分解),以及(三)一个更高效的假的文本模型版本,在一种接近最佳的版本中可以实现最优化的内置的Gnfix lix 动作,通过放松的解解算法结构结构, 使所有前的系统化过程的解算法化过程得以实现。