Analytics Zoo 入门 | Spark“数字人体”AI挑战赛赛题解析一

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 首届Spark“数字人体”AI挑战赛已开启,奖金高达46万,欢迎大家踊跃报名!本次直播将由英特尔高级软件工程师邱鑫为大家介绍如何使用Spark, Big DL及Analytics Zoo平台,分别从Analytics Zoo & BigDL简介、Analytics Zoo入门以及Analytics Zoo提供的End-to-End Pipelines和ML Workflow等方面详细展开讲解。

演讲嘉宾简介:邱鑫,英特尔高级软件工程师,BigDL和Analytics Zoo核心贡献者。

以下内容根据演讲视频以及PPT整理而成。

点击链接观看精彩回放:https://developer.aliyun.com/live/43188
本次分享主要围绕以下四个方面:
一、Overview of Analytics Zoo & BigDL
二、Getting Started
三、End-to-End Pipelines
四、ML Workflow

一、Overview of Analytics Zoo & BigDL

BigDL
BigDL是2016底开源项目,是基于Spark的分布式深度学习框架。当时考虑到Spark在深度学习的支持方面比较弱,所以希望为大数据用户提供更多先进的深度学习算法。开发完BigDL之后发现它对深度学习出身的开发者并不友好,因为大家需要学习Spark相关知识,还需要学习Scala。因此开发了Analytics Zoo,在Analytics Zoo中直接提供了TensorFlow,PyTorch,Keras,BigDL,Ray的支持。

当时做BigDL的初衷是因为很多大数据用户希望使用深度学习的算法,如京东有大量图像存储在HBase上,需要对图像做预处理,将处理后数据放到模型中继续工作,还需要将特征提取结果存放在HDFS上,做图像相似性检索等应用。京东使用的是Caffe,与大数据集群不同的是,两个集群网络带宽有限,且图像经常更新,用户每次从GPU集群拉取到大数据集群网络开销都非常大。当英特尔将整个预测的pipeline搬到Spark集群上时,HBase和Spark可以结合在一起,提供零拷贝的处理策略,这种策略使得京东预测速度提升了3.83倍。

image.png

BigDL可以直接跑Spark集群上面,不需要对集群做修改,集成了很多英特尔特有的技术,对模型训练进行加速。大家如果对BigDL有兴趣可参考SoCC上发表的一篇工作。

image.png

Analytics Zoo
Analytics Zoo是统一的数据分析AI平台,支持笔记本、云、Hadoop Cluster、K8s Cluster等平台、此外,Analytics Zoo提供了端到端的pipeline,大家可以将AI模型应用到分布式大数据场景中。Analytics Zoo还提供了端到端的ML workflow和内置的模型和算法。具体而言,在底层的使用环境中,支持深度学习框架,如TensorFlow、PyTorch、OpenVINO等,还支持分布式框架,如Spark、Flink、Ray等,还可以使用Python库,如Numpy、Pandas、sklearn等。在端到端的pipeline中用户可以使用原生的TensorFlow和PyTorch,用户只需要很简单的修改就可以将原有的TensorFlow和PyTorch代码移植到Spark上来做分布式训练。Analytics Zoo还提供了RayOnSpark,ML Pipeplines,Automatic Cluster Serving,支持流式Serving。在内置算法中,提供了推荐算法,时序算法,视觉以及自然语言处理等。

image.png

一般大家在开发大数据AI应用时,需要经过三步。首先在laptop上面使用一些样本数据实现模型的原型。然后将代码移植到集群上面,使用历史数据做测试。再将代码移到生产环境中,处理分布式数据。从用户角度而言,希望代码尽可能在第一步完成,后面两步不再修改,即可部署到自己的Hadoop或K8S集群上。

image.png

二、Getting Started

用户首先需要安装Analytics Zoo,可以通过Google Colab或者Aliyun EMR,亦或是在笔记本上Pull Analytics Zoo Docker Image,pip install 等方式安装。

image.png

Aliyun EMR指的是Aliyun E-MapReduce, 用户可以选择Analytics Zoo 0.8.1版本或TensorFlow 1.15.0作为可选服务。

image.png

三、End-to-End Pipelines

下图中代码部分是Analytics Zoo代码,train_rdd使用了Hadoop API,dataset是从train_rdd导出的TFDataset。开始构建TensorFlow模型,将其放到TFOptimizer中,再定义MaxEpoch。

image.png

例1:Image Segmentation using TFPark

下面展示了Image Segmentation 的一个例子。注意在第一步,需要带上sc=init_nncontext(),表示初始化运行环境,帮助用户初始化analytic-zoo的环境变量以及Spark context。

image.png

再将数据下载到指定目录中,加载数据。还可以可视化数据,展示原生图片和Mask后的图片。定义参数,如img_shape,batch_size,epoch等。使用Scipy做数据预处理,得到处理好的特征数据,将数据放到TFDataset中,定义U-Net模型,使用Keras function API,定义loss,使用net.compile()方法,调用summary可查看目前的结构,使用keras_model.fit()方法训练模型,最后再可视化预测结果。比对原始图片,实际Mask图片以及预测图片如下:

