对于从业者

使用Modin扩展您的Pandas工作流 - 无需重写

10月27日,2021年
由Anaconda团队

这篇文章由Vasilij Litvinov,AI Frameworks工程师,英特尔撰写撰写撰写。


介绍

AI和Data Science正在迅速推进,从而为桌面带来了越来越多的数据,使我们能够导出每天继续增长更复杂的想法和解决方案。vwin德赢App下载苹果

但另一方面,我们看到这些进步正在将重点从价值提取到系统工程。此外,硬件功能可能以比人们学习如何正确利用它们的速度更快地增长。

这一趋势要么需要添加一个新的位置,所谓的“数据工程师”,或者需要数据科学家处理与基础设施相关的问题,而不是专注于数据科学生成见解的核心部分。其中一个主要原因是没有优化的数据科学和机器学习基础设施,用于数据科学家不一定是自然的软件工程师 - 这些可以被认为是两个单独的,有时重叠的技能。

我们知道数据科学家是习惯的生物。它们喜欢他们熟悉Python数据堆栈中的工具,例如熊猫,Scikit-Searning,Numpy,Pytorch等。然而,这些工具通常不适合并行处理或数据的TB。

Anaconda和Intel正在合作解决数据科学家最关键和核心问题:如何使其熟悉的软件堆栈和API可扩展且更快?

这篇文章旨在引入Modin(AKAIntel®Modin的分布),这是英特尔®NeapiAI分析工具包(AI套件)的一部分,现在可以从Anaconda的默认频道(以及来自公共伪造)的默认频道提供。

为什么熊猫还不够

虽然是“行业标准”,但Pandas本质上是单线线路的,因为很多情况都使其在庞大的数据上操作缓慢(甚至停止工作的数据集不适合存储器)。

虽然有许多其他替代方案旨在解决问题(如DASK,PYSPARK,VAEX.IO等),但这些库都没有提供完全熊猫兼容的接口 - 用户必须相应地“修复”工作负载。

Modin必须为您提供什么是最终用户?它试图遵守“工具应该为数据科学家工作,而不是反之亦然”的想法。因此,它为熊猫提供了一个非常简单的替代品 - 您只需将“导入熊猫作为PD”语句切换,并使用“导入Modin.Pandas作为PD导入”并获得更好的可扩展性,以获得大量用例。

多么莫德所提供的

通过删除“重写熊猫工作流到X框架的步骤”,可以加快开发周期进行洞察力。

Modin Fig1.
图。在连续开发周期中使用Modin。

Modin更好地利用硬件的方式是通过网格分割DataFrame,这使得能够以并行分布式方式运行某些操作,例如Cell-Wise,Column-Wise或Row-Wise。

对于某些操作,可以利用Omnisci发动机的实验集成,以更好地利用多个核心的力量。

Modin Fig2.
图2.比较Pandas DataFrame和Modin DataFrame。

通过通过AI套件或anaConda默认(或公共伪造)通道安装Modin,还可以使用一些简单的代码更改来激活Modin的实验性,更快的Omnisci后端。

导入modin.config作为cfg cfg.engine.put('native')cfg.backend.put('omnisci')导入modin.experishive.pandas作为pd

告诉我这个数字!

足够用词,让我们看看基准。

有关不同Modin发动机的详细比较,请参阅社区测量的微币:http://modin.org/modin-bench/,它跟踪对Modin Repo的不同数据科学操作的性能。

对于这篇文章,让我们使用更多的端到端相关,更大的基准,在英特尔®至强®8368铂金型服务器上运行(下面有完整的硬件信息)通过Modin使用Omnisci。

Modin Fig3.

图3.跑步NYC出租车(200M记录,79.2GB输入数据集)

Modin Fig4.

图4.跑步普查(21M记录,2.1GB输入数据集)

Modin Fid5.

图5.跑步塑料质(460M记录,20GB输入数据集)

硬件信息:1x节点,2x 3RD Gen Intel Xeon 8368 C620板上的铂金,带512GB(16个插槽/ 32GB / 3200)Total DDR4内存,微码0xD0002A0,HT ON,Turbo On,CentOS 7.9.2009,3.10.0-1160.36。2.EL7.x86_64,1x英特尔960GB SSD OS驱动器,3x Intel 1.9TB SSD数据驱动器。软件信息:Python 3.8.10,PANDAS 1.3.2,MODIN 0.10.2,OMNISCIDB 5.7.0,Docker 20.10.8,由英特尔于10/05/202 1测试。

等等,还有更多

如果在一个节点上运行不足以进行数据,则Modin支持与相当简单的设置(对于射线驱动群集)在群集中运行https://docs.ray.io/en/latest/cluster/cloud.html#manual- ray-cluster-setup.设置;参考https://docs.dask.org/en/latest/how-to/deploy-dask-clusters.html.对于Dask)。

您也可以利用实验性XGBoost集成,这将自动使用基于射线的群集,而无需任何特殊设置!

通过所有这些新信息,请尝试通过Anaconda安装Modin和Intel®OneapiAIAnalytics Toolkit!

参考


通知和免责声明

性能因使用,配置和其他因素而异。了解更多www.intel.com/performanceIndex.

性能结果基于配置中显示的日期的测试,可能不会反映所有公开的更新。有关详细信息,请参阅配置披露。

没有产品或组件可以绝对安全。

您的费用和结果可能会有所不同。

英特尔技术可能需要启用硬件,软件或服务激活。

©英特尔公司。英特尔,英特尔徽标和其他英特尔标记是英特尔公司或其子公司的商标。其他名称和品牌可能被声称为他人的财产。

本网站使用cookie以确保您在我们网站上获得最佳体验。隐私政策
接受
Baidu
map