Big Data for AI实践:面向AI大模型开发和应用的大规模数据处理套件

本文主要是介绍Big Data for AI实践:面向AI大模型开发和应用的大规模数据处理套件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:夕陌,临在,熊兮,道辕,得水,施晨

随着人工智能技术的快速发展,大模型在各个领域的应用日益广泛。大模型能够更好地模拟人类的认知能力,大幅提升机器在复杂任务上的表现。然而,不断增长的模型参数规模使得数据集的复杂度也不断上升,数据质量更直接影响模型的准确性和可靠性。本文叙述的 Big Data for AI 最佳实践,基于阿里云人工智能平台PAI、MaxCompute自研分布式计算框架MaxFrame、Data-Juicer等产品和工具,实现了大模型数据采集、清洗、增强及合成大模型数据的全链路,解决企业级大模型开发应用场景的数据处理难题。

Data-Juicer是通义实验室和PAI共建的开源数据处理工具。它提供了丰富的数据处理算子、高效并行化的数据处理流水线,支持数据预处理、可视化、数据评估等各项能力。还为不同背景的用户提供了开箱即用的组件和丰富的数据配方。此外,Data-Juicer与MLLM和分布式计算生态系统无缝集成,以实现高效且可扩展的数据处理。

MaxFrame是MaxCompute自研的分布式计算框架,为MaxCompute提供了一套完整的Python开发生态,为大规模数据分析和机器学习任务提供了极佳的灵活性。数据科学家和数据工程师可利用MaxCompute的海量计算资源对数据进行大规模处理分析、可视化探索、科学计算,以及传统ML开发等工作。

阿里云人工智能平台PAI是是面向开发者和企业的机器学习/深度学习工程平台,提供AI开发全链路服务,为用户提供低门槛、高性能的云原生AI工程化能力。PAI的数据处理工具提供了一套全方位、覆盖多领域的解决方案。充分利用深度学习集群(DLC)和MaxCompute的分布式能力和资源,结合Ray、UDF和MaxFrame等底层框架,基于DataJuicer丰富的算子,为用户提供了开箱即用的组件和丰富的数据配方,能够高效且灵活地处理复杂数据任务,使得快速上手和简化流程成为可能。

PAI大模型数据处理套件架构概览:

自底向上:

  • 云资源:资源层是整个架构的基础,PAI大模型数据处理套件同时支持DLC(深度学习集群)和MaxCompute集群,为上层应用提供强大的计算和存储能力。

  • 引擎框架:

  • DLC集群:支持Ray自动化部署,可以进行大规模数据的并行处理,提升数据处理效率。

  • MaxCompute集群:利用UDF算子和MaxFrame框架,依托MaxCompute的强大计算和存储能力,满足特定业务需求。

  • 算子底座:DataJuicer提供了丰富的数据处理算子和高效的并行处理流水线,提供了全面的数据处理能力。我们以DataJuicer作为基石,进行算子改造,适配DLC和MaxCompute的分布式能力,进一步加速处理效率。

  • 产品:PAI-Designer 提供了用户友好的工具和界面,用户可以自定义工作流对数据安全、数据脱敏、数据增强等组件进行任意编排。我们同时与百炼合作,这些组件也作为百炼数据处理的底层工具为用户提供数据处理服务。

  • 解决方案:利用PAI的产品工具集,提供涵盖多个应用场景的解决方案,如文生图/视频、图片/视频理解、CT、SFT和RAG等。旨在简化整个数据处理流程。帮助用户快速上手。每个解决方案都是为特定领域的应用需求而设计的,用户可以根据自身需求选择适合的解决方案,满足多样化的业务需求。

Data-Juicer

Data-Juicer 是一个由通义实验室主导,PAI深度参与共建的一站式开源数据处理系统,旨在为多模态大语言模型(MLLMs)提供更高质量、更丰富、更易“消化”的数据,提供超过 100 个内置多功能算子和可插拔工具。通过模块化协同、灵活组合和弹性扩展,Data-Juicer 可以应对 MLLM 数据处理的异质需求,包括但不限于分析、清洗、合成和混合。 Data-Juicer 为各种背景的用户优化了可用性,包括提供开箱即用的底层组件,支持数据菜谱可配置,以及为 MLLM 预训练和后调优预置丰富的、效果证明过的数据菜谱。经过了多方面的系统性能优化, Data-Juicer 与 MLLM 和分布式计算的大量生态基建无缝集成,以支持高效且可规模化扩展的大模型数据处理。

