【云栖2023】林伟:大数据AI一体化的解读

news2024/12/27 15:43:44

本文根据2023云栖大会演讲实录整理而成,演讲信息如下:

演讲人:林伟 | 阿里云研究员,阿里云计算平台事业部首席架构师,阿里云人工智能平台PAI和大数据开发治理平台DataWorks负责人

演讲主题:大数据AI一体化的解读

今年是AI大爆发的一年,大语言模型的诞生推动了席卷整个行业的大模型热潮,许多人认为“AI的iPhone时代”到来了。训练大模型其实不简单,因为模型参数量的增加意味着需要更好的算力、更多的数据去锤炼,并且需要合适的工具让开发者快速迭代模型,只有这样才能更快地提高模型精度。这几年来阿里云一直在宣传AI工程化和规模化,其实是这轮AI爆发的主要推手。

在这里插入图片描述

我们看一个典型的模型开发过程,包括数据预训练、模型训练到模型部署。我们往往会非常关注训练,而忽视了整个生产流程。但是要训练出好的模型,数据越来越重要。包括数据采集、数据清理、特征提取、数据管理,再到训练过程中,需要分发哪些数据参与训练、哪些数据用来评测模型质量。所有数据都需要有验证部分,用于验证质量,这一步非常关键。低质量数据对模型的伤害力是超出想象的。这也是为什么吴达恩一直宣传了一个观点,就是更好的机器学习是80%的数据处理+20%的模型。

在这里插入图片描述

“以模型为中心”和“以数据为中心”的模型开发方式演进

这也体现了模型开发方式的演进。过去我们常常说以模型为中心的模型开发,算法工程师花大量的时间调模型结构,希望通过模型结构来去提高模型泛化能力,解决各类噪声问题。如果大家看5年前的Paper,会发现大量的研究都是围绕模型结构展开的,当时的数据、算力都还不足够支撑今天这样的大模型时代。那时候的模型训练更多是“有监督的学习”,用的都是标注数据,这些数据是非常昂贵的,这也决定了在训练过程中,数据上没有太多腾挪的空间,我们更多在考虑模型结构的变化。

今天的大模型训练有非常多的无监督的学习。模型结构反而是没有那么多变化的,大家好像趋同的,都采用Transformer结构。这个时候我们就慢慢演进到了以数据为中心的模型开发范式里面。这个开发范式是什么?就是需要用大量数据去做无监督的训练,通过大的算力、大的数据引擎,结合相对固定的模型结构去萃取出一些有趣的智能的东西。

因此,训练使用到的数据量会暴涨,也需要用到各种方法清洗和评测数据。我们可以看到许多大模型研究的团队都会花费大量的精力去处理数据,在各种环境里面反复地、多角度地验证数据质量。通过各种各样的维度,甚至有时候还会把模型产生出来去评测,通过模型结果反馈数据的质量。在这个过程中,就需要积累非常多的数据处理工具,只有这样才能有效地支撑以数据为中心的模型开发工作对于数据质量的要求。这也是大家说到以数据为中心的模型开发的范式的核心的一个想法。

在这里插入图片描述

正是在这种趋势下面,我们一直认为大数据和AI是一体两面,需要实现大数据和AI的一体化,这样才能顺应当下模型开发范式的演进。

在阿里云,我们一直努力将数据和AI两个系统紧密地联合在一起。我们在计算基础设施层,提供适应各种场景的计算集群,包括适合大数据的以CPU为主的集群,以及适合大模型训练的需要RDMA网络的异构计算集群。在此之上,打造了大数据和AI一体化平台,覆盖模型开发全过程的能力,包括数据采集和集成,再通过大数据平台,做大规模的离线分析,去验证数据质量。此外还有流式的计算能力。数据在大数据平台上处理好之后,就会被“投喂”到PAI这个负责人工智能开发的平台,去做训练和迭代。最后,在模型应用孵化上,依赖向量引擎的数据库,例如Hologres等,一起去构造场景化的应用。

在这里插入图片描述

大数据AI一体化的应用场景

在正式展开大数据AI一体化的技术点之前,先举两个应用的例子。