image.png

例2:Face Generation Using Distributed PyTorch on Analytics Zoo

下面介绍使用PyTorch的Face Generation 的一个例子,先从PyTorch Hub中下载的PAGN模型,再使用noise方法获得随机数据,将noise放在model中生成结果,如下图:
image.png

Analytics Zoo的初始化有三种方法,包括sc=init_nncontext(),第二种是使用init_spark_on _yarn() 方法,第三种是使用 init_spark_on_local()方法。

例子3:Image Similarity using NNFrame

如果想要将Analytics Zoo使用在现有的Spark MLPipeline里面的话,可以使用NNEstimater。

image.png

下面介绍Image similarity的例子。客户主要做房产交易,它们的一种业务场景是为用户推荐房子。最开始还是需要sc=init_nncontext() 初始化环境,使用NNImageReader将图片读取到Spark中,定义模型,加载模型,再使用NNEstimater集成Analytics Zoo。

image.png

Image similarity可视化结果如下图:
image.png

在Production Deployment时,首先要训练模型,再提取图片特征数据集,最后是做预测。下图中左边是正在观看的House的样子,右边是推荐的较为相似的House。

image.png

四、ML Workflow

在做Cluster Serving时可以通过InputQueue方式将数据存放到pipeline中,再通过OutputQueue方式输出数据。用户可以更方便的构建出Serving工程。

image.png

使用AutoML可以做时序数据预测,相信对做医学的同学还是很有用的,如观察某个病人的健康特征随着时间变化的情况。

image.png
image.png

相关文章
|
19天前
|
人工智能 算法 计算机视觉
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
114 62
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
|
1月前
|
存储 人工智能 NoSQL
Tablestore深度解析:面向AI场景的结构化数据存储最佳实践
《Tablestore深度解析:面向AI场景的结构化数据存储最佳实践》由阿里云专家团队分享,涵盖Tablestore十年发展历程、AI时代多模态数据存储需求、VCU模式优化、向量检索发布及客户最佳实践等内容。Tablestore支持大规模在线数据存储,提供高性价比、高性能和高可用性,特别针对AI场景进行优化,满足结构化与非结构化数据的统一存储和高效检索需求。通过多元化索引和Serverless弹性VCU模式,助力企业实现低成本、灵活扩展的数据管理方案。
68 12
|
1月前
|
人工智能 自然语言处理 Java
Spring Cloud Alibaba AI 入门与实践
本文将介绍 Spring Cloud Alibaba AI 的基本概念、主要特性和功能,并演示如何完成一个在线聊天和在线画图的 AI 应用。
357 7
|
2月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
234 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
232 10
|
2月前
|
人工智能 自然语言处理 前端开发
OpenAI 12天发布会全解析 | AI大咖说
OpenAI近日宣布将在12个工作日内每天进行一场直播,展示一系列新产品和样品。首日推出GPT-o1正式版,性能大幅提升;次日展示Reinforcement Fine-Tuning技术,提高模型决策质量;第三天推出Sora,实现高质量视频生成;第四天加强Canvas,提升多模态创作效率;第五天发布ChatGPT扩展功能,增强灵活性;第六天推出ChatGPT Vision,实现多模态互动;第七天推出ChatGPT Projects,优化项目管理。这些新技术正改变我们的生活和工作方式。
986 9
|
3月前
|
机器学习/深度学习 人工智能 数据处理
【AI系统】NV Switch 深度解析
英伟达的NVSwitch技术是高性能计算领域的重大突破,旨在解决多GPU系统中数据传输的瓶颈问题。通过提供比PCIe高10倍的带宽,NVLink实现了GPU间的直接数据交换,减少了延迟,提高了吞吐量。NVSwitch则进一步推动了这一技术的发展,支持更多NVLink接口,实现无阻塞的全互联GPU系统,极大提升了数据交换效率和系统灵活性,为构建强大的计算集群奠定了基础。
210 3
|
3月前
|
机器学习/深度学习 存储 人工智能
AI助力电子邮件安全防护,CISO解析新策略
AI助力电子邮件安全防护,CISO解析新策略
|
3月前
|
人工智能 自然语言处理 机器人
手把手带你搭建一个语音对话机器人,5分钟定制个人AI小助手(新手入门篇)
本文介绍了如何从零开始搭建一个语音对话机器人,涵盖自动语音识别(ASR)、自然语言处理(NLP)和文本到语音合成(TTS)三大核心模块。通过使用开源工具如FunASR、LLaMA3-8B和ChatTTS,以及FastAPI和Gradio等技术,详细指导读者轻松实现个人AI小助手的构建,适合技术新手快速上手。
1002 1
|
3月前
|
人工智能
深度解析AI在医疗诊断中的最新应用与挑战
深度解析AI在医疗诊断中的最新应用与挑战

热门文章

最新文章

推荐镜像

更多