\

DavidLacey:软件定义AI芯片的未来

作者:

分享  

Share on weixin
Share on weibo
Share on linkedin

订阅

过去的几年中,由于人工智能和机器学习领域的巨大潜力和相关应用对于计算的大量需求,人们对人工智能和机器学习的专用处理器兴趣激增。这同时也引发了对于当前创新风暴未来将走向何方的思考。

如果我们畅想未来最好的AI芯片会是什么样的,我真诚地认为,影响AI芯片有效性和成功的最大因素将是其软件栈。

拥有最好的软件,不仅使AI处理器更易于开发人员使用,而且还可以充分利用基础硬件的全部潜能。我最近在GMIC Live上谈到了AI软件与硬件之间的关系的重要性。GMIC是亚洲最大、最领先的科技会议。今年的会议在线上举办,并在全球六个城市跨境直播。您可以在这里观看我从GMIC伦敦现场直播的完整演讲《人工智能芯片的未来》:

为了提高效率,机器智能对软件提出了更高的要求。在人工智能(AI)和机器学习(ML)中,计算本身有着根本性的不同。

是什么使机器智能计算如此与众不同?

尽管AI算法具有许多该领域独有的属性,但其中一些值得特别强调:

  • 现代人工智能和机器学习都是关于处理不确定信息的。模型中的变量表示不确定的事物——概率分布。这对芯片正在执行的工作有很大影响。为了涵盖可能发生的各种可能性,您既需要小数的精确度,也需要广泛的可能性动态范围。从软件的角度来看,这要求我们使用各种浮点数技术以及以概率方式操控它们的算法。
  • 除了概率性,我们正在处理的数据还来自一个非常高维的空间,包括图像、句子、视频甚至抽象知识概念的内容。这些不是在例如图形处理中看到的数据的直线矢量。随着数据中维数的增加,数据访问变得更加不规则和稀疏。这意味着在硬件和软件中常用的许多技术(例如缓冲、缓存和矢量化)在这里都不适用。
  • 除此之外,机器智能计算既处理大数据(用于训练的巨大数据集),也处理大计算(被处理的每个数据项进行大量计算操作),并且处理挑战的范围变得显而易见。

这对软件意味着什么呢?

由于机器智能计算是如此不同,因此与其他许多领域相比,软件在人工智能和机器学习中必须更加努力地工作。AI软件栈需要把开发人员的生产力、易用性和灵活性与对大规模效率的需求结合起来。

为了应对效率挑战,AI软件必须与硬件进行较低级别的通信。这样可以防止在硬件运行时的决策迟缓,并提高效率。AI算法中的概率性、高阶数据结构使对运行时将要发生的事情进行预测变得更加困难。这需要软件提供更多有关算法结构和正在执行的机器学习模型结构的信息。

在机器智能中,需要对软件进行编程来控制诸如数的表示和特定于某些AI算法的外显记忆运动之类等,以优化效率。硬件也必须能够接受这些优化。

软硬件协同设计的益处有哪些?

未来将需要更多硬件/软件的协同设计,即对软件算法和AI硬件同时进行设计。这将在硬件和软件之间实现更大程度的合作,帮助开发人员有效地进行组织,例如存储位置或线程调度。

自Graphcore公司成立之初起,我们就在开发IPU处理器的同时开发Poplar®软件栈。为了使处理器效率最大化,我们为Poplar提供比其他系统中更高级的软件控制。

我们如何管理存储就是一个例子。我们的IPU-M2000有片外DDR存储。但是,在硬件中没有缓存或任何东西可在运行时自动控制外部流存储和片上处理器内存储之间的数据移动或缓冲。这些全部由基于计算图的软件进行控制。存储管理只是我们基于高级分析优化硬件的软件栈的一部分。这是我们方法的关键之处。

软件和硬件从一开始就无缝地协同工作时,提高性能和效率就容易得多。通过增加软件控制,我们可以阐明硬件如何处理不同的机器智能模型。也许我们甚至可以学习利用稀疏等先进技术来构建本质上性能更优的新AI模型。

未来,最好的AI芯片将是那些拥有最好的软件的芯片:我们相信Graphcore可以提供这些芯片。我们既是硬件公司,也是软件公司,软硬并行就是Graphcore一直以来在走的道路。

More Posts

ChatGPT开源平替:OpenAssistant OASST1微调版Pythia-12B

Flan-T5:用更小且更高效的LLM实现出色效果

详细攻略:在IPU上以float16精度运行FLAN-T5-XL推理

较小模型,超高性能:DeBERTa和自然语言理解的未来

PackedBert:如何用打包的方式加速Transformer的自然语言处理任务

Pienso为企业提供由云上IPU支持的高效大型语言模型访问

获取最新的GRAPHCORE资讯

在下方注册以获取最新的资讯和更新:




    获取最新的GRAPHCORE资讯

    在下方注册以获取最新的资讯和更新: