快速在阿里云上构建机器学习应用

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 3月28日云栖大会开源专场,阿里云技术专家必嘫给大家带来了“在阿里云上构建机器学习应用”的演讲。本文主要从深度学习应用发展历史开始谈起,进而介绍了如何结合阿里云容器服务的机器学习解决方案快速打造一套深度学习应用的案例。

3月28日云栖大会开源专场,阿里云技术专家必嘫给大家带来了“在阿里云上构建机器学习应用”的演讲。本文主要从深度学习应用发展历史开始谈起,进而介绍了如何结合阿里云容器服务的机器学习解决方案快速打造一套深度学习应用的案例。

深度学习应用发展的介绍

深度学习在2016年有两款应用特别火爆,影响到每个普通人的生活。第一个是会下围棋的AlphaGo,它向大家证明了计算机不只有强大的运算能力,同时具备了自学能力,更厉害的是这种学习能力是可以纵向深入的,换句话说,不需要人赋予的逻辑,计算机可以通过大量的数据和不断的训练成为一个领域的专家。

而另一款是萌萌的手机应用:Prisma,这也是一款基于深度学习技术的手机应用,在2016年底,它分别登上了ios和Android手机最佳应用的头名,成为全球潮人的家具旅行必备良品。这款产品的功能直白一点说,就是用户提供自家小区的照片,结合绘画大师的艺术风格,最后产生一款有大师风格的用户照片。用机器学习的语言来描述,这个工作分为两个部分

  1. 求解描述大师风格的方程f,这是整个过程中最消耗时间的事情,大概占据了整个消耗时间的99%
  2. 当风格方程f的参数确定后,将x代入方程f

这套风格转换的深度学习算法并不是Prisma首创的,实际上在2015年,就有三个来自德国的研究员发明了这套算法,并发表了论文。同时他们也创办了一家叫Deep Art的公司。用户在 Deep Art 网页上上传自己的照片,然后通过 Deep Art 提供的 “机器人梵高” 进行新画创作。整个过程需要等待几个小时让计算机进行数据运算和处理。用户可以选择清晰程度不等的作品。用户可以花上 19 欧买一张适合明信片用的作品,或者多掏 100 欧,买一张大尺寸油画级别的。他们的生意不错但是并没有大火。

其中的原因有两个:

  1. 等待一副图片的产生需要几个小时的用户体验不佳,要知道用户是没有耐心等待的
  2. 它没有提供手机App,导致用户覆盖率不够高。

而这时一个聪明的俄罗斯程序员阿列克谢 · 莫伊谢延科夫(Alexei Moiseyenkov)意识到了这个聚宝盆并没有真正开启,他要做一款速度超快的手机应用。能实现相同的功能。经过两个月的研究,他发现慢的原因在于,原始的风格迁移过程中,每生成一张图片,都相当于要训练一次模型,这中间可能会迭代几百几千次。如果了解过一点机器学习的知识,就会知道,从头训练一个模型要比执行一个已经训练好的模型要费时太多。而这也正是原始的风格迁移速度缓慢的原因。他解决了这个技术问题后,同时开发出了手机应用。Prisma 在面世仅仅一周后,就收到了俄罗斯网络公司 http://Mail.Ru 的价值200万美元的投资。

分享这个故事的想告诉大家的是如何把AI的技术转化成相关的产品,实现数据,技术和场景的联动,才是真正的价值,也是真正的挑战。下面会给大家演示如何在阿里云上快速搭建这款价值千万美金的深度学习应用。

在阿里云上构建类似Prisma的深度学习应用

要构建深度学习应用,选择一款深度学习工具是必不可少的步骤。TensorFlow是谷歌于2015年11月9日正式开源的计算框架。TensorFlow计算框架可以很好地支持深度学习的各种算法,但它的应用也不限于深度学习。这里我们选择TensorFlow作为数值计算库,而使用的代码在github上:fast-style-transfer)

接下来,要梳理一下机器学习的工作流程,它分为数据准备,训练程序开发,训练任务执行和在线预测服务四个部分,在每个阶段都有相应的工作。

