QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

谷歌利用人工智能设计的芯片揭示了智能的本质

  • 2021-06-30
  • 本文字数:3365 字

    阅读完需:约 11 分钟

谷歌利用人工智能设计的芯片揭示了智能的本质

本文最初发表于 TechTalks 网站,经原作者 Ben Dickson 授权,InfoQ 中文站翻译并分享。本文是 TechTalks 对人工智能研究论文的评论文章之一,这个系列主要探索人工智能领域的最新发现。


InfoQ 中文站曾经翻译并分享过《谷歌的深度学习在 AI 芯片中找到了一条关键路径》,该文介绍了 ZDNet 与谷歌大脑总监 Jeff  Dean 谈到谷歌如何使用人工智能来推进定制芯片的内部开发,从而加快软件开发。使用人工智能设计芯片来运行人工智能,这本身是一件非常有意思的事。本文作者探讨了他对谷歌使用人工智能为人工智能设计芯片的思考。


上个星期,在同行评审的科学杂志《自然》(Nature)上发表的一篇论文,谷歌大脑的科学家提出了一项深度强化学习技术,可以用于布图规划(floorplan),即安排计算机芯片上不同元件的放置过程。


译注:布图规划是在集成电路设计(特别是其中的物理设计步骤)对于电路主要功能模块在试验性布局中的图形表示。它是物理设计后续过程,即精确布线的前提。


研究人员试图用强化学习技术来设计下一代的张量处理器,也就是谷歌的人工智能处理器。


使用软件进行芯片设计并非新鲜事。但据谷歌研究人员称,这种新的强化学习模型“能自动生成芯片平面图,这些图在所有关键指标上都优于或可匹敌由人类绘制的平面图,包括功耗、性能和芯片面积。”并且它只花了人类所需时间的一小部分。


人工智能在性能上优于人类的特性已经引起了广泛的关注。一家媒体将其描述为“能够比人类更快地设计计算机芯片的人工智能软件”,并写道:“一款需要人类花费数月来设计的芯片,谷歌的一种新的人工智能在六个小时内就能实现。”


另外一家媒体写道:“人工智能为人工智能设计芯片的良性循环似乎刚刚起步。”


但是读了这篇论文后,让我吃惊的,不是用于设计计算机芯片的人工智能系统的复杂性,而是人类和人工智能之间的协同。

类比、直觉和奖励


这篇论文是这样描述这个问题的:“芯片布图规划涉及到在芯片画布(二维网格)上放置网表,以优化性能指标(例如,功耗、时序、面积和布线长度),同时又要遵守布线密度和布通率的硬约束条件。”


基本上,你要做的就是以最优化的方式放置元件。但是,和其他问题一样,随着芯片中元件数量的增加,寻找最佳设计变得越来越困难。


现有的软件有助于加快发现芯片排列的过程,但是,如果目标芯片越来越复杂,就会产生问题。研究人员决定从强化学习的方法中汲取经验,以解决其他复杂的空间问题,例如围棋。


研究人员写道:“芯片布图规划类似于一场游戏,其中存在不同的棋子(例如网表拓扑结构、宏计数、宏大小和长宽比)、棋盘(不同的画布尺寸和长宽比)和胜负条件(不同评估指标的相对重要性或不同的布线密度和布通率限制)。


在人类智慧中,这是一个最重要也是最复杂的方面:类比。我们人类能从自己解决的问题中提取出抽象的东西,然后再把抽象运用到新问题上。尽管我们把这些技能视为理所当然,但正是这些技能,让我们在迁移学习方面做得很好。因此,研究人员可以把芯片的布图规划问题重新设计成一种棋盘游戏,而用其他科学家解决围棋游戏的方法来解决它。


深度强化学习模型可以特别擅长于在很大的空间内进行搜索,这在物理上是无法实现的,因为人类大脑的计算能力决定了。然而,科学家们面临的问题比围棋要复杂几个数量级。“将 1000 个节点集群放置在由 1000 个单元组成的网格中的状态空间是 1000 的数量级!(大于 10²⁵⁰⁰),而围棋的状态空间为 10³⁶⁰。”研究人员写道。他们想要设计的芯片将由数百万个节点组成。


