deepfashion 深度学习_基于Alluxio加速混合云下的Intel Analytics Zoo开源深度学习平台...

787a2fa3c304c95fd2a662ed20dbfd47.png

本文描述了Alluxio如何在混合云环境中,加速oneAPI支撑的英特尔Analytics Zoo开源平台深度学习模型训练。本文会讨论有关新架构和工作流的细节,以及Alluxio的性能优势和基准测试结果。

1.混合环境中的深度学习

从架构演进到混合模式

传统上,数据处理和分析系统是将计算和存储服务作为一个整体平台来设计、构建和操作,并部署在本地/私有数据仓库中的。尽管这种体系结构具有易于管理和高性能的优点,但这种深度耦合存储和计算的体系结构,通常难以在不扩展另一种类型资源的情况下,提供良好的应用程序弹性和资源扩展性。

越来越多的用户正在转向混合模型,将来自云和本地环境的资源结合在一起。该模型采用了另一种架构,将数据保留在通常位于本地数据仓库中,但是根据需要启动单独的计算层。混合模型允许计算和存储资源独立扩展,从而带来众多优势:

  • 无资源争用:由于不存在来自计算服务的资源竞争,因此本地存储服务可以充分利用内部机器
  • 无计算停机时间:因为集群是按需在云中启动的,因此不存在闲置的计算资源
  • 无数据冗余:长时间运行的批处理作业或临时性查询可以共享同一组数据,而无需创建单独的副本

为深度学习提供快速I/O面临的挑战

尽管混合架构提供了灵活性和成本优势,但是在大数据上进行训练时,深度学习分析还面临着其他挑战。深度学习训练时使用相同的数据集对不同的神经网络模型和不同的超参数进行大量训练。此外,训练集的规模也在不断增长。当训练数据存储在远程存储系统中时,每次训练加载所有这些数据会产生巨大开销。

如今,跨混合环境管理数据的一种常见做法是,在运行深度学习作业之前,将数据复制到计算群集中的存储服务中。通常,用户使用“distCP”之类的命令在内部部署环境和云环境之间来回复制数据。尽管这看起来很简单,但通常需要手动处理,并且很慢和容易出错。

为了解决在混合环境中训练深度学习模型所面临的I/O挑战,并利用英特尔的oneAPI优化性能,我们开发并测试了一个新架构/工作流,该架构/工作流将Alluxio集成在由oneAPI支持的Analytics Zoo平台中。

2.使用Analytics Zoo和Alluxio的新架构和工作流

什么是Analytics Zoo

由oneAPI支撑的Analytics Zoo是英特尔开发的开源统一分析和AI平台,旨在将多个深度学习应用程序无缝地整合到一个集成流水线中。用户可以透明地扩展规模,从在笔记本电脑上运行示例作业扩展到在大型集群上处理生产规模的大数据。

37dcd94d095c30e4344e0d0512cd5f47.png

它支持:

  • 使用Spark代码内联编写TensorFlow或PyTorch,以进行分布式训练和推理
  • 在Spark ML流水线中支持本地深度学习(TensorFlow/Keras/PyTorch/BigDL)
  • 通过RayOnSpark在大数据群集上直接运行Ray程序
  • 用于(TensorFlow / PyTorch / BigDL / OpenVINO)模型推理的纯Java/Python API

a2e9846a13f4f7df9ba2f73ce432439e.png

什么是Alluxio

Alluxio是用于数据分析的开源数据编排层。它充当一个分布式缓存层来防止从远程数据源重复拉取数据,以此为数据分析或机器学习系统(如Analytics Zoo)提供高性能。与其他解决方案相比,Alluxio在具有“零拷贝突发”功能的混合云环境中具有以下优势,可将数据处理突发迁移到云上进行:

  • 按需计算驱动的数据:将存储系统挂载到Alluxio上时,初始仅会加载其元数据。Alluxio仅在应用程序请求时缓存数据。这种按需应变的行为允许对云进行突发数据处理,从而避免了手动将数据从内部集群复制到云。
  • 数据本地化:Alluxio可根据数据访问模式,智能地在应用程序附件缓存数据,复制热数据,或驱逐过时数据。
  • 数据弹性:Alluxio可以根据分析框架(包括容器编排的环境)灵活扩展。
  • 用于数据访问的通用API:Alluxio使用不同的通用API提供数据抽象,包括HDFS API,S3 API,POSIX API等。为分析和AI工作构建的现有应用程序可以直接在此数据上运行,而无需对应用程序本身进行任何更改

