← 返回 2026-05-04

AnalogRetriever:面向模拟电路检索的跨模态表示学习 AnalogRetriever: Learning Cross-Modal Representations for Analog Circuit Retrieval

Yihan Wang, Lei Li, Yao Lai, Jing Wang, Yan Lu 📅 2026-04-25 👍 3 2026-07-13 08:36
EDA 图神经网络 对比学习 检索增强生成 模拟电路设计 跨模态检索

首个将SPICE网表、原理图、功能描述三模态对齐到统一语义空间的模拟电路检索框架,平均R@1达75.2%。

前置知识

SPICE网表

SPICE(Simulation Program with Integrated Circuit Emphasis)网表是用文本形式描述电路拓扑和元件参数的语言,每一行通常定义一个器件(如MOS管、电阻、电容)及其连接到的电气节点,例如 'M1 vdd out 0 0 PMOS W=10u L=1u'。它本质上是一个图结构:器件是节点,连线是边,但节点名称是任意的字符串,拓扑信息隐藏在连接关系中。

网表是模拟电路最核心的可执行表示,所有仿真、综合和验证都基于它。要实现跨模态检索,必须让机器理解网表中的器件类型、端口语义和拓扑结构,而不仅仅是把代码当成字符串。

对比学习与InfoNCE损失

对比学习的核心思想是把语义相关的样本在嵌入空间拉近、不相关的样本推远。InfoNCE是其经典形式:对一个batch中的每个anchor样本,最大化它与正样本的相似度、最小化与所有负样本的相似度,形式化损失为 $\mathcal{L} = -\sum_i \log \frac{\exp(\text{sim}(v_i, v_i^+)/\tau)}{\sum_j \exp(\text{sim}(v_i, v_j)/\tau)}$,其中 $\tau$ 是温度参数。CLIP就是用这个目标把图像和文本对齐到共享空间。

AnalogRetriever的训练目标就是把InfoNCE扩展到三种模态(文本、图像、网表)的两两对齐,并在此基础上加入课程式难负例挖掘来提升细粒度区分能力。

关系图卷积网络(RGCN)

RGCN是GCN的扩展,为每种关系类型维护独立的可学习权重矩阵 $W_r$,在消息传递时按边类型聚合邻居信息:$h_v^{(l+1)} = \sigma(\sum_{r\in R}\sum_{u\in N_r(v)}\frac{1}{|N_r(v)|}W_r^{(l)} h_u^{(l)} + h_v^{(l)})$。这使得模型能区分不同语义类型的边。

模拟电路的网表中,MOS管的栅极、漏极、源极、衬底连接具有完全不同的电气含义。普通GCN对所有边用同一组权重,无法区分'控制信号输入'与'电流路径',导致结构不同但拓扑相似的电路被混淆。RGCN正好解决这个问题。

CLIP视觉-语言模型

CLIP通过对比学习在4亿图文对上预训练,把图像和文本映射到共享的768维嵌入空间。它的ViT-L/14视觉编码器擅长处理自然照片,但对电路原理图这种'干净的线稿+领域符号'效果很差,零样本检索几乎等同于随机。

AnalogRetriever直接复用CLIP作为文本和图像编码器的基础,并通过冻结前16层、只微调后8层的方式做领域适配,既利用CLIP的通用语义先验,又避免灾难性遗忘。这是它能在小数据集上获得高精度的关键。

检索增强生成(RAG)

RAG是把外部知识库的检索结果注入到LLM的prompt中作为上下文,从而让生成结果基于真实证据、减少幻觉。在LLM-based电路设计中,RAG可以给LLM提供经过验证的参考设计,避免它凭空捏造拓扑。

AnalogRetriever的最终落地价值不在检索本身,而在它作为RAG模块嵌入AnalogCoder后,能把电路生成的功能通过率从62.0%提升到67.6%,并解决一些原本完全失败的任务。

研究动机

