查看原文
其他

Data+AI 一体架构的产品创新

汤祯捷 DataFunTalk
2024-09-10

导读 目前 Data+AI 已经成为数据架构领域的最火热的技术方向。Data+AI 一体架构可以从纵向和横向的两个方向来拆解,一个方向是 Data for AI,另一个方向是 AI for DataWarehouse。大数据与 AI 的融合应用中面向海量的结构化、半结构化与非结构化数据的多场景处理。Data for AI  方向是指如何将海量数据与 AI 深度学习与大模型进行深度数据 AI 协同,其中存在大量的技术协同挑战;AI for DW 方向主要是指通过 AI 智能技术来改进数据仓库的核心能力,而数据治理成为了大家最关注的产品能力之一,是否能够通过 AI 的能力来促进 AI for DW 的实现是另一个重要挑战。

本文将分享阿里云在 Data+AI 一体架构的产品创新。主要内容包括以下几大部分:

1. Data+AI 一体技术趋势

2. MaxCompute Data for AI 能力

3. MaxCompute AI for AW 探索

4. MaxCompute 大模型应用最佳实践

5. Q&A

分享嘉宾|汤祯捷 阿里云计算有限公司 高级产品专家

编辑整理|李金澎

内容校对|李瑶

出品社区|DataFun


01

Data+AI 一体趋势

1. Data+AI 市场主要趋势

目前,Data+AI 一体化趋势可以分开理解成两个主要技术方向:

  • Data for AI

  • AI for DataWarehouse

在 Data for AI 产品层面,当前更多是大数据为 AI 赋能的应用,针对结构化、半结构化以及非结构化数据,探索数据预处理如何与 AI 深度学习与大模型数据训练的协同场景。在这一层面,我们提供了一个基于 MaxCompute 的分布式 Python 开发框架 MaxFrame 和分布式机器学习平台 PAI,MaxFrame 涵盖了镜像管理与 AI 平台的数据整合与衔接,以实现 MaxCompute + PAI 的一体化产品能力。

而在 AI for DataWarehouse 层面,更多是应用在智能数仓的场景上。其中,数据治理是大家当下比较关注的能力,能否运用更多 AI 智能的能力来实现 AI for DataWarehouse 之上的智能数据管理能力是。在智能数仓层面,我们构建了分层存储推荐、资源管理优化、查询计划优化、物化视图推荐以及自然语言生成 SQL 的 AI 能力。

2. Data+AI 开发的全生命周期

Data + AI 开发的全生命周期涵盖了数据分析、数据预处理、模型创建、模型训练、模型评估、模型预测以及部署发布等诸多流程,涉及业务人员、数据工程师、数据分析师和数据科学家等不同角色。

3. Data+AI架构的开发痛点

在 Data + AI 的全生命周期中,存在成本、效率、运维三方面的核心技术挑战。在成本方面,包括高效完成 Data + AI 的一体化工作以及相关的学习成本。效率方面,包含了性能、开发效率以及训练效率等。运维方面,由于 Data + AI 一体属于技术创新架构,处于从探索到成熟的持续发展阶段,还没有形成行业标准,而运维本身就是一个极为复杂的技术领域,Data+AI 的运维更甚之。我们围绕这三个维度,提炼出了以下四个主要痛点:

(1)数据类型多,数据管理能力差;

(2)数据开发与模型开发脱节;

(3)性能扩展能力差,训练效率低;

(4)工程化实现,缺少统一运维管理。

总体来说,目前在尚未出现行业统一标准的 Data + AI 一体化技术的当下,我们的技术产品实践都是在不断地尝试解决与优化在成本/效率/运维三个维度的痛点与问题。

02

MaxCompute Data + AI 能力

第二部分,其主要分享阿里云 MaxCompute 产品在 Data+AI 一体架构上的所做的产品架构实践。

1. MaxCompute Data+AI 分层架构

