项目介绍:Xorbits
什么是 Xorbits?
Xorbits 是一个开源的计算框架,旨在简化数据科学和机器学习任务的扩展。这包括从数据预处理到模型调优、训练和服务全过程。Xorbits 能够利用多核或 GPU 来加速单机计算,并支持扩展到成千上台的机器,以处理TB级的数据及支持大型模型的训练或服务。
Xorbits 为数据科学家和机器学习从业者提供了一流的库,可以在不需要深入了解基础设施的情况下实现任务的无缝扩展。它支持熟悉的 Python API,能够与 pandas、NumPy、PyTorch 和 XGBoost 等多种库兼容。通过简单修改一行代码,就可以将 pandas 工作流无缝扩展至 Xorbits。
为什么选择 Xorbits?
随着机器学习和人工智能任务不断增多且复杂度增加,对计算资源的需求也随之急剧上升。尽管单节点开发环境(如笔记本电脑)提供了便利,但当面临扩展需求时往往显得力不从心。
从笔记本电脑到集群的无缝扩展
使用 Xorbits,无需指定数据的分布方式,甚至无需了解系统有多少内核。用户仍可以使用现有的笔记本环境,享受 Xorbits 带来的显著加速效果,即使在笔记本电脑上也不例外。
处理 pandas 无法处理的大数据集
Xorbits 可以利用系统的所有计算核心,特别适合处理 pandas 可能会减速或耗尽内存的大型数据集。
闪电般的速度
依据基准测试结果,Xorbits 在速度和可扩展性上超过了其他一些流行的 pandas API 框架。
利用 Python 生态系统
Xorbits 致力于充分利用整个机器学习生态系统,提供了与 pandas 及其他库的原生集成。
如何获取 Xorbits?
Xorbits 的源代码托管在 GitHub 上,可以通过 PyPI 获取最新版本的二进制安装包。使用以下命令进行安装:
pip install xorbits
未来规划
Xorbits 项目的未来目标包括:
- 从 pandas 原生过渡到 arrow 原生以进行数据存储,这将大幅降低内存开销并且对计算引擎更友好。
- 引入利用矢量化和代码生成等技术来加速计算的原生引擎。
- 尽可能多地扩展库和算法。
与 Mars 的关系
Xorbits 的创作者主要来自于 Mars 项目,并且目前构建在 Mars 之上以减少重复工作。但 Xorbits 的愿景决定了其不适宜将所有功能堆积在 Mars 之上,因此需要一个新项目来更好地支持其规划。未来将用即将提出的其他新组件替换一些核心的内部组件。
如何参与?
如果您对 Xorbits 项目感兴趣,可以通过以下方式参与:
- 在 GitHub 上提交问题以报告漏洞和提交新功能请求。
- 在 StackOverflow 上提问以获取帮助。
- 通过 Slack 与其他 Xorbits 用户进行协作。
Xorbits 致力于为数据科学和机器学习任务提供强大的支持和资源,旨在为用户创造更高效的计算体验。