据facebook一位高层证实,该目前正在招聘晶片工程师,并展开至少一款asic设计。在日前于美国加州举行的facebook @scale 2018大会上,这家社交网路巨擘宣布,预计将有五家晶片支援其glow一款开放来源的深度学习编译器。facebook代理开户
facebook基础架构副总裁jason taylor说,facebook「确实成立了一支专门与晶片供应商合作的晶片团队,同时,我们也在打造自家晶片。不过这当然不是我们的首要关注重点。」他表示,这款晶片「并不等同于google tpu」深度学习加速器,但他并未提供与这款晶片有关的更多细节或时间表。
facebook的新晶片部门工作重点之一在于与大约50家设计人工智慧(ai)加速器的合作。taylor指出,「市场上将出现许多加速器晶片。但最大的问题在于他们针对的工作负载是否是当前最重要的。」
在主题演讲中,taylor将glow描述为一种通用编译器,让开发人员能够针对云端或网路边缘中任何新兴深度学习加速器进行推论任务。它并不针对智慧型手机等客户端系统。
「我们预期[推论加速器]市场将会出现硬体零碎化的情况。我们开发glow的目的在于协助机器学习专家设计神经网路,而不必面对调整『每个特定晶片』所需的工作。」
「我们知道硬体零碎化即将发生,因为没有人知道哪一种[硬体]资源的组合例如晶片上记忆体区块和乘法累加阵列将会胜出,因此我们让开发人员专注于高层级的图形,而无需为硬体规格手动编码。」
taylor解释,glow采用由tensorflow或caffe2等架构产生的ai图形,并将其渲染为硬体加速器的位元程式码。根据facebook的一篇部落格文章,该编译器内含几种工具,包括为晶片特定记忆体配置产生有效程式码的指令排程器、线性代数最佳化器与记忆体分配器,以及用于测试硬体精确度的cpu参考建置。
益华电脑(cadence)、esperanto technologies、英特尔(intel)、marvell和高通(qualcomm)等都表示未来的晶片将支援glow。taylor则表示希望进一步扩展支援名单。「这是glow作为开放来源的优点之一。」
一位资深晶片专家将glow描述为在生产系统中部署神经网路的架构。其输入是在tensorflow或caffe2等架构中创建的图形。
几家既有的晶片制造商已经提供了类似的软体。例如,辉达(nvidia)的tensor rt自架构中提取图形,并为其gpu输出cuda程式码。
传统上,编译器针对特定晶片进行严密的最佳化。但是,taylor说:「近来的编译器范围比过去的更加广泛glow中的最佳化必须能辨识可以渲染到硬体加速器的大部份图形。」
转型ai的前兆?
在快速发展的深度学习领域,glow可说是致力于填补软体和硬体之间差距的最新例证。例如,nvidia tensor rt虽然在一年多前才首次发布,至今已进展到第五个版本了。但有些加速器新创对于支持各种软体架构及其变化所要求的工作程度也无能为力。
facebook、微软(microsoft)和其他则都支援onnx一种以权重表现图形的标准方法。去年12月,khronos group还发布了用于深度学习加速器的硬体抽象层nnef。
glow是pytorch 10的一个组成部份。pytorch 10是一个开放来源计划组合,包括合并的caffe2和pytorch架构。pytorch 10的第一个开发者大会将于今年10月在旧金山举行。
facebook工程经理kim hazelwood在另一场活动中展示facebook使用的十几种不同深度学习工作负载,其中至少使用了四种不同类型的神经网路。每天,该ai应用程式(app)产生超过200兆个推论,翻译超过50亿个文本,同时也自动删除至少100万个假帐户。
她说,facebook的一些推论任务需要的运算量是其他任务的100倍。如今,facebook在其设计的一小部份cpu和gpu伺服器上执行这些任务。
hazelwood在接受《ee times》访问时说,从通用硬体转向客制硬体,必须为那些仍在定义中的工作负载量身打造晶片。但她拒绝透露facebook对于使用任何自定义ai加速器的想法。
facebook neural nets在至少十几种深度学习app中,仅facebook本身就采用了至少5种神经网路
一位观察家推测,glow可说是一款理想的工具,有助于让采用适合其工作负载的加速器。facebook的晶片团队还能协助精选晶片,或许还可以为其提出客制化晶片的建议。
此外,facebook的一篇部落格文章描述它所开发的一款全新软体工具,使用深度学习来除错程式码。sapfix可以自动产生针对特定错误的修复程式,然后提交给工程师进行审核并部署至生产中。
目前,facebook已经使用sapfix,加速为使用facebook android app的数百万装置发送程式码更新的过程。facebook表示将发布该工具的一个版本,但未具体说明时间表。