论文标题
在选定的机器学习算法中增强数据局部性的指南
Guidelines for enhancing data locality in selected machine learning algorithms
论文作者
论文摘要
为了应对新的更大,更复杂的数据的复杂性,机器学习(ML)技术可能是第一个也是最重要的。为了使ML算法在合理的时间内产生结果,需要有效地实施它们。在本文中,我们分析了增加机器学习算法的性能的一种手段,该算法利用了数据位置。由于使用某些硬件技术来提高性能,数据局部性和访问模式通常是计算系统中性能问题的核心。改变访问模式以提高局部性可以大大提高给定算法的性能。此外,重复的数据访问可以看作是数据移动中的冗余。同样,重复计算也可能存在冗余。这项工作还通过直接重复使用计算结果来确定避免这些冗余的一些机会。我们首先要激发为什么以及如何通过在现代教学设置处理器的内存层次结构中利用重复使用来实现更有效的实现。接下来,我们在某些选定的机器学习算法中记录了这种重复使用的可能性。
To deal with the complexity of the new bigger and more complex generation of data, machine learning (ML) techniques are probably the first and foremost used. For ML algorithms to produce results in a reasonable amount of time, they need to be implemented efficiently. In this paper, we analyze one of the means to increase the performances of machine learning algorithms which is exploiting data locality. Data locality and access patterns are often at the heart of performance issues in computing systems due to the use of certain hardware techniques to improve performance. Altering the access patterns to increase locality can dramatically increase performance of a given algorithm. Besides, repeated data access can be seen as redundancy in data movement. Similarly, there can also be redundancy in the repetition of calculations. This work also identifies some of the opportunities for avoiding these redundancies by directly reusing computation results. We start by motivating why and how a more efficient implementation can be achieved by exploiting reuse in the memory hierarchy of modern instruction set processors. Next we document the possibilities of such reuse in some selected machine learning algorithms.