第一个例子是知识库检索增强的大模型问答系统。大家可以看到最近很多做大模型的通行,都会提到这个场景,通过一个大模型,可以获得特定行业的垂直知识库。这是怎么做到的呢?首先,需要把这个知识库的数据进行清理后分片,通过大模型把它转成一个向量,再把这些向量存在一个数据系统里面,这是向量检索的数据系统。当有真实请求过来的时候,会先把query对应的向量找出来,转译成知识,再用这个知识去约束大模型,控制大模型“胡说八道”的冲动,这样反馈的结果会更加准确。

这个场景里面用到了很多大模型能力,包括大规模分布式的批处理,因为在创建embedding的时候,其实是一个非常大的数据。同时,也会用到向量数据库这样的服务能力,真实业务场景对于查询时延的敏感度很高,需要非常快的给一个向量。当然也用到了大模型训练的能力,就需要一个很好的AI系统。

第二个例子是个性化推荐系统。在做实时推荐的过程中,所有推荐对象的兴趣是动态变化的,往往这样的系统它的模型是时时刻刻更新的,需要根据最新的行为数据来更新模型。我们往往会把所收集到的日志经过实时或者离线处理,离线数据用来生产一个比较好的基础模型,实时数据也会去提取这个特征,经过模型训练产生一个模型的delta,然后再把这个delta应用到线上的系统进行每天更新。在这里面我们可以看到有非常多的数据系统,有实时的像流计算的系统、有AI的系统、有批处理系统。

大数据AI一体化的技术实现

统一的数据和AI工作空间管理

首先,我们在模型构造最外层,把AI和大数据的流程串联在一起,这也是我们在PAI产品里构建工作空间的最初始的想法,这样就可以把多种资源统一在一个开发平台上管理。现在阿里云人工智能平台PAI已经可以支撑多种计算资源,包括ECS资源、流计算平台,还有PAI灵骏智算用于大模型训练的集群,还有这次云栖已经发布的容器计算服务ACS等等。

仅仅接入这些资源是不够的,用户需要的是把接入的资源有机串联到一起。所以我们推出了一个Flow框架,把这些流程串联起来,把模型训练和数据处理的各个步骤连接起来。这里面我们提供了多种构建连接的方式,包括静态构图、SDK、图形交互式等,用来去构建复杂的大数据和AI交互的流程图。

Serverless云原生服务

如果想进一步地去把大数据和AI融合好,用户希望能够在一份资源里面提供大数据和AI的服务。这时候就离不开Serverless云原生服务技术。我们一直在说云原生,但是云原生其实是有很多维度的,云原生更多的是资源是共享的,但是这个资源是什么?其实也是需要定义的。

这个定义也分很多层次。你可以说你是硬件层面的共享,那你共享的是服务器、虚拟服务器;你也可以共享更高层次的虚拟资源,比如容器和服务本身。在不同的层次,共享层次越高,单位计算成本就会越低,当然技术的复杂度也会越高。这也是为什么做云计算的团队一直在提高自己服务的云原生化,或者是去实现更高技术复杂度的能力,这样就能以更加经济实惠的方式去提供更高层次的计算资源共享的目的,更加经济高效地提供大数据和AI的服务。

也是因为此,我们所有的大数据产品都是在第六个维度,也就是Share Everything上的一个产品。但是我们都是架在了第五个维度,也就是Shared container,就是在容器计算服务这一层,这样我们就可以把大数据和AI的系统有机地连在一个资源上面。

在这里插入图片描述

统一调度:多负载、差异化SLO增强的调度

为了能够达到这样的能力其实并不是那么容易的,因为容器计算服务最开始的产生是为了支持微服务的。微服务在并行调度的力度上面,和大数据以及AI智算的场景有很大不同。为了能够让不同的大数据和AI的任务和服务,能够跑在一个资源池上,其实我们要做大量工作。比如说,大数据场景里面有些很多高并发、短时长的任务,需要大大增强K8S本身的吞吐能力,解决它各个层次上的性能问题,包括延时和规模。

