简介: 施兴 阿里巴巴资深手艺专家 阿里巴巴开源项目EasyRec负责人
以下为开发者社区「开源人说」第四期——大数据AI专场的主题分享,点击链接领会更多出色详情👇
日常生活中,翻开淘宝能够看到本身感兴趣的商品,翻开抖音能够看到本身感兴趣的视频,那都得益于AI大数据阐发,此中包罗了天然语言处置、统计、机器进修保举等算法;再好比主动驾驶次要基于深度进修的相关手艺,天猫精灵次要基于丰硕的语音识别手艺以及大数据检索才能。AI 已经在生活中无处不在,语音、天然语言处置、图像视觉、主动驾驶、OCR、证件识别等都是 AI 范畴的场景,那也意味着AI正在继续供给普惠的才能。
要使得AI 可以实正普遍应用、落地到各个场景,需要称心三个前提:
第一,适用。需要可以实正处理各方面的诉求,而不是单纯的炫技;也需要实正落地,在 AI 工程化上做足够的筹办。别的,也需要可以加速行业应用孵化和立异,好比当下最火的AI绘图Stable Diffusion,输入关键的文本信息即可生成对应的图片,是一个极具立异意义的项目。
展开全文
第二,易用。需要有云原生AI平台,躲避冗长冗杂的摆设流程,可以在云上一键拉起AI 应用场景。同时,可以供给与线下摆设效果一致的功用,合成云上的良多性能特点,加速推理优化,快速应用到系统。云上的 AI 才能是原子化的,能够模块化输出,关于一套大型系统, AI 可能只是整个系统里面的一小环,AI普惠需要AI的各类功用能很便利地迁徙对接到各个应用系统上。
第三,安心用。需要成本可控,各类数据模子可以有开放的 API 以及开放的兼容格局。也需要可以保障数据与模子平安,而云原生天然保障了平安性。
那么,AI开源与云的连系,可以为我们带来什么?
起首,云是AI开源的更佳运行情况。用户无需自行筹办办事器、下载软件,无需停止编译摆设等冗杂的筹办工做,开箱即用。其次,云为AI开源供给了新的贸易形式,好比社区的讨论和敬服能够为云上为利用开源软件的企业供给额外办事,解疑答惑。第三,开源社区和云平台会有更多互动,好比云为开源供给弹性、可扩展等方面的才能;反之,云平台也能够对开源社区提出诉求,好比将来要发布 Serverless 办事,提早规划开源软件的适配。最末两者配合联袂,一路普惠 AI 数字世界。
(上图为阿里灵杰AI开源家族图谱)
从更底层的资本调度层面、平台工程层面、算法应用和算法根底层面均有相关的项目实现开源。机器进修平台PAI撑持TensorFlow、PyTorch等时髦的开源项目,也撑持了良多国产化项目,好比OneFlow等,并在此之上实现了散布式训练框架以及散布式推理才能的优化。使命调度上PAI Flow、Media Flow也即将开源。
算法侧,应用层面 ModelScope已经发布,除了大规模预训练模子之外,良多根底模子好比语音、图像、文本、保举等相关项目也已开源。实时计算方面包罗Flink ML(Flink Machine Learning),能够基于实时数据流做实时机器进修,好比点击完商品马上能呈现相关保举。别的,还有基于图的机器进修框架、迁徙进修、加强进修等。
在云原生的机器进修应用场景,AI应用对调度也提出了更高的要求。因而我们发布了koordinator,用于处理按功课调度优化,资本操纵率提拔等问题。koordinator可以根据各个办事、应用的热力求来做调度平衡。好比某几台机器呈现毛病,则coordinator会从 QoS 层感知到办事不变性的改变,然后停止从头调度,下线本来响应慢的几个容器,将使命摆设到新容器、新办事器上。
DeepRec在训练推理引擎侧基于Tensorflow 做了优化工做,它次要办事于保举、搜刮、告白那几类诉求。搜刮、保举、告白一般是构造化数据,能够简单理解为用表(Table)来描述。我们在稀少功用、训练性能、摆设及Serving方面做了良多优化工做。
稀少特征:模子数据处置中的良多特征十分稀少,好比一小我与某个商品之间产生了行为,即为一条特征。淘宝有数十亿商品,一小我每天阅读上千个商品,交互行为的特征十分稀少。因而,我们引入了动态弹性特征。传统情状下,一般以固定哈希 Table 来存储特征。引入了动态弹性特征功用以后,能够引入特征准入和裁减,好比能够动态地将很久以前过时的特征裁减掉,重生成的特征也能动态地引入。
训练性能:包罗散布式训练框架、Runtime优化、图优化以及算子优化。 AI 场景下的训练,输入数据的形式十分类似,时常不断地反复类似的计算逻辑。基于此特点,能够抽取出计算的关键途径,使其优先施行,让计算资本施行更足够,运行时间更短。
摆设及Serving:摆设侧次要改进了利用体验。 Serving 侧次要做了多级混合存储。凡是情状下,要做预测办事,必需将模子加载到内存里,若是是 GPU 则加载到显存里面。我们会将最热门的模子特征 embedding 部门优先放到显存,再到内存,再到硬盘层,通过多级混合存储体例,使大模子可以在单机上存储,削减成本。
做天然语言处置时,面临输入的犬牙交错致,凡是做法是固定长度,但该办法存在几个问题:很长的输入会有部门被丢弃,或者很短的输入需要填入空白从而浪费内存和计算资本。因而,我们开发了BladeDISC,实现了面向深度进修、端到端的多标准图优化编译器,可以同时撑持差别框架,包罗TensorFlow、PyTorch、GPGPU、CPU 以及 ARMS。
Flink ML 是基于 Flink 做的实时机器进修算法库。本年岁首年月发布了Flink ML API, 可以撑持模子与数据实时传输,同时可以撑持多输入的图构造机器进修算法。别的,它固然叫实时机器进修算法,也可以撑持批处置机器进修。实时机器进修算法较多利用于构造化场景,凡是可能有 70% 的工做都在为运行模子筹办数据,好比从原始日记里面将数据抽取出来,然后做更多特征加工。因而,后续Flink ML 也会从实时特征工程上做更多投入。最末目的是期望 Flink ML 可以成为实时机器进修的事实原则。
EasyRec是针对保举场景做的保举算法库,我们实现了良多顶会论文的算法,且停止了开源。同时,我们集成了良多性能优化,用户不只可以快速享受SOTA 算法实现,也能享遭到更好的性能实现。除了性能较优,EasyRec也很好地与云停止告终合。无论从计算层面仍是数据层面,都能撑持差别平台。好比撑持 EMR、 Flink、MaxCompute、云原生容器化办事。在输入上,撑持传统的 HDFS、OSS对象存储、MaxCpmpute Table 以及 Kafka 等实时数据流。
别的,我们开发集成了 AutoML功用,撑持主动超参调优,撑持特征的主动生成,高阶特征能够通过 Auto Feature Engineering 的体例实现,也撑持主动特征挑选。
在视图视觉场景,有 EasyCV ;在天然语言处置NLP 场景,有 EasyNLP 。EasyCV集成了多个场景和范畴,在检测、分类、朋分、关键点 OCR 算法上均集成了良多算法,性能比原始算法提拔 20% 以上。
我们优化的YoloX-PAI 算法从 backbone 层面实现了多收集撑持,在 neck收集上参加了多标准的图像特征合成提拔效果,效果优于社区开源实现的YOLO5和YOLO6。
OFA和AliceMind是达摩院既开源了模子又开源了代码的两个项目。
OFA(One For All)是与使命、构造、模态都无关的序列到序列的进修框架,它在大模子、绿色低碳和办事化等多方面都获得了打破。比拟于GPT-3,OFA仅需1%的计算资本即可实现不异的效果。OFA自己是一个大模子,一台机器或一张显卡无法存放,因而,它在办事化方面也停止了十分多的工做,可以较轻松地将办事拉起。上图中间的图片为输入文本后,通过OFA输出的图片。
AliceMind是面向语言的预训练大模子,去年刷新了全球最权势巨子的机器视觉问答 VQA榜单,并以81.26的功效初次超越人类表示。除了 VQA 场景,AliceMind在中文理解生成、对话战略、对话生成、表格问答上也刷新了良多榜单,到达SOTA的水准。
回到开源的初心,我们的良多工做也借鉴了开源项目标功效,我们期望可以在开源的根底上连系阿里在场景上的应用,实现更大的扩展,将功效回馈给开源社区。因而,接下来我们也会在平台、算法、应用和资本调度层面做更多继续开源的工做,让更多开发者可以享遭到阿里在理论场景下打磨的经历。别的,也希望更多开发者可以参与到开源社区,共建开源社区,建立AI新原则,开源且开放。
最初,我们期望更多开源产物可以与云连系,将适用、易用、安心用发扬得愈加淋漓尽致,让AI开源愈加普惠数字世界。
原文链接:/
本文为阿里云原创内容,未经允许不得转载。