他们使用人工神经网络来解决复杂的问题,这种网络可以将芯片设计编码为向量表示,从而使探索问题空间更容易。根据这篇论文,“我们的直觉(重点在于我的直觉)表明,一种能够完成芯片放置的常规工作的策略,也应该能在推理过程中,将与新的未知芯片有关的状态编码成有意义的信号。所以,我们训练了一个神经网络架构,它可以预测放置有奖励的新网表,最终目标是把这个架构作为我们策略的编码层。”


直觉(intuition)这个词常被随意使用。但直觉是一个很复杂的鲜为人知的过程,包括经验、潜意识知识、模式识别等等。我们的直觉来自于多年来在某一领域的研究,但也可以从其他领域的经验中得到。幸运的是,在高功率计算和机器学习工具的帮助下,将这些直觉用于测试变得更加容易。


此外,值得注意的是,强化学习系统要求有周密设计的奖励。实际上,一些科学家认为,只要有正确的奖励功能,强化学习就足以使通用人工智能成为现实。但是,如果没有正确的奖励,强化学习智能体就会陷入无休止的循环之中,做出一些愚蠢而无意义的事情。在下面的视频中,一个玩《赛船冠军赛》(Coast Runners)电子游戏的强化学习智能体正在试图使其积分最大化,而放弃了主要目标——赢得比赛。



视频链接:https://youtu.be/tlOIHko8ySg


谷歌的科学家将布图规划系统的奖励设计为“代理布线长度、布通率和布线密度的负加权和”。在开发和训练强化学习模型时,这些权重是他们必须调整的超参数。


通过正确的奖励,强化学习模型可以充分发挥它的计算能力,找到各种方式设计平面图,使奖励最大化。

策划数据集

该系统中使用的深度神经网络是使用监督学习开发的。监督机器学习需要标记数据,以便在训练期间调整模型的参数。谷歌的科学家创建了“一个包含 10000 个芯片放置的数据集,其中输入是与特定放置相关的状态,标签是该放置的奖励”。


为避免手动创建每个平面图,研究人员结合了人类设计的平面图和计算机生成的数据。对于训练数据集中所包含的算法生成例子的评估,需要多少人力,论文中并没有给出太多信息。但是,没有高质量的训练数据,监督学习模型最终将做出糟糕的推断。


在这个意义上,该人工智能系统不同于其他强化学习程序,例如 AlphaZero,它开发的游戏策略无需人类参与。将来,研究人员可能会开发一种强化学习智能体,它可以设计自己的平面图,而无需监督学习组件。但是我猜想,由于问题的复杂性,解决这类问题很有可能会继续要求整合人类直觉、机器学习和高性能计算。

强化学习设计与人类设计

在谷歌研究人员提出的工作中,有趣的方面是芯片的布局。我们人类使用各种捷径来克服大脑的极限。我们无法在一个大块中解决复杂的问题。但我们可以设计模块化、分层次的系统来对复杂的问题进行划分和求解。在开发能够执行非常复杂任务的系统时,我们考虑并设计自顶向下架构的能力起了重要作用。


我举一个软件工程的例子,这是我自己的专业领域。从理论上讲,你可以在一个文件中用非常大的、连续的命令流来编写整个程序。但软件开发人员从来不会这么写他们的程序。我们所创建的软件都是小块的,函数、类、模块,它们可以通过明确定义的接口进行交互。接着,我们将这些小块嵌套到较大的小块中,逐渐地形成一个元件的层次结构。你不必阅读程序的每一行,就能理解其功能。模块化使得多个程序员能够在同一个程序上工作,也使得一些程序可以重复使用先前构建的组件。有时候,仅仅是看看程序的类架构就足够了,它可以为你指出正确的方向,找出错误,或者找到增加升级的正确位置。我们经常以速度换取模块化和更好的设计。


从某种意义上说,计算机芯片的设计也有类似的问题。人类设计的芯片往往在不同的模块之间有整齐的界线。而谷歌的强化学习智能体所设计的平面图,无论布局看上去如何(见下图),都已找到最小阻力路径。



左图为人类设计的芯片,右图为人工智能设计的芯片


