2023 ICCAD Contest Problem C ML for IR drop 赛题解析

文章目录

  • 问题简述
    • 问题背景
    • 问题描述与目标
    • 评估指标
  • 以往工作
    • PowerNet: Transferable Dynamic IR Drop Estimation via Maximum Convolutional Neural Network
    • Thermal and IR Drop Analysis Using Convolutional Encoder-Decoder Networks(EDGe)
    • BeGAN: Power Grid Benchmark Generation Using a Process-portable GAN-based Methodology
  • 总结

这篇博客是针对ICCAD 2023 的peoblemC(用机器学习模型预测电路的IR Drop)的理解。

问题简述

问题背景

电力供应网络(Power delivery network, PDN) 是芯片设计中一个关键网络,它需要把电压给到每一个需要电的元器件。但由于供应网络中可能会有某些寄生效应导致元件实际收到的电压低于供应值,如果某个元件实际收到的电压比供应值低太多,可能就不能正常工作,所以当一个电路设计好之后,需要进行分析看看设计是否合理,即需要检查是否会存在电压降的太多的区域。

如图是一个电力供应网络的例子,它可以抽象为一些电流源、电压源、导线和电阻组成的网络。
在这里插入图片描述

问题描述与目标

从这个比赛的赛题就知道,这个题目是希望参赛者使用机器学习的方法对压降进行预测。输入输出的格式也给好了:
(1)第一种是准备给计算机视觉模型的图片版输入输出,数据格式是csv,
输入是三张图,即一张电流图,一张PDN密度图和一张电压源有效距离图,大小都是80X80。
输出是一个压降图,大小也是80X80
所以赛题目标就是根据三张输入图预测一张压降图。
在这里插入图片描述
以上是一组输入输出的可视化。看上去是规模很小的预测,比很多cv任务的1080*1920之类的大小要小多了。

第二种输出是给图神经网络模型的, 基于SPICE的数据
这种数据是如图1(b)所示的PDN模型的SPICE电网表。
在这里插入图片描述

SPICE网络列表把PDN网络描述成了一些电阻,电压源,电流源的组合,以下是一个例子:
R645 n1_108000_179200_1 n1_102600_179200_1 0.14
R646 n1_113400_179200_1 n1_113400_179200_3 4.23
I7 n1_113400_179200_1 0 4.24901e-08
V0 n1_81000_106230_7 0 1.1

格式是 <电气元件> <节点1> <节点2> <值>。
其中“电气元件”可以是电阻,电压源或者电流源
每个节点引用的时候会带上它的隶属网络名称,坐标,层编号四个数字,用下划线隔开,形如:
<网络名称>_<x坐标>_<y坐标>_<层编号>
R646 n1_113400_179200_1 n1_113400_179200_3 4.23就是一个值为4.23的电阻,是位于n1网络中的,电阻连接113400,179200和113400,179200两个点。

在上面的例子中,R646所连接的两个节点的x和y坐标相同,但层数不同,所以是通孔(via)。I7是连接到位置(113400,179200)处的节点的电流源,V0是位于节点(81000, 106230)处的电压源。 SPICE中的位置以纳米为单位表示。

赛题上说“SPICE网络列表格式的输入具有之前所说的图片版本的三个输入图的所有信息”,应该是有道理的,因为这里直接就给的是原始网络信息,应该是可以推导过去的,之前图片版本的三个输入图看上去也只是取了电路的 一部分特征出来罢了。

讲道理这第二种输入格式的信息应该是更丰富的更能推导出更好的预测,但可惜我不太会直接跑图神经网络,也一下子没想到除了那三个特征(电流图,供应网密度,有效电压源距离)之外还能怎么抽取更多的特征。

压降的标签和之前图片版的一样,是80X80的图。

评估指标

评估指标有4个:

  1. 平均绝对误差(MAE)
  2. F1 score = 2 * Precision * Recall / (Precision + Recall)
  3. 运行时间
  4. 模型大小

最终的得分是“这四个指标的函数”

以往工作

