人工智能|专访小米崔宝秋:云原生与大数据、AIoT、开源的碰撞之路( 三 )



云原生与AIoT密不可分
《新程序员》:小米集团是从什么时候开始布局云原生的?目前在云原生方向做了哪些事情?
崔宝秋:早在2015年我就让团队开始研究容器和微服务,之后很快就开始在一些场景中落地这些技术。有很长一段时间,集团内部同时布局Mesos和Kubernetes,早期的Mesos比较成熟,但我一直更看好当时不太成熟的Kubernetes,现在看来当时的判断是对的。
基于这些云原生技术,我们在降低了研发和运维的工作量的同时能支撑业务的高速发展。目前我们在公司范围内扩大这些技术的应用,在原有研发、运维效率带来的价值被提升之外,我们也更加注重资源效率的改善,通过云原生技术为业务带来实质性的成本降低。
这个过程中,我们要解决云原生技术研发以及企业架构治理这两类挑战。云原生技术研发包括业务间的混布、利用公有云资源进行弹性伸缩等;企业架构治理包括推进存量服务的服务化治理与改造、规范研发流程、精细化治理资源成本等。
《新程序员》:小米机器学习平台基于Kubernetes构建,而Kubernetes概念多且复杂,你们在开发过程中有没有遇到技术难题或者典型问题?另外在使用Kubernetes时,有哪些建议可以给到其他企业?
崔宝秋:小米在2016年开始根据内部机器学习和深度学习需求,基于Kubernetes构建小米的深度学习服务。开发者可以在云端使用GPU训练模型,秒级启动分布式训练任务,兼容TensorFlow等深度学习框架,也可以一键部署训练好的模型,或者创建基于GPU的开发环境,提供模型开发、训练、调优、测试、部署和预测一站式解决方案。
因为CPU机器普遍比较贵,遇到核心问题如何加速深度学习训练及提升GPU集群资源利用率?我们主要使用RDMA网络提升、训练网络性能,在Kubernetes调度框架的基础上实现机器学习场景的调度器,支持更加灵活的GPU调度策略和资源抢占,训练任务支持公有云弹性等,有效提升GPU集群的资源利用率。
云原生生态已经日趋成熟,CNCF社区也已包含基础设施的项目,建议新的企业更加积极拥抱云原生和Kubernetes,加入云原生生态,利用生态红利,站在巨人肩膀上构建自己的业务。
《新程序员》:小米的硬件产品有很多,硬件+云原生技术是否会列入小米集团下一步的发展计划中,计划做哪些事情?
崔宝秋:“硬件+云原生”技术早已是小米集团的一部分。众所周知,“手机×AIoT”是小米的核心战略,这里面不管是手机还是任何AIoT设备,都是智能硬件、智能设备,而智能设备的一大特点就是互联互通,并利用云计算、大数据和人工智能给用户提供各种智能服务。所以,小米硬件和云原生技术一直是密不可分的,这也一直是小米技术发展的方向。
《新程序员》:未来,人工智能与云原生会碰撞出怎样的火花?
崔宝秋:一方面,人工智能可以解决云原生领域的决策和优化问题。例如,AIOps技术就用于解决运维的决策问题。这背后是由于容器、微服务等一系列应用构建流程的标准化,会产生大量结构化数据,有了数据就可以通过人工智能实现智能决策和自动化执行,提升系统效率和可靠性。另一方面,云原生技术也能让人工智能服务变得唾手可得。通过将人工智能的能力基于云封装成服务,可以让更多软件引用丰富的人工智能服务的能力,提升软件产品的用户体验。

云原生与开源互利协作
《新程序员》:你一直在推动开源的发展,请用几个词简单概括你对开源的认识或态度?
崔宝秋:开放、共享、共建、未来、平台、模式、竞争力。
《新程序员》:面对不断更迭的技术市场,你认为开源的核心竞争力是什么?
崔宝秋:互联网的力量,群体和社区的力量。
《新程序员》:可以谈谈开源和云原生的关系吗?
崔宝秋:开源起源于早年的自由软件运动,没有自由软件运动,就没有GNU,就没有GNU/Linux,就没有今天的开源。不夸张地讲,没有自由软件和开源软件,就没有今天的云计算、大数据和人工智能技术的快速成熟,也就没有今天人们谈论的云原生。经过这些年的发展,开源已经成为了主流的软件开发协作模式。在云原生技术领域,CNCF开源基金会对云原生的发展起到了非常大的促进作用。相信未来开源模式会继续促进云原生技术持续发展。
《新程序员》:有人说开源是云原生环境的首选或未来,你怎么看?原因是什么?
崔宝秋:我高度认同这个说法,因为我相信开源是软件的未来。近些年出现了很多采用开源模式的商业公司,借助云的环境与生态快速发展成大型软件企业,获得了商业上的成功。于是也自然有更多公司复制这种模式,开源和云的结合是一种趋势。