分布式数据处理系统与机器学习工作负载的基准测试
1 引言
近年来,随着存储成本的快速下降以及在线网络应用和智能手机的普及,文本、音频、视频数据和用户交互日志等数据的收集规模达到了惊人的程度。这些海量数据推动了数据驱动应用的发展和科学研究的进步,使得在比以往大几个数量级的数据集上测试假设成为可能。
为了处理这些大规模数据集,分布式数据处理系统(即“大数据分析”系统)应运而生。这些系统与机器学习算法相结合,在网页搜索结果排名、个性化内容推荐等重要任务中取得了显著的改进。然而,尽管数据量巨大时相对简单的算法可能表现出色,但现有的分布式数据处理系统在执行机器学习算法方面的效率仍有待评估。
目前,用于事务性工作负载(TPC - C)和OLAP工作负载(TPC - H)的关系数据库系统性能评估基准已被广泛接受,但分布式数据处理系统的基准测试领域尚不成熟。现有的基准测试主要关注系统对简单计算和转换的扩展能力,缺乏对机器学习工作负载扩展性能的评估基准。
基于此,本文将分享评估新型数据处理系统的经验,明确分布式数据处理系统在机器学习工作负载下的核心实验集,并阐述其必要性。
2 数据处理系统中的机器学习方法
在分布式数据处理系统的背景下,机器学习方法可分为三大类:聚类、分类和推荐系统。在应用这些机器学习算法之前,需要通过特征提取将原始数据转换为数值表示(特征向量),这个预处理步骤非常适合在分布式数据处理系统上进行并行执行。处理完所有输入数据后,得到的训练数据集通常用数值数据矩阵 (X \in \mathbb{R}^{(n \times d)}) 表示,其中 (n) 是训练数据点的数量,(d) 是特征空间的维度。