对于压降预测,最准确的应该是直接利用电路的电阻,电压源,电流源算,而且对于压降的计算,这三个是充分必要条件,直接拿这些条件计算看起来是最好的。
基于这种思想可以直接拿“Modified Nodal Analysis(MNA)”的方程来解。
(此处可以参考博客https://blog.csdn.net/weixin_44381276/article/details/112505698, https://zhuanlan.zhihu.com/p/464409274)
G V = J GV=J GV=J
通过连通性矩阵 G G G和各边电压 J J J能直接解出压降 V V V
这个方法说实话看得不是很懂,不过还好这个赛题不是考这个的,因为直接解算比较慢,这个赛题希望直接用机器学习模型进行预测。

此前已经有许多基于机器学习模型进行预测的工作了,以下介绍几个比较相关的。

PowerNet: Transferable Dynamic IR Drop Estimation via Maximum Convolutional Neural Network

概括地说,这个网络是把电源供应网络划块作为最小讨论单位(比如划成80X80的分区),然后手工抽取了很多特征,对于某一个小区域,尝试截取这个区域周围的一个窗口的特征图,送进卷积网络,预测这个区域的单值。
在这里插入图片描述
对应题目的“Maximum Convolutional Neural Network”的Maximum,这篇工作借用了时间轴信息,即什么时候什么元件会工作。然后根据时间轴进行划片,弄一个特征数组 P t P_t Pt(如上所示),对各时间段都进行预测,然后取一个最大值作为输出。上图的“CNN”对应一个卷积神经网络,如下图。
在这里插入图片描述
看上去就是正常的一个小卷积网络。

总结一下,就是对网络进行划块,并抽取了一些特征,如 P i , P s , P s c a , P a l l P_i,P_s,P_{sca},P_{all} Pi,Ps,Psca,Pall,然后又根据这些特征,加上不同器件在不同时间的使用情况建立了 P t P_t Pt数组(P_t的shape应该是T×K×K),最后输入一个处理K×K大小的卷积网络。在T维上取最大值,得到压降预测。

训练流程如下:

在这里插入图片描述
可以看到,这个算法每次只取一个位于(x,y)周围的区域(第9行),遍历取出 P t P_t Pt中的值(第11-12行),每次对这个位置预测一个压降并算loss,这篇文章使用了L1loss,即绝对值误差作为与标签的loss。

在这里插入图片描述在这里插入图片描述
精度上比以往的方法要更准了,但这篇工作推理并不快,作者说是因为这篇文章使用了时间的信息,每个区域都产生了t个解。

Thermal and IR Drop Analysis Using Convolutional Encoder-Decoder Networks(EDGe)

这篇工作是和这个题目最相关的,输入格式和这个题目提供的第一种输入格式一致,效果也不错。
整体框架如下,把Power map,PDN density map, Effective distance to pad三张图拼起来送进网络直接预测就可以了。
在这里插入图片描述

这篇文章提出的网络模型是比较泛的“encoder-decoder”模型,即编码解码器结构,是经典的生成模型结构。文章给了两个具体的模型,即UNet和ConvLSTM。如下,是一个UNet结构:
在这里插入图片描述
(这个图里画的是“Temperature map”, 但IREDGe和ThermEDGe好像是共用的同一个模型。)

以下是ConvLSTM版的,使用ConvLSTM版的好处在于可以加点时序信息,喂进去不同时间点的power maps进去,预测不同时间点下的温度、压降图。
在这里插入图片描述
在这里插入图片描述
从效果图看,这篇文章的方法生成的IR Drop预测要准确一些且平滑一些。平滑是因为这篇文章用的模型是直接对全局进行的预测,而不是逐个区域地进行预测。直接喂入全图还有一个好处,就是可以不用像PowerNet那样手动设置window size这个超参,且从结果来看,EDGe这个模型对于不同大小的输入有一定的泛化能力:
在这里插入图片描述

BeGAN: Power Grid Benchmark Generation Using a Process-portable GAN-based Methodology

从前面介绍的两篇工作可以看出,预测压降这个任务的数据是很少的,这严重地制约了训练一个好模型。所以这个赛题提供了一个混合数据集,有GAN生成的数据和真实数据。赛题建议选手使用生成数据进行训练,再在真实数据上进行微调以最大化利用数据。
BeGAN是赛题所列的参考文献中的一个,它可以生成一些数据,以下是大致介绍。
生成什么数据呢?主要是电流图。为什么要生成电流图呢?主要是因为电流图可能会暴露一些芯片下面的模块,有泄露知识产权的风险,所以目前只有非常有限的真实芯片的电流图可供机器学习模型学习。所以很多PDN网络基准测试是基于很不真实的不连续的“格子电流图”产生的。如下左侧是经过处理的电流图,对应右侧的真实电流图,可以看到左侧的格子深浅和右侧基本一致,但很粗糙不如右边的精细。
在这里插入图片描述
所以获得更多逼真的电流图就变得尤为关键。
讲生成方法之前我先插播一个问题:产生电流图,和这个赛题的预测IR Drop有什么联系?这个我大致看了全文也没理解,我问了问chatgpt IR Drop是怎么生成的,是模型预测的吗,以下是chatgpt的回答:
“BeGAN基准测试中的IR降是通过工具生成的。具体来说,BeGAN生成器使用GAN技术合成了一个符合要求的CM(电流图,current map)图案,并使用OpeNPDN工具合成了一个与该CM图案相对应的PDN网络。随后,基于OpeNPDN和SPICE仿真器,可以计算PDN网络中节点的电压和相应的R降,这些R降即为BeGAN基准测试中使用的R降数据。总之,BeGAN基准测试中的R降不是横型预测得出的,而是通过工具自动生成的。”
有点道理,就是说,我们是有工具能轻易做出一个符合电流图的电路的,然后有了电路就可以直接解算IR Drop。

以下是BeGAN的整个框架。注意看中间下面的“Current maps”,GAN的作用止步于此。这个maps后续会丢到“Power grid synthsis”工具里,生成完整的基准测试。这篇文章所提出的模型是专注于生成逼真电流图的。
在这里插入图片描述
至于GAN的训练过程,作者很巧妙地使用了迁移学习。因为即使是使用GAN网络生成,目前已有的真实电流图也远达不到需要的数据量。这里作者很巧妙地使用了另外一种图像进行预训练——卫星拍摄的街道图像。
在这里插入图片描述
以上就是一个例子。我在看到文字之前单看这个图我还以为是一个真实的芯片图。确实很像,那个树木跟引脚似的,这些房子看起来很像宏单元。右边的图是经过颜色变换从左边变过去的,刚好在芯片电流图中“hot spot”热点区域是全图存在,但面积不大的,卫星图经过变换后也刚好符合这个特征。
在这里插入图片描述
这上面就是这篇文章采用的模型SNGAN的结构,作者先把这个模型在卫星图上进行预训练使其具有生成卫星图的能力。

然后进行迁移学习,在真实数据上微调。
在这里插入图片描述
微调阶段,作者锁死卷积神经网络的权重矩阵,模型中仅学习两组参数,即权重矩阵的缩放和偏移 γ \gamma γ β \beta β
在这里插入图片描述
而迁移学习过程中,采用了一种和GLO(Optimizing the latent space of generative net works)一样的策略,去除了GAN中的判别器,直接让生成的图片和真实图片做loss。loss表达式如下。
在这里插入图片描述
第一项是生成图和原图的L1 loss, C l ( x ) C^l(x) Cl(x)是perceptual loss, 用的是过了vgg网络之后的几层特征的L1 loss, 用这个loss是希望从高层语义特征上希望生成图和原图“看上去是一个东西”。

当然这里有个疑问,为什么随机的lantent vector生成的图能直接和原图做loss呢?其实这里latent vector是可学习的,所以模型能在可能的生成结果中找一个和真实图片最接近的结果与真实图片进行对齐。文中的说法是"learns to map learnable latent vectors to samples in a target dataset by minimizing reconstruction loss"。

总而言之根据我的理解,GLO这种方法就是在训练时同时学习latent vecter和网络参数,具体到这个任务而言,“可学习latent vecter”这个设定使得生成结果可以最大程度和真实数据对齐,并使得网络参数能进行学习,让生成的“卫星图”能更进行一些变化以更接近真实的电流图。

总体而言,这篇文章还是比较巧妙的, 运用了卫星街道图片进行预训练, 又用了GLO进行迁移学习,使得能用很小的真实电流图训练,就能生成许多逼真的电流图,进而可以使用工具制作PDN benchmarks。

总结

看下来的感觉有一些感觉:
1,ML在EDA领域,至少是IR Drop上的应用还在比较初步的阶段。用的模型都比较简单。
2,这个问题包含很多手工特征信息,比如赛题这种PDN density map, PowerNet中的 P i , P s , P s c a P_i,P_s,P_{sca} Pi,Ps,Psca等。所以是一个依赖知识与建模的问题。
3,这个问题的输入输出,从计算机视觉的角度看,都是比较简单的EDGe那篇的输入甚至是32*32,不到一百个数据的数据量,或许关键点在于数据量小且需要防止过拟合?
4,这个问题的loss看上去比较奇怪,直接是用F1,F2 loss这种回归一个范围不定的值,感觉应该还有更合适的,比如IOU之类。
5,看了几篇EDA的论文,发现和cv领域真的太不一样了,行文比较随意一些,即使是ICCAD这类的顶会,感觉语言通顺度和好理解程度上都不如CVPR,ICCV这些会议的文章,且论文用图居然是很糊的,即使是简单图也没有做成矢量图,感觉没有很认真在作图,用糊图都是表达与交流课老师再三强调不要犯的。指标对比也用的是柱状图,没有大部分cv论文写的清楚明白。可能这个领域还没有很卷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/59986.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

In-Context Learning开卷视觉任务,DeepMind提出快速适应新任务的“蜂鸟”模型

​ 论文链接&#xff1a;https://arxiv.org/abs/2306.01667 近来&#xff0c;随着ChatGPT和GPT-4等大模型的火热&#xff0c;使得学术界开始更多的关注于大模型背后的一些关键新技术&#xff0c;例如与ChatGPT高度相关的In-Context Learning&#xff08;情景学习&#xff0c;也…

怎样找一张图片的原图、出处?最全搜图网站+具体案例分享

前不久随手帮一网友找了张图&#xff0c;想了想中间的经历挺有意思&#xff0c;所以今天打算来说说以图搜图这个话题 第一部分&#xff0c;先介绍常用的识图引擎第二部分&#xff0c;想分享一下阿虚自己的搜图经验&#xff0c;也是今天主要想分享的。 ▍1 首先推荐几个识图引…

这几个免费、商用图片素材网,你一定要知道。

很多朋友不知道去哪里找图片素材&#xff0c;找到了又担心会不会侵权。 今天给大家分享6个免费可商用图片素材网站&#xff0c;这下再也不用担心找不到素材或侵权啦&#xff01; 1、菜鸟图库 传送门&#xff1a;https://www.sucai999.com/pic.html?vNTYxMjky 网站素材资源量…

6个高清图片素材网站,找图片素材就靠他们了

6个高质量图片素材网站&#xff0c;建议收藏&#xff01; 1、菜鸟图库 https://www.sucai999.com/?vNTYwNDUx 菜鸟图库虽然是一个设计网站&#xff0c;但素材库非常大&#xff0c;除了有设计类素材之外还有很多视频、音频、办公类等素材&#xff0c;图片素材就有好几十万张&a…

8个免费图片素材网,赶紧收藏起来

现在图片素材变得越来越重要了&#xff0c;除了平常设计经常要用到图片之外&#xff0c;大到平常文章、自媒体、视频制作配图&#xff0c;小到我们发朋友圈、日志、说说&#xff0c;都会用到图片来衬托。 但图片版权一直是设计师、自媒体和各大企业的一大难题。 要不就花钱买…

找高清图片素材,这8个网站就够了

相信很多设计师、自媒体都为找素材而烦恼&#xff0c;很多朋友不知道去哪里找图片素材&#xff0c;找到了版权还不明确&#xff0c;怕造成侵权&#xff0c;今天我就把我独家珍藏的8个图片素材网站分享给大家&#xff0c;免费下载&#xff0c;还可以商用&#xff0c;建议收藏起来…

股票web下单接口能查询到股票GIF分时走势图吗?

股票web下单接口可以通过使用getStockImageByteByCode来获取股票GIF分时走势图&#xff0c;那么运用该系统来获得中国股票GIF分时走势图字节数组为&#xff1a; INput&#xff1a;theStockCode 股票代号&#xff0c;如&#xff1a;sh000001 POST /WebServices/ChinaStockWebSe…

四大派围攻光明顶360摊上大事了

这一次360摊上大事了&#xff0c;这事与以往任何一次战争都不相同。 2月26日&#xff0c;《每日经济新闻》用四个整版的篇幅&#xff0c;推出了重磅调查报告《360黑匣子之谜--奇虎360“癌”性基因大揭秘》&#xff0c;一时震动行业。当天下午3点&#xff0c;360通过新浪微博安全…

第一个简单Python爬虫:抓取古诗文网中李白的诗歌

2018年10月11日 这是第一个博客&#xff0c;嘻嘻~~~~ 最近老师给了个任务&#xff1a;爬取诗歌。于是乎&#xff0c;走上了爬虫道路&#xff0c;爬取了李白的诗歌。 感谢代码的原作者&#xff08;唐诗三百首&#xff0c;源代码&#xff09;。 遇到的问题与收获&#xff1a;…

如何开通阿里云语音通知服务?

阿里云语音服务是阿里云为用户提供的一种通信服务的能力。支持快速发送语音通知服务。 安全级别更高&#xff0c;难窃取。支持大容量、高并发&#xff0c;稳定可靠。 一、如何开通阿里云语音服务&#xff1f; 注册阿里云平台账户&#xff1b;实名登记认证&#xff1b;阿里云语…

Android语音识别-阿里语音识别

实例代码先行 AutomaticSpeechRecognition 一、申请语音识别API&#xff08;可忽略&#xff0c;代码中有我自己的&#xff09; 在阿里智能语音识别网页申请自己的AccessKey&#xff0c;secret。 二、用Android Studio创建项目 可以从git clone下载用下我的 git clone https…

阿里语音识别看这一篇就够了

先看效果 效果视频 首先到阿里页面创建项目 传送门:https://help.aliyun.com/document_detail/71936.htm?spma2c4g.11186623.0.0.12a03787uqgGAh#2572188 下载sdk引入到项目并且依赖 传送门:https://gw.alipayobjects.com/os/bmw-prod/d5d24de6-599d-41ac-aad7-3bfa6fc38f4…

JSP学生学籍管理系统设计与实现(源代码+论文+开题报告+外文翻译+答辩PPT)

cc学院 毕业设计&#xff08;论文&#xff09;开题报告 题 目&#xff1a; 基于JSP的学生学籍管理系统 学 科 部&#xff1a; 信工学科部 专 业&#xff1a; 计算机科学与技术 班 级&#xff1a; 学 号&#xff1a; 姓 名&#xff1a; 指导教师&#xff1a; 填表日期&…

​chatGPT超智慧AI非常强大,其运行原理是什么?

chatGPT是一种基于人工智能技术的聊天机器人&#xff0c;其功能原理如下&#xff1a; 1. 数据收集&#xff1a;chatGPT通过网络爬虫等方式收集大量的语料库&#xff0c;包括对话、文章、新闻等。 2. 训练模型&#xff1a;chatGPT使用深度学习技术&#xff0c;将收集到的语料库…

三体模拟器(python)

原文来自本人博客&#xff1a;三体模拟器&#xff08;python&#xff09; vpython vpython库是一个能做3D动画的第三方库&#xff0c;安装起来很容易&#xff0c;利用anacanda或者pycharm都能简单安装 导入vpython from vpython import *设置画布参数 scene.forward vect…

用Python画一个3D太阳系

用Python画一个平面的太阳系得到一些朋友的欣赏&#xff0c;然后有同学提出了绘制三维太阳系的要求。 从Python画图的角度来说&#xff0c;三维太阳系其实并不难&#xff0c;问题在于八大行星对黄道面的倾斜太小&#xff0c;所以尽管画个三维的图&#xff0c;但就观感而言&…

宇宙都要毁灭了你还在玩汉诺塔?(动画讲解汉诺塔问题)

CSDN话题挑战赛第2期 参赛话题&#xff1a;学习笔记 前言 &#x1f496;作者&#xff1a;龟龟不断向前 ✨简介&#xff1a;宁愿做一只不停跑的慢乌龟&#xff0c;也不想当一只三分钟热度的兔子。 &#x1f47b;专栏&#xff1a;C初阶知识点 &#x1f47b;工具分享&#xff1a; …

物理研学论文MATLAB仿真——地月火箭三体问题的数值求解(平面圆形限制性三体问题的研究)

在二十世纪第一次数学家大会上&#xff0c;希尔伯特提出了“完美数学问题”准则&#xff0c;随后他举了两个例子&#xff0c;一个是费马猜想&#xff0c;另一个就是N体问题。近现代研究最多的就是三体问题。 三体问题就是三个天体在万有引力作用下的运动问题。三个天体的质量、…

关于计算机与教育的英语作文,信息技术对教育的影响英文作文

关于”信息技术对教育的影响“的英语作文范文2篇,作文题目:The influence of information technology on Education。以下是关于信息技术对教育的影响的小学英语范文,每篇作文均为真题范文带翻译。 高分英语作文1:The influence of information technology on Education Us…

维普导出参考文献

勾选需要导出参考文献的文章&#xff0c;点击“导出题录” 选择“参考文献”&#xff0c;点击“复制”或“导出”即可