近来,关于机器学习的报道很多,国内外的大型互联网企业都在着手对机器学习的研究。对应用性能的高效管理,首先要了解应用的一手数据,通过传统的数据获取方式已经不能满足企业的发展和市场环境,这就需要借助机器学习的技术手段,来更智能、更迅速、更准确的找到所需要的信息,快速解决问题。

\\

2016年8月18-19日,由极客邦、InfoQ和听云联合主办的APMCon2016中国应用性能管理大会将在北京举行(现在报名,享6折优惠),聚焦当前最为关键的移动端、Web端和Server端的性能监控和管理技术。

\\

本届大会,我们有幸邀请到了AppDynamics Principal Data Scientist,Machine Learning Engineering 赵宇辰,前来分享《下一代数据驱动的智能APM:痛点,趋势及解决方案》的内容,讲述他在AppDynamics一直研究的机器学习技术在用户数据挖掘、应用性能分析领域的实践及宝贵经验。

\\

InfoQ:能不能介绍一下之前作为Scissorsfly联合创始人的这段历史?对您之后选择的数据领域是否有很多帮助?

\\

\

赵宇辰:相对于纯数据研究,我的经历可能相对丰富一些。本科清华毕业,在美国读博期间,我选择数据挖掘和机器学习作为我的主要研究方向,在该领域先后发表了多篇学术论文,至今仍然是顶级数据科学会议KDD的委员会委员,同时还兼任很多杂志和会议的审稿人。除了理论研究,我还将机器学习的方法应用到实际的产品中,从大公司到小的创业公司都有,比如IBM Research,Linkedin,eBay Research,Sumo Logic等等。

\\

还曾任General Assembly的首席数据科学讲师,在硅谷教授数据科学的相关课程。中间也曾有过一段创业经历,从BD到Marketing甚至客服都要自己去做。每一段的经历都让我能跳出自己的comfort zone,学习到很多不同的东西,这些对于我做数据产品以及理解其相关需求,都非常有益,毕竟我们的目标是做用户喜欢的产品,给用户带来价值。

\

\\

InfoQ:同时,作为LinkedIn Intern Hackday裁判,让你看到了国外学生的哪些优势是让你有所感触的?

\\

\

赵宇辰:骇客大赛(hackday)由LinkedIn公司主办,所有在硅谷地区的学生和实习生都可以参加。比赛的条件可以说是既宽松又“魔鬼”。宽松是指所有人,只要是在硅谷地区的都可以参加,主办方提供丰盛的美食和饮料,比赛的内容不限,你想做什么就做什么;“魔鬼”是指只有24小时去实现你的想法,那么意味着这24小时就不停地工作,没有休息时间。这个主办思想从活动的标语就很清晰地体现出来:eat,hack,but no sleep。

\\

我有幸和Linkedin的工程SVP Kevin Scott,Rapportive的CEO兼Tindie的工程副总裁Julia Grace一起作为比赛的裁判。在经过24小时的“hack”后,一共有50多个团队展示出了作品。看了所有的demo后,有三点让我印象非常深刻:

\\

  • 年轻:几乎所有的参赛者都是本科在读,甚至是高中生。然而从他们的作品和展示里,不乏听见创业、用户体验、商业以及各种最新的技术词汇。美国的创新和计算机教育确实是从小抓起的。\\t
  • 高效 \u0026amp; 高质量:虽然参赛者很年轻,但是作品的质量却不低。很多作品都有自己的特色,甚至都可以作为一个小的单独创业项目。虽然时间有限,但从实现的角度,小到后台架构和页面细节都一丝不苟。\\t
  • 创新:展示的demo五花八门,涵盖了各种最新最cool的技术和想法,从机器学习、图像识别到各种IoT设备,想法之多、思维之广确实让人大开眼界。\

通过短短的24小时的hack行为,我由衷地佩服参赛者们的聪明才智、创造力、动手能力、想象力。透过他们,我明白了为什么硅谷能数十年一直是全世界传奇式的创新发源地,从他们身上,仿佛能看到硅谷的未来。

