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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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搭建和管理企业级网站应用
目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 物联网
通义灵码在人工智能与机器学习领域的应用
通义灵码不仅在物联网领域表现出色,还在人工智能、机器学习、金融、医疗和教育等领域展现出广泛应用前景。本文探讨了其在这些领域的具体应用,如模型训练、风险评估、医疗影像诊断等,并总结了其提高开发效率、降低门槛、促进合作和推动创新的优势。
通义灵码在人工智能与机器学习领域的应用
|
3天前
|
机器学习/深度学习 传感器 自动驾驶
探索机器学习在图像识别中的创新应用
本文深入分析了机器学习技术在图像识别领域的最新进展,探讨了深度学习算法如何推动图像处理技术的突破。通过具体案例分析,揭示了机器学习模型在提高图像识别准确率、效率及应用场景拓展方面的潜力。文章旨在为读者提供一个全面的视角,了解当前机器学习在图像识别领域的创新应用和未来发展趋势。
|
1月前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
思通数科AI平台在尽职调查中的技术解析与应用
思通数科AI多模态能力平台结合OCR、NLP和深度学习技术,为IPO尽职调查、融资等重要交易环节提供智能化解决方案。平台自动识别、提取并分类海量文档,实现高效数据核验与合规性检查,显著提升审查速度和精准度,同时保障敏感信息管理和数据安全。
62 11
|
8天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
23 1
|
13天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
38 4
|
14天前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
40 5
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
因果推断方法为特征工程提供了一个更深层次的框架,使我们能够区分真正的因果关系和简单的统计相关性。这种方法在需要理解干预效果的领域尤为重要,如经济学、医学和市场营销。
57 1
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
阿里云人工智能平台 PAI 的多篇论文在 EMNLP2024 上入选。论文成果是阿里云与华南理工大学金连文教授团队、复旦大学王鹏教授团队共同研发。EMNLP 是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究,尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台 PAI 在自然语言处理和多模态算法能力方面研究获得了学术界认可。
|
21天前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
47 3