在近日于美国硅谷举行的年度@Scale大会上,Facebook以及多家风险投资(VC)机构的高层都表示,开源软件已经成为一种默认值,有众多新创公司都将之视为立业基础;这场大会旨在鼓励软件开发者拥抱开源并对该社群有所贡献。
与会的Facebook说到做到,表示该公司准备公布从防震360度视频、增强版的数据压缩,到机器学习等涵盖各种应用的程序代码。“有那么多东西以开放的形式发生,让我们能以更快地速度一起合作解决问题;”Facebook的工程与基础建设部门主管Jay Parikh在@Scale大会的专题演说中指出,估计全球有150万工程师参与开源开发项目。
风险投资业者Accel Partners──为在线音乐服务Spotify,以及在线团队沟通平台Slack的幕后股东──合伙人Ping Li则表示,Facebook的开放策略包括软件程序代码以及硬件,而相同的模式正获得许多新创公司采用;开源软件:“已经成为既定标准,甚至在美国政府内部也是由开源软件起步,只添加一些缺漏的东西。”
企业打造以开源为基础的产品,其中有很多添加了专属软件使其达到企业应用水平(enterprise ready);Li表示,未来几年最大规模的科技业公开发行案例会有一些属于这类案例,而估计有超过75%的企业用户会采用开源软件。
他进一步指出:“开源是一种有许多不同风格的开发与授权模式,不过开放采用软件(open adoption software)是一种范围更广的商业模式,改变程序代码如何被开发、使用以及货币化的方式;像是客制化客户关系管理(CRM)软件供应商Salesforce就率先以新方式提供软件,这是相同的一件事情。”
Li表示,以往软件公司会先把新功能的想法编写到一个程序集或是云端服务中,现在的软件新创公司则是会把现有的开源软件堆栈透过合作方式拼凑在一起,之后再把功能添加上去:“当你把程序代码开放,就能解决你可能想象不到的很多问题,因此我鼓励各位想得更远,并持续贡献开源。”
Facebook在@Scale大会上介绍了数据压缩、机器学习以及防震360度视频的开源;该公司软件工程师Andrew Tulloch,介绍了Facebook如何利用广泛的神经网络型态数组,来观察文字、图片、视频以及社交关系的模式。
其他Facebook的工程师则介绍了该公司自家打造的工具,可让非专业人员更容易训练并测试深度学习模型;这些FBLearner工具提供了只需要点击操作的浏览器形式接口,把链接数据到模型的程序自动化,并能与服务器群集平行运作、评估其性能,因此开发者能快速选择要将哪种模型运用在量产服务中。
参与开发FBLearner工具的Facebook工程师Pierre Andrews表示:“我们想要让每个人都能轻易地开始机器学习训练流水线,并将一个模型推向量产,不必撰写程序代码或是维护昂贵的服务器…我们将机器学习程序大众化,用户不需要拥有机器学习领域的博士学位。”
Facebook有超过1,000位工程师(约占该公司工程师总人数的四分之一)目前每个月都会使用FBLearner工具,来衡量要把哪些信息放进新闻摘要,或是如何将用户与广告配对;该套工具已经协助训练出超过60万种模型,每种模型使用了23亿笔资料。
不过Facebook的工程师代表们,并没有提出任何要将FBLearner的工作转向开源的计划;有其他讲者则介绍了三项实习生的推理引擎(inference engine)应用机器学习项目成果,这些项目Facebook将会公布开源。
其一是为x86处理器打造的卷积神经网络NNPack,其原始码已经公布;另一项是采用平行缓冲存储器(parallel buffer)来降低执行神经网络所需的内存容量。第三项项目则号称是一位能力超强、来自史丹佛(Stanford)大学的实习生,在今年暑假制作出的压缩推理模型(compress inference model)。
Facebook研究科学家Yangqing Jia 介绍,该种压缩推理模型删减了一个模型中的权衡次数,然后利用量子化(quantization)来减少每次权衡的位数,再用Huffman编码来压缩最后的模型、最高可缩小49倍,并同时略为增加其精确度。
*Facebook暑期实习生打造的压缩推理引擎将释出开源
(来源:EE Times)*
Facebook的研究科学家Johannes Kopf介绍了针对360度视频应用的一套防震算法,代码在每个图框(frame)上的运行时间为22微秒(millisecond),比360度视频33微秒的播放时间还要快,因此不会在上传时出现延迟;该算法号称还能将最后的视频比特率需求降低20%。
不过该软件需要PC等级的处理器来执行拍摄后的视频,因此较不适合使用在过去几个月上市的、价格相对较低的消费性360度摄影机。无论如何,该程序可望有助于产生对于这类视频的兴趣,能支持例如Facebook的Oculus Rift虚拟现实(VR)装置应用。
此外Facebook还介绍了一种开源无损压缩算法Zstandard,与现有的zlib工具相较,能将数据压缩处理时间减少二至三倍;而以相同的压缩速度,Zstandard提供的档案大小则比zlib所产生的档案小10~15%。Facebook已经准备将Zstandard 应用于一些储存与通讯系统,包括数据库、备份工具以及通讯协议;该软件特别适合较小封包尺寸的传输。
Facebook的Parikh并呼吁对可靠度的更进一步专注;他表示,该公司的风暴计划(Project Storm)在两年前桑迪飓风(Hurricane Sandy)肆虐美国时开始运作,研究如何在足以摧毁一整个数据中心的灾难中仍让人们能保持联机;他表示:“在多次演习中,我们拔掉插头看看会发生什么事;一开始几次不那么顺利,幸好人们没注意到,而我们也学到了很多。”
Facebook正在开发当功耗达数十MW电力的大型数据中心断电时,可支持负载平衡与流量管理的工具;其SWAT小组已经定义了手动与自动化的程序,Parikh强调这类工具需要能完美规划,而且处理异常情况的速度要像是一级方程式赛车的维修站那么快。最近几次演习的结果已经更具可预测性、更稳定,不过他并未回应这种数据中心复原工具何时会成为开源。
编译:Judith Cheng
本文授权编译自EE Times,版权所有,谢绝转载
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。