模拟集成电路(Analog IC)设计长期依赖工程师手动复用历史积累的IP模块,这与已实现高度自动化的数字设计形成鲜明对比。一个常见场景是:初级工程师拿到需求(如'设计一个带Miller补偿的两级OTA')后,需要在教材、论文、内部设计手册、过往项目代码库中用关键词反复搜索候选电路,找到原理图后再到Cadence Virtuoso中重新搭建并仿真调参,整个过程可能耗费数天。更糟糕的是,传统工具只支持单模态的精确字符串匹配,无法在'一段功能描述'、'一张原理图截图'和'一份SPICE网表'之间互通——这三种模态在物理意义上描述的是同一个电路,但现有搜索引擎把彼此割裂。论文开篇即指出:与自然图像相比,电路原理图是带有领域专用符号的干净线稿,不在CLIP等通用视觉-语言模型的预训练分布中,零样本检索Recall@1仅约2.5%,等于随机猜测。

本文的目标是论文的目标是构建首个统一的三模态检索框架AnalogRetriever,把SPICE网表(代码)、原理图(图像)、功能描述(文本)映射到同一个共享语义嵌入空间中,使得任意一种模态作为query都能检索到其余两种模态的top-K候选,从而支撑'用自然语言描述需求→自动得到匹配的原理图与网表'这一全新工作流(论文图1(b)所示),并以RAG的方式增强现有LLM-based电路生成工具的功能正确率。具体而言,作者希望在6个跨模态方向(C↔I、C↔T、I↔T)上都达到实用水平的召回率。

与已有工作不同的是,以往工作主要走两条路:一条是'用LLM从规格直接生成电路'(如AnalogCoder、LaMAGIC、Artisan),它们依赖生成式方法,受幻觉和拓扑无效问题困扰;另一条是'单模态内的精确检索'(如CROP把网表当文本做向量化),只能支持有限的方向。AnalogRetriever的独特切入角度是把检索和生成视为互补而非竞争:用经过验证的历史设计作为'锚点'去约束LLM的生成空间。具体技术新颖性体现在三点:(1)首次把拓扑感知的图编码器(port-aware RGCN)与预训练VLM在统一对比学习目标下对齐;(2)提出三阶段课程训练策略来稳定'随机初始化的GNN + 预训练CLIP'的联合优化;(3)通过两阶段LLM驱动的数据集修复流水线,把MASALA-Chai的SPICE编译通过率从22%提升到100%,DC工作点通过率从11.4%提升到100%,为整个研究社区提供了首个真正可用的模拟电路三模态数据集。

核心方法

AnalogRetriever的整体思路是'三个模态各自一个编码器+统一对比学习目标+课程式训练'。直觉上,文本和图像可以直接用现成的CLIP(一个ViT-L/14 + 一个Transformer文本编码器)做特征提取,但SPICE网表必须用图神经网络才能捕捉'器件-端口-连接'的拓扑结构;为了让三类向量可比,作者把它们都投影到一个 $d=768$ 的共享空间,并用InfoNCE目标在batch内做两两对齐。训练采用三阶段课程:第一阶段只训练RGCN、CLIP全部冻结,让图编码器'暖机'对齐到CLIP空间;第二阶段解冻CLIP并启用6向全对比损失;第三阶段引入'课程式难负例挖掘',按电路功能聚类逐步加大同簇内难负例比例。直觉是先让模型分清'放大器 vs 振荡器'这类粗粒度差异,再逼它分清'共源级 vs 共栅级'这类细粒度拓扑差异。最终整个框架在H200单卡上训练20个epoch。

