Skip to main content
QUICK REVIEW

[论文解读] HDTorch: Accelerating Hyperdimensional Computing with GP-GPUs for Design Space Exploration

William Simon, Una Pale|arXiv (Cornell University)|Jun 9, 2022
Ferroelectric and Negative Capacitance Devices参考文献 35被引用 4
一句话总结

HDTorch 是一个基于 PyTorch 的开源库,支持 CUDA 加速的超向量运算,用于超维计算(HDC),可实现快速的设计空间探索。它在经典 HDC 训练中实现了最高 111 倍的加速,在推理中实现了 87 倍的加速,同时首次实现了对 980 小时 CHB-MIT EEG 癫痫数据集的完整数据集分析,揭示了基于子集的训练方法存在的关键局限性。

ABSTRACT

HyperDimensional Computing (HDC) as a machine learning paradigm is highly interesting for applications involving continuous, semi-supervised learning for long-term monitoring. However, its accuracy is not yet on par with other Machine Learning (ML) approaches. Frameworks enabling fast design space exploration to find practical algorithms are necessary to make HD computing competitive with other ML techniques. To this end, we introduce HDTorch, an open-source, PyTorch-based HDC library with CUDA extensions for hypervector operations. We demonstrate HDTorch's utility by analyzing four HDC benchmark datasets in terms of accuracy, runtime, and memory consumption, utilizing both classical and online HD training methodologies. We demonstrate average (training)/inference speedups of (111x/68x)/87x for classical/online HD, respectively. Moreover, we analyze the effects of varying hyperparameters on runtime and accuracy. Finally, we demonstrate how HDTorch enables exploration of HDC strategies applied to large, real-world datasets. We perform the first-ever HD training and inference analysis of the entirety of the CHB-MIT EEG epilepsy database. Results show that the typical approach of training on a subset of the data does not necessarily generalize to the entire dataset, an important factor when developing future HD models for medical wearable devices.

研究动机与目标

  • 解决当前缺乏高效、灵活且开源的超维计算(HDC)框架的问题,以支持快速的设计空间探索。
  • 通过 GPU 加速的 CUDA 内核优化超向量运算(如位打包和求和),加速 HDC 训练和推理。
  • 在大型真实世界生物医学数据集(特别是不平衡的 CHB-MIT EEG 数据库)上评估 HDC 性能,而以往的研究依赖于数据子集。
  • 研究超参数(如超向量宽度和在线训练批量大小)对准确率和运行时间之间权衡的影响。
  • 证明基于子集的训练可能无法推广到完整数据集,尤其是在高度不平衡的医疗应用中。

提出的方法

  • HDTorch 扩展了 PyTorch,通过自定义 CUDA 内核实现高效的超向量运算,包括水平和垂直位数组求和以及位(解)打包。
  • 支持经典和在线 HDC 训练,其中在线学习通过分批数据实现增量更新,从而降低计算开销。
  • 该框架与 PyTorch 的 autograd 系统集成,支持端到端可微分的 HDC 流水线,以实现模型优化。
  • 通过并行 GPU 执行优化超向量运算,与基于 CPU 的实现相比,内存消耗最高降低 10 倍。
  • 系统支持可自定义的编码和相似度策略,实现 HDC 设计空间的灵活探索。
  • HDTorch 在四个基准数据集上进行了评估,并应用于完整的 CHB-MIT EEG 数据集,比较了不同数据组织策略(Fact10 与 1HSeg)的性能。

实验结果

研究问题

  • RQ1GPU 加速的超向量运算是否能在不损失准确率的前提下显著减少 HDC 的训练和推理时间?
  • RQ2超参数(如超向量宽度和在线训练批量大小)如何影响 HDC 中准确率与运行时间之间的权衡?
  • RQ3在数据子集上进行的训练是否能推广到完整、大规模且不平衡的 CHB-MIT EEG 数据集上的性能表现?
  • RQ4HDTorch 是否能够首次实现对 CHB-MIT 癫痫数据库的全数据集分析,揭示以往基于子集研究中未发现的洞察?
  • RQ5当应用于整个 CHB-MIT 数据集时,HDC 的性能与随机森林等传统模型相比如何?

主要发现

  • HDTorch 在经典 HDC 训练中实现了平均 111 倍的加速,在在线 HDC 训练中实现了 68 倍的加速,推理阶段在基准数据集中实现了 87 倍的加速。
  • 使用 CUDA 优化的内核,与基于 CPU 的实现相比,超向量运算的内存消耗最高降低 10 倍。
  • 在线 HDC 训练中的批处理显著减少了训练时间——最高实现 68 倍加速——但在大批次大小(如 8192)下,准确率平均下降 7%。
  • 在完整 CHB-MIT 数据集上的性能与基于子集的训练结果存在显著差异:经典 HDC 在完整数据集上训练时,F1 分数明显下降,且假阳性率上升。
  • 随机森林和在线 HDC 在完整数据集上的表现优于经典 HDC,其中在线 HDC 避免了经典 HDC 所出现的精确率下降问题,表明训练策略对大规模不平衡数据集至关重要。
  • 本研究揭示,典型的基于子集的训练方法可能无法推广到完整数据集,强调了在医疗 HDC 应用中进行全数据集评估的必要性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。