Kubeflow用户研究:Data Scientist是一群什么生物?

内容来源:2018 年 04 月 22 日,Pinlan创始人兼CEO李一帆在“全球首发| Kubeflow Meetup 4.22 杭州场,开拓 AI 新视野”进行《在 Kubeflow 上的 AI 项目实践与展望》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。

阅读字数:2250 | 6分钟阅读

摘要

Kubeflow 是一个令人兴奋的机器学习与分布式系统结合的项目,不仅仅是系统界的程序员对其感兴趣,所有的数据科学家也同样对它给予了厚望,本次分享,聚焦于数据科学家作为 Kubeflow 目标用户的使用体验与对未来更多展望。

获取嘉宾演讲视频及PPT,扫一扫下方二维码即可。

开篇:工业界AI

Scikit learn

从2003年开始统计机器学习算法在互联网广告中被大量广泛应用,至此机器学习正式崭露头角。接下来的scitit learn将机器学习推广到了不同的场景,python使用者仅需花费几周的时间就能轻松上手,并且能够将统计机器学习的算法运行起来。

2010年左右各种深度学习的paper先后发表,深度学习开始被应用到图像、语音和文本数据中,接连取得理论突破。对于结构化数据,机器学习的优势可能并不明显,仍可以通过简单的逻辑来替代它,但是在图像、语音和文本这几个领域就完全不一样了,深度学习的优势就在于此。

2010年后深度学习得以持续发展,到了2014年一些国际性大公司推出了TensorFlow,caffe等算法框架,将深度学习的能力带出了学术圈。

现今将深度学习应用于商业问题的创业公司如雨后春笋般涌现,大型的互联网公司也加入了AI军备竞赛,All in AI成了日常战略。另一边传统企业也进入了密集的数字化转型期,互联网+、AI+被带到传统企业中,比如零售、能源、金融、制造等行业。在大部分公司都开始涉足AI之后,AI人才的稀缺性就逐渐显露出来了。

总的来说工具的出现,附能了更多的人来加入AI事业;事业的发展,催生了新一代的AI工具。现在我们已经有了强大的算法基础工具:TensorFlow,但是发展的事业带来了万块GPU并行的AI业务,由此催生了百人到千人的AI算法团队。

一个Solo DS

作为一个Solo DS在个人资金有限的情况下,计算平台建议选择游戏主机,其在GPU性能上勉强够用。数据源方面肯定是没有客户数据的,只能选择一些开源的数据,比如ImageNet。IDE一般根据使用的语言选择,python的话可以用pycharm。当然一个人埋头苦练也是不行的,还需要有个老师,StackoverFlow无疑能很好的扮演这一角色,另外还要本十分适合入门的花书。最后就是证明自己的时候了,准备去参加各种比赛吧。

一个DS的工作流程

整个工作流程如上所示,首先找数据、研究数据,然后调模型,调整好后交付模型,最后通过模型产生价值,某些时候可能还会有结账收益。

在Solo的时候,如果做的是统计机器学习,比如推荐和广告业务,那么90%的时间一定会被耗在特征工程上。而在深度学习时代,90%的时间会被用在等待模型训练完成。

从用户角度来看,Solo的过程中主要有几个痛点。第一是训练慢,对此可以应用多GPU训练;第二是没数据,所使用的都是一样的开源数据,创新性上受到限制,为此可以提供数据收集标注的工具来自定义数据集合;第三是环境配置不好做,他们所面临的是社区中极广泛和不同框架与库。

一个DS团队

DS团队相对于Solo DS,首先计算平台得到升级,可能是机房或者云上资源,同时拥有了自己的数据集,还要会用到代码库,Git被引入进来。除此之外,其他方面并没有太多改善,比如模型库如何选择、发布流式线如何搭建、资源如何共享协调等。

DS团队最常碰到的问题就是GPU资源管理难,比如资源有限需要排队等待使用,或者在不知情的情况下关掉了其他人的任务。为了解决这种问题,我们采用了一种较原始的办法,假设现在有3块GPU,当需要用到的时候就将使用情况记录到Excel表格中,并写入预计训练完成时间,如上图。

另一问题是如何做AI DevOps,像模型文件和代码不匹配,预测结果出现问题,上个版本的模型丢失,这些情况相信大多数人都遇到过。同时分布式训练对于模型训练也相当重要,如果能做到会节省大量时间,其中相对多机多卡,一机多卡会更简单一些。

总的来说,一个DS团队最大的挑战在于,他们聚在一起是为了一个清晰的目标的,需要有质量、高速度的完成一个AI任务,不能有任何闪失。其实我们面临的各种开发上的挑战,其实都是AI快速发展给我们带来的技术债务。

Kubeflow展望

针对前面提到的各种问题,无论是Solo还是团队中的,kubeflow都提供了相应的解决方案。比如Configuration的版本管理、负责分布式训练的Process Management Tools,复杂数据探索的Feature Extraction、负责大批量上线的Serving Infrastucture等。

以上为今天的分享内容,谢谢大家!

IT大咖说 |关于版权

感谢您对IT大咖说的热心支持!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180907A1UE7800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券