ChipLearning:从芯片设计到芯片学习

中国网/中国发展门户网讯芯片是现代信息社会的关键基础设施。绝大部分的电子设备——小到传感器、大到超级计算机,以及我们每天用的手机、电脑,都是建立在芯片基础之上的。从20世纪60年代开始,随着半导体工艺的发展,芯片的复杂度快速增加,从只有少数晶体管的小规模开始快速发展到千百万、数十亿晶体管规模。例如,2020年英伟达(Nvidia)发布的A100芯片集成了500多亿晶体管。芯片制造工艺也已经接近量子领域,台积电(TSMC)的5nm工艺已经开始量产芯片,英特尔(Intel)等厂商已经开展2nm工艺的芯片研究。这些都离不开芯片设计的快速发展。

未来万物互联的智能时代需要大量不同种类的专用芯片。随着智能时代的到来和“摩尔定律”的大幅度放缓,专用芯片的数量和种类大幅度增加,芯片体系结构将要进入新的黄金时代,这对芯片设计提出了更大的挑战。目前,深度学习处理器芯片就有很多种。例如:国外,谷歌(Google)推出了TPU,英伟达推出DLA和包含专用加速TensorCore的多款GPGPU,英特尔收购了Neverana、Movidius等多家公司,ARM、高通(Qualcomm)、苹果(Apple)等公司的系统级芯片(SoC)也各自集成了自家的深度学习加速器硬件;国内,中科寒武纪科技公司推出了Cambricon云边端系列芯片,阿里巴巴公司推出了含光NPU,华为公司推出了达芬奇架构芯片等。据统计,从2014年开始,全球深度学习处理器芯片就从一两款增长到了几百款之多。未来万物互联的智能时代对于大量种类和数量的芯片需求,也对芯片设计效率提出了新的挑战。

芯片设计流程和ChipLearning

芯片设计流程

芯片设计是一个复杂的过程。通常,芯片设计指的是从需求出发最后生成版图(layout)的过程。典型的芯片设计流程可以被简单地划分成5个阶段(图1):①系统定义(chipspecification)。给定需求后,进入系统定义阶段,芯片设计人员确定设计参数,并完成包括结构、接口定义等具体设计。②逻辑设计(logicdesign)。由芯片开发人员根据系统定义进行逻辑设计,通常采用硬件开发语言Verilog、VHDL等实现芯片的硬件代码,包括其中各个功能模块、外部接口和整体连接。③电路设计(circuitdesign)。在得到芯片的硬件程序后,芯片开发人员进行电路设计,把硬件描述转换成为门级的电路表示。④物理设计(physicaldesign)。在得到芯片网表之后,芯片开发人员进行物理设计,把门级网表转换成物理实现表示,即芯片的版图;其常见格式为图数据表示,即graphicdatasystemⅡ(GDSⅡ)。另外,芯片开发人员会在物理设计的各个阶段进行验证测试和迭代设计,以得到符合需求的芯片设计。⑤验证测试(test&verification)。最终完成的芯片版图送至代工厂进行制造,后续再进封装、制板、测试等工序,这样就得到了一颗完整的芯片。

2.ChipLearning

然而,目前全球芯片设计中的深度学习工作还主要停留在采用人工智能技术去辅助解决传统芯片设计流程中的子问题,如评估、预测芯片设计的结果等。与之不同的是,本文提出的ChipLearning技术内涵则是取代传统芯片设计流程,通过AI模型学习专业知识,从而实现无人化(no-man-in-the-loop)芯片设计(图2)。具体而言,类比传统芯片设计流程,ChipLearning可以分成3个重要问题:①功能生成。当用户用模糊的语言确定了系统功能,第一个重要的问题就是根据用户意图确定系统正确的功能,并生成系统的准确表达。这种准确表达可以是硬件代码,也可以是表达式,也可以是真值表。这个问题对应着传统芯片设计流程的逻辑设计。②逻辑图生成。当有了准确表达,第2个重要的问题就是要生成电路的逻辑图表达,并在这张逻辑图上进行优化,最后生成物理无关(包括工艺)的逻辑图表达。这个问题对应着传统芯片设计流程的电路设计。③物理图生成。当有了电路逻辑图后,第3个重要的问题就是要生成电路的具体物理版图,这等价于一种多种约束下(如面积、功耗、物理等限制)的图映射和优化问题。这个问题对应着传统芯片设计流程的物理设计。