\

\\

InfoQ:介绍一下您目前在AppDynamics作为首席数据科学家的主要工作职责吧!

\\

\

赵宇辰:因为是专注于美国和欧洲市场的2B软件公司,很多人可能不知道,我来简单介绍一下。

\\

AppDynamics是一家主攻APM企业软件的独角兽公司。在APM领域,AppDynamics近几年在Gartner的魔力象限(Magic Quadrant)上一直是Top 3的厂商。在今年Gartner的报告中,AppDynamics在所有的APM use cases里排名都是第一。

\\

我在AppDynamics主要负责数据科学和机器学习的产品战略和研发工作,大致分为两块。

\\

  • 第一块是战略研究。因为机器学习对于企业软件相对来说是比较新的方向。所以在产品研发之前,首先要从战略的角度研究接下来的5年内,哪些是我们需要投资的领域。这就需要和销售、市场以及产品等部门进行布道和沟通,也就是说把我们想做的数据产品首先“销售”给公司的内部团队和决策层。\\t
  • 第二块是具体的产品架构设计和研发工作,内容涉及到阅读相关的论文,机器学习算法的研究、工程实现、实验和系统整合等。\

\\

InfoQ:目前,机器学习技术在AppDynamics的应用场景有哪些?

\\

\

赵宇辰:目前为止,我们已经将机器学习和数据挖掘的技术应用在不同的数据类型上,包括日志、Business Transaction (BT),Real User Monitoring (RUM)等等。简单来说就是如何更智能、更迅速、更准确的帮用户找到所需要的信息。

\\

举个例子,突然某天一部分用户反映不能用iOS的设备登录了,可是运维人员发现所有测试正常,用浏览器和Android客户端的用户都没有问题,甚至很多用iOS的用户也可以正常登录。我们如何从数百上千台服务器中的海量信息里发现具体的根源?这是一个很常见的例子,因为日常运维最常见的并不是整个系统都不工作了(complete failure),而是一小部分服务不能正常工作(partial failure)。到底这种partial failure在哪里,找到具体的根源通常需要运营团队很多个小时,甚至很多天才能手工排查到。现在,我们利用机器学习的技术,成功可以将这个MTTI (Mean time to investigate)降低到几分钟甚至几秒钟。运维人员只需点击一下鼠标,系统自动分析出我们认为最有可能出错的根源。

\

\\

InfoQ:在数据挖掘和机器学习技术的研究上,您踩过哪些坑又是如可解决的?有什么心得体会?

\\

\

赵宇辰:从社交网络的机器学习到电商再到运维APM的数据挖掘,中间踩过的坑太多了。把任何一个机器学习技术应用到具体的产品中,上线到production,都是非常不容易的,可以说这是一个非常复杂的系统工程。其中可能只有不到5%的时间是在具体的算法研究上,其余的很大一部分精力需要放在如何让系统更稳定、更scalable上,同时还要考虑到和系统其它部分的集成以及用户体验的设计上。

\\

这其中的心得体会是有很多的,各个部分如何取舍,这些足以再做一个专题,希望可以找个机会和大家分享。

\

\\

InfoQ:能不能结合实践案例展现一下AppDynamics的各种机器学习评分算法的有效性?

\\

\

赵宇辰:最近大家都知道Google的AlphaGo下围棋战胜了李世石,这成了一个很经典的机器学习案例。

\\

在APM领域,我再举个例子。日志信息对于APM和运维是非常重要的,但是日志同时又是非结构化的文本信息,这就需要用户手动的写正则表达式(regular expression)去提取有用的信息。但通常写复杂的正则表达式是一个既费事又费力的工作。

\\

