专栏首页机器之心业界 | 深度定制:揭秘Graphcore深度学习芯片加速软件

业界 | 深度定制:揭秘Graphcore深度学习芯片加速软件

选自The Next Platform

作者:Nicole Hemsoth

机器之心编译

参与:侯韵楚、黄小天、李泽南

两年来,我们推出了一系列专为处理神经网络的训练及推理而设计的深度学习结构。我们广泛并购投资或并购,但仅有少部分人看出了要点——收购一年多前推出的 Nervana 系统。

在众多神经网络芯片的初创公司中,Graphcore 凭借处理同一块多核芯片上的训练及推理问题的多核方法而鹤立鸡群。我们在三月份详述了其硬件架构(详情参阅机器之心报道:深度学习芯片公司 Graphcore 初探:颠覆 GPU、FPGA 和 CPU 的新一代处理器 IPU)。尽管众所周知 Graphcore 从 Series A 融资 3000 多万美元,但它现今被公开认为戴尔才是其背后金主。戴尔技术资本、博世、三星以及其他投资者已将 Graphcore 推过了 3200 万美元大关。考虑到戴尔,Graphcore 首席执行官兼联合创始人 Nigel Toon 认为他们将通过戴尔的 OEM、渠道以及产品整合能力实现深入发展。

鉴于今天的这则消息,我们希望折回到 3 月份所提供的最初的硬件深入研究中,并关注 Graphcore 所提供的另一层面——软件堆栈。在 Graphcore 以 PCIe 为基础的硬件中,对处于核心位置的定制开发型 IPU 处理器而言,在同一台设备上进行训练抑或推理都属于艰巨的任务。

正如 Toon 对 The Next Platform 所言,深度学习框架正在从数据中获取知识模型,并且通过计算图来表示这些特征是最佳途径。在某种程度上,所有机器学习框架的核心都是将全部内容转化为图形,而这些图形的边缘和顶点可以表示特征之间的相关性和连接性。它们可能会将连接表征为单标量权重、矩阵抑或描述关系或特征集的张量。因此,应用其能够反映格式的硬件设备来使图形更加明确地表征这个概念不无道理。它变成了与采取深度学习框架相似的问题,并将其「引爆」以显示所有的边缘和顶点,然后划分图形来将问题映射至芯片上的多核,并控制这些处理器之间的通信,从而使它们拥有所需的数据。很简单,对不对?

但事实证明它十分棘手,然而 Graphcore 利用 Poplar 软件框架逐渐解决了这个引爆、划分、映射与通信问题。

Poplar 驱动一个以 PCIe 为接口的 16 个处理器的 Graphcore IPU 组件,它需要开发人员在 TensorFlow 中启动(这个团队正致力于将库和支持机制扩展到其他框架),随后构建所需训练的神经网络的描述(设定参数等)。Poplar 插入了 Graphcore 所开发的许多库元素之一(类似于英伟达为其 GPU 提供的 cuDNN 元素),并插入诸如卷积或不同的基元来取代 TensorFlow 中编写的高级描述。随后它会通过将它们扩展为完整而复杂的图形「引爆」这些图形的边和顶点。这款软件能够对处理元件和内部通信资源进行映射和划分,因此它能够处理图形并创建可以馈送至处理器的程序。

真正的难题是,所有处理器都必须拥有所需的全部数据。而 Poplar 的目的便是采取更多诸如 TensorFlow 做出的抽象图形描述,将它们展开为包含全部边缘和顶点的整体图,而后分解为可以分配到处理元素中的工作包。

Graphcore 芯片最初令人着迷的一点便是能够在同一块硬件上进行高效训练和推理。Toon 告诉我们,实际上实现这一点并未涉及任何功能广泛的软件,它更像对深度神经网络问题采用图形功能。Toon 解释道:「学习便是构建图表并进行优化以确立正确的答案、预测、推理以及判断,并且它们都只是图形中不同的优化任务。根本来说,它们都属于相同的计算。它们在执行时需要的计算量可能不同,但总体而言十分相似。如果我有一块可以连接在一起并使用多个处理器来进行速度训练的计算硬件,那么我可以使用其他处理器在不同的时间进行部署或推断;只要设计的处理器不必以特定的方式进行调整和控制来实现高性能,这便可能实现。」

真正困难的是改变与维护那些目前支持的库,以及那些随着新型神经网络方法的出现而逐渐过时的库。Toon 认为主要框架大多仅仅是 API 级别的问题,但团队将需要对新型的未来库施以例行的深入维护。

这家公司将在今年推出一个 Graphcore 堆栈的云技术版本。我们应该关注它的早期使用情况,看看这个高度定制化的处理环境能为 GPU、FPGA 甚至是少数仅有 CPU 的训练及推理任务带来什么。

原文链接:https://www.nextplatform.com/2017/05/08/dive-deep-learning-chip-startup-graphcores-software-stack/

本文分享自微信公众号 - 机器之心(almosthuman2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 处理器高危漏洞无人幸免?树莓派:我们不受影响

    机器之心
  • AI教育从幼儿园开始:MIT推出全球K12人工智能学习资源网站

    疫情之下,全球学校被迫停课,中小学生的学习情况与之前相比有很多的不同。实际上,家里的房间并不能为他们提供一个很好的学习环境。

    机器之心
  • MIT新突破:Nature Photonics揭秘新型光学深度神经网络系统

    选自MIT 作者:David Chandler 机器之心编译 参与:吴攀、黄小天、蒋思源 尽管科学家和研究者一直在探索新型的计算形式,但目前电子计算仍然是绝对...

    机器之心
  • 褚达晨:深度学习青衫磊落险峰行,人工智能漫谈之一

    【新智元导读】作者褚达晨认为,科技发展让人类借助计算机的能力,在一个超高维弯曲空间中,搜寻自然世界奥秘。而深度学习则是利用最近年发展起来的大算力,让计算机代替人...

    新智元
  • 从零开始学图像渲染

    图形学是一门综合学科,涉及的基础学科内容繁多,多用于跨领域的工程应用,比如传统的图像处理、游戏引擎,现在比较热门的图像分割、人脸识别、无人驾驶、AR/VR、三维...

    用户1068165
  • Vue路由懒加载

    对于SPA单页应用,当打包构建时,JavaScript包会变得非常大,影响页面加载速度,将不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应...

    WindrunnerMax
  • CSS 侧边栏在小屏设备中进行隐藏

    侧边栏的作用应该就不用多说了吧,能够很方便我们回到网页的指定位置,在大屏设备中,侧边栏往往是悬浮于屏幕右侧,很方便用户的使用,但在小屏设备中,屏幕空间有限,所以...

    Nian糕
  • 数据结构 | 每日一练(46)

    1.已知不带头结点的线性链表 list,链表中结点构造为(data、link),其中 data 为数据域,link 为指

    C语言入门到精通
  • 标签化的直男内容,其实有很多小姐姐pick—「内容消费女子力」崛起

    腾讯大讲堂
  • 烽火2640路由器命令行手册-05-路由器配置命令

    使用auto-summary命令激活自动路由汇总功能,no auto-summary命令则关闭自动路由 汇总功能。

    landv

扫码关注云+社区

领取腾讯云代金券