此外, Data-Juicer 提供了一个定制化的中间层套件,“沙盒实验室”,来支持便捷的多模态大模型 “数据-模型协同开发”。它提供了灵活的实验平台,在 Data-Juicer 已有的数据处理能力之上,沙盒实验室持续集成多模态大模型的先进开源基建,提供数据和模型多维度的反馈循环。通过该套件,研发人员能在端到端工作流、典型开发行为、底层开发能力之间便捷组合,快速迭代小规模洞察,提高数据处理和模型开发的可衡量性和科学实践性,以便在更大规模场景下“有的放矢”。通过该实验室沉淀的数据开发工作流和实践洞察,也将持续集成到PAI中,帮助提升用户体验。

相关参考

  • 开源链接:GitHub - modelscope/data-juicer: A one-stop data processing system to make data higher-quality, juicier, and more digestible for (multimodal) LLMs! 🍎 🍋 🌽 ➡️ ➡️🍸 🍹 🍷为大模型提供更高质量、更丰富、更易”消化“的数据!

  • (SIGMOD'24) "Data-Juicer: A One-Stop Data Processing System for Large Language Models"

  • (V-Bench 文生视频 Leaderboard 第一名) "Data-Juicer Sandbox: A Comprehensive Suite for Multimodal Data-Model Co-development"

MaxCompute - MaxFrame

MaxFrame是有阿里云计算平台事业部MaxCompute团队研发的大数据处理框架,支持用户直接引用NumPy、SciPy、Matplotlib等三方库进行科学计算、数据分析、可视化等操作,并提供了兼容Pandas接口的分布式数据处理算子。使用MaxFrame框架编写的作业可直连存储在MaxCompute中的数据,利用MaxCompute的海量弹性计算资源对数据进行大规模分布式处理。传统基于Pandas编写的数据处理脚本经过一定的适配改写即可使用MaxFrame框架在MaxCompute中分布式运行,大幅提高了数据处理的规模及计算效率。

MaxFrame 特点优势:

  • 更熟悉的开发习惯

MaxFrame提供Python编程接口,兼容Pandas算子,且算子提交至MaxCompute自动分布式执行,不再受本地资源大小限制。

  • 更高效的数据处理能力

MaxFrame直接在MaxCompute集群中进行数据分布式计算,运行时无需将数据拉取至本地处理,消除了不必要的本地数据传输,提高作业执行效率。

  • 更便捷的开发体验

MaxFrame已与MaxCompute Notebook、DataWorks集成,提供开箱即用的交互式开发环境及离线调度能力;MaxFrame支持在代码开发中直接引用MaxCompute内置镜像(Pandas、Numpy、XGBoost等)及用户自定义镜像,且支持Python3.7和Python3.11版本,无需考虑复杂的环境准备以及兼容问题。

MaxFrame在24年7月开始了公共云公测,目前已经有掌阅、通义、饿了么等内外部客户的作业使用MaxFrame大幅提升了数据处理的开发效率和体验。

MaxFrame官网文档:MaxFrame概述_云原生大数据计算服务 MaxCompute(MaxCompute)-阿里云帮助中心 (aliyun.com)

PAI大模型数据处理套件

我们已将DataJuicer丰富的数据处理算子和MaxCompute的强大数据处理能力进行结合,封装成PAI-Designer产品中的算子,以简单易用的产品形态提供给广大大模型开发人员。

使用文档请参考:大模型数据处理。

算子列表:

在DataJuicer的基础功能之上,我们做了如下适配和优化:

支持MaxCompute-MaxFrame

我们将DataJuicer的算子封装成UDF函数,重新开发了一套UDF算子,并使用SQL脚本运行。可以充分利用MaxCompute海量数据存储和强大的弹性计算能力。同时,我们陆续将目前UDF+SQL的方式切换到MaxFrame框架,在保证性能的同时,MaxFrame友好的Python开发生态可以为开发者提供更好的白盒化支持。

支持PAI-DLC&RAY的分布式处理

  • 支持Ray自动化部署

用户启动多节点作业时,自动启动Ray集群,并监听多节点的状态,防止集群意外退出。

  • Ray的性能优化

我们和DataJuicer团队也在持续优化Ray的性能,会根据算子本身的特性适配Task或Actor模式。在不同的使用方式上做了大量的性能测试。目前会适配batch模式并自适应分配并行度,以最大程度利用Ray的优势。

  • 支持数据自动切分

除了支持Ray的分布式处理,我们还支持了将数据均匀切分到多个节点独立处理的功能。一方面可以减少节点间的通信时间,另一方面是因为我们发现当节点的内存占用达到某个临界点时,Ray的性能会打折扣。

算子迭代和创新

为了提升数据处理算子的性能与准确性,我们依据终端用户在日常操作中的反馈,对几个算法模块进行了优化和扩展。

  • 敏感词过滤算子

在原有的DataJuicer算子中,采用语种对应的分词模型对文本进行分词处理,并对切分后的结果进行遍历。这一方式在处理含有混合语言文本的情况时会出现识别精度下降的问题。为了解决这一点,我们改进了策略,取消了分词步骤,改用贪心算法对文本进行遍历,在一定程度提升了敏感词识别的准确率。此外,我们还对敏感词库进行了补充和扩展,解决了原有库存量不足的问题,同时确保了性能与先前版本相当。

  • 质量打分算子(DLC)

使用DataJuicer训练出的pyspark模型,质量打分算子(DLC)能够充分利用pyspark的分布式计算能力,实现了多节点协同处理。鉴于pyspark算子对MaxCompute的适配存在一定难度,MaxCompute的质量打分算子是另一套模型,支持了batch推理。后续我们计划推出DataJuicer非pyspark模型来取代当前的MaxCompute质量打分算子。

  • 敏感信息打码

  • 毒性过滤算子

与绿网协作,构建了一套精准识别网络中毒性言论的机制。这个算子能够检测与过滤出侮辱性、歧视性、煽动性等不当言论,并能进行自我学习来适应新的表达形式,大幅提高网络环境的健康性,以保障网上环境的健康和用户体验。

  • 数据增强算子

数据增强算子可以生成更多样化且具有挑战性的训练样本。我们通过指令扩充来增加命令和请求的多样性,同时采用指令优化策略提升现有数据集的质量。高质量的指令集对于训练出能够理解语言多样性与复杂性的模型至关重要。我们自己训练了指令优化和指令扩充模型,以提高自然语言处理的广泛性和准确性。指令优化模型:alibaba-pai/Qwen2-7B-Instruct-Refine、alibaba-pai/Qwen2-1.5B-Instruct-Refine指令扩充模型:alibaba-pai/Qwen2-7B-Instruct-Exp、alibaba-pai/Qwen2-1.5B-Instruct-Exp

  • QA提取算子(RAG应用)

在文档理解和问答领域中,高效从大量文本中提取和生成准确的问答对至关重要。我们新引入的RAG算子专门为这一需求而设计,为了更好地应对问答(QA)场景,我们自行采集数据,训练了模型。模型列表:alibaba-pai/pai-llama3-8b-doc2qa、alibaba-pai/pai-baichuan2-7b-doc2qa、alibaba-pai/pai-qwen1_5-4b-doc2qa、alibaba-pai/pai-qwen1_5-7b-doc2qa、alibaba-pai/pai-qwen1_5-1b8-doc2qa、alibaba-pai/pai-qwen1_5-0b5-doc2qa

数据转换组件

在处理需要大量CPU计算资源的任务方面,MaxCompute算子有较大优势。然而,对于图像、音频、视频的数据存储和处理,及一些依赖于GPU加速的算子,MaxCompute则无法提供相应支持。鉴于此,这部分算子我们优先支持DLC资源,数据存储支持OSS(对象存储服务)。

另外,对于DLC算子我们测试pyodps sdk直接读取MaxCompute表中的数据时,性能较慢,无法达到预期,所以DLC组件暂不支持直读表数据。这一限制使得在实际的数据处理中可能会出现两种算子的混合使用情况。

为了支持算子混用,提升数据传输效率,我们开发了数据转换组件。该组件支持OSS与MaxCompute表之间的数据转换,且在处理千万量级的数据时能实现秒级的转换速度。可以大幅提升数据处理的灵活性和效率。

对接QuickStart

我们将PAI快速开始(QuickStart)的部分LLM模型迁移到PAI-Designer。支持数据处理+LLM模型训练+LLM模型推理端到端的工作流链路,在Designer中实现闭环。

训练和推理同时支持DLC和MaxCompute两套处理算子。

算子的串联

当前,PAI-Designer各组件操作均相互独立。每个组件完成处理任务后,会将结果持久化保存至OSS或表中。这一处理流程不可避免地伴随着一些额外时间消耗,包括机器调度、容器的重新初始化及数据保存所需时间。为了解决这一问题,我们正计划支持组件之间的无缝串联,无需进行数据落盘操作,每个数据处理算子的输出结果将直接在内存中保留,直至所有算子均顺利执行完毕后再进行一次性落盘。这能够显著降低因机器调度、容器启动、以及反复执行数据落盘操作而产生的时间开销,从而提高整个处理流程的效率和性能。

处理模板

为了帮助用户快速上手,我们基于数据处理组件列表,预置了多个领域的数据处理模板,包括LLM相关的SFT数据处理模板、CT数据处理模板 ,LVM相关的文图处理模板和文视频处理模板。还有端到端的数据处理+训练+推理模板,用户可以一键导入运行。

预置工作流模板请参考:LLM大语言模型数据处理 - github code、LLM大语言模型端到端链路:数据处理+模型训练+模型推理 、LLM大语言模型数据处理-Alpaca-Cot(sft数据)、视频数据过滤打标

数据增强模型的单独部署

数据增强技术能够生成更具多样性和挑战性的训练样本。我们通过扩展指令集的方式增加命令和请求的多样性,并采用指令优化策略来提升现有数据集的质量。高质量的指令集对于训练能够理解复杂语言多样性的模型是至关重要的。为此,我们开发了自有的指令优化和指令扩充模型如下:alibaba-pai/Qwen2-7B-Instruct-Refine、alibaba-pai/Qwen2-1.5B-Instruct-Refine、alibaba-pai/Qwen2-7B-Instruct-Exp、alibaba-pai/Qwen2-1.5B-Instruct-Exp。

除了在数据处理的产品中作为算子串接使用,在其他应用场景(例如线上应用的自动指令改写),许多企业和开发者也有单独部署上述模型的需求。我们在QuickStart中上架了这四个自研模型的model card,并且支持用户以零代码方式单独部署这些模型至PAI-EAS。模型的model card示例如下所示:

典型案例

百炼

阿里云百炼是基于通义大模型、行业大模型以及三方大模型的一站式大模型开发平台。面向企业客户和个人开发者,提供完整的模型服务工具和全链路应用开发套件,预置丰富的能力插件,提供API及SDK等便捷的集成方式,高效完成大模型应用构建。

PAI的数据处理算子能力已接入百炼的数据处理模块中,我们为百炼支持了算子串联的不落盘功能,降低了数据处理时延,并优化了整个数据处理链路的性能。

在算子层面与数据层面,我们支持了容错。在单个数据处理算子出现问题的情况下,整个数据处理流也能够稳定运行,不会影响到后续算子的处理过程。数据层面的容错则保证了输入到系统中的数据,即使部分有损坏或格式错误,也能够被识别和自动修正或隔离,确保数据处理流程的鲁棒性。共同保障了数据处理的稳定性。

饿了么

本地生活集团-饿了么团队,已在阿里云PAI-Designer平台上构建了一套全面且精细的大型语言模型(LLM)数据处理流程,已成功实现部分关键业务的迁移与优化。为驱动其自主研发的E-GPT系列模型,该团队精心筛选并处理了源自20个不同源头的数据集,总数据量2TB,最终提炼出1T token的优质数据,专用于饿了么垂直领域的基座模型训练。团队每约一个月便进行一次数据迭代,以此不断更新与优化其基模型,确保模型的时效性和竞争力,至今已在PAI-Designer上稳定运行超过三个月

饿了么团队基于 Qwen-Base 模型进行继续预训练。他们使用了开源网页和域内自建两部分数据。从互联网收集高质量中、英、代码、数学等语料,涵盖网络数据、图书、论文、百科、知识学科题目和社交媒体等通用知识语料,同时本地构造清洗大量垂类语料。对原始数据进行精细的预处理工作,包括质量评估、冗余去除、隐私消除等步骤。

借助PAI-Designer平台提供的工具链,饿了么团队得以快速稳定的构建一套高度定制化的Post-Training流程,这一系列复杂的数据处理流程被简化,显著提升了研发效率,确保了模型迭代的顺利进行与稳定发布,为饿了么的业务创新与技术升级注入了强劲动力。

饿了么工作流:

未来工作

PAI将继续与Data-Juicer、MaxCompute紧密合作,持续推动大模型数据处理易用性、产品丰富度、性能的提升。

短期规划:

  • 组件扩充:不断丰富和优化处理算子,扩展MLLM、MLVM等领域的处理功能。

  • 用户体验改进:根据客户反馈,优化组件易用性,减少用户的学习成本。

  • 数据可视化工具:开发用户友好的数据处理可视化工具,增强数据流程的透明度。

  • 组件白盒化:我们计划支持组件的白盒化,将代码全部开放给用户,用户可以基于自己业务领域的特性对代码进行修改。修改后的组件代码也可以和其他组件正常串联运行。不影响已有的功能。

  • 领域垂直解决方案:根据不同行业的数据特性,开发和推出更多的领域特定的预置工作流模板和算子,针对性解决各个垂直行业的数据挑战。

  • 性能优化:继续深化对现有数据处理框架进行性能调优,旨在降低延迟,提高数据处理速度和吞吐量。

这篇关于Big Data for AI实践:面向AI大模型开发和应用的大规模数据处理套件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092937

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文