首先是 Data+AI 分层架构。底层的数据层提供了统一的元数据服务、分布式存储以及对象存储。其中,在半结构化数据存储领域中,JSON 半结构化数据的优化处理颇具挑战。中间层的计算层包括数据处理、模型开发、训练与管理。该平台还提供了交互式开发的 Notebook、统一开发调度平台的 DataWorks、可视化建模的 PAI Designer 等功能。其中,该平台创新性地提供分布式计算框架 MaxFrame 与自定义镜像管理,其主要支持统一的 Python 编程接口,支持构建对 LLM 大模型应用的数据预处理算子、分布式高效计算以及第三方包管理和模型镜像管理能力等。

2. MaxCompute Data+AI 核心功能

MaxCompute Data + AI 产品架构的核心功能可大致分为四大功能组件,包括统一数据管理、分布式计算框架、交互式开发环境、镜像管理等。

第一,统一数据管理 OpenLake 平台之上提供了基于统一数据湖仓的能力,支持对结构化、半结构化以及非结构化数据的管理。

第二,分布式 Python 计算框架 MaxCompute MaxFrame 则通过提供统一 Python 编程接口,提供了分布式计算能力,在数据预处理过程中提供更高效的计算, 为后续 AI 训练提供完备数据。

第三,交互式开发环境即开箱即用的 Notebook,提供了更便捷的交互式大数据与 AI 开发体验。

第四,自定义镜像管理 Compute Image 通过内置第三方依赖包/通用模型及其他,提供了便捷高效的自定义镜像管理。

3. MaxCompute One Env+One Data+One Code 用户体验

MaxCompute 支持统一数据管理,通过 Maxframe 进行数据预处理,并将结果直接集成在 PAI 的机器学习平台上,进行模型开发。之后使用 PAI-DLC 分布式 AI 训练平台进行对 AI 深度学习模型进行分布式训练优化,并通过 PAI 的镜像管理能力实现各类 AI 模型的管理。最后由 PAI-EAS 自动化推理组件来实现在线模型部署与发布。

4. 交互式开发环境-MaxCompute Notebook

关于第一个核心能力是交互式开发环境 MaxCompute Notebook。其为相关人员提供 Web 交互式开发环境,支持多引擎与 MaxCompute 集成,将结果输入到机器学习平台中,内置丰富的函数库,且数据安全有保障。

5. 分布式计算框架-MaxFrame

关于第二个核心能力是自研的分布式计算框架 MaxFrame。能够支持统一的 Python 编程接口,提供更多且灵活的算子兼容。另外是支持大数据、离线和AI的任务统一编排的 Data+AI一体化Pipeline。最后是开箱即用的开发体验,在可复用 MaxCompute 计算资源和数据接口以及海量数据的支撑下,面向大规模数据处理,数据可视化,科学计算以及 ML/AI 开发等多种开发场景。

6. 面向海量数据预处理场景-性能提升

在此我们分享一下通过 MaxFrame 框架计算对开源大模型项目 RedPajama 所提供的数据集进行预处理工作,包括数据预处理,文档去重,水印去除,数据过滤等。使用 MaxFrame 框架比使用基于开源算子的数据预处理整体耗时节省了 97.8%。

7. 深化 AI 非结构化数据管理-Object Table

关于第三个核心能力是非结构化数据处理能力。当前国内外数据 AI 领域都非常关注对非结构化数据的接入与处理。因为 Data+AI 重要的数据需求之一是对非结构化数据进行处理与应用管理。比如我们可以把对象存储中的数据在上层做相关映射的抽象,把非结构化数据抽象成表的格式,通过 Python 编程接口或者 SQL 语法能够便捷查询或检索非结构化数据。对于非结构化数据的缓存加速,查询优化以及列式数据裁剪,是把在智能数仓的 AI 智能特性应用在非结构化数据的管理上面。

8. MaxCompute+PAI 产品组合-Data+AI 一体化应用

关于第三个核心能力是目前应用最多的 Max Compute 与 PAI 的 Data+AI 的一体化产品应用。其中包括多类型数据存储、统一元数据管理、数据分析/AI 数据预处理等。MaxCompute 可以为经典机器学习场景提供了通用机器学习算法。标红部分为 PAI 机器学习平台产品套件,面向 PAI-DLC 分布式训练,PAI 模型仓库,PAI-EAS 推理服务,及 AI 镜像的管理。能够将 Data+AI 的一体化应用非常顺畅地串联在一起。