与已有方法的本质区别在于三点:第一,'port-aware'——作者手工定义了20种边类型覆盖MOS管(drain/gate/source/bulk)、BJT(collector/base/emitter)、电压源/电流源(±)、二极管(anode/cathode)、无源R/C/L、四种受控源端口、shared_net(同一电网上器件-器件连接)、subckt_terminal(子电路接口),让RGCN按端口语义区分消息传播,这比普通GCN(所有边共享一组权重)在代码相关检索方向上额外带来+2.3 R@1(I→C)和+1.4 R@1(T→C)的提升;第二,'tri-modal mutual enhancement'——实验发现即使Image↔Text方向只用CLIP且数据相同,加入代码模态后这两个方向的R@1也分别提升+7.7和+8.7,说明拓扑信息对共享空间有正则化作用;第三,'curriculum hard-negative mining'——用K-means(K=30)对功能描述聚类,每个batch按比例 $\alpha_m=\min(\alpha_{\max}, \alpha_0 + \frac{m-1}{M-1}(\alpha_{\max}-\alpha_0))$ 从同簇内采样难负例,$\alpha$ 从0.05线性增长到0.3,迫使模型在'功能描述相似但拓扑不同'的电路间做精细区分。

方法步骤详情

方法的具体步骤可分为四块。第一,**数据预处理**:把schematic图像resize到224×224;用自定义解析器把SPICE网表解析为异构图,每条边带一个port-type标签(共20种);每条文本描述用sentence-transformer做嵌入后用K-means聚成30个功能簇;用LLM把每条电路标注为19种canonical topology之一(如差分对、电流镜、OTA、bandgap、VCO、比较器、LDO、滤波器等)。第二,**三编码器架构**:图像侧用CLIP ViT-L/14(前16层冻结、后8层微调);文本侧用CLIP Transformer全部微调;网表侧用2层RGCN(隐层512维)、GraphNorm稳定梯度、attention pooling聚合($g_i = \sum_v \alpha_v h_v^{(L)}, \alpha_v \propto \exp(w^\top h_v^{(L)})$),最后过一个2层MLP(1024→768)投影到CLIP空间并L2归一化;每个节点特征 $h_v^{(0)} = W_{\text{fuse}} [\text{Emb}(x_{\text{type}}) \| \text{Linear}(\log(1+x_{\text{cont}}))]$ 融合器件类型离散embedding与连续参数(如W/L、阻值、容值)的对数归一化向量。第三,**训练目标**:对齐损失 $L_{\text{tri}} = \sum_{(a,b)\in\{(C,I),(T,I),(C,T)\}} (L_{a\to b}+L_{b\to a})$ 是6向对称的InfoNCE(标签平滑 $\epsilon=0.1$、可学习温度初值 $1/0.07$);辅助分类损失 $L_{\text{cls}}=\frac{1}{2}[\text{CE}(f_{\text{cls}}(v^{(c)}), y) + \text{CE}(f_{\text{cls}}(v^{(t)}), y)]$ 让text和code嵌入都预测19类拓扑;总损失 $L_{\text{total}}=L_{\text{align}}+\lambda L_{\text{cls}}$,$\lambda=0.5$。第四,**三阶段课程训练**:Phase 1(epoch 1-6)只训练RGCN、CLIP全冻、损失仅含code-involved方向$L_{I\leftrightarrow C}+L_{T\leftrightarrow C}$、随机负采样;Phase 2(epoch 7-8)解冻CLIP、AdamW重建(CLIP 5e-5 / RGCN 5e-4)、线性warmup+余弦衰减、6向全loss、仍随机采样;Phase 3(epoch 9-20)激活难负例挖掘,$\alpha$ 从0.05线性增至0.3。

技术新颖性

技术新颖性主要体现在'对模拟电路领域先验的深度编码'和'对异构模态联合优化的稳定性设计'两个层面。前者方面,20种port-type边类型的RGCN是相对精细的工程化创新——它把'MOS管栅极连接'与'源极连接'在消息传递阶段就分开了,相当于让GNN内置了'控制端口 vs 功率端口'的领域知识;注意力pooling(而非mean/sum)则让模型自动识别电路中的'功能关键器件'(如输入差分对、输出级、偏置网络)并抑制'填充性器件'。后者方面,'freeze bottom 16 ViT blocks'是借鉴LoRA类adapter思想做的轻量化微调,避免小数据集上CLIP灾难性遗忘;'三阶段课程'则解决了'随机初始化的GNN噪声扰动预训练CLIP对齐'这一典型不稳定问题——TIC (RGCN)无课程时Avg R@1为67.7%,加入课程后达75.2%,提升+7.5个百分点,几乎全部来自代码相关方向。