我们最近的一个工作就是让用户用鼠标选取他们想提取的信息,系统智能的生成最有效的正则表达式,这样即使用户从来没有学过正则表达式也可以顺利提取日志中的有用信息。虽然这和围棋的应用场景不同,但一样是利用机器学习的技术,同时这个任务并不简单。我们每次的搜索空间在10^26这个量级,这是什么概念呢,对于任何一个用户请求,如果把系统生成的每个合法的正则表达式放在一个米尺上,然后将这些米尺连起来,那么它们将可以横跨目前科学可以观测到的整个宇宙,这仅仅是对于用户的一个请求。对于千变万化的日志来说,这个数量级是非常非常巨大的。目前我们可以做到在100ms内返回最优最高效的正则表达式,这样大大提高了系统效率,同时降低了使用日志工具的门槛。据我所知,我们此项技术在所有同类产品中是最领先的。

\

\\

InfoQ:为什么说App的复杂性越高,对App的管理、诊断和根源分析就越具有挑战?

\\

\

赵宇辰:在2010年以前,传统的软件系统一般都不复杂,很多都是单机版,或者只是简单的几台机器组成的系统。现在随着Microservice的大行其道和逐渐增多的应用场景,App复杂性越来越高。针对App的管理、诊断和根源分析,从数据上来说,我们就有各种不同的数据类型,比如:

\\

  • Metric:例如CPU使用率,Java GC内存,网络延迟,每分钟销售总量,活跃用户量等等。\\t
  • Category:例如IP,用户所在国家和地区,付款方式等等。\\t
  • Hierarchy:一个大型的商业系统里有不同的modules,分布在不同的tiers上面,同时每个tier里有数量不一的服务器,这就形成了一个分等级的树状结构。\\t
  • Graph:系统的每一部分都和其他部分有交互,这自然就形成了一个有向图(directed graph)。\\t
  • Unstructured:系统会生成大量的非结构化信息,比如日志,stacktraces,错误信息等等。\

每个数据类型都有自己的分析方法和模型,如何将这些方法和机器学习算法有效的结合到一起,成为一个统一的整体,同时给用户提供一个及其简单好用的产品,这是非常有挑战性的。

\

\\

InfoQ:在通过构建强大的端到端机器学习系统来收集应用数据,并对数据分析研究和数据过滤上,您有什么独到的见解吗? 

\\

\

赵宇辰:正如之前所说的,APM涉及到的数据类型非常复杂,同时数据量很大。一个用户在手机端简单的点击,很可能已经在后端服务集群中产生了大量半结构化的数据信息。对于一个end to end的数据分析系统,我认为至少要考虑到以下几点:

\\

  • Scalability:系统是否可以扩展,能处理多大的数据量。如果一定要有取舍,哪些地方可以通过采样、聚合和压缩的方法来提高系统的吞吐能力。在数据量突然增多的情况下,能否快速的扩展现有的系统等等。\\t
  • Usability:在设计一个机器学习系统的时候,首先考虑的问题并不是技术,而是应该先想想具体我们需要解决什么问题,所设计的系统是否能给用户带来价值,能否尽量简化用户的操作和工作量。确定了这些之后,再考虑用哪些方法和技术来实现这个系统。\\t
  • Flexibility:这里的灵活性是多方面的。从算法上来说,如何设计一个机器学习算法,同样的算法是否可以用在别的地方;未来系统如果扩展和有新的数据类型加入的情况下,当前的设计是否也可以随之拓展。从系统架构上来说,所设计的机器学习系统是否方便维护,在部署和升级上有没有特殊的要求;是否要运行在云上,还是要以on-premise的方式部署,亦或是两者兼有等等。\

\\

InfoQ:互联网巨头目前都声称在研究机器学习,您认为AppDynamics的机器学习跟其他公司相比有什么独到的地方?

\\

\

赵宇辰:面对消费者的公司在应用机器学习上走在了前列。比如我之前工作过的eBay和Linkedin都早早的将数据挖掘和机器学习应用到了产品中。相对来说,面对企业用户的公司在这方面略显滞后。随着数据量的越来越大,传统粗犷的分析方式已经逐渐不再使用,现在看到越来越多2B端的企业和创业公司对机器学习加大了投入,甚至很多已经将机器学习作为了企业的核心竞争力。

