AI普惠,阿里灵杰开源历程与思考

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 施兴阿里巴巴资深技术专家阿里巴巴开源项目EasyRec负责人

image.png

日常生活中,打开淘宝可以看到自己感兴趣的商品,打开抖音可以看到自己感兴趣的视频,这都得益于AI大数据分析,其中包含了自然语言处理、统计、机器学习推荐算法;再比如自动驾驶主要基于深度学习的相关技术,天猫精灵主要基于丰富的语音识别技术以及大数据检索能力。

AI 已经在生活中无处不在,语音自然语言处理、图像视觉、自动驾驶、OCR证件识别都是 AI 领域场景,这也意味着AI正在持续提供普惠的能力。

image.png

 要使得AI 能够真正广泛应用落地到各个场景,需要满足三个条件

第一,实用。需要能够真正解决各方面的诉求而不是单纯的炫技;也需要真正落地,在 AI 工程化上做充分的准备。另外,也需要能够加速行业应用孵化和创新,比如当下最火的AI绘图Stable Diffusion,输入关键的文本信息即可生成对应的图片,是一个极具创新意义的项目。

第二,易用。需要有云原生AI平台,规避冗长繁杂的部署流程,能够在云上一键拉起AI 应用场景同时,能够提供与线下部署效果一致的功能,融合云上的很多性能特点,加速推理优化,快速应用到系统。云上 AI 能力是原子化,可以模块化输出对于一套大型系统, AI 可能只是整个系统里面一小环,AI普惠需要AI的各种功能能很方便地迁移对接到各个应用系统上。

第三,放心用。需要成本可控,各种数据模型能够有开放 API 以及开放兼容格式。也需要能够保障数据与模型安全,而云原生天然保障了安全

image.png

那么,AI开源与云的结合,能够为我们带来什么?

首先,云是AI开源的最佳运行环境。用户无需自行准备服务器下载软件,无需进行编译部署等繁杂的准备工作,开箱即用

其次,云为AI开源提供了新的商业模式,比如社区的讨论和维护可以为云上为使用开源软件的企业提供额外服务,解疑答惑。

第三,开源社区和云平台会有更多互动,比如云为开源提供弹性、可扩展等方面的能力;反之,云平台也可以对开源社区提出诉求比如未来要发布 Serverless 服务,提前规划开源软件适配。最终两者共同携手一起普惠 AI 数字世界。

image.png

上图为阿里灵杰AI开源家族图谱。

从最底层的资源调度层面平台工程层面算法应用和算法基础层面均有相关的项目实现开源。机器学习平台PAI支持TensorFlowPyTorch流行开源项目,也支持很多国产化项目,比如OneFlow等,并在此之上实现了分布式训练框架以及分布式推理能力的优化。任务调度上PAI FlowMedia Flow也即将开源。

算法侧应用层面 ModelScope已经发布,除了大规模预训练模型之外,很多基础模型比如语音、图像、文本推荐相关项目也已开源。实时计算方面包括Flink MLFlink Machine Learning可以基于实时数据流做实时机器学习比如点击商品马上出现相关推荐。另外,还有基于图机器学习框架迁移学习增强学习

image.png

在云原生的机器学习应用场景,AI应用对调度也提出了更高的要求。因此我们发布了koordinator,用于解决按作业调度优化,资源利用率提升等问题。

koordinator能够根据各个服务、应用热力图来做调度均衡。比如某几台机器出故障,coordinator会从 QoS 层感知到服务稳定性的变化,然后进行重新调度,下线原来响应慢几个容器,将任务部署到新容器、新服务器上。

image.png

DeepRec在训练推理引擎侧基于Tensorflow 做了优化工作,它主要服务于推荐搜索广告这几类诉求搜索推荐广告一般是结构化数据,可以简单理解用表(Table)来描述。我们在稀疏功能、训练性能、部署及Serving方面做了很多优化工作。

稀疏特征:模型数据处理中很多特征非常稀疏比如一个人与某个商品之间产生了行为,即为一条特征。淘宝有数十亿商品,一个人每天浏览上千个商品,交互行为特征非常稀疏。因此,我们引入了动态弹性特征。传统情况下,一般以固定哈希 Table 来存储特征引入了动态弹性特征功能以后,可以引入特征准入和淘汰比如可以动态地很久以前过期的特征淘汰掉,新生成的特征也能动态地引入

训练性能:包括分布式训练框架、Runtime优化、图优化以及算子优化 AI 场景下训练,输入数据模式非常相似,时常不停地重复类似计算逻辑。基于此特点可以抽取出计算关键路径,使其优先执行,让计算资源执行更充分,运行时间更短。

部署Serving部署主要改善了使用体验。 Serving 主要做了多级混合存储通常情况下要做预测服务,必须将模型加载到内存里如果是 GPU 则加载到显存里面。我们会将最热门模型特征 embedding 部分优先放到显存,再内存,再到硬盘层通过多级混合存储方式,使大模型能够在单机上存储,减少成本。

image.png

做自然语言处理面对输入的长短不一致,通常做法固定长度,但该方法存在几个问题:很长的输入会有部分被丢弃,或者很短的输入需要填入空白从而浪费内存和计算资源。

因此,我们开发了BladeDISC,实现了面向深度学习端到端多尺度图优化编译器,能够同时支持不同框架,包括TensorFlowPyTorchGPGPUCPU 以及 ARMS

