6 月 1 ~ 2 日,GIAC 全球互联网架构大会将于深圳举行。GIAC 是一个面向架构师、技术负责人及高端技术从业人员的技术架构大会。今年的 GIAC 已经有腾讯、阿里巴巴、百度、今日头条、科大讯飞、新浪微博、小米、美图、Oracle、链家、唯品会、京东、饿了么、美团点评、罗辑思维、ofo 等公司专家出席。
在大会前夕,高可用架构采访了本届 GIAC人工智能分论坛 讲师龙明康,就目大家广泛关注的AI技术方面的问题进行了访谈。
龙明康,2011年加入讯飞,当前任云计算研究院副院长,深度参与了语音云从0到1的建设,主导了语音云从日均PV从百万到千亿的演进。并主导了AIUI(人机交互系统)、AIoT(智能物联网)平台的建设。擅长高性能高可用的基础组件和云平台系统架构,对AI/人机交互/即时通讯/智能物联网领域的平台化有深入的理解。
高可用架构:很高兴能采访到您。您从事AI有多少年了?AI之前您做什么呢?能否简单的介绍一下您?
龙明康:大家好,我是明康,从2011年本科毕业后就来到讯飞参与到语音云的建设。我的工作主要是把搞AI研究的同学的成果转移到平台上,降低开发者使用AI的门槛,让AI Link到更多的场景中去,用AI赋能各行各业,当前我们开放平台上开发者数量超过了80万,这个规模“可能”是国内最大的AI平台了!大家所熟知的讯飞语音输入法、锤子发布会语音输入都是这个平台支撑的。
这个过程中,我还解决各种高并发高可用系统的问题,忙里偷闲也做了个C10M的推送系统XPush。在2015年的时候,智能硬件快速爆发,我们发现平台的能力已经很难满足开发者需求,于是启动了AIUI项目,定义了新一代的智能人机交互标准。这个项目大概闭关了3个月,其中架构讨论一个月,研发2个月,发出了第一个版本。
也正是这个项目激起了我对HCI的兴趣,如何标准化无、强视觉呈现的语音交互系统,如何提供一套GUI与VUI结合的标准技术栈,以及如何降低开发门槛都是非常有挑战的事情。在这个过程中也逐渐意识到AI Link场景的重要性,于是启动了AI2.0以及AIoT平台的研发。
当前我重点在主导这两件事情。由于我们做的很多事情都比较超前,所以需要大量的架构和技术方案探索,因此也没有太多时间在一线Coding,这时常困扰着我。另外我个人比较喜欢开源,最喜欢的项目是Nginx,比较喜欢google的一些技术栈,如Golang,gRPC等。
高可用架构:讯飞在语音识别等场景有很深的积累,能否简单介绍一下语音识别场景的难点?以及讯飞在语音识别场景所使用的技术?踩过什么样的坑?有没有发生过一些有意思的故事?
龙明康:语音识别如果在理想的环境下是比较好做的,业界现在在理想场景下的语音识别率差距越来越小。难点是如何解决复杂的环境噪音、用户带口音、远场等情况下的识别率低的问题。另外做通用领域的识别相对好做,而专业领域就比较难做,比如医疗、法律等方向。还有一个难点就是做用户级的个性化声学模型、语言模型,深度学习当前大多数还是有监督学习,所以如何结合应用场景来降低标注成本也是很有挑战的事情。 当前讯飞语音识别主要使用自研CNN结构的声学模型,另外也有Encoder-Decoder方案。 踩过比较大的坑应该就是关于识别率的优化问题。早期大家喜欢在实验环境做大量的优化,达到85%的识别率后,才上线。实际上线后统计,发现只有60%识别率。所以后来吸取了这些经验,采取先上线,利用真实数据快速迭代的方法。
高可用架构:什么样的原因促使您要自建AI平台?相比较其他的AI平台,您要解决什么样的痛点?支持了哪些AI相关的技术?
龙明康:语音云大概是在2009年由于继栋大大提出并启动项目,早期讯飞的AI能力面向toB销售,现在看来,当时的模式就是私有云的方式。随着对接越来越多,需求定制和技术支持的工作已经不堪重负,大家意识到平台化、标准化才是出路。当时云的概念正在爆发,而且移动互联网也在崛起,在IPhone革命性的触屏交互出现后,大家一致认为语音输入将在移动端大有可为,于是结合内部的讯飞输入法项目一起做了第一代AI平台。
上面提到的是内部的痛点,对外而言,我们是想解决开发者使用AI的门槛高的问题,让AI像水电一样方便使用是件很难的事情。所以我们也是通过讯飞开放平台这样一个窗口,不断的分析开发者痛点,不断的改进平台、API易用性。例如人机交互方案在落地到硬件方案上的周期普遍很长,我们就做了一个成品级解决方案魔飞。我认为现在很多的AI平台并没有太多机会接触到开发者真正的痛点和需求。 当前讯飞的AI平台支持的范围比较广,从语音到图像,从软件到硬件,大家有兴趣可以访问xfyun.cn来详细了解。
高可用架构:能否简单的介绍一下人工智能、机器学习、深度学习、神经网络等专业名词以及它们之间的联系?各自领域通常使用什么技术?或者说有什么开源的解决方案?
龙明康:通常人工智能是指通过普通计算机程序的手段实现的人类智能技术,核心问题包括建构能够跟人类似甚至超越的推理、知识、规划、学习、交流、感知、移动和操作物体的能力等。 机器学习是解决其中学习问题的方法是人工智能的一个分支。一般的使用到的算法有神经网络、决策树、支持向量机等 深度学习是机器学习的一个分支。常见的开源深度学习框架就是TensorFlow、MXnet等
高可用架构:深度学习的TensorFlow和MXnet应该如何进行选择?他们各自有什么样的优劣?
龙明康:TensorFlow生态很全面,上手简单,但是性能不够好。MXnet性能优化的比较好,节省显存,运算效率高。另外MXnet只做训练。
高可用架构:目前业内在AI方面的布局,有自动驾驶、语音识别、智能客服、机器人等等,能否从技术的角度简单介绍一下各个方向的难点?(模型、算法上有何不同?)
龙明康:语音识别在问题2中已经提到。智能客服、机器人都偏语义理解领域。众所周知,汉语是较难掌握的自然语言之一。不同于语音识别,语义理解除了需要被处理语言信息,还需要更多的辅助信息,例如知识图谱、上下文语境,这些额外信息如何在模型和算法合理的利用当前还是个难题。
高可用架构:能否介绍一下AutoML?AutoML真的能让普通研发从事AI方面的工作吗?随着AutoML越来越强大,AI工程师是否会被取代?
龙明康:Google的AutoML项目旨在利用神经网络设计神经网络,降低人才的门槛,解决当前AI人才极度紧缺的难题。通常一个好的效果模型调优需要以下几个步骤:数据预处理、特性选择、模型算法选择、调参、上线后模型的再优化、效果评估。AutoML主要完成模型算法选择和模型超参数优化。当前Google发布的Cloud AutoML平台上只有Cloud AutoML Vision,用于图像识别,从文档介绍来看已经做到普通研发能使用的程度。
当前AutoML是在一个既定的网络结构上优化,而AI工程师可以研究更先进的网络结构和算法,所以AI工程师有一部分工作会被AutoML取代,但是完全被取代的可能性比较小。
高可用架构:最近刷遍朋友圈的陆奇离职事件,可谓业内大的人事变动。百度说要all in AI,却前后经历了吴恩达、陆奇两位**人物的离职,是否从另一方面表示AI落地艰难?要做到真正改变人类生活还有一定的距离?
龙明康:百度ALL IN AI后从股价上的表现就说明了资本很认可这个战略。陆奇大大的这个选择网上有很多解读,但是我相信他不可能是因为AI落地艰难而退缩。讯飞也一直坚持用人工智能建设美好世界。当前有很多落地的产品正在改变这人们的生活,例如现在非常火爆的讯飞翻译机,真正做到了让世界聊得来。
高可用架构:AI也发展有很多年了,在您看来,AI领域当下的现状是怎么样的?目前的最大的瓶颈可能是什么?
龙明康:大家都提到人工智能的三次浪潮,第一次浪潮出现了很多*算法,但是这些算法只能解决狭窄领域的问题,而且当时的计算能力是严重不足的,所以进入第一次冬天。第二次浪潮出现了语音识别、机器翻译、专家系统、类神经网络,但是效果完全达不到人们对AI的预期。第三次浪潮的到来主要依赖大数据技术、深度学习技术的成熟,且在计算能力大幅增加。 当前应该已经到了AI应用爆发的时期,随着大家对AI的理解越来越深刻,AI已经被应用到越来越多的细分领域,从讯飞开放平台的开发者增长可见一斑。我认为当前的主要瓶颈还是AI人才短缺,这也包括懂AI的业务专家,他们才是把AI带到世界每个角落的发动机。
高可用架构:对于想快速掌握AI技能的人,需要学习哪些知识?对此,您又有什么好的建议?
龙明康:作为普通工程师,想入门AI,首先得大概清楚当前AI的一些现状,能干什么,大概能做到什么程度。要了解这个也比较简单,从讯飞开放平台上就可以了解到很多。第二步需要对AI的生产环节了解,大致分为理论研究、模型训练、引擎工程化、服务化,训练的部分还有个深度学习平台需要建设。
AI的进阶之路刚好和上面的生产环节相反。有一些分布式服务经验的的工程师可以从服务化入手,逐渐了解引擎的一些特性和运作机制。如果已经具备一些算法功底,包括图论、概率论相关知识就可以转做引擎工程化。
引擎工程对性能有非常高的要求,所以需要深入计算机体系结构,结合CPU/GPU/memory优化。在这个过程中就可以深入探索下模型是怎么来的。通常这个时候可以去尝试使用TensorFlow在一些开源的模型上进行调参,要调好参其实还是非常有门槛,需要具备设计模型的能力,这样的人在讯飞AI研究院都是非常资深的级别了。
再进阶就是搞特征工程了,偏理论研究,需要深入研究泛函、矩阵分析、概率图模型、随机过程、优化理论等。对于这个进阶过程,讯飞内部都有各个阶段的培训材料,在讯飞开放平台的AI大学中也有部分分享课程。
总之,想要在AI方向上深耕,去一家靠谱的AI公司,使用上面的平滑过渡路线是比较靠谱的。
高可用架构:作为GIAC的AI讲师,能否剧透一下,这次您给大家带来了什么样的干货?能否分享一些讯飞语音识别等应用场景的实战内容以及踩过的坑?
龙明康:我这次分享内容主要是第一代AI平台从0到1的过程以及在流量爆增的过程中遇到的一些坑。另外会介绍一下人机交互平台AIUI的架构以及后来抽象出来的第二代AI平台架构。虽然这个过程中我们也做了大量微服务架构的实践,但是由于分享篇幅有限,这次不会重点分享。最后还会跟大家务虚分享一下我对AI Link行业的理解。希望本次分享能帮助到大家,谢谢!
本期 GIAC 大会上,人工智能/大数据部分的精彩议题如下:
参加 GIAC,盘点2018最新技术。点击“阅读原文”了解大会更多详情。