同时我们有多元化的任务,它不仅仅有在线服务,还有计算任务,我们要在调度上增强资源的丰富度和多场景的能力。比如在复杂的AI场景,需要做网络拓扑感知,因为AI大模型训练对网络要求非常高。这时候我们怎么样在这层的容器服务上、计算服务上感知这个拓扑结构,有效做调度,我们怎么样让大数据和AI的Workload在上面存储资源,需要有非常多的负载感知、QS感知的调度。

在这里插入图片描述

多租安全隔离

对云服务来说,最重要的就是多租安全的隔离。我们需要加强云原生的K8S在这个方向上的能力,这样我们才能安心地把大数据和AI复用在一个资源上。我们在存储层、网络层都用了非常多的安全隔离的技术。这样才能把大数据和AI的多款产品,甚至是用户自己的在线服务,能够集成在一个资源池里面,来给云上提供企业化的使用。

在这里插入图片描述

容器计算服务ACS

这次云栖大会发布了容器计算服务ACS,PAI也是第一批容器计算服务支持的首批产品之一。在容器计算服务ACS平台上,用户可以很好地调配自己在大数据和AI的资源配比,然后在统一的资源底座上、在网络上、在存储IO上,就能够更加自然地联在一起。

多级Quota

我们都知道大模型的计算,计算资源是非常昂贵的。我们还要持续地加强这个底座上的一些精细化的资源管理的能力,所以我们也即将发布多级Quota能力,使集群的管理员可以更好地管理资源,平时让各个团队管理自己的资源,但是到了关键时刻。比如到了需要冲刺的阶段,管理员可以把所有的资源集中起来,然后去训练一些比较大的模型。这是我们的多级Quota。

自动拓扑感知调度

对于超大模型的模型训练,我们要加强容器服务的调度能力。举一个例子,我们可以看到在模型训练里面我们常常有一个步骤叫All-Reduce的环节,如果不加以调度的控制,稍微乱一个顺序,去构成reduce的ring,就会发现会带来一些cross的交换机的流量。最后我们经过拓扑感知的调度和非拓扑感知的调度,前后性能提升的增幅能有30-40%,这是非常可观的。

MaxCompute 4.0 Data+AI

大模型训练往往需要海量的数据,就跟我们前面说的我们不仅仅要把数据存下来,更多的是我们要进行批处理进行清洗、反复评估数据质量、并根据反馈来调整数据。这时候我们就需要大数据平台,以及湖仓一体的能力在背后支撑。阿里云数仓产品MaxCompute上推出了MaxFrame的开放的数据格式,可以把强大的数据管理、数据计算的能力,和AI系统进行有机和开放的连接。此外还有Flink-Paimon,在流计算的场景里,可以把流计算和online machine learning结合起来,把数据和训练的这条通路打通。

数据集加速 DataSetAcc

在PAI灵骏集群的AI智算场景里面,不仅仅是高密的机器学习任务,还有数据处理的任务,但是高密计算的资源是非常宝贵的,这个时候可以去连接远端的大数仓来解决。但这里又会出现一个矛盾,就是远端的数据I/O不能匹配高密度的计算。为了解决这个问题,我们提供了一个数据集加速的DatasetAcc能力,就是利用PAI灵骏集群本地的SD和本地的储存来做一个近端的cache,异步地把远端数仓的数据拉到近端。这样就能很好地解决大数据和AI智算集群在训练场景上的结合,提升训练效率。

正是因为具备了这样的有效连接大数据和AI智算集群的能力,我们才能在大规模的LLM训练过程中更好地使用大数据分析的能力。举个例子,我们在训练通义千问的过程中,获取了大量重复的文本信息,去重是非常关键的步骤,不然整个训练数据集会被这些数据拉偏,导致有一些过拟合的情况产生。我们利用我们构造的FlinkML的library构建了一个高效的文本去重算法,算法的同学就可以快速地进行多次文本去重,提高整个模型开发的效率。

在这里插入图片描述

我们前面说的都是大数据怎么能够助力于AI训练的部分,也就是我们经常听到的 Data for AI,但其实反方向,AI技术的成长也能够帮助数据系统,去提高它的服务质量和效率,现在的数据分析也从BI走向了BI+AI。

DataWorks Copilot