这是否会成为一种可持续的设计模式,还是需要在高度优化的机器学习产生的设计与人类工程师强加的自顶而下的顺序之间作出某种妥协,我很好奇。

人工智能 + 人类智能

正如谷歌的强化学习驱动的芯片设计者所展示的,人工智能硬件和软件的创新将继续需要抽象思维,找到要解决的正确问题,培养对解决方案的直觉,以及选择正确的数据来验证解决方案。这些都是更好的人工智能芯片可以加强但不能取代的技能。


总之,我不认为这是一个“人工智能战胜人类”、“人工智能创造更智能的人工智能”或人工智能发展了“递归自我完善”能力的故事。相反,人类可以利用人工智能作为工具来克服自身的认知极限,并扩展自身能力的表现。假如存在良性循环,那就是人工智能和人类找到更好的合作方式。

作者介绍:

Ben Dickson,软件工程师,也是 TechTalks 的创始人。撰写关于技术、商业和政治方面的文章。


原文链接:


https://bdtechtalks.com/2021/06/14/google-reinforcement-learning-ai-chip-design/

2021-06-30 09:001391
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 543.4 次阅读, 收获喜欢 1978 次。

关注

评论

发布
暂无评论
发现更多内容

阿里云2024云栖大会门票开抢啦!数量有限,先到先得!

MasterInTech

GOTC 2024 全球开源人才及教育论坛议程出炉!

OSCTraining

虚拟ECU:纯电动汽车发展下的新选择

DevOps和数字孪生

电动汽车 虚拟ECU

【AIGC】 0成本学习:AI工作流生成Joy(ComfyUI)

京东科技开发者

mac音量控制软件推荐 Sound Control v2.6.4激活版

理理

玩转提示工程,优化LLM的实践指南!

神州数码

KeyShot 2023 Pro:更强大的材质库,更流畅的动画效果

理理

监控系统原理揭秘-数据运算篇

京东科技开发者

读友好的缓存淘汰算法

百度Geek说

架构 页面缓存 企业号 8 月 PK 榜 淘汰算法 广告检索

基于人工智能的代码分析与 Bug 检测实战

测吧(北京)科技有限公司

测试

【YashanDB数据库】大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo blocks

YashanDB

yashandb 崖山数据库 崖山DB

LED显示屏行业发展现状与未来展望

Dylan

行业 LED LED display LED显示屏 市场

RUM技术探索:前端监控数据采集与实践

乘云数字DataBuff

前端监控 #RUM

深度解读KubeEdge架构设计与边缘AI实践探索

华为云开发者联盟

AI 边缘计算 kubeedge 企业号 8 月 PK 榜 2024企业号8月pk

连锁行业IT运维有哪些难点?贝锐向日葵如何帮助连锁企业搭建IT运维体系?

科技热闻

跨平台高级音乐播放器foobar2000 中文汉化版下载 mac/win

理理

Databend 开源周报第 156 期

Databend

人工智能|ChatGPT 的 API 使用

测吧(北京)科技有限公司

测试

24年广西具有资质等保测评公司汇总

行云管家

广西 等保 等级保护

Solana 创下 2 月以来的最低价格,因为模因币暴跌

dappweb

人工智能|ChatGPT 的 API 使用

霍格沃兹测试开发学社

加密市场再遭重创:多重利空因素引发超10亿美元抛售潮

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

MongoDB工程配置入门(二)

XIAOJUSURVEY

Java mongodb Node nestjs

【YashanDB知识库】statement级别的触发器在jdbc接口调用executeBatch时被多次触发

YashanDB

yashandb 崖山数据库 崖山DB

如何建立测试团队的知识库

老张

团队管理 软件测试 质量保障 知识库

告别卡顿,拥抱流畅!nPlayer for Mac,你的私人高清影院

理理

引入JaCoCo导致的类型转换问题分析

京东科技开发者

银行业数据分析的关键应用场景探索

镜舟科技

数据库 数据 银行

Python爬虫实战:利用代理IP爬取百度翻译

袁袁袁袁满

如何在 K8s 中实现指定数据库实例下线?

小猿姐

数据库 Kubernetes 容器 云原生

谷歌利用人工智能设计的芯片揭示了智能的本质_AI&大模型_Ben Dickson_InfoQ精选文章