AnalogRetriever framework overview
Figure 2: AnalogRetriever framework overview
Three-phase curriculum training
Figure 3: Three-phase curriculum training
Two-stage LLM-based dataset refinement pipeline
Figure 4: Two-stage LLM-based dataset refinement pipeline
Stage 2 prompts: feedback-guided netlist repair and description refinement
Figure 5: Stage 2 prompts: feedback-guided netlist repair and description refinement
Before/after refinement example
Figure 6: Before/after refinement example

实验结果

**核心实验一:跨模态检索主表(Table 2,N=1000测试集)。** AnalogRetriever在6个方向上分别取得:I→C 74.7、T→I 78.2、T→C 75.6、C→I 72.0、I→T 78.5、C→T 72.4,平均R@1 = 75.2%。最强基线CROP仅4.7%(代码当文本做CLIP嵌入),差距超15倍;CLIP零样本为2.5%;NetTAG(属性tagging)只有1.0%;ChatLS为4.0%。在R@5和R@10上,所有方向都超过94%和97%,意味着用户查询几乎总能在top-10候选中找到正确答案。**核心实验二:tri-modal mutual enhancement。** 仅用CLIP的Image↔Text双模态基线(TI)在T→I和I→T上分别为70.5和69.8;加入RGCN形成tri-modal TIC (RGCN)后这两个数字变成71.8和71.1(小幅下降或持平),但加上完整三阶段课程后AnalogRetriever把这两个方向拉升到78.2(+7.7)和78.5(+8.7),证明代码模态提供了互补的拓扑约束。**核心实验三:组件消融。** TIC (GCN) Avg R@1 = 66.5,换成port-aware RGCN提升到67.7(+1.2);再叠加三阶段课程+辅助分类损失,最终达75.2(相对TIC RGCN +7.5),相对TI(仅Image-Text CLIP)提升更显著。**核心实验四:RAG集成到AnalogCoder(Table 3,24任务×5次试验×8个LLM)。** 8个LLM全部获得正增益,平均从62.0%提升到67.6%(+5.6pp);最大增益在GPT-4o-mini(+10.0,从30.8到40.8);Claude Sonnet 4.6达到新的SOTA 86.7%;Kimi-K2提升+8.3;GLM-4.6与Qwen3.5-397B提升+6.7;GPT-5.4-mini和Claude Sonnet 4.6绝对提升较小但本身已经很强(65.0%→67.5%,84.2%→86.7%)。**案例研究(Fig. 7)**:Task 9(Miller运放)中,无RAG的Claude Sonnet 4.6产出高阻节点无CMFB的失效电路(0/5),加上AnalogRetriever检索到的单端CMOS Miller参考后复现M1→M3拓扑+Miller电容,达到5/5;Task 17(Wien桥振荡器)中GPT-5.4-mini无检索时RC网络结构错误且反馈环路开路(0/5),有检索后构建出正确的Wien桥拓扑+闭环(4/5)。**Query expansion效果**:原始AnalogCoder任务描述通常只有3-6个token(如'A Wien Bridge oscillator'),CLIP文本编码器对这种短文本判别力弱;用GPT-5.4改写成topology-aware specification后,Wien桥OTA参考条目从rank 74/56/20跃升到rank 2/10/5,Miller OTA从rank 35跃升到rank 1。