过去的数据分析做的更多的是 business intelligence,如今有更多AI技术可以去推动数据分析能力的提升。我们在这方面做了一些工作,比如说在数据开发和治理平台DataWorks,我们推出了 DatawWorks Copilot,也就是代码助手。代码助手可以帮助用户用自然语言的方式,去找到感兴趣的表格,然后再帮助用户构建SQL query,最后再去执行query。

当然,真正要做出一个好用的代码助手,只用基础模型是不够的。DataWorks平台基于大量的公开query,然后我们用本身的语言,就是MaxCompute的或者是Flink的语言,作为一个数据集,我们拿基础模型和这个数据集做了finetune,产生一个垂类模型,然后再在这个垂类模型做推理,产生了这个特定场景里的更有效的代码辅助工具。通过这种方式,我们能够提效30%的代码的开发。

在这里插入图片描述

DataWorks AI 增强分析

不仅仅是辅助代码生成,我们今年也发布了DataWorks数据洞察功能。我们可以通过AI的方式、AI的能力,自动地根据已有数据,提供一些智能的数据洞察。通过这种方式,我们可以让用户更快速地掌握数据的特性,从而加快用户对于数据的理解和分析能力。

在这里插入图片描述

以上的分享是希望通过刚才说的一些技术点和案例阐述现在AI和大数据的一体化的演进过程。我们坚信大数据和AI是相辅相成的,也希望推动数据智能更快的落地和实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1184971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

dart中字符串的常用操作方法函数,和python有点像

