来自雷锋网(leiphone-sz)的报道 雷军曾表示,小米创立的原因之一,在于安卓的开源。 现在,小米已经有自己的开源团队,成为开源的倡导者和支持者,开源贯穿了小米整个CBA路线。 在2018小米AIoT开发者大会上,小米举办了第一届开源技术峰会,并对小米开源历路及开源能力进行了详细解析。 2012年,小米迎来一位小米技术团队的支柱人物,也就是现在小米人工智能与云平台副总裁崔宝秋。随之而来的除了人尽皆知的AI,还有开源。 2012年7月,统一Hadoop集群,打通数据孤岛; 2012年10月,选型HBase,组建团队; 2013年12月,推出第一个HBase Committer; 2014年8月,正式成立小米开源委员会; 2015年5月,小米开源Open-Falcon; 2017年10月,小米开源Pegasus; 2018年6月,小米开源MACE。 为什么要拥抱开源?崔宝秋表示,“我在打造小米人工智能与云平台团队时,一直以硅谷的创业公司、互联网公司的风格来打造,团队文化包括多个元素,其中一个非常重要的元素就是「开源」。” 为什么要拥抱开源?对公司来讲,拥抱开源有很多优势,主要包括以下几方面:
小米的开源之路整个开源体系中,现在存在三种力量:个人爱好者、无开源商业模式组织、有开源商业模式组织。崔宝秋表示,小米属于第二类——无开源商业模式组织。 其中,区别于无开源商业模式组织,有开源商业模式组织的「开源」并不是「免费」的。诸如IBM、华为等公司在开源上的投入很多,但是有开源商业模式组织最终目的是从底层软硬件、应用层到云服务向其客户提供一整套解决方案。 小米属于无开源商业模式组织,另外,还包括诸多高校、科研机构,以及其他公司。 从2012年开始,小米开始正式涉足开源。
小米最初在做开源时,制定了五条开源战略,即「快、不重造轮子、不用则已 要用则精、永抱开放和共享的心态、极力推出自己的committer」,这些战略,至今仍然适用。 崔宝秋认为,「不用则已,要用则精」是国内诸多公司经常忽略的一点,即没有用精。其实,很多公司对开源不信任的原因之一是没有搞定,只拿来用,用的很不舒服,没碰到真正困难的时候一切都好,一旦上线、集群大小不够、一扩容发现出了问题,主要原因在于没有深度掌握,没有用精。 小米在开源的贡献小米从2012年正式跨入开源,至今已有6年之久,6年之内,小米在拥抱开源的同时,也为整个开源生态做了很多事情。以HBase为例,小米在过去几年,一共推出了8个Committer,2个PMC Members。2018年,小米为HBase贡献了306个patch,占整体patch贡献值的23%,全球其他厂商一共贡献了1010个patch。崔宝秋在论坛上表示,“自从我们参与了HBase项目,这个项目的负责人多次表示,小米现在已经成为社区最活跃、力量最强的一支队伍。”
开源软件虽好,但并不能解决企业所有需求,这一点,小米也深有体会。性能跟不上、功能跟不上是小米使用开源软件遇到的问题,于是小米开始自研项目。在自研过程中,小米也经历了最初的蜕变。
Open-Falcon是一个企业级、高可用、可扩展的监控系统,该项目的社区运营数据显示,目前,已有200+公司、5000+个人开发者参与到该项目中。 在此之后,小米又投入大量人力、资源到PEGASUS项目中,即强一直分布式Key-Value系统,以及移动端深度学习框架MACE,并相继对外开源。 MACE——移动端神经网络推理引擎MACE是小米在2017年8月正式立项的移动端神经网络推理引擎,今年2月已经落地手机AI相机,并于今年6月正式对外开源。 MACE支持包括TensorFlow、Caffe等多种训练架构。小米人工智能与云平台AI平台高级软件工程师李寅在大会上表示,“为了适配更多训练框架,小米开始致力于兼容开放标准协议模型,这个开放标准协议是对所有训练框架平台的整合,我们希望所有训练框架都可以统一转到这个开放模型协议上,从而极大地减轻开发者的工作。经过这一层转换,所有移动端的部署和预测直接利用这份统一开放的模型协议就可以统一适配,而不用再去适配不同的开源框架。我们现在已经支持ONNX。” MACE框架包括四层。最底层是设备芯片层,现在MACE支持三种异构芯片,包括ARM的CPU、GPU,以及高通的Hexajon DSP;其次,小米在芯片之上打造了高效的Kernels,以及针对高通DSP的HexagonNN引擎;然后,又封装了一层解释层,这层解释层可以翻译整个模型本身,将模型翻译成一个高效、可执行的序列,每个执行的算子下放到这些Kernels进行预测;小米希望通过MACE模型转换,将这些模型设计地更轻巧、运算效率更高、适配更好的底层Kernels或者芯片。 MACE最重要的工作就是在不同的芯片和设备上进行Kernels的优化,包括GPU性能优化与自动调优、NEON指令级优化、内存占用优化、模型初始化时间优化,以及模型保护、模型保密、基准测试等。 小米做开源的经验谈到小米做开源的经验,崔宝秋将其归结为以下几点:
最后,谈到开源,崔宝秋表示,“不仅是代码开源、深度学习框架开源,我们还要提倡数据开源。今天大数据在人工智能中扮演着非常重要的角色,大数据包括知识图谱、数据服务、数据模型,这些是我想倡导大家开源的,也是小米在做的事情。” |
|
来自: 昵称71360118 > 《待分类》