03

MaxCompute AI for DW 探索

第三部分,主要分享如何通过 AI 来让云原生数仓智能化的能力,即在 AI for DW 方向的技术与产品探索。

1. 分层存储推荐-按场景分层优化

其一,分层存储是业内数仓类产品的典型功能,在标准存储功能之外尝试提供智能推荐/存储自动分层等更智能的产品体验。比如数据在自动存储之上能够根据数据的访问量来推荐冷存或者归档的数据形态。另外,根据数据存储的时间与使用场景在冷存和热存之间做自动转化,通过优化存储来不断降低客户数据存储成本。

2. 物化视图智能化

其二,要介绍的能力是物化视图智能化。物化视图本质上是一种预计算,能够把一些耗时操作(JOIN,AGGREGATE)的结果保存下来,以便在查询时直接复用,从而实现加速计算的目的。AI 开始深度改造物化视图,提供物化视图推荐等智能化能力。

3. AI for DW 智能数仓新创新

其三,是关于智能数仓包括基于 AI 的数据治理能力。包括统一的元数据管理,以及作业计算统计分析能力来助力 SQL 提速等。在作业管理优化方面,目标是最多跑一次,确保同样的计算在面对新的数据时能根据已有的数据结构之下进行自动加速或路由分发,无需每次进行海量数据加载与重新计算。还包括资源分配以及查询计划的优化。其中比较重要的一环为基于 learning-based query optimizer,基于大模型或者传统机器学习的 AI 能力提供更强的 Auto 计算查询优化的用户体验。

另外,在大数据层面中数据分布的倾斜是一个重要的问题,需要通过智能数据重分布来实现自动化的数据分布优化,减少数据倾斜。最终实现智能数仓全面自动化。

4. 成本优化器-智能资源配置

其四,MaxCompute 成本优化器是为用户提供智能资源配置的产品组件。其基于近 30 天内预付费资源请求情况,依据设定评估时间模拟现状预付费资源配置下的满足度与作业延迟,并生成推荐变配方案。

其五,DataWorks Copilot 智能助手是阿里云一站式数据开发治理平台 DataWorks 所打造的 AI 助手。可辅助用户完成数据开发与数据分析工作,提高效率。目前与 MaxCompute 进行了一些整合,基于 MaxCompute 之前的 SQL 和数据进行相关训练,提供 Copilot 的能力。举例来说,通过输入“统计一下今天的销售额”,就可以生成相关的 SQL,实测准确率在 80+% 以上。

04

MaxCompute 大模型应用最佳实践

第四部分,也是在最后,为各位分享一下 MaxComputer 在大数据+大模型应用的最佳实践。

1. LLM 数据处理-文本去重

实践一是关于文本去重。在 Data+AI 领域应用最多的是数据预处理,文本去重又是其中最重要的一环,能够在纷繁的数据中找出有价值的内容。具体场景包括了数据读取、文本分词、计算 Hash、近似最近邻搜索以及原始文本去重。

2. 自定义镜像构建

在文本去重的场景过程的第一步,可以使用一些开源或自定义的镜像部署到 MaxFrame 机器学习平台,在平台之上会加载相应的分布式模型。

3. 基于 MaxFrame 完成 LLM 数据处理

在文本去重的场景过程的第二步,MaxCompute Notebook 对大模型所需的裸数据进行清洗,文本分词,Hash 计算等能力,并将任务提交至 MaxCompute MaxFrame 上分布式执行。整个链路在交互式开发环境即可实现。

4. 与开源算子性能对比

其中开源算子的性能对比参考如下,对8亿条原始数据进行处理,包含多个算子,MaxCompute 处理性能较开源算子在性能层面提升 70% 以上,在环境准备效率上提升 10%-30%。

5. LLM 数据处理-大规模图片处理