设置和工作流程

下图是集成了Alluxio和Analytics Zoo的架构图,可实现快速高效的深度学习工作:

dc48d44b5086d090c9977ebd583beede.png

本地或远程数据存储被挂载到Alluxio上。Analytics Zoo应用程序通过运行Spark作业启动深度学习训练任务,通过分布式文件系统接口从Alluxio加载数据。初始时,Alluxio尚未缓存任何数据,因此它从挂载的数据存储中检索数据,并将其提供给Analytics Zoo应用程序,同时在其Worker中保留一个缓存副本。第一次训练的运行速度与应用程序直接从本地数据源读取数据的速度大致相同。在随后的训练中,Alluxio将拥有一个缓存副本,因此数据将直接由Alluxio Worker提供,从而消除了对本地数据存储的远程请求。请注意,缓存过程对用户是透明的;无需人工干预即可将数据加载到Alluxio中。但是,Alluxio确实提供了诸如“distributedLoad”之类的命令来预加载工作数据集,以便在需要时预热缓存。还有一个“free”命令用于收回缓存存储空间,而无需从底层数据存储中清除数据。

3.基准测试结果

本节总结了Alluxio集成工作流的性能测试和基准测试结果。

环境

我们在AWS EMR部署的7节点Spark集群(其中1个实例为主节点,其余为工作节点)中运行实验。基准测试的工作负载是inception v1训练,使用存储在AWS S3同一区域的ImageNet数据集。

作为基准,Spark集群直接从S3 bucket访问数据集。与基准作为对比,在Spark群集上安装Alluxio,并将S3 bucket挂载为底层文件系统。

下表详细介绍了具体的环境配置:

EC2 Instance Typer5.8xlarge
Number of vCPU per
instance
32
Size of memory per
instance
256GB
Network speed10Gbps
Disk space100GB
Operation SystemUbuntu 18.04
Apache Spark
version
2.4.3
BigDL version0.10.0
Analytics Zoo
version
0.7.0
Alluxio version2.2.0

结果对比

在使用Analytics Zoo对ImageNet数据进行inception训练时,我们测量了数据加载性能。测得的时间包括训练数据和测试数据的加载时间。

使用Alluxio和不使用Alluxio的平均加载时间分别为579秒和369秒。当Analytics Zoo使用Alluxio加载ImageNet训练和测试数据时,速度大约提高了1.5倍。注意,输入数据位于S3中计算的同一区域中。

d6f418142fd0c12c0b48d08bec86e8be.png

下图显示了使用Alluxio时,性能波动(15.9秒)也远低于基线波动(32.3秒)。这表明Alluxio不仅有助于平均加载时间,而且可以使性能更加稳定。

2d0d3ae7b554c16718d0cb39e3008906.png

4.结论

通过利用Alluxio作为Analytics Zoo的数据层,混合云解决方案可加速Analytics Zoo应用程序中的数据加载以及大数据系统上的深度学习分析。我们的Alluxio内部性能基准测试表明,当Analytics Zoo使用Alluxio加载ImageNet的训练和测试数据时,该架构提升了约1.5倍的速度。

人工智能应用的不断发展,将深度学习带入了新一代数据分析发展的前沿。各类组织机构将深度学习技术应用于大数据分析流水线的需求将不断增长。我们代表整个Alluxio开源社区鼓励读者尝试这个解决方案,并欢迎您在遇到任何问题时在我们的社区slack频道中提问。

特别感谢英特尔的Jennie Wang和Louie Tsai,感谢他们提供的宝贵的Analytics Zoo技术咨询和支持。

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

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

相关文章

程序员面试金典 - 面试题 04.06. 后继者(循环中序遍历)

