开源人工智能工具(https://jozu.com/blog/25-open-source-ai-tools-to-cut-your-development-time-in-half/)为机器学习开发者和数据科学家提供了一种低成本高效益的方式来构建、分享和运行人工智能项目,摆脱专有软件的束缚。通过消除高昂的许可费用,这些工具使你能够重新分配资源来扩展项目或尝试新的创意。
凭借开源的灵活性使你能够根据需求定制解决方案,将其适应任何模型或部署方式。同样,一个全球社区的访问能够带来持续改进、故障排除,并带来新功能,让你随时跟上最新的技术进展。
开源工具也设计成易于集成,允许你将多个资源组合起来,以实现流畅的流程。下面,我将分享20个你可以用来进行你的AI或ML项目的AI开源工具。相信我,你一定不会失望的。
这20个开源AI工具有什么特别之处呢?我精心挑选了这些开源工具,基于三个关键因素:活跃且强大的社区支持、以用户为中心的核心功能特点,以及与机器学习和数据科学各个阶段的契合度。
让我们仔细看看这些热门工具,看看为什么在你的下一个项目中每个工具都值得考虑。
以下是一份20个开源工具的列表,它们可以帮助你完成AI项目。
模型的打包和部署
- 套件操作 (KitOps),
- MLflow,
- Streamlit,
- Gradio,
- RapidMiner.
数据和模型版本控制
- DVC(数据版本管理)
数据流和流程调度
- Flyte
- Metaflow
- MLRun
- Apache SystemDS
- Kedro
- Mage AI
模型搭建和训练框架体系
- TensorFlow
- Hugging Face Transformers
- H2O.ai
- Detectron2(Detectron2)
- Cerebras-GPT
- Rasa
- OpenCV(OpenCV)
数据校验和测试环节
- 深度核查
我们现在来详细地看看这些开源工具。
模型打包与部署这些工具支持软件的打包和部署,同时确保开发和测试过程的一致性和可重复性。
1. KitOps (工具操作)进行一个机器学习项目需要很多人一起努力;大多数时候,每个人都是独立工作的。虽然这个过程最终可能会有一个优秀的结果,但它带来了管理并跟踪各个组成部分的难题,包括数据、代码、配置、工件、元数据和模型,这些在项目整个生命周期中都是必不可少的。
KitOps 通过使用 Kitfile 来查找组件位置,并使用 ModelKit 这种遵循 OCI 规范的打包格式,将您的组件打包成一个单一标准化单元。ModelKit 使用基于不可变的 OCI 标准工件技术,从而使其不可篡改。
除了将组件打包成一个单一单元外,KitOps 还可以对单个组件进行版本控制和解包。此工具还与各种工具和平台进行集成,从 Docker Hub 到 Azure ML 和 Comet ML 等。为了更好地支持这一点,KitOps 提供了一个详细的 兼容工具列表,该列表列出了与 ModelKit 包兼容的工具。此功能简化了依赖管理,优化了工作流程,并改善了开发团队之间的协作。
KitOps 的关键优势在于所有操作都可以通过 Kit CLI 实现。想了解更多关于 KitOps 的内容,可以查看他们的 适合初学者的文档,并可以从 构建基于检索增强生成 (RAG) 的管道 开始。
2. MLflowMLflow 是一个名为MLflow的平台,用于管理机器学习项目从开发到部署的整个生命周期,包括性能评估。它具有多种好处。
MLflow 使结果的再现、部署和管理变得简单,通过追踪你的机器学习实验。该平台还适用于各种环境,并可通过 REST API 和命令行界面 (CLI) 进行操作,让用户可以访问和使用。
它有七个部分。
- MLflow 模型注册表功能 用于存储您的 ML 模型。它带有版本控制和注释功能。
- 用于跟踪实验并衡量模型性能的 MLflow 跟踪
- MLflow 模型部署 用于跨云平台部署您的 ML 项目。
- MLflow 项目 用于打包您的项目以确保它们易于重用、重现且可移植。
- MLflow 提示工程 UI 处理您的提示工程任务。
- 提供访问 SaaS 和 OSS 大型语言模型 API 的 MLflow 大型语言模型部署
- MLflow 配方 用于为现实世界的部署场景结构化 ML 项目。
MLflow 还可以与各种工具和平台集成,包括 PyTorch 和 LangChain 到 HuggingFace、OpenAI、Keras 和 TensorFlow。您可以按照教程,在 MLflow 上开始构建模型和生成 AI 应用程序。
3. Streamlit (流处理应用)Streamlit 是一个开源平台,它将你的 Python 脚本变成可以共享的网络应用,只需几行代码就能在几分钟内完成。这些交互式网络应用通常是大多数机器学习项目的演示应用。最令人惊叹的是这个平台,它不需要任何前端或后端经验。此外,Streamlit 让你无需编写 HTML、CSS 或 JavaScript,也无需定义路由和处理 HTTP 请求,就能创建这些网站。
Streamlit 还允许开发者在不到一分钟内构建和部署强大的生成式 AI 应用程序。他们的教程页面涵盖了各种主题,从如何使用 LangChain 构建 LLM 应用程序到如何在 Streamlit 中部署应用程序。
4. Gradio 项目就像 Streamlit 一样,Gradio 是一个开源工具,用于将你的ML模型以网络应用的形式与公众分享。这个工具为你的模型创建了一个交互式界面。这个界面可自定义,并支持与流行框架如 PyTorch 和 Scikit-learn 的集成。
除了生成可共享的链接之外,Gradio 还允许开发人员在 Python 笔记本中展示并嵌入他们的模型界面,来展示模型的性能。此链接可以通过 Python API 生成,并支持多种类型的输入,从文本到图像、音频和视频。
你可以根据这个Gradio教程构建一个模型,并分享你第一个应用。
5. RapidMinerRapidMiner Studio 是一个面向数据分析师和ML工程师的软件和数据科学平台。它帮助简化了项目的数据处理、数据挖掘、机器学习和模型部署流程。虽然该平台主要面向开发和部署预测性分析应用,但仍为用户提供各种监督学习、无监督学习和强化学习模型。
让Rapid Miner吸引人的一些特性包括其预构建的操作、拖放功能、交互式的可视化、协作式环境和可视化的编程界面,让使用者无需编写代码就能创建机器学习工作流。
学习如何使用RapidMiner Studio的最佳途径是通过在线教程[s](https://docs.rapidminer.com/9.9/studio/getting-started/index.html#tutorials)。
数据和模型版本控制这些工具用于管理数据集、模型和代码版本,以便可靠地跟踪和再现。
6. 数据版本管理DVC(数据版本控制)
DVC 可以被描述为数据科学项目的版本控制系统。数据版本控制(DVC)是一款管理并追踪数据、机器学习模型和实验变化的应用程序。这样,你可以保持轻量级的 Git 存储库,同时确保项目可以在任何时候使用正确的数据版本进行复现。这与 Git 跟踪代码变更的方式非常相似。
除了使用 Git 进行数据版本控制,DVC 还提供本地实验跟踪,用于管理机器学习实验,支持data pipeline 版本控制,帮助描述您的数据是如何与其他数据和代码一起构建的。使用 DVC 进行实验跟踪的一个大好处是,您无需离开 Git 就可以评估和可视化机器学习项目的指标和参数。
从一个动手的图像分类项目开始你的DVC体验之旅,该项目涵盖了数据和模型版本控制。
管道和工作流管理这些工具通过优化您的机器学习和数据处理流程,使您的工作流程自动化,并实现可扩展的生产环境。
7 FlyteFlyte(https://flyte.org/)是一个开源的工作流管理平台,允许开发人员利用其Python软件开发工具包(Python SDK)构建、转换及部署数据和机器学习工作流。这样,你就能构建并执行具有可扩展性、易维护且可再现的数据处理及机器学习流水线。
要了解更多关于Flyte的内容,可以去看看[Flyte Blog](点击这里), Flyte Blog。
第八. MetaflowMetaflow(https://metaflow.org/)是由奈飞开发的一个开源框架,用于构建和管理机器学习、AI和数据科学项目。此工具解决了在生产环境中部署大型数据科学应用的难题,通过允许开发人员使用其Python API来构建工作流、使用笔记本进行探索和测试,并快速扩展到云端环境。平台还能跟踪和存储机器学习实验和工作流等。
你可以从他们的tutorials开始使用Netflix的Metaflow功能。
9. MLRunMLRun 为开发者提供了一个 AI 编排框架,用于管理机器学习 (ML) 和生成式 AI (GenAI) 应用,通过自动化数据处理、模型开发、调优、验证和优化 ML 模型来实现。该平台还允许用户在本地、混合和云环境中部署可扩展的实时数据管道,从而简化了整个 ML 项目的生命周期。
如需查看MLRun的首页,可以看这里:
一个开始使用MLRun的好地方是它的教程和示例页面,该页面显示了如何使用MLRun来实现并自动化不同阶段的机器学习任务流程,请访问教程和示例页面了解详情。
10. Apache SystemDS (一个分布式数据处理平台)Apache SystemDS(原名为Apache SystemML,现称为Apache SystemDS)是一个端到端的数据科学和机器学习系统,从数据集成和清洗到模型训练和部署,该平台管理你的数据科学项目。该平台由Apache软件基金会建立,旨在简化数据科学项目管理流程。
通常,这些模型是在个人电脑上开发和运行的。这对小数据集来说很好,但对于大数据集来说就不够用了,由于需要多个节点和更复杂的分布式系统。
因此,SystemDS提供了一个大规模的声明式机器学习平台,可以在Apache Hadoop和Apache Spark上运行分布式作业。这种声明式的语言其语法与R和Python非常相似。它能够编译成包含本地操作和内存(CPU和GPU)操作的混合执行计划。
你可以通过尝试一下他们在快速入门中的矩阵运算示例来探索Apache SystemDS,以了解更多内容。
11. KedroKedro 是一个机器学习开发框架,它帮助数据科学项目从试点开发阶段顺利过渡到生产环境,通过创建可重复、可维护和模块化的数据科学代码。Kedro 拥有一个数据目录来处理数据,支持管道搭建,并采用标准化模板来确保代码的可维护性和一致性。其数据目录使用轻量级数据连接器来管理和跟踪数据集。这让您可以利用相同的管道在系统内构建多个生产级别的代码,从而提高开发效率。
除了版本控制数据集和自动化管道之外,Kedro 还提供了 Kedro-Viz 可以帮助你可视化数据、ML 工作流、实验和它们之间的关联。这里的 关联 指的是数据和 ML 工作流之间的关系——比如管道如何处理任务及模型和参数之间的关系。此工具还集成了各种数据科学和 ML 工具。你可以从探索 Kedro 的 太空航班数据集 开始。
12. 法师AIMage AI 是一个开源的数据管道构建工具,用于数据转换和集成。它允许数据科学家和机器学习工程师通过交互式、拖放界面构建、管理和自动化生产级别的数据管道。平台在构建数据管道过程中也融入了人工智能技术。
一个学习Mage AI的好方法是跟着这个教程,它构建了一个ETL数据流程,将餐厅数据加载并转换进DuckDB数据库。
模型搭建与训练体系这些套件包含了用于构建和训练机器学习模型的库。
13. TensorFlowTensorFlow 是一个一站式平台,用于创建、运行、训练和部署ML模型,特别擅长于深度神经网络。
请留意,TensorFlow 自身就是一个独立的生态系统。该平台自带各种库、机器学习工具、API 以及数据,帮助你更轻松地构建和部署机器学习模型。其中包括以下库和工具:
- 使用TensorFlow JS在JavaScript中构建Web ML应用程序。
- 使用TensorFlow Lite在移动设备和边缘设备上部署ML应用程序。
- 用于构建输入生产ML管道的TensorFlow数据。
- 如Keras等API。
- 准备好的可供使用的数据集和预训练模型。
- 包括What-If工具和TensorBoard等在内的各种工具,能够支持并加速您的ML工作流程。
- 各种库和扩展,从Dopamine到TensorFlow决策树森林和TensorFlow Lite模型制作。
可以从公开的TensorFlow教程开始,这是个很好的开始。
14. HuggingFace 变换器除了是最大的NLP技术开源供应商之一,HuggingFace 还是一个人工智能和机器学习平台,致力于让自然语言处理、计算机视觉和深度学习更加普及,为数据科学家和机器学习工程师提供了预训练模型的使用权限。其预训练模型是基于大规模数据训练的语言模型,利用了从GPT到BERT的各种架构。
Hugging Face还有:
- 数据集库 仓库,用于访问并共享数据集给社区。
- 分词器 用于自然语言处理中的文本分词(将文本分割成更小的单元)。
- Accelerate 库,用于优化模型训练与部署。
- 一个协作环境及其他平台上的其他工具。
首先从HuggingFace开始,可以去看看他们的ML任务专区,该专区包含各种社区教程、演示和实际应用案例。
15. H2O.ai与其他列表中的工具不同,H2O.ai 更专注于创建和部署 AI 模型。其工具套件包含各种工具和算法,以促进 AI 的普及。H2O.ai 还帮助用户构建生成式 AI (Gen AI) 应用。
在这些工具包中包括有:、
- H2O/H2O-3 是一个分布式内存机器学习平台,它具有自动机器学习的功能,能够处理各种机器学习任务。
- H2O Wave 是一个用于设计和部署具有交互性用户界面的应用程序的 Python 框架。
- H2O Driverless AI 是一个自动化的机器学习工具,它支持自动特征工程、数据可视化以及训练后的模型诊断和评估。
- Sparkling Water 是一个用于实现 Spark 上的高级机器学习算法的工具。
- H2O AI Cloud 是他们的完全托管的云环境。
- H2O AutoDoc 可以自动为您的机器学习模型生成详细的文档。
- H2O MLOps 是用于管理您的机器学习模型的工具。
- H2O Enterprise Puddle 用于创建云实例,使部署更为简单。
这是他们的平台
H2O.ai 也可以在多种环境和语言中,如 Java、Python、Scala 和 R 等中使用。您可以通过参加他们的AI大学课程来提升对H2O.ai的了解和技能。
16. Detectron2 项目Detectron2 是由 Facebook 人工智能实验室(FAIR)构建的一个 ML 平台,旨在帮助开发者构建用于对象检测、分割及其他视觉识别任务等的 ML 模型。该平台集成了多种新颖的计算机视觉和对象检测算法,例如 Fast R-CNN、DensePose、Panoptic FPN 和 TensorMask。这使得 ML 工程师可以轻松应用各种相关算法。注:“ML”是“机器学习”的缩写。
Dectectron2的文档包含详尽的适合新手的教程,帮助你快速上手。
17. Cerebras-GPT 项目Cerebras-GPT 是一个平台,托管了大约 7 个为计算优化的语言模型,参数规模从 111M 到 13B 不等。这些模型是使用 DeepMind 的 Chinchilla 公式 训练的,该公式影响了 OpenAI 的 GPT-4 和 Google 的 PaLM 2 的设计。由于采用了该公式训练,这些模型使用高质量数据集,并在合适的规模下训练,从而能完成更复杂任务并提高性能。因此,它们最适合用于研究实验室。
浏览Cerebras Model Zoo 仓库看看他们都有哪些模型。
18. 拉萨Rasa 是一个为开发者提供的开发工具,用于使用 Python 和自然语言处理技术构建基于文本和语音的智能虚拟助手和聊天机器人。虽然平台自带了预训练模型,开发者也可以创建和训练自己的模型,并添加自定义动作,以便在部署前将其部署到外部平台供公众使用。
在Rasa的核心,
- Rasa 自然语言理解 (NLU) 是一个用于意图分类和实体提取的处理工具,用于将文本转化为向量,以识别、理解和提取消费者输入的信息。
- Rasa Core 是一个聊天机器人平台,管理基于机器学习的对话系统。它使用如 LSTM 神经网络等概率模型。
看看 Rasa 可以做到什么,可以查看他们的社区展示,看看他们的机器学习课程,动手试试。
19. OpenCV该平台最知名的是其实时计算机视觉编程函数库。
来看看OpenCV上的AI模型吧
你可以通过访问OpenCV社区的OpenCV教程来构建你的第一个OpenCV项目。
数据及模型版本控制这些工具用于验证数据的有效性并测试您的模型性能,以确保在生产环境中的准确性和可靠性。
20. 深度检验Deepchecks(https://www.deepchecks.com/)更侧重于数据验证和机器学习模型的测试。借助Deepchecks,您可以在不牺牲性能和数据完整性的前提下快速构建模型。该软件包在构建过程中全面且持续地验证您的模型,以便及时发现并解决问题。最好的部分是,您可以自动化所有这些操作并将结果保存为GitHub Actions中的工件。
如下所示是Deepcheck的界面
了解有关Deepchecks的更多信息,可以探索他们的交互式检查演示。探索他们的交互式检查演示
结尾正如你所知,开源是关于可访问性、影响以及使技术更易为大众获取和使用。开源AI工具更进一步,让每个人都能参与到用AI解决大规模问题的过程中。因此,虽然迄今为止AI的影响已经非常显著,但它才刚刚开始。
每个工具在机器学习的流程中都发挥着不同的作用:
- 你有用于打包和部署模型的工具。
- 当涉及到追踪和版本控制时,你的数据和模型版本管理工具非常有用。
- 对于自动化复杂的工作流程,你的管道和工作流编排工具非常棒!
- 模型构建和训练框架是项目的核心,为各种机器学习任务提供训练支持。
- 当然,还有你的数据验证和测试工具,帮助确保准确性。
KitOps 在高效打包 AI/ML 模型、数据集、代码和配置方面表现出色,可将这些内容打包成 ModelKits,确保其在不同团队间的兼容性、可复现性和协作。
今天试试KitOps,优化你的机器学习工作流程。我很期待你用这些开源AI工具构建、分享和运行些什么。别忘了在社交媒体标记我们!
共同学习,写下你的评论
评论加载中...
作者其他优质文章