实践二,是基于大规模图片的处理更多是对于非结构化数据的处理,此过程中包括基于 MaxCompute 创建弹性资源池,通过 MaxFrame 并发读取 OSS 数据,调用第三方算子进行图片渲染,并实现分布式数据读取和计算处理。

6. MaxCompute 4.0 Data+AI

最后,在此分享总结基于 MaxCompute 4.0 的 Data+AI 的整体产品架构与应用。架构的底层是统一的元数据管理,能够提供接入结构化、半结构化、非结构化数据的存储服务。中间层是围绕着 MaxFrame 的分布式 AI 数据计算框架,其中包括不同的 DAG 分别处理数据预处理、智能数仓、对接 AI 分布式训练 PAI-DLC 以及多类型镜像管理,这些 subDAG 均可由在 MaxFrameDAG driver 框架中统一调用和编排。上层是统一使用交互式开发平台 MaxCompute Notebook 进行全栈大数据+AI 开发处理操作。通过底层-统一开放平台架构/中间层-多场景 AI 计算训练/上层-统一交互开发的三层架构来实现 Data+AI 一体产品协同能力,我们也相信这样的产品架构随着不断的业务实践,会逐步成为未来 Data+AI 领域的行业技术标准。我们共同拭目以待!

05

Q&A

Q:目前用大模型+RAG 的技术架构处理非结构化文本,在不了解业务属性的情况下如何把文本的知识块分割的更好,保证拆分的知识块未来是有价值的,语义是不被拆开的,能在未来做检索和查询的时候准确率更高呢?比如上传一个政策文件,但是不知道文件中哪些内容是需要让用户看到的,是否需要对文本进行标注呢?

A:由于每一次拆分跟面向的数据本身的特征是相关的,比如基于 NLP 的大模型,所使用的文本是否有价值是直接可以看到的。如果要过滤的话,去重是比较明确的,不懂业务也可以去重(包括去水印等)。但是哪些数据真的与业务相关,目前阿里云会加载一套标准清洗算法,每次根据业务属性作出调整。比如与金融相关的业务,模型会加载一个与金融相关的算法来提供处理金融类型数据的能力。另外,文本的标注是必要的,但是只有文本标注是不够的。我们是在数据存入向量数据库之前,在数据清洗的时候加入算法,做一些相关的过滤,这其实是一个迭代的过程。总的来说,第一,对于特定行业都会要构建对应专门的知识库,这些知识库会根据行业通过 RAG 加载到 AI 算法模型中。第二,每次处理完之后,都会进行人工审查,然后经过微调之后重新再清洗数据。第三,在训练过程中也会针对性地进行调优与微调。由于目前清洗的算法不算先进,所以在 Data+AI 中 Data 处理这部分的智能化是很关键的。另外,在云计算服务中,我们常常遇到一个 AI 大模型用户一周的计算资源处理量比十个典型大数据用户的资源使用都要多,这就存在极致弹性波峰波谷的技术问题,因此如何对整体资源消耗的优化也是一个非常重要的工作。

以上就是本次分享的内容,谢谢大家。


分享嘉宾

INTRODUCTION


汤祯捷

阿里云计算有限公司

高级产品专家

现任阿里云计算平台高级产品专家。

主要负责阿里云 MaxCompute 产品相关工作。研究大数据 AI 一体架构规模设计与产品商业化。

拥有十多年大数据&数据库产研与解决方案经验,曾在 EMC, 联想等数据产品研发与应用。

活动推荐

往期推荐


数据产品方法论:踩坑与超越!

Apache Paimon 实时湖仓存储底座

LLM+RAG:大模型在金融场景的落地探索

95% 向量资源节省,火山引擎云搜索 RAG 技术体系演进

天穹数仓自治能力在大模型时代的新实践

推荐系统融合排序的多目标寻优技术

GenAI时代的实时数据分析:Apache Pinot与向量索引技术探秘

金融,大模型落地的关键场景!

打造 LLMOps 时代 Prompt 数据驱动引擎

基于大模型的数据治理应用新范式


点个在看你最好看

SPRING HAS ARRIVED

继续滑动看下一个
DataFunTalk
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存