Dataset quality before and after our two-stage refinement
Table 1: Dataset quality before and after our two-stage refinement
Cross-modal retrieval performance on the test set
Table 2: Cross-modal retrieval performance on the test set
Functional correctness on AnalogCoder benchmark
Table 3: Functional correctness on AnalogCoder benchmark
查看结构化数据
任务指标本文基线提升
I→C 跨模态检索 Recall@1 74.7% CROP 2.3% / CLIP 1.2% / NetTAG 0.2% / ChatLS 0.9% +72.4pp vs CROP(提升约32倍)
T→C 跨模态检索 Recall@1 75.6% CROP 9.2% / ChatLS 9.5% / NetTAG 0.5% / CLIP 2.9% +66.1pp vs CROP(提升约8倍)
C→I 跨模态检索 Recall@1 72.0% CROP 2.4% / NetTAG 0.1% / ChatLS 1.6% / CLIP 2.9% +69.6pp vs CROP(提升约30倍)
C→T 跨模态检索 Recall@1 72.4% CROP 9.4% / NetTAG 0.4% / ChatLS 7.2% / CLIP 3.2% +63.0pp vs CROP(提升约7.7倍)
T→I 跨模态检索 Recall@1 78.2% CLIP 2.2% / CROP 2.2% / TI (bi-modal CLIP) 70.5% +7.7pp vs bi-modal基线(tri-modal mutual enhancement)
I→T 跨模态检索 Recall@1 78.5% CLIP 2.9% / TI (bi-modal CLIP) 69.8% +8.7pp vs bi-modal基线(tri-modal mutual enhancement)
RAG集成到AnalogCoder(24任务×5试验×8 LLM平均) 功能通过率(%) 67.6% 62.0%(无RAG的AnalogCoder) +5.6pp(8个LLM全部正增益;SOTA在Claude Sonnet 4.6达86.7%)
RAG对GPT-4o-mini的提升 功能通过率(%) 40.8% 30.8% +10.0pp(最大单模型增益)

局限与改进

**作者承认的局限**:第一,dataset仅覆盖19种canonical模拟拓扑,未涉及混合信号、RF和电源管理电路;第二,20种port-type边类型是手工定义的,对新器件技术(如GaN、SiC、FinFET)的泛化性有限;第三,工业级规模的电路数据库需要更高效的最近邻搜索(如product quantization)。**本文观察到的额外局限**:第一,AnalogRetriever的所有实验都在'测试集与训练集同分布'的MASALA-Chai子集上做,没有跨数据集验证(如AMSNet、Image2Net),模型在不同标注规范、不同EDA厂商的网表格式上是否仍能保持75% R@1尚未可知;第二,6个跨模态方向的R@1差距并不均匀——Image↔Text方向在78%左右,Code-involved方向在72-76%左右,代码侧仍比纯视觉-语言方向低3-7个百分点,说明RGCN的图表示可能仍是相对短板;第三,paper提到'TIC (RGCN)无课程时Avg R@1仅67.7',意味着课程策略对性能的贡献极大(+7.5pp),但消融中没有'有课程但无hard-negative mining'的中间对照,因此课程中'warm-up vs unfreeze vs hard-negative'三段各自贡献多少并不清楚;第四,RAG实验的top-k、相似度阈值、device-type filter的具体超参没有披露,复现时可能对结果敏感;第五,'tri-modal mutual enhancement'声称代码加入后Image↔Text提升+8.7,但缺少'Image+Text双模态但用完全相同的CLIP且用同样大小的训练数据'的严格控制实验(TI bi-modal只用了Image-Text pair训练,没有'加入相同数量的code pair'的对照组),因此'topology regularize the shared space'的因果归因略弱。

独立分析的弱点