针对于这个流程,容器服务团队提供了云上机器学习解决方案。这个方案以容器服务为核心,贯穿了前面提到的机器学习生命周期,并且无缝的整合了阿里云的计算,存储,负载均衡等服务。它的好处在于利用了容器技术,但是并不需要用户深入了解容器技术。

具体操作步骤

1. 准备数据

通过osscmd和图形用户界面上传数据,当数据非常巨大时,可以考虑利用oss提供的解决方案。

2. 通过图形用户界面一键式的定制云端实验开发环境,并且支持tensorboard查看训练趋势。这里我们的目的是调试训练代码逻辑。

3. 构建云端训练,完成模型的导出

使用git导入应用代码, 如果在需要安装python依赖库,可以在应用的根目录下放置requirements.txt, 这样就可以在应用初始化的时候安装这些依赖包.对于分布式存储,这里有一个约定:在执行环境的/input文件夹对应于选定oss数据卷的根目录,/output对应训练程序要输出到oss数据卷。目前云端训练支持单机和多机两种模式,如果是多机模式,需要分别指定参数和任务服务器的数量。机器学习解决方案会在调度时刻,将生成的参数传递给任务服务器,。如果训练过程中需要利用tensorboard查看训练状况也是支持的。

4. 利用导出的模型,执行在线预测

创建预测服务,这里预测服务具体支持两种: TensorFlow Serving和自定义服务。TensorFlow Serving支持加载TensorFlow导出的标准模型,自定义服务可以支持用户自己开发的预测应用。对这两种服务,都可以从数据卷中加载模型或者checkpoint,并且自动绑定负载均衡服务,同时还可以指定预测实例的个数,保证应用的高可用

总结

这次分享利用阿里云容器服务机器学习解决方案搭建了一个和Prisma功能类似的深度学习应用,并且实践了从模型训练,导出以及预测的全生命周期工作流程,这会是个逐步迭代不断优化的方案.我们后面会不断迭代优化这一方案,希望帮助数据科学家们专注于机器学习价值本身,进而提供最大的价值。

  • 简化:一键整合机器学习应用和阿里云GPU,NAS,OSS,SLB,SLS等服务; 快速构建从模型学习到发布工作流程
  • 优化:提供针对特定场景性能优化的TensorFlow和Caffe镜像;利用持续交付的最佳实践优化整体流程
  • 定制化:可使用用户自定义的镜像,满足高阶用户自定义需求,平衡灵活性与自动化

最后放出彩蛋,展示一下视频风格转换的效果:

视频风格转换

参考材料

深度学习实践:使用Tensorflow实现快速风格迁移
https://github.com/floydhub/fast-style-transfer
中国版 Prisma 来了,我们今天再聊聊深度学习

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
150 88
|
12天前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
1938 9
阿里云PAI部署DeepSeek及调用
|
14天前
|
机器学习/深度学习 人工智能 开发者
DeepSeek安装部署指南,基于阿里云PAI零代码,小白也能轻松搞定!
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括:开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程简单快捷,极大降低了使用门槛。
|
3天前
|
机器学习/深度学习 数据采集 运维
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
35 18
|
8天前
|
机器学习/深度学习 分布式计算 大数据
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
|
7天前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
140 7
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署 DeepSeek-V3 模型,阿里云 PAI-Model Gallery 最佳实践
本文介绍了如何在阿里云 PAI 平台上一键部署 DeepSeek-V3 模型,通过这一过程,用户能够轻松地利用 DeepSeek-V3 模型进行实时交互和 API 推理,从而加速 AI 应用的开发和部署。
|
1月前
|
SQL 存储 人工智能
DMS+X构建Gen-AI时代的一站式Data+AI平台
本文整理自阿里云数据库团队Analytic DB、PostgreSQL产品及生态工具负责人周文超和龙城的分享,主要介绍Gen-AI时代的一站式Data+AI平台DMS+X。 本次分享的内容主要分为以下几个部分: 1.发布背景介绍 2.DMS重磅发布:OneMeta 3.DMS重磅发布:OneOps 4.DMS+X最佳实践,助力企业客户实现产业智能化升级
DMS+X构建Gen-AI时代的一站式Data+AI平台
|
23天前
|
机器学习/深度学习 安全 持续交付
让补丁管理更智能:机器学习的革命性应用
让补丁管理更智能:机器学习的革命性应用
45 9
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。