image.png

Flink ML 是基于 Flink 实时机器学习算法库。今年年初发布了Flink ML API能够支持模型与数据实时传输,同时能够支持多输入图结构机器学习算法。另外,它虽然叫实时机器学习算法,也能够支持批处理机器学习。

实时机器学习算法较多使用于结构化场景,通常可能有 70% 工作都在为运行模型准备数据,比如从原始日志里面将数据抽取出来,然后做更多特征加工。因此,后续Flink ML 也会从实时特征工程上做更多投入。最终目标是期望 Flink ML 能够成为实时机器学习事实标准。

image.png

EasyRec是针对推荐场景做推荐算法库,我们实现了很多顶会论文算法,且进行了开源。同时,我们集成了很多性能优化,用户不仅能够快速享受SOTA 算法实现,也能享受到最好性能实现。

除了性能较优,EasyRec也很好地与云进行了结合。无论从计算层面还是数据层面,都支持不同平台。比如支持 EMR FlinkMaxCompute云原生容器化服务。在输入上,支持传统 HDFSOSS对象存储MaxCpmpute Table 以及 Kafka 等实时数据流。

另外,我们开发集成了 AutoML功能支持自动超参调优,支持特征自动生成,高阶特征可以通过 Auto Feature Engineering 方式实现也支持自动特征筛选。

image.png

在视图视觉场景,有 EasyCV 在自然语言处理NLP 场景,有 EasyNLP

EasyCV集成了多个场景领域在检测分类分割关键点 OCR 算法上集成了很多算法,性能比原始算法提升 20% 以上。

我们优化YoloX-PAI算法从 backbone 层面实现了多网络支持neck网络上加入了多尺度的图像特征融合提升效果,效果优于社区开源实现YOLO5YOLO6

image.png

OFAAliceMind是达摩院既开源了模型又开源了代码两个项目

OFA(One For All)是与任务结构、模态都无关序列到序列学习框架,它在大模型、绿色低碳和服务化等多方面都取得了突破。相比于GPT-3OFA仅需1%的计算资源即可实现相同的效果。OFA本身是一个大模型,一台机器或一张显卡无法存放,因此,它在服务化方面也进行了非常多的工作,能够较轻松地将服务拉起。上图中间的图片为输入文本后,通过OFA输出的图片。

AliceMind是面向语言预训练大模型去年刷新了全球权威的机器视觉问答 VQA榜单,并以81.26的成绩首次超越人类表现。

除了 VQA 场景,AliceMind在中文理解生成对话策略对话生成表格问答上也刷新了很多榜单,达到SOTA的水准。

image.png

回到开源的初心我们的很多工作也借鉴了开源项目成果,我们期望能够在开源基础上结合阿里在场景上应用,实现更大的扩展,将成果回馈给开源社区。因此,接下来我们也会在平台算法应用和资源调度层面做更多持续开源工作,让更多开发者能够享受到阿里在实践场景下打磨经验。

另外,也希望更多开发者能够参与到开源社区,共建开源社区,建设AI新标准,开源且开放

最后,我们期望更多开源产品能够与云结合,将实用、易用放心用发挥得更加淋漓尽致,让AI开源更加普惠数字世界。

相关文章
|
1天前
|
消息中间件 人工智能 监控
|
5天前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架
|
12天前
|
人工智能
[AI 阿里 EMO] 集成进通义千问app,全民演唱,人人可用!
阿里EMO技术的最新进展,现在集成进通义千问app,允许用户通过图+音频生成任意时长的视频,实现全民演唱的互动体验。
[AI 阿里 EMO] 集成进通义千问app,全民演唱,人人可用!
|
13天前
|
存储 人工智能 测试技术
【AI智能体】SuperAGI-开源AI Agent 管理平台
【4月更文挑战第9天】智能体管理平台SuperAGI简介及实践
|
15天前
|
人工智能 API 决策智能
【AI Agent系列】【阿里AgentScope框架】实战1:利用AgentScope实现动态创建Agent和自由组织讨论
【AI Agent系列】【阿里AgentScope框架】实战1:利用AgentScope实现动态创建Agent和自由组织讨论
93 2
|
15天前
|
人工智能 决策智能 C++
【AI Agent系列】【阿里AgentScope框架】5. Pipeline模块的组合使用及Pipeline模块总结
【AI Agent系列】【阿里AgentScope框架】5. Pipeline模块的组合使用及Pipeline模块总结
49 1
|
15天前
|
人工智能 决策智能
【AI Agent系列】【阿里AgentScope框架】4. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 循环结构
【AI Agent系列】【阿里AgentScope框架】4. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 循环结构
33 0
|
15天前
|
人工智能 决策智能
【AI Agent系列】【阿里AgentScope框架】3. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 顺序结构与条件分支
【AI Agent系列】【阿里AgentScope框架】3. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 顺序结构与条件分支
40 2
|
15天前
|
人工智能 决策智能
【AI Agent系列】【阿里AgentScope框架】2. Pipeline模块入门:使用Pipeline模块实现最简单的多智能体交互
【AI Agent系列】【阿里AgentScope框架】2. Pipeline模块入门:使用Pipeline模块实现最简单的多智能体交互
44 0
|
15天前
|
人工智能 搜索推荐 决策智能
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
82 0
http://www.vxiaotou.com