1. 题目 设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。 如果指定节点没有对应的“下一个”节点,则返回null。 示例 1: 输入: root [2,1,3], p 12/ \ 1 3输出: 2示例 2: 输入: root [5,3,6,2,4,…

使用ASP.net 2.0 的一些新特性

by:(fallseir.lee) 飞扬轻狂 使用masterpage 新建一个site 添加一个新的masterpage&#xff0c;the_one.master 打开 the_one.master 添加 默认title&#xff0c;meta 添加 全局控件 sitemap 添加 ContentPlaceHolder <?xml:namespace prefix o /><% Master Languag…

北大数学系毕业,放弃MIT offer,嫌月薪3万太多主动降薪…

文 | Alex(发自凹非寺)源 | 量子位出家十二载的北大数学天才柳智宇&#xff0c;如今下山还俗了。18岁时&#xff0c;他获得国际数学奥林匹克竞赛满分金牌&#xff0c;顺理成章地被保送到中国“第一学府第一系”&#xff1a;北京大学数学系。22岁&#xff0c;在获得MIT全额奖学金…

LeetCode 第 22 场双周赛(220/2041,前10.8%)

文章目录1. 比赛结果2. 题目LeetCode 5348. 两个数组间的距离值 easyLeetCode 5349. 安排电影院座位 mediumLeetCode 5350. 将整数按权重排序 mediumLeetCode 5351. 3n 块披萨 hard1. 比赛结果 做出来了前3题&#xff0c;第4题有点难&#xff0c;感觉是动态规划。 全国排名&a…

使用设备mac好还是随机mac好_省4000我给MBP16搭配了一块2T SSD:希捷 酷鱼飞翼 Fast SSD使用测评...

最近入手了MBP16&#xff0c;配置选择上纠结了一下。整体苹果的电脑后期基本没有什么升级的可能&#xff0c;所以选择了32G和1T的硬盘的配置。本身也想过硬盘是不是升级2T或者更高&#xff0c;但是想想每挑一格就是3000&#xff0c;腰包实在撑不起。我还是配合NAS和SSD级别的移…

修改终端服务器的最大连接数

1&#xff0e;明确终端服务的2种模式 ----Windows 2000终端服务有2种运行模式: 远程管理模式和应用程序服务器模式。远程管理模式允许系统管理员远程管理服务器&#xff0c;而且只允许2个终端会话同时登录终端服务器。应用程序服务器模式允许用户运行一个以上应用程序&#xff…

胡渊鸣:加一行import,让Python代码提速100倍!

文 | 丰色 发自 凹非寺源 | 量子位众所周知&#xff0c;Python的简单和易读性是靠牺牲性能为代价的——尤其是在计算密集的情况下&#xff0c;比如多重for循环。不过现在&#xff0c;大佬胡渊鸣说了&#xff1a;只需import 一个叫做“Taichi”的库&#xff0c;就可以把代码速度…

python3语音识别模块_『开源项目』基于STM32的智能垃圾桶之语音识别

大家好&#xff0c;我是『芯知识学堂』的SingleYork&#xff0c;前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介&#xff0c;相信有很多小伙伴都已经忍不住跃跃欲试了&#xff0c;别着急&#xff0c;从这一篇开始&#xff0c;笔者将会带领大家一步一步来完成…

LeetCode 945. 使数组唯一的最小增量(贪心)

1. 题目 给定整数数组 A&#xff0c;每次 move 操作将会选择任意 A[i]&#xff0c;并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入&#xff1a;[1,2,2] 输出&#xff1a;1 解释&#xff1a;经过一次 move 操作&#xff0c;数组将变为 [1, 2, 3]。…

突然发现被点名(理想恋人游戏)

被debbie点名了.从debbie那里也看到了一个理想好男人应该具有的特点,努力!不过一下子想不出来八个条件,想想再写.(注: 理想恋人游戏规则:被点到名的人&#xff0c;回答八个你理想恋人的条件。必须点名八个人一起与你玩游戏。如果被点名者&#xff0c;已完成这游戏&#xff0c;…

手机电脑的芯片主要是由_全体起立!苹果自研电脑芯片登场,iOS迎大更新…WWDC20精彩远不止这些...

科技观潮techsina与浪同行打造一个自己能全局掌控的硬件一个自己完全掌控的系统找人来开发App创造生态繁荣。让它有用、好用&#xff0c;让更多人用——这一系列动作&#xff0c;我们曾在iPhone的历史上都亲眼见证过。出品 / 新浪科技 ID&#xff1a;techsina作者 / 晓光视频 /…

有人已经在用AI画色图了...

文 | 雷叔说事知乎一最近&#xff0c;一些画师是真的有点急了。倒不是因为参加美国科罗拉多州博览会美术比赛没得奖而无能狂怒。是因为第一名&#xff0c;根本就不是个人。原来&#xff0c;在这届比赛中获得“数字艺术/数字修饰照片”大奖的作品是AI生成的。Jason Allen是一家桌…

LeetCode 1389. 按既定顺序创建目标数组

1. 题目 给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组&#xff1a; 目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i]&#xff0c;在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步&#xff0c;直到在 nums 和 i…

AlphaFold 2被曝真实场景的预测能力太差??

文 | 李梅、黄楠源 | AI科技评论2018 年&#xff0c;Deepmind 首次发布基于深度神经网络的蛋白质结构预测数据库 AlphaFold&#xff0c;在蛋白质预测中实现了最先进的性能&#xff1b;去年&#xff0c;AlphaFold 2 获得了 98.5% 的蛋白质预测率&#xff1b;前段时间&#xff0c…

外贸SOHO经验

经验一: SOHO的挂靠外贸公司的数字分析 我已经有3年多代理出口工作经验&#xff0c;结合我自己的工作经验和实际情况&#xff0c;想写一个文章来阐述一下这个话题&#xff0c;希望能够抛砖引玉&#xff0c;给广大的SOHO们一些启发。 SOHO与客户沟通3绝招 &#xff0…

平行空间怎么设置32位_高低床怎么设置不占空间

工作忙要父母带孩子或是有了二胎&#xff0c;房子紧张住不下。最简单实用的方法就是添置双层床。双层床怎样布置空间利用率更高&#xff0c;对于老人带孩子或不同年龄阶段的孩子还是有所差别的。常规的双层床都长这样的。双层床对于儿童最大的挑战就是安全问题&#xff0c;如果…

LeetCode 1390. 四因数

1. 题目 给你一个整数数组 nums&#xff0c;请你返回该数组中恰有四个因数的这些整数的各因数之和。 如果数组中不存在满足题意的整数&#xff0c;则返回 0 。 示例&#xff1a; 输入&#xff1a;nums [21,4,7] 输出&#xff1a;32 解释&#xff1a; 21 有 4 个因数&#x…

聊聊工业界“AI算法创新”乱象

文 | Sirius几天前&#xff0c;卖萌屋的一期推文《AI凉下来了&#xff1f;这可能是个好事》在短短几小时内获得近百次点赞在看和800多次转发&#xff0c;引起了不少小伙伴的共鸣。不过由于批判和叙事太过露骨&#xff0c;打马不彻底&#xff0c;导致删文。删文后&#xff0c;这…

个人编程思想理解的片段(主要是面向对象的,参考了许多人的观点,还不成熟,没形成系统,请大家多指点)...

编程思想的发展 面向过程 面向对象 新的发展对面向对象的补充有 面向方面面向对象的三种表现效果 封装 继承 多态面向对象的实质 用类对现实世界进行抽象&#xff0c;用对象对现实世界的存在和运行进行模拟&#xff0c;使程序世界更加接近于现实世界。 封…

LeetCode 1391. 检查网格中是否存在有效路径(BFS)

文章目录1. 题目2. 解题2.1 BFS2.2 爆栈的DFS2.3 不爆栈的DFS1. 题目 给你一个 m x n 的网格 grid。网格里的每个单元都代表一条街道。grid[i][j] 的街道可以是&#xff1a; 1 表示连接左单元格和右单元格的街道。2 表示连接上单元格和下单元格的街道。3 表示连接左单元格和下…