芯片学习在芯片设计流程中需要解决的问题

逻辑设计

逻辑设计的核心就是要得到电路的硬件描述。通常这一过程通过人工完成,也就是硬件开发人员采用硬件描述语言如Verilog、VHDL手动编写RTL的硬件程序。还有一种方法就是高层次综合(HLS)。高层次综合指的是通过高层次综合工具把C、C++或者SystemC等高级编程语言描述的硬件功能转化成为硬件描述语言Verilog、VHDL程序。传统高层次综合算法一般通过确定性的方法对高级语言进行变换。近些年来,除了传统的机器学习算法如支持向量机(SVM),最新的人工智能技术如深度神经网络(DNN)、图神经网络(GNN)也被用于高层次综合中,主要用于帮助更快速的HLS设计结果评估(质量估计、性能估计、时序估计、资源开销估计)和FPGA设计空间搜索优化。

与上述2种方法相比,芯片学习更进一步:当用户给定模糊描述后,通过猜测用户意图自动编写硬件程序,或者说自动生成硬件的准确表达——可以是硬件RTL程序,也可以是硬件表达式,还可以是硬件真值表。这其中面临很多挑战,如用户意图的确定,硬件表达的准确性等。在该方面,程序综合(programsynthesis)——自动构建由指定语言构成的、符合用户某种要求的程序,跟芯片学习的功能确定问题具有同样的形式。目前,程序综合已经有了很多进展可供芯片学习借鉴参考。

电路设计

在得到芯片的硬件描述后,芯片开发人员进行电路设计。如图3所示,在电路设计中,电路的硬件描述程序会被转化成为电路图(网表),这个过程也被称为前端设计(front-endprocessing)或者综合(synthesis)。

芯片学习在这个阶段要解决的问题是逻辑图生成,也即在给定电路的硬件描述(如RTL程序、表达式或真值表)和可用节点类型的约束下,生成电路相应的逻辑图。在该逻辑图中,节点是门、宏单元、已知功能模块,连线是有方向的,表示信号从一端流向另外一端。如果是时序电路,逻辑图中还会存在环路。同样的,在该逻辑图上需要做优化,以尽可能地去掉电路中的冗余,保证生成的逻辑图尽量精简。一个思路是采用传统编译的思路完成这个过程,并采用上文类似的GNN和增强学习(RL)方法实现图级别优化。另外一个思路是采用神经编译器(neuralcompiler),直接替代传统的编译技巧,把输入转化成为逻辑图并在图上做进一步的优化,从而得到更简洁的逻辑图表达。

物理设计

芯片学习对应的子问题是物理图生成。可以看到,在物理设计的多个阶段,AI技术被广泛地用来辅助解决其中的子问题,芯片学习则期望能够直接端到端得到一个最终的物理版图。这个子问题的难度可想而知,其中涵盖了多个子问题,也极有可能需要多个模型协同进行工作,才有可能最终解决。利用芯片学习端到端得到最终物理版图的挑战主要有2个方面:①问题和约束形式化较为困难。正如上面芯片物理设计流程中所介绍的一样,问题本身的输入是类似网表的逻辑图,最终输出的是物理版图。不同规模的电路蕴含的功能也不一样,这就意味着统一的模型能够处理变长、变规模的输入和输出。另外,物理设计中的约束也是多种多样的,包括:芯片本身的最大面积、所能容忍的最大延迟等基本约束,以及电源网络构建、crosstalk消除、天线效应等约束。这些约束需要变成结构化的信息从而可以被人工智能模型所接受,也即计合理的数据结构,这也是非常困难的。②问题对应的解空间规模大。电路物理设计过程中本身就包含了很多复杂度很高甚至于是NP完全问题,这也就意味着物理设计本身是一个随着规模增大复杂度急剧上升的问题。

