苹果维修点

您现在的位置是:首页 > 技术前瞻 > 人工智能

人工智能

利用 Spark 和 scikit-learn 将你的模型训练加快 100 倍

2019-09-24 14:59:08 人工智能
  在 Ibotta,我们训练了许多机器学习模型。这些模型为我们的推荐系统、搜索引擎、定价优化引擎、数据质量等提供动力。它们在与我们的移动应用程序交互时为数百万用户做出

  在 Ibotta,我们训练了许多机器学习模型。这些模型为我们的推荐系统、搜索引擎、定价优化引擎、数据质量等提供动力。它们在与我们的移动应用程序交互时为数百万用户做出预测。

  当我们使用 Spark 进行数据处理时,我们首选的机器学习框架是 scikit-learn。随着计算机变得越来越便宜,机器学习解决方案的上市时间变得越来越关键,我们探索了加快模型训练的各种方法。其中一个解决方案是将 Spark 和 scikit-learn 中的元素组合到我们自己的混合解决方案中。

  我们很高兴地宣布我们的开源项目 sk-dist 的启动。该项目的目标是为使用 Spark 分发 scikit 学习元估计器提供一个通用框架。元估计器的例子有决策树集合(随机林和额外随机树)、超参数调解器(网格搜索和随机搜索)和多分类技术(一对多和多对一)。

利用 Spark 和 scikit-learn 将你的模型训练加快 100 倍

  我们的主要动机是填补传统机器学习模型空间的空白。在神经网络和深度学习的空间之外,我们发现我们的训练模型的大部分计算时间并没有花在训练单个数据集的单个模型上。相反,大部分时间都花在使用元估计器在数据集上训练模型的多次迭代上。

  让我们谈谈手写数字数据集。在这里,我们对手写数字的图像进行了适当的编码、分类。我们可以很快在一台机器上训练 1797 条记录的支持向量机,花费的时间不到一秒钟。但超参数调整需要在训练数据的不同子集上进行大量的训练。

  如下图所示,我们已经构建了一个总计需要 1050 个训练的参数网格。在拥有 100 多个核的 Spark 上使用 sk dist 只需 3.4 秒。这项工作的总时间是 7.2 分钟,意思是在没有并行化的单机上训练要花这么长时间。

赐研手机维修网】文章内容来源:https://vip-chn.com/jishu/ai/1753.html