There are several factorizations of multi-dimensional tensors into lower-dimensional components, known as `tensor networks'. We consider the popular `tensor-train' (TT) format and ask: How efficiently can we compute a low-rank approximation from a full tensor on current multi-core CPUs? Compared to sparse and dense linear algebra, kernel libraries for multi-linear algebra are rare and typically not as well optimized. Linear algebra libraries like BLAS and LAPACK may provide the required operations in principle, but often at the cost of additional data movements for rearranging memory layouts. Furthermore, these libraries are typically optimized for the compute-bound case (e.g.\ square matrix operations) whereas low-rank tensor decompositions lead to memory bandwidth limited operations. We propose a `tensor-train singular value decomposition' (TT-SVD) algorithm based on two building blocks: a `Q-less tall-skinny QR' factorization, and a fused tall-skinny matrix-matrix multiplication and reshape operation. We analyze the performance of the resulting TT-SVD algorithm using the Roofline performance model. In addition, we present performance results for different algorithmic variants for shared-memory as well as distributed-memory architectures. Our experiments show that commonly used TT-SVD implementations suffer severe performance penalties. We conclude that a dedicated library for tensor factorization kernels would benefit the community: Computing a low-rank approximation can be as cheap as reading the data twice from main memory. As a consequence, an implementation that achieves realistic performance will move the limit at which one has to resort to randomized methods that only process part of the data.


翻译:将多维电解器数解成低维构件, 称为“ 电磁网络 ” 。 我们考虑流行的“ 电磁列” (TT) 格式, 并询问 : 与稀疏和稠密的线性代数相比, 多线性代数的内核库是罕见的, 通常不是最优化的 。 BLAS 和 LAPACK 等线性变代数库可能原则上提供所需的操作, 但往往以后置存储布局的额外数据移动成本为代价 。 此外, 这些图书馆通常能以最优化的方式从当前多核心的 CPU 中从全电磁力推出一个低端近端近端近端近端近端近端近端, 而低层的电离子库库库库中则导致记忆带带带带宽的操作。 我们建议“ 超高空图书馆- QR 系数化” 算算法只能用于两个建筑块: Q- lott- taking QR 递解算法的精度变现精度运算算结果, 我们的常规矩阵性矩阵性变化矩阵性变变变换数据, 将产生一个常规变形变换数据。

0
下载
关闭预览

相关内容

【硬核书】矩阵代数基础,248页pdf
专知会员服务
84+阅读 · 2021年12月9日
剑桥大学《数据科学: 原理与实践》课程,附PPT下载
专知会员服务
49+阅读 · 2021年1月20日
Python图像处理,366页pdf,Image Operators Image Processing in Python
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
机器学习线性代数速查
机器学习研究会
19+阅读 · 2018年2月25日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
6+阅读 · 2020年3月16日
Arxiv
3+阅读 · 2018年3月13日
Arxiv
5+阅读 · 2018年1月14日
Arxiv
3+阅读 · 2017年12月1日
VIP会员
相关VIP内容
【硬核书】矩阵代数基础,248页pdf
专知会员服务
84+阅读 · 2021年12月9日
剑桥大学《数据科学: 原理与实践》课程,附PPT下载
专知会员服务
49+阅读 · 2021年1月20日
Python图像处理,366页pdf,Image Operators Image Processing in Python
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
机器学习线性代数速查
机器学习研究会
19+阅读 · 2018年2月25日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员