要約
圧縮スパース列 (CSC) と座標 (COO) は、スパース行列の一般的な圧縮形式です。
ただし、CSC と COO は両方とも汎用であり、データの冗長性など、スパース性以外のデータの特性を利用することはできません。
冗長性の高いスパース データは、ゲノミクスなどの多くの機械学習アプリケーションで一般的ですが、従来のスパース ストレージ形式を使用したコア内計算には大きすぎることがよくあります。
このペーパーでは、CSC の 2 つの拡張機能、(1) 値圧縮スパース列 (VCSC) と (2) インデックスおよび値圧縮スパース列 (IVCSC) を紹介します。
VCSC は、カラム内の高い冗長性を利用して、パフォーマンス特性に大きな悪影響を与えることなく、COO の 3 倍、CSC の 2.25 倍までデータをさらに圧縮します。
IVCSC は、デルタ エンコーディングとバイト パッキングを通じてインデックス配列を圧縮することで VCSC を拡張し、メモリ使用量を COO と比較して 10 分の 1、CSC と比較して 7.5 分の 1 に削減します。
シミュレートされたデータと実際のデータに関するベンチマークは、計算コストをほとんど追加せずに、VCSC と IVCSC を圧縮形式で読み取ることができることを示しています。
これら 2 つの新しい圧縮形式は、冗長なスパース データのエンコードと読み取りに広く役立つソリューションを提供します。
要約(オリジナル)
Compressed Sparse Column (CSC) and Coordinate (COO) are popular compression formats for sparse matrices. However, both CSC and COO are general purpose and cannot take advantage of any of the properties of the data other than sparsity, such as data redundancy. Highly redundant sparse data is common in many machine learning applications, such as genomics, and is often too large for in-core computation using conventional sparse storage formats. In this paper, we present two extensions to CSC: (1) Value-Compressed Sparse Column (VCSC) and (2) Index- and Value-Compressed Sparse Column (IVCSC). VCSC takes advantage of high redundancy within a column to further compress data up to 3-fold over COO and 2.25-fold over CSC, without significant negative impact to performance characteristics. IVCSC extends VCSC by compressing index arrays through delta encoding and byte-packing, achieving a 10-fold decrease in memory usage over COO and 7.5-fold decrease over CSC. Our benchmarks on simulated and real data show that VCSC and IVCSC can be read in compressed form with little added computational cost. These two novel compression formats offer a broadly useful solution to encoding and reading redundant sparse data.
arxiv情報
著者 | Skyler Ruiter,Seth Wolfgang,Marc Tunnell,Timothy Triche Jr.,Erin Carrier,Zachary DeBruine |
発行日 | 2023-09-08 14:24:40+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google