核心问题:当模型利用每道测试题的规格、testbench、参考 RTL 与 EDA 反馈在线更新权重时,评测衡量的还是模型对未见问题的泛化能力,还是一个有固定预算的逐题学习系统?

论文卡片

  • 原题: Alpha-RTL: Test-Time Training for RTL Hardware Optimization
  • 作者: Peilong Zhou、Zhirong Chen、Cangyuan Li、Haoyu Gao、Kaiyan Chang、Ziming Qu、Ying Wang。
  • 机构: 中国科学院计算技术研究所、国科大、前沿交叉科学学院。
  • 版本: 2026-06-03,arXiv v1;分类为 cs.LG;预印本。
  • 定位: 把逐题 RTL 优化从“冻结模型反复搜索”改写为“搜索与在线强化学习共同进行”的 test-time training 方法。
  • 阅读入口: alphaXiv · arXiv · HTML 全文 · PDF

论文讲了什么

现有 RTL 优化方法大致分成两类。冻结策略的 Agent 能在测试时读取 EDA 反馈并搜索多个候选,但模型参数不变;训练时强化学习则提前学习一个跨任务策略,到测试时仍以独立采样的方式生成设计。Alpha-RTL 提出的 TTT-RTL 位于两者之间:每遇到一个具体设计,它都重新进行一段在线训练,使本题的 EDA 结果直接更新生成策略。

每个设计的输入包括自然语言规格、功能 testbench、参考 RTL 及其 PPA。系统维护一个候选 RTL 状态池,用 PUCT 在高奖励候选与较少探索的候选之间选择父节点;prompt 同时给出父候选、语法/仿真/综合反馈以及下一次需要低于的 PPA 阈值。模型生成新候选后,奖励流水线依次执行:

  1. 用 iverilog 检查语法,失败则提前停止;
  2. 用参考 testbench 做功能仿真,失败同样停止;
  3. 对有效候选运行 Yosys 与 OpenSTA,以参考设计归一化后的 PPA product 计分。

奖励权重为语法 0.1、功能 1.0、PPA 10.0。同一父节点产生的一组 rollout 被转换为相对 advantage,用于更新 Qwen3-8B 的权重;高分子节点再进入状态池。于是一次运行同时改变“下一轮从哪些 RTL 出发”和“模型更倾向生成什么 RTL”。

主要结果

RTLLM v2.0 包含 49 个设计,参考流程采用 Nangate 45 nm。每题运行 100 个梯度步骤,每步选择 4 个父状态、每个父状态生成 4 个候选,相当于最多 1,600 次 rollout。主要结果如下:

指标TTT-RTL最强已发表基线 REvolution
产生可编译且功能通过的设计48/4945/49
四种方法共同成功的 44 题上,PPA ratio 几何均值0.3490.739
相对参考设计的 PPA product 降幅65.1%26.1%
44 题中优于参考设计38/4429/44

但这不是同模型、同搜索预算下的纯算法对照。EvolVE、VeriAgent 与 REvolution 的数字来自已发表结果,使用 GPT-4o-mini;TTT-RTL 使用经过轻量 Verilog 格式 SFT 的 Qwen3-8B,再进行逐题在线训练。作者因此明确把表 1 称为系统比较,而不是 test-time training 本身的隔离实验。归一化参考、指标与综合流程尽量对齐,模型、搜索过程和计算投入仍不同。

论文还在开源玄铁 C910 的浮点 leading-zero-anticipation 单元上做案例研究。这里使用未经 SFT 的 Qwen3-8B、Sky130,以及 3,200 次 rollout。最佳候选把平坦的 24 路优先编码改成分组层次结构,在 seed 42 下将 ADP 降低 59.4%。相同模型与预算的冻结 Best-of-N 没有生成任何功能通过的设计;去掉状态复用后仅降低 13.3%,保留 PUCT 与在线更新、使用固定 KL budget 时降低 45.3%。这组对照支持“更新策略与复用设计状态都重要”。

证据边界

正确性完全由仿真 testbench 判定,不是形式等价。RTLLM v2.0 直接使用 benchmark 自带 testbench;C910 案例把候选与参考模块共同仿真,约比较 1,050 组输入。由于同一个 oracle 同时提供训练奖励和最终验收,结果证明的是“候选通过了用于搜索的测试”,不能排除针对 testbench 的过拟合。论文也把 Yosys eqy 形式等价列为后续需要补充的验证。