**弱点1:手工边类型词汇表的扩展性差。** 20种port-type是基于当前SPICE常见器件定义的,一旦遇到新型器件(如MEMS、TFET、photo-diode)就需要重新扩展词汇表并重新训练RGCN,对工业界快速演进的工艺库不友好。改进方向:可以让GNN先用连续embedding表示每条边(如加入一层edge-typed MLP),或用contrastive self-supervision自动聚类边类型,甚至可以引入一个'边类型预测'的pretext任务让模型学会隐式区分。**弱点2:对代码风格变化鲁棒性不足。** SPICE网表的写法在不同EDA工具、不同工程师之间差异极大(缩进、大小写、单位、续行符、模型库引用),作者用了自定义解析器规范化,但没有公开对'原始未规范化'网表的鲁棒性测试。改进方向:可以做'格式扰动增强训练'(随机改空格、删除注释、改变量纲),或在解析阶段引入LLM做'网表规范化'前置步骤。**弱点3:RGCN深度受限(仅2层)。** 作者声称'两层就足够覆盖典型子电路,跳数大于2反而过平滑',但这与'fold-cascode op-amp'等复杂拓扑所需的更长依赖可能矛盾。改进方向:可以尝试GAT(graph attention)或Graph Transformer显式建模长程依赖,或加入residual dense connection增加深度。**弱点4:硬负例挖掘的聚类粒度依赖经验。** K-means的K=30是手工选择,30个簇对6,354条样本来说每簇约200条,对'放大器内部细分'可能粒度太粗。改进方向:可以做hierarchical clustering,让用户/任务自选检索粒度,或把K作为超参扫描。**弱点5:RAG部分仍依赖LLM做query expansion,每次部署都要先调一次GPT-5.4。** 对延迟敏感或隐私场景不友好。改进方向:可以训练一个小模型(如T5-small)专门做电路短描述→拓扑扩展,或用本地sentence-embedding + 关键词补全的轻量替代。

未来方向

**作者提出的方向**:第一,把数据集扩展到混合信号、RF和电源管理电路(cover更多19种canonical topology之外的领域);第二,把20种手工边类型改为'learned relation vocabulary'以适应新器件;第三,工业级规模下用product quantization等近似最近邻算法提升检索效率。**基于成果可延伸的方向**:第一,'retrieval + generation'端到端联合训练——目前RAG是pipeline式(先检索后生成),可以让AnalogRetriever与AnalogCoder共享梯度,让检索器学习'什么样的参考对生成器最有用';第二,'circuit editing'——给定一个已有电路+一段自然语言修改(如'把这个OTA改成folded cascode'),用三模态检索找到最相似的目标拓扑,再做diff-based修改;第三,'inverse design'——给定性能spec(GBW、增益、功耗),检索满足约束的参考电路,再做参数微调;第四,'few-shot novel topology generation'——把检索到的多个参考电路拼接融合,作为新拓扑的初始骨架交给LLM修改,可能突破现有19种canonical topology的天花板;第五,'多模态电路理解基准'——在检索之外加入captioning(看图/网表生成描述)、verification(判断网表是否符合功能描述)等任务,把数据集做成一个完整benchmark。

复现评估

**开源情况**:论文承诺'Our code and dataset will be released'('upon acceptance'状态),目前(2026-04提交时)尚未公开。**数据集**:6,354 verified triplets(三模态对齐、SPICE 100%编译通过、DC工作点100%通过),是在公开MASALA-Chai基础上做了两阶段LLM修复,修复pipeline用GPT-5.4 + Ngspice simulator作为oracle,整个pipeline的prompt和stage设计在Fig. 4和Fig. 5中已详细公开。**算力**:所有实验在单卡NVIDIA H200上完成;AdamW、CLIP 5e-5 / RGCN 5e-4学习率、有效batch size 256、20 epoch、Phase 2重建优化器、辅助损失权重 $\lambda=0.5$、标签平滑 $\epsilon=0.1$、可学习温度初值 $1/0.07$ 等超参全部在Sec. 4.2中给出。**复现难度**:中等偏低——架构简单(CLIP + 2层RGCN),训练pipeline清晰,RAG部分依赖AnalogCoder(也已开源)和PySpice;主要门槛是Ngspice验证循环(Stage 2可能需要多轮迭代)和GPT-5.4 API调用(修复6,371条样本的两次调用,加上query expansion,对小团队有API成本压力);超参敏感性方面,作者报告CLIP freeze bottom 16是基于消融,但未给出每层冻结数 vs 性能的完整曲线,复现者可能需要做小规模消融。**未明确披露的细节**:FAISS索引类型(猜测是IndexFlatIP但未明示)、RAG的top-k(论文Fig. 7显示top-1但Table 3实验未明确)、similarity threshold与device-type filter的具体阈值——这些对RAG实验的可复现性影响较大。