
LlamaIndex • 2024-11-11
PureML:自动化数据清理与重构
这是 PureML 团队的客座文章,他们是我们近期黑客马拉松的获胜者之一。
在构建机器学习模型的过程中,ML 工程师及其团队经常面临繁琐且成本高昂的数据清理任务——这是一个关键步骤,需要大量时间和资源。当协助这项工作的实习生在秋季返校时,对高效、可扩展解决方案的需求变得更加明显。这一挑战激发了 PureML 的开发灵感,PureML 是在 Agentic RAG-A-THON 上创建的概念验证项目,旨在部署能够简化和自动化数据清理任务的 AI 代理,从而降低成本并提高模型准确性。
概念验证用例
团队首次会面时,他们认识到了这一挑战的独特性。然而,正如 Johann West 所解释的,这是一个具有明显创新机会的现实问题。团队专注于汽车应用,其中需要清理大量汽车数据,并着手解决这个概念验证 (POC) 中的三个关键用例
1) 上下文感知空值处理
我们利用了代理式 RAG(检索增强生成)系统来提高准确性,并避免使用平均值填充缺失数据的陷阱。通过集成生成式 AI,我们旨在简化和提升 AI 开发流程。以下是一个简化示例

2) 智能特征创建
您的数据中缺少特征?PureML 可以直接处理您的数据集,从行级别上下文智能生成新特征。例如,在这种情况下,PureML 会自动添加每辆车制造的国家,用有价值的上下文信息丰富数据集。

3) 数据整合
数据清洗并非万无一失,但 PureML 通过整合同义类别来解决这个问题,确保数据集的一致性。毕竟,'Chevy' 应该被识别为 'Chevrolet'。

操作方法
工作原理如下:ML 工程师首先加载 PureML Web 应用并选择需要清理的数据集。接下来,他们选择相关的支持内容来构建 RAG(检索增强生成)系统,该系统将驱动数据清理过程。

数据摄取后,ML 工程师可以选择三种操作中的一种,并实时监控结果。

完成后,ML 工程师可以运行 AutoML 来获取数据清理过程有效性的定量洞察。

幕后技术
让我们来看看幕后技术。

首先是数据,ML 工程师有一个需要清理的数据集——在本例中是收集到的汽车数据。下一步是选择文件来创建 RAG(检索增强生成)系统。在研究了可用来源后,团队运行脚本从 Kaggle 数据集 Car Specification Dataset 1945-2020 创建 PDF,并将它们存储在 Box 中作为这些支持文件的仓库,从而收集了相关的汽车数据。
考虑到这些 PDF 文件的复杂性,它们很难直接使用。作为 PureML ETL(提取、转换、加载)过程的一部分,团队利用 LlamaCloud 的一个组件 LlamaParse 将这些文件转换为 Markdown 格式。然后将其保存在 Pinecone 向量数据库中,从而改进了前两个用例的检索。RAG 系统依赖 OpenAI 的 GPT-4 作为其基础模型。
然而,基本的 RAG 设置可能不够充分;单次 RAG 检索可能无法产生理想结果,而且通常也需要基于互联网的搜索。这时,配备多种工具的代理式 RAG 系统就变得至关重要。
与简单的聊天机器人不同,这并非问答界面。代理系统已优化用于生成报告,但此处的最终产物不是博客文章,而是经过清理的数据集。
该解决方案需要不止一个代理,因为每个用例都是唯一的。通过 LlamaIndex Workflow 实现,该框架提供了一种事件驱动的方法,其中流程中的步骤由特定的触发事件驱动。
用户体验是使用独特的 Web 应用框架 Reflex 构建的。一旦掌握,Reflex 能够创建针对这些用例量身定制的高效、无缝流程。我们很快就从初学者变成了专家,这种对 Reflex 的娴熟运用赢得了黑客马拉松的“Reflex 最佳应用奖”。
未来考虑
黑客马拉松节奏快,有时计划中的功能无法进入演示环节。在本例中,我们与 VESSL 和 Arize Phoenix 的实验和评估阶段不得不取消。我们也没有机会使用 Llama Deploy,我们的代理将在那里作为微服务运行。
除了模型开发,清理好的数据也至关重要;具有支持数据的 RAG 系统在各种业务流程中都有潜在的应用,可以显著减少手动搜索花费的时间。
在与数据科学家和研究人员的讨论中,他们对我们的项目表现出明显的兴趣。团队致力于持续改进,探索更多模型开发的用例,并寻求新的应用。我们欢迎与感兴趣的各方交流,特别是那些可能对投资我们项目感兴趣的人。如果您想了解更多信息,请联系我们:您可以在X和LinkedIn上找到我们。