RTLLM 主结果和 C910 表 3 的主结果都是单 seed。作者对 C910 LZA 补做四组配对运行后,自适应 KL controller 的最佳奖励平均只比固定策略高 0.67,配对检验 p=0.32,没有达到显著性;其较稳健的证据是 seed 间标准差从 1.48 降至 0.56。第二个 C910 单元只运行一个 seed,而且 controller 的调整发生在性能突破之后,不能把突破因果归于 controller。

计算投入也属于方法定义的一部分。论文报告,49 个 RTLLM 设计合计约 780 GPU-hours;C910 表 3 的八组消融约 320 GPU-hours。因而 0.349 的 PPA ratio 描述的是“模型、逐题梯度更新、状态池、EDA oracle 与这笔计算预算”组成的系统,不是一次生成或固定模型本身的能力。

重点读哪里

先读 §1 与 §3.1–3.3,看 test-time training 如何把 reference、testbench 和 PPA 变成逐题奖励;再读 §4.1–4.2 与表 1,特别注意作者对外部基线并非同 backbone 隔离实验的限定。§4.3 与表 3 展示状态复用、在线更新和 KL 策略的差异;最后读 附录 D、E.3 与 NeurIPS checklist 的 Limitations,核对多 seed 结果、验证 oracle 和计算成本。

思考启发

以下是导读者由论文引出的理解角度,不是作者额外验证过的结论。

Alpha-RTL 改变了“测试时”的含义。传统评测冻结模型,把测试题看成只允许读取一次的未知输入;这里的测试题同时成为一个小型训练环境,系统可以持续查询 EDA oracle、保存候选并修改权重。只要预算和可用信息被明确规定,这仍然是可比较的算法设置,但比较单位应从“模型”转向“逐题优化过程”。

论文也把搜索记忆拆成两种:状态池保存显式的高分 RTL,权重更新把本题经验压入策略。C910 消融显示,单独进行朴素在线 RL 或冻结采样都无法在预算内得到功能正确结果,而候选复用的影响尤其大。这意味着成绩不能只归因于“模型学会了硬件优化”,还来自搜索结构持续把可执行设计留在可达区域。

三个思考问题

1. 在测试题上更新权重后,泛化应如何定义?

TTT-RTL 没有在 SFT 阶段看过 RTLLM 题目,却在评测时反复使用每题的 testbench 与 PPA;这与传统训练集泄漏有什么本质区别?

展开思考线索

区别在于规则是否事先公开且所有方法都被允许使用相同的 test-time 信息与预算。TTT-RTL 不声称零样本解题,而是把适应能力本身作为被测对象;题目不是隐藏标签,而是带可查询 verifier 的环境。但若把结果表述成静态模型的泛化能力,就会混淆两种设置。更准确的对象是:从未见设计出发,在 1,600 次 rollout 与在线更新预算内学到一个有效实现的能力。

2. 训练与验收共享 testbench,功能正确性有多强?

一个候选在搜索过程中不断针对同一 testbench 获得奖励,最后再由它宣布通过;这份证据与独立验证或形式等价相比缺少什么?

展开思考线索

testbench 能可靠筛除已覆盖输入上的错误,并让 PPA 优化只发生在功能通过之后;C910 的边界、随机、稀疏和 close-path 输入也比少量样例更有信息量。但反复查询会把测试从独立评估集变成训练 oracle,未覆盖状态可能被系统性忽略。独立隐藏测试可以检验搜索是否过拟合,形式等价则能把有限样本证据提升为覆盖全部输入的关系证明。

3. 65.1% 的优势能归因于 test-time training 吗?

外部基线使用不同模型和搜索流程,C910 消融又主要来自单题、单 seed;现有证据分别支持了多强的结论?

展开思考线索

RTLLM 表 1 强力支持“TTT-RTL 整套系统在该基准和指标上优于这些已发表系统”,但不能隔离在线更新的因果贡献。C910 的同 backbone、同预算消融补上了局部因果证据:冻结 Best-of-N 与朴素 RL 均失败,状态复用和 advantage 设计有贡献;它却只有一个主要任务,且自适应 controller 的多 seed 优势未显著。两组证据互补,但尚未形成跨 49 题、同模型、同预算的组件级结论。