返回 登录
0

运维人员麾下的机器学习“小徒弟”

Apprentice是英语中学徒的意思,由此衍生出了(Operators’ Apprentice)Opprentice运维学徒这个单词。这个智能的“小徒弟”能跟着运维人员从历史异常中学习并积累经验,从而学会运维人员的工作思路,完成各种高难度的网络运维工作。


机器学习已经是智能运维的重要趋势,并将在今后若干年得到快速发展。运维管理结合最新的机器学习领域的进展,将为智能运维在今后若干年带来质变。APMCon运维自动化专场是当天参会人员最多的内容专场,参会者场场爆满。CSDN记者会后有幸采访到了该专场演讲的清华大学计算机系副教授裴丹,和裴教授探讨了他在机器学习领域的研究成果,以下是专访内容:

CSDN:请您介绍一下您的简历和团队的背景。

裴丹:我在美国加州大学洛杉矶分校读的博士,之后在美国工作了大概6年的时间,回国后加入到清华大学,在整个读博期间和整个工作过程中,一直做智能运维相关的和网络性能管理和应用性能管理、数据分析相关的工作。在做数据分析过程中,形成了一套方法论,通过机器学习的方法来解决互联网公司、网络运营商在生产实际中的一些比较复杂的、有挑战性的问题。

CSDN:是什么原因,促使您想用机器学习技术来解决智能运维问题?是因为技术的发展还是因为其他的原因?

裴丹:主要是技术层面的原因。本身智能运维这个问题越来越复杂,越来越有挑战。这个问题复杂到用传统的、基于规则的智能运维需求其实已经达不到很好效果。这也跟人工智能发展的历史是非常吻合的。当场景越来越复杂的时候,你是无法事先把规则提前给出的,所以这就是为什么人工智能在一段时间内,由于无法准确处理实际环境中的复杂条件,沉浸了一段时间。直到整个互联网在2000年开始爆发,应用越来越多,数据越来越多,最终在语音视频、图像识别等领域取得了一些突破。而这些突破都是基于机器学习的。也就是说机器学习可以让我们不知其所以然(也就是复杂的规则),就可以把一些工作做得很好。

CSDN:现在是处于微服务的时代,机器学习和智能运维最大的难点是什么?

裴丹:最大的难点有两个,一个是偏技术层面的,一个是非技术层面的。偏技术层面,我们在人工智能领域有很多相对成熟的算法,在一些图片处理取得了很好的突破,但是好多算法在智能运维领域,如何得到实际的应用,这个东西没有一个统一的规律,需要不断尝试。在尝试的过程中,对实际参与的人有一定的要求,大家要有一套相对成熟的方法论,能够按以往的经验,采用比较行之有效的方法,尽量大家优势互补,相关的人结合在一起(懂算法、懂系统的、有领域知识的)大家在一块,尽快取得很好的突破。也就是说,在技术层面的难点是没有一个放之四海皆准的算法可以直接使用,但是存在一些有效的方法论。另外一个难点是非技术层面的,有些问题非常非常复杂,复杂的原因主要在于需要协调很多部门。从这个角度来说,相对可行的方案,是让整个公司层面能够更重视智能运维,这样的话大家有一个统一的思路,能够更好的让各个部门有机协调在一起,让智能运维工作做的更有效。

CSDN:在微服务时代,机器学习如何解决多产品线、多模块的运维问题。

裴丹:我主要讲一下如何自动评估模块上线的自动评估问题。现在在微服务的潮流下面,一个公司,不管产品线多少,软件模块或者微服务就会越来越多,产品的迭代和更新越来越快,每天可能都上线很多版本。这个时候,运维人员有一个非常焦虑的问题: 上线之后到底效果怎么样,有没有达到理想的预期,或者说有没有造成没有料想到的一些后果。如果用一些比较传统一点的监测方法的话,只能是通过简单的监控项监测、报警,剩下的工作要人工去做。我们知道你对已有的系统做了一个变化,其实有很大的概率发生一些事情。一旦发生了一些问题的话,产生的副作用是立刻的,那个时候运维人员应对的时间是按秒计的,所以一定想办法把这个过程自动化。

裴丹:我们做了一个漏斗系统,一步一步筛选,对每次上线直接给出结果,你有没有导致了没有预期到的KPI的巨变。如果是,马上反馈给运维人员,以及相关的版本开发人员,赶紧回卷,自动上线以及以及自动判断回卷很重要的过程。前面的技术工作不是靠运维人员的眼睛去看,而是靠一些智能的算法去做,这是一个很好的机器学习的应用,要从历史数据里面分析,横向的比较。既要纵向看时间,又要横向的看对比组,做相应的判断,最终大大缩短上线后判断是否回卷的问题。