\\

我一直认为,没有普世的机器学习方法。对于不同的应用场景,也许最本质的算法类似,但是要对不同的应用做优化和个性化,比如feature engineering,算法的objective function调整,对于运行时间的要求,分布式的处理,在云上和on-premise的部署等等。

\\

众所周知,在APM领域,数据类型非常复杂,同时它们又相互关联,在机器学习上我们这几年的投入和深耕筑起了有效的护城河,同时体现了产品的差异化优势。

\

\\

InfoQ:AppDynamics正在利用数据和机器学习来提供更精准、更有效的下一代APM解决方案,这其中会有哪些难点?希望达到怎样的预期效果?

\\

\

赵宇辰:虽然APM领域有着数据量大,数据类型多样,应用场景复杂的特点,但是我们的目标是希望我们的产品尽量的简单、易用,一句话就是:打造DevOps领域的智能大脑(The Brain)。一般来说,DevOps需要对系统有很深入的理解才能有效的利用现有的APM工具管理App的性能,同时这些工具的学习曲线很陡峭。我们努力的方向是不让运维人员大海捞针的从海量数据中寻找所需要的信息,而是尽可能智能的将他们最需要的信息呈现出来。

\\

最理想的情况是运维人员不需要理解各种类型的数据以及复杂的应用场景,我们的The Brain智能大脑能从复杂的数据中快速的自动找出用户最需要的信息,解决他们的实际问题。

\

\\

InfoQ:您个人对应用性能管理有怎样深刻的理解?您觉得参加APMCon2016垂直领域大会的意义是什么?

\\

\

赵宇辰:随着越来越多的应用放到了互联网和移动端,对于软件系统性能的管理和监测已经成为了每个软件公司不可忽视的难题。很高兴得知有了APMCon这样在APM垂直领域的大会,这样让我们这些在APM领域的从业者有了很好的交流和沟通的机会,因为很多具体的心得体会和技术应用是APM这个领域所独有的。而且,我知道听云是国内APM厂商中唯一一家上榜Gartner魔力象限的,这次来国内参加APMCon也是期待能和大家进行更多的分享交流。

\

\\

InfoQ:感谢赵宇辰接受我们的采访!

\\

关于受访者

\\

赵宇辰博士,本科就读于清华大学,之后在美国伊利诺伊大学芝加哥分校获得博士学位!自2014年担任AppDynamics首席数据科学家,主导和负责下一代大规模数据挖掘、机器学习、异常检测和分析的APM产品构架和研发工作。他自2013年担任顶级数据科学会议KDD的委员会委员,还曾任General Assembly的首席数据科学讲师,同时在Sumo Logic,Linkedin,eBay,IBM Research有相关的工作经历。并且还在KDD,ICDM,ICDE,CIKM等国际顶级会议发表论文十余篇,在APM和log领域拥有多项国际专利。