对于解决芯片学习物理版图生成这个非常困难的问题,目前已经看到了一些曙光。谷歌使用RL和GNN替代了传统的布局过程,Liao等、He和Bao也提出了直接替代布线过程的小规模电路上的方案,从而证明了AI技术在传统问题上大有可为。物理版图最终是要针对工艺的,而值得庆幸的是,现在芯片设计流程中的设计规则是抽象出来与工艺无关的约束规则,这也将是芯片学习解决方案未来能够泛化到不同工艺上的基础。

验证测试

验证测试贯穿整个芯片设计流程。在不同阶段,芯片开发人员都需要对得到的设计进行反复验证,如功能测试验证、逻辑测试验证、电路测试验证、网表测试验证、版图测试验证。

对于芯片学习而言,验证测试核心要解决的挑战就是黑盒解决方案的精度保证。现有的AI技术虽然能在很多问题上达到很好的效果,但其为人所诟病的一点就在于这些黑盒模型缺乏可解释性,对于输出结果的精度也无法给出理论的保证。这一点对于芯片学习尤其重要,因为芯片流片的成本非常高,即使未来在工程上芯片学习能够解决问题,AI新技术的可解释性也需要继续深入研究。

未来工作

芯片学习是万物互联的智能时代解决芯片设计需求大和代价高之间矛盾的核心方法。目前,AI新技术在芯片设计流程中已经得到应用(表1),然而这些工作都还是集中在芯片设计各个环节当中的子问题,主要是辅助传统设计流程,完成预测、评估方面的功能,尚未实现AI取代传统芯片设计流程;芯片学习则是希望能够完全取代传统芯片设计流程,用AI模型学习专家知识,大幅度降低芯片设计门槛,提升芯片设计效率,从而实现端到端的快速无人化芯片设计。

芯片学习未来有3点主要工作。全流程。芯片学习在各个流程上实现取代传统算法,同时在各个流程中消除人的参与,从而实现芯片设计全流程无人化以节省人力资源,实现高效率的芯片设计。跨层次优化。利用芯片学习,希望将芯片设计各个环节打通实现跨层次设计与优化,实现大规模芯片统一设计,从而实现更优的芯片设计。并行加速。AI技术以计算量大、数据量大著称,而芯片设计又是非常复杂的任务,芯片学习也需要研究并行和加速方法。例如,采用已经蓬勃发展的人工智能芯片,从而保证芯片设计效率。未来,芯片学习希望实现从设计芯片到自动生成芯片的转变,更好地支撑智能万物互联时代的应用需求。

(作者:陈云霁,中国科学院计算技术研究所计算机体系结构国家重点实验室、中国科学院大学计算机科学与技术学院;杜子东、郭崎、李威,中国科学院计算技术研究所计算机体系结构国家重点实验室;谭懿峻,中国科学院计算技术研究所计算机体系结构国家重点实验室、中国科学院大学计算机科学与技术学院;《中国科学院院刊》供稿)