CSDN:您在演讲中也提到,机器学习是跟着运维人员去学习,它是怎么跟着大家去学习的?

裴丹:这里面一个核心的思路是要把运维系统当作一个产品来做。我们提供给运维人员的界面要非常友好和便捷易用,其中的技术细节(比如各种异常检测器、各种算法)对运维人员来讲是不可见的。通过这个友好的界面获得有监督机器学习必须的标注数据。

裴丹:再详细说一下这个产品界面。假设我是徒弟,而运维人员之前带过这个徒弟一点点了。在产品界面里,机器人小徒弟对师傅说,“这是 检测出来的异常,您看一看?”师傅说, 这个还真是一个异常,就打个勾,这个标注就被小徒弟记下来了,形成一个有特征有标注的数据点。另外一个情景,小徒弟检测出来一个结果,师傅一看是误报,打个叉,又形成了一个机器学习的点。还有另外一种情景,机器人小徒弟漏报了, 这时师傅打开界面标注一下,又是一个机器学习学习的数据点。就相当于一个师傅带徒弟一样,徒弟在跟着师傅解决一个一个案例的过程中,积累了大量的经验。对于人来说,更多的是感性和逻辑记下一些规律;对于机器小徒弟来说,它累积了一些数据点,剩下的用机器学习算法就能处理掉了。

CSDN:机器学习下的智能运维对安全方面有哪些考虑?

裴丹:我们也在做一些网络和大型系统的安全研究。但是做安全方面,有各种不同的策略。大面上来分,也有基于规则的,也有基于人工经验的,也有基于人工智能机器学习的。我们目前的重点还是采用机器学习的策略来做。最近跟百度等工业界的合作伙伴基于机器学习的工作,比如说防入侵,攻击的路径可回溯,一次攻击发生的时候,如果在网络中当时没检测出来被人攻击,但是在日志里面都有踪迹,我们想办法把踪迹的规律学出来。学出来之后,下回防攻击的能力就会强。

CSDN:在做智能运维、机器学习领域过程中,令您印象比较深刻,对你有很大影响的事件是什么?

裴丹:印象比较深刻的事件是我研究智能运维的思路从基于规则转变成基于机器学习。原来用的很好基于规则的方法,在新的复杂场景中碰壁了。,这个时候我仔细思考到底是为什么以及如何解决,突然意识到机器学习是个不错的解决方案,然后突然意识到这其实是智能运维正在发生的变革。

CSDN:您觉AlphaGo这件事对智能运维有什么借鉴和帮助吗?

裴丹:首先,AlphaGo事件为人工智能起到了很好的公众宣传作用。比如说,有一段时间,我们做计算机招生的时候,就会遇到一些困难,大家认为学完计算机不就做个程序员么。但是人工智能这个事情一旦火热之后,普通老百姓对计算机领域的认知发生了变化,不再说学计算机的就是程序员,这对我们机器学习、智能运维的人才储备都有很大的好处。其次,我们在研究一个具体科研问题的时候,直接受到过阿尔法狗的启发。AlphaGO 用到了蒙特卡洛树搜索,我们为什么不在我们的科研问题中用一下这个呢?蒙特卡洛树搜索,对于我们计算机领域很早就知道,也不是新算法,但就是因为事件的触发,脑子里面突然有了这个想法,遇到实际问题的时候就用这个方法解决一下,对于我们当时的科研问题效果还是比较好的。一次像AlphaGo这样的公众事件对工业界和学术界既有宏观的又有微观的帮助。

CSDN:您对听云这边所提供的APM平台和工具,有哪些了解?

裴丹:包括听云在内APM厂商研制了不少有实际意义的平台和工具,解决了客户大量的应用性能管理相关的实际痛点。整个APM领域近年来也在快速发展。 我们学术界不做产品,只是在一些非常有挑战点上聚焦,然后把算法做出来,学术界跟包括听云在内APM厂商是一种合作关系。APM厂商收集很多数据,在和客户深入沟通的过程中,就会遇到一些比较有挑战的数据分析的工作。学术界针对APM厂商遇到的有一定通用性的、普适性的、有挑战性的问题做出算法。所以双方是非常互补的,学术界和工业界有很好的结契合点。

图片描述

裴丹与CSDN记者合影

裴丹

清华大学计算机系副教授,主要研究领域是基于机器学习的网络和应用运维管理研究,在此领域有15年经验,发表了80余篇学术论文和20余项美国专利。裴教授是国家青年千人,美国UCLA博士,曾任美国AT&T研究院主任研究员。他是ACM 和 IEEE的Senior Member。

评论