AppDynamics赵宇辰:硅谷APM独角兽,打造DevOps领域的智能大脑相关推荐

  1. MIT副教授赵宇飞团队登数学四大顶刊,华人作者中两位是本科生,最小的是00后...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你 ...

  2. 十大众筹PC:硅谷新生代如何打造下一代计算机

    十大众筹PC:硅谷新生代如何打造下一代计算机   来源:CNET科技资讯网 众筹革命已经让众多吸引人的台式机,笔电和平板PC诞生.下面就是最引人注意和最成功的典范. 尽管PC市场不再象过去那样是一个迅 ...

  3. 计算机学院班群头像,【北工大表白墙】计算机类18级3班孙宇辰同学,你是广袤沙漠里的盐。...

    原标题:[北工大表白墙]计算机类18级3班孙宇辰同学,你是广袤沙漠里的盐. ----------------------------------- ❤表白1:孙宇辰同学,现在我在四十多公里外昌平,刚刚 ...

  4. 百度集团资深副总裁李震宇:Apollo开放平台打造全球最强自动驾驶量产引擎 助力车企造好车

    2021年4月19日,第十九届上海国际车展在上海国家会展中心拉开帷幕.作为全球领先的自动驾驶与汽车智能化平台,百度 Apollo 召开以"心所驭,智随行"为主题的新闻发布会.会上, ...

  5. 斯隆奖得主赵宇飞:大图世界里的数学利器 | 欲善其事,先利其器

    编者按:数学的理论往往先行于实际应用,在时机成熟的时候迅速成为实际应用的有力工具. 例如微分几何,在1854年便有相对成熟的理论,但直到1915年爱因斯坦提出广义相对论后,人们发现物理世界竟然是4维黎 ...

  6. 微生物组实验手册计划正式启动、诚邀同行共同打造本领域方法百科全书

    <微生物组实验手册>计划正式启动 目标 Bio-protocol杂志社(bio-protocol.org)联合宏基因组公众号联合发起微生物组实验方法(Microbiome Protocol ...

  7. WAIC | 云天励飞副总裁肖嵘:创「芯」时代 打造自进化城市智能体

    在 WAIC 2021 AI 开发者论坛上,肖嵘发表主题演讲<创「芯」时代 打造自进化城市智能体>,在演讲中,他主要介绍了自进化城市智能体,并介绍了云天励飞最新研究成果及成功案例. 以下为 ...

  8. SAP-注入“AI基因” 打造全球第一款“智能ERP

    SAP-注入"AI基因" 打造全球第一款"智能ERP https://www.toutiao.com/a6635799431973175812/ 如果评选2018年的关键 ...

  9. (转)如何动手打造属于自己的智能家居

    转自:http://www.cocoachina.com/programmer/20140629/8974.html 2014-06-29 14:11 编辑: suiling 分类:程序人生 来源:C ...

最新文章

  1. 编程入门python语言是多大孩子学的-不学点编程,将来怎么给孩子辅导作业―Python新手入门教程...
  2. 如何跟程序员谈一场没有Bug的恋爱
  3. OpenCV——释放时错误[SourceReaderCB::~SourceReaderCB terminating async callback]解决方案
  4. android文件读写
  5. 发送邮件时,如何附带上中文等价名信息
  6. Mybatis-plus批量插入、批量修改数据saveBatch等速度缓慢
  7. 移动场景在其缩略图中显示场景中所显示的区域
  8. 2021-2025年中国制药废物处理与管理行业市场供需与战略研究报告
  9. virtual 关键字以及虚函数的介绍
  10. DSAPI Wifi热点的扫描与连接
  11. 都说Python是无所不能的!手机APP数据就能逃出我爬虫的魔爪吗?
  12. Linux内核开发-入门篇
  13. 《赖氏经典英语语法》第五集
  14. L298N、电机、单片机的线路连接(51、stm32程序)
  15. 一年经验Java面试之MySQL事务隔离级别和MVCC
  16. 百度全景地图使用时提示flash版本过低 如何处理?
  17. 使用mybatis的Vo对象简单完成需求查询
  18. 网上赚钱怎么赚?锁定一个项目,才是赚钱的王道!
  19. 终于把所有的 Python 库都整理出来啦,赶紧收藏!!!
  20. access查询两列信息合并输出_如何在Access中合并两个数据表中的数据

热门文章

  1. HP-UX Root密码被锁定的非关机情况下解决方案
  2. 给力开源,.Net开源地址大收集
  3. 刚装oracle, 熟悉一下命令
  4. 人人须知的 jQuery 技巧
  5. mysql绿色版的应用5.7
  6. Sequence(组合数学,集合不同元素的个数)
  7. linux下 SCP 、ssh、ssh-copy-id采用非默认端口传输
  8. CyberArticle(网文快捕)上传文件提示‘许可不足’
  9. 啊D扫肉鸡+无远控双开XP3389 termsrvhack.dll_本地测试
  10. HAL Flat Display Driver Demystified