在开发语言中,字符串操作可谓是非常的多,所以需要记住很多字符串这类的相关函数和方法,至少最常用的几种是要记住的:切分,包含,查找,是否以XX开头等等 void run() {var str1 "你好&#…

moc_ XX.cpp 中的函数没有定义

解决办法: 直接将 moc_OnlyTest.cpp 文件,添加到工程目录下,解决。

使用swagger-typescript-api

引言 前后端分离大致是这样的 后端:控制层 / 业务层 / 数据操作层前端:控制层 / 视图层 前后端的控制层,实际上就是前后端接口的对接 前后端分离,实现了更好地解耦合,但也引入了接口对接的过程,这个过程…

什么是外贸SOHO建站?新手如何做好推广?

新手外贸SOHO建站教程?海洋建站谷歌SEO优化步骤? 外贸SOHO建站是一种为小型外贸企业和个体经营者提供的网站建设服务,旨在帮助他们在国际市场上建立自己的在线存在,从而拓展业务。海洋建站将深入探讨外贸SOHO建站的含义&#xff…

vue下使用Echarts5绘制基础图表

项目使用Vue3加Echarts5绘制的基本图表&#xff0c;图表自适应浏览器窗口大小 先上图&#xff0c;大屏小屏都可完美展示&#xff0c;纯属练手 一 先上图 1.任意缩放窗口的大小 2.平板 3.电脑 4.饼图 5.折线图 二 后上代码 <script lang"ts"> import {d…

Jwt,Token,Cookie,Session之间的区别

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a;每天一个知识点 ✨特色专栏&#xff1a…

ROS学习笔记(6):ros_control

1.ros_control简介 ros_control - ROS Wiki ros_control是为ROS提供的机器人控制包&#xff0c;包含一系列控制器接口、传动装置接口、控制器工具箱等,有效帮助机器人应用功能包快速落地&#xff0c;提高开发效率。 2.ros_control框架 ros_control总体框架&#xff1a; 针对…

【springboot配置项动态刷新】与【yaml文件转换为java对象】

文章目录 一&#xff0c;序言二&#xff0c;准备工作1. pom.xml引入组件2. 配置文件示例 三&#xff0c;自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四&#xff0c;yaml文件转换为java对象1. 无法使…

Go 语言初探:从基础到实战

1.Go概述 程序是一段计算机指令的有序组合。程序算法数据结构。任何程序都可以将模块通过三种基本的控制结构&#xff08;顺序、分支、循环&#xff09;进行组合来实现。 Go&#xff08;也称为Golang&#xff09;是一种由Google开发的开源编程语言。设计目标是使编程更简单、…

配置802.1x本地认证,以识别用户身份的示例

组网图形 图1 802.1x本地认证组网图 规格组网需求操作步骤配置注意事项 规格 适用于所有版本、所有形态的AR路由器。 组网需求 PC1(10.10.10.2/30)直接连接到RouterA的Eth2/0/1端口&#xff0c;RouterA的VLANIF10接口IP地址10.10.10.1/30&#xff08;为PC1上的网关IP地址&a…

基于CLIP的图像分类、语义分割和目标检测

OpenAI CLIP模型是一个创造性的突破&#xff1b; 它以与文本相同的方式处理图像。 令人惊讶的是&#xff0c;如果进行大规模训练&#xff0c;效果非常好。 在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D…

一维码和二维码图像优化——提高读码率

1.算子 1.1 decompose3 &#xff08;彩色图像分割算子&#xff09; 算子&#xff1a;decompose3 ——将三通道图像转换为三个图像函数原型&#xff1a;decompose3(MultiChannelImage : Image1, Image2, Image3 : : ) 功能&#xff1a;将3通道图像转换为具有相同定义域&#…

智慧安防:监控防盗两不误的安防视频监控系统是什么样的?

随着社会的不断发展&#xff0c;安全问题越来越受到人们的关注&#xff0c;特别是对于居住在城市里的人们来说&#xff0c;盗窃问题是影响他们生活质量的重要因素之一。因此&#xff0c;根据市场需求&#xff0c;以监控防盗两不误的智慧监控系统得到了广泛的推广和应用。 一般…

不充不行(同时跑三辆车)

欢迎来到程序小院 不充不行 玩法&#xff1a;点击鼠标左键长按充电桩&#xff0c;别让车落回底线&#xff0c;三辆车同时在跑&#xff0c;要控制三个充电桩的电量&#xff0c;电量为0即为游戏结束&#xff0c;看看你能坚持多少秒哦^^。开始游戏https://www.ormcc.com/play/gam…

迅镭激光与江苏中红外激光研究院达成战略合作意向

11月6日&#xff0c;江苏中红外激光研究院院长沈德元、江苏师范大学物电学院系主任韩彩芹、江苏中红外激光研究院技术副总王飞等领导莅临迅镭激光调研指导并进行合作会谈&#xff0c;迅镭激光董事长颜章健热情接待。双方就成果转化、产业合作、专业人才培养等方面进行深入洽谈&…

Centos7下安装-使用K3S

本文主要内容&#xff1a; 1.安装k3s 2.在idea中&#xff0c;编辑yml文件创建pod 3.在k3d中pod基本操作 4.在k3d中Labeles标签基本操作 5.在k3d中容器的基本操作 &#xff08;k3s的操作与k8s操作不同处在于&#xff0c;k3s每次执行命令&#xff0c;前面需要加上k3s&#xff09;…

猫罐头什么牌子好?2023营养又美味的猫主食罐头推荐!

亲爱的猫咪主人&#xff0c;你是否为你家小猫咪的挑食问题感到困扰&#xff1f;作为一位在宠物店工作了七年&#xff0c;负责喂养三十多只猫咪的店长&#xff0c;我对许多品牌的猫罐头都非常熟悉了。对于猫罐头哪个牌子好这个问题&#xff0c;我想借此机会分享一些见解。 在本…

linux基础:3.linux基础环境开发工具和配置。

linux基础环境开发工具和配置 一.学习yum工具进行软件安装&#xff1a;1.什么是yum&#xff1a;2.查看软件包&#xff1a;3.安装和删除&#xff1a;4.yum生态&#xff1a; 二.vim的使用&#xff1a;一.快速介绍一下vim二.vim正常模式&#xff1a;2-1&#xff1a;命令模式1.光标…

HarmonyOS应用开发-ArkTS基础知识

作者&#xff1a;杨亮Jerry 作为多年的大前端程序开发工作者&#xff0c;就目前的形式&#xff0c;个人浅见&#xff0c;在未来3-5年&#xff0c;移动端依旧是Android系统和iOS系统的天下。不过基于鸿蒙系统的应用开发还是值得我们去花点时间去了解下的&#xff0c;阅读并实践官…

一杯子三变:揭秘vue单页应用(spa)与内容动态加载的奥秘

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、什…