THE END
1.learning是什么意思learning怎么读中文意思用法learning learning是什么意思、learning怎么读 读音:英['ln] 美['l?n] 四级六级考研 learning 基本解释 n. 学问, 学识, 学习 [计] 学习 learning 网络释义 n. 学习;学问 v. 学习(learn的现在分词) learning 词性变化 原型:learn 现在分词:learninghttps://danci.gjcha.com/learning.html
2.microsoftvirtualacademy按照自己的速度和安排掌握核心概念。 无论你有 15 分钟还是 1 小时的时间,都可通过交互式模块和路径拓展实践技能。 你还可以注册以向讲师学习。 按你的方式学习和成长。https://mva.microsoft.com/
3.多示例学习(multi概述:多示例学习 (MIL) 是一种典型的弱监督学习,其输入的单个样本被称为包(bag),包中包含多个实例 (instance)。在训练阶段,通常只有包的标签可知,而实例的标签不可知或者获取成本极高。因此,概括性的,MIL与传统机器学习的主要区别在于: 弱监督场景:实例的数量巨大却没有标签,仅通过包标签来预测未知类,甚至预测https://blog.csdn.net/weixin_44575152/article/details/135610544
4.学习效果,learningeffect英语短句,例句大全learning autonomy ability cultivation,and brings forth some strategies on how to cultivate the learning autonomy,which helps improve thelearning effectof English learning in college.根据自主学习的定义与特征,确定自主学习能力培养的指导思想和原则,提出培养学生英语自主学习能力的策略,借以提高大学生英语学习效果http://xjishu.com/en/111/y624715.html
5.Xlearning无界学习秉承X Learning无界学习 “不设边界”的理念,她动爱跳舞,静喜绘画,并且对极限运动,滑翔伞,高空跳伞及海底自由潜水都有尝试,持续行动,一直保持在拓展自己边界的路上。http://www.face2x.com/
6.《Learning学习》PPT课件《Learning学习》PPT课件 Chapter6Learning(学习)一、学习与行为 1、本能行为(instinctivebehavior):通过遗传获得的种族经验。本能行为是人和动物生存所必需的,但它的适应性非常有限。习得行为(learnedbehavior):在后天环境中通过学习而获得的个体经验。习得行为比本能行为更灵活、更有适应性。行 感应 为 性 作 用 https://wenku.baidu.com/view/83d5596927c52cc58bd63186bceb19e8b8f6ecf8.html
7.学习如何学习LearningHowToLearn本文笔记来自于加州大学公开课《Learning how to learn》。 文中的笔记都出自于个人的看法和角度,也会有一些补充,因此不能全盘参考。 本文会分为五个部分,分别是思维模式,拖延,记忆,组块,学习方法,可按需阅读。 享受学习! 加州大学公开课《学习如何学习 Learning how to learn》 https://m.douban.com/note/808677495/
8.懒惰学习Lazylearning/百科/HyperAI超神经HyperAI超神经懒惰学习 Lazy learning 懒惰学习是一种训练集处理方法,其会在收到测试样本的同时进行训练,与之相对的是急切学习,其会在训练阶段开始对样本进行学习处理。 若任务数据更替频繁,则可采用懒惰学习方式,先不进行任何训练,收到预测请求后再根据当前数据进行概率估值;若数据不断增加,则可在现有估值基础上,仅对新增样本的https://hyper.ai/wiki/4266
9.TLearning「T-Learning」是腾讯战略合作伙伴专属的在线学习平台,旨在为腾讯投资公司、业务重要客户、合作伙伴企业提供集课程资源、平台功能和学习服务的员工培训解决方案,助力伙伴员工成长https://t-tlearning.com/
10.onlinelearning在线学习作文导语:随着社会的发展,这是不可阻挡的,越来越多的学校让学生在线学习。下面是yuwenmi小编为大家整理的优秀英语作文,欢迎阅读与借鉴,谢谢! 篇一:online learning Nowadays, internet is moderner and moderner! So, learning is not noly in school, it is also on line! It called "online learning"! https://mip.ruiwen.com/zuowen/gaosannianjiyingyuzuowen/677872.html
11.MetaLearning元学习和FewShotLearning腾讯云开发者社区(Learning to Learning),Meta学习算法能够依据自己表现的反馈信号及时地不断的调整其结构和参数空间, 使得模型能够在新环境中通过累计经验提升表现性能,举个例子就是,机器之前学习了100个task,之后机器学习第101个task的时候,会因为之前学习的100个task所具有的学习能力,学习到了如何更好的获取特征知识的方法,而让第https://cloud.tencent.com/developer/article/1635470
12.企业在线培训平台elearning培训系统在线学习管理平台北森E-learning学习云,是国内新一代智能企业在线培训平台,课程管理、考试管理、培训计划、激励体系、培训分析等丰富功能,搭建企业在线大学,改善人才培养效率及绩效表现,提升人才竞争力。https://www.beisen.com/product/elearning
13.SupervisedMachineLearning:RegressionandClassificationLearn the fundamentals of machine learning with Andrew Ng in this updated 3-course Specialization by DeepLearning.AI and Stanford Online. Build and train models using Python, NumPy, and scikit-learn for real-world AI applications. Ideal for beginners.https://www.coursera.org/learn/machine-learning
14.英语名人名言:Learning学习英语名人名言:Learning 学习 z Learning is not attained1 by chance, it must be sought for with ardor2 and attended to with diligence. Abigail Adams (1744 - 1818), 1780 It is always safe to learn, even from our enemies; seldom safe to venture to instruct, even our friendshttp://skill.qsbdc.com/mingyan/mrenmyan/8543.html
15.经验式学习(ExperientialLearning)新闻台【经验式学习】(Experiential Learning) 著名教育学家约翰 杜威指出“所有天才的教育都来自经验”,可见经验对于学生知识增长的重要性。经验式学习就是一种强调生活经验、强调学生彻底参与学习过程,以学生为中心的教学方式。它与传统学习方式强调机械记忆知识相反,将学生主动参与实践而获得的经验看作是无价的学习资源。http://news.cntv.cn/20120104/105195.shtml
16.数智化学习服务商企业在线学习平台企业培训平台E在全国启动E-Learning学习业务 成立上海时代光华 卫星远程培训业务启动,国内第1家局域网商学院 管理培训教材业务启动 网络培训业务启动 更名“时代光华” 进军企业管理培训产业 时代光华品牌于2000年正式成立,推出全国第一家基于互联网的E-Learning网络商学院 https://www.21tb.com/index.jsp
17.课程式学习(CurriculumLearning)机器学习之课程式学习(Curriculum Learning) 在2009年的国际顶级机器学习会议ICML上,以机器学习领军人物Bengio为首的研究团队首次提出了课程式学习(Curriculum Learning)的概念,引起了机器学习领域的极大轰动。其后数十年间,众多关于课程式学习、自步学习(Self-paced Learning)的研究工作被相继提出。 https://maimai.cn/article/detail?fid=1611248910&efid=vQvSLwORutdGLH8hBnC_dg
18.learning是什么意思learning的音标learning的发音learning, knowledge 这两个词都可译为“知识”。learning指人通过学习所得到的知识,多指人文科学知识;knowledge指从学习、研究或经验中得来的认识和知识,既可指一个人的知识,也可指人类知识的总和。 knowledge,learning,scholarship 这些名词均有“知识、学问”之意。knowledge强调对全部已知或可知的知识的理解。leahttps://mdict.yingyuw.cn/learning
19.learning是什么意思learning中文意思learning英译汉“learning”的中文翻译 词典解释 美音:[ ] 英音:[ ] n.[U] 1. 学,学习 His purpose of learning is to be a doctor. 他学习的目的是想当医生。 2. 学问,学识 book learning 书本知识 a man of great learning 学识渊博的人 相关词语 learningcurvelearningdisabilitylearning-disabledhttps://tran.httpcn.com/Html/EnglishtoChinese/55/learning_pwmetbcqtbmeuyilazuyuy.html
20.什么是表示学习(representationlearning)表征学习表达学习但是我们也可以从结构本身学习表征,如何优雅(elegantly)将数据结构与自编码器进行结合是另一个问题。 捕获结构信息:构造K近邻(KNN)图来捕获结构信息,我们提出了由多层图卷积层关注数据自身的特性,在学习表征(representationlearning)时很少考虑数据的结构。基于图卷积网络(GCN)对图结构进行编码的巨大成功,我们提出了https://www.pianshen.com/article/25911873813/
21.Unit9Learning单元分析Unit 9 Learning 单元分析 一、单元总体分析 本单元围绕learning(学习)话题展开,以多种形式的语篇呈现learning的各种科学规律、学习规律,https://www.jianshu.com/p/97fd022a8087
22.度量学习MetricLearning飞桨度量学习是一种对样本对学习区分性特征的方法,目的是在特征空间中,让同一个类别的样本具有较小的特征距离,不同类的样本具有较大的特征距离。随着深度学习技术的发展,基于深度神经网络的度量学习方法已经在许多视觉任务上提升了很大的性能,例如:人脸识别、人脸校验、行人重识别和图像检索等等。在本章节,介绍在PaddlePaddhttps://www.paddlepaddle.org.cn/modelbasedetail/metriclearning
23.GitHubmacrozheng/mallmall学习教程示例代码:https://gitee.com/macrozheng/mall-learning 序章 对mall项目的架构、业务及学习思路进行介绍。 快速开始 对mall项目的前后端开发环境搭建进行讲解。 mall项目后端开发环境搭建 mall项目前端开发环境搭建 架构篇 循序渐进带大家搭建一个mall项目在使用的脚手架,学习主流Java技术栈。涵盖SpringBoot、https://github.com/macrozheng/mall-learning