这是通过预训练实现的,如下图2所示,训练数据集越大,放置新区块的方法就越好。
相反,Cheng等人根本没有进行预训练(没有训练数据),这意味着模型以前从未见过芯片,必须学习如何从头开始为每个测试用例执行布局。
作者在Nature论文中详细讨论了预训练的重要性,并实证证明了它的影响。例如下图3表明,预训练可以提高放置质量和收敛速度。
在开源的Ariane RISC-V CPU上,非预训练的RL需要48小时,才能接近预先训练模型在6小时内可以产生的值。
在Nature论文中,作者针对主数据表中的结果进行了48小时的预训练,而Cheng等人预训练了 0 小时。
「Cheng试图通过暗示我们的开源存储库不支持预训练,来为他们缺乏预训练找借口,但这是不正确的,预训练就是在多个样本上运行方法。」
使用的计算资源减少了一个数量级
在Cheng等人的论文中,RL方法提供的RL体验收集器减少了20倍(26个对比512个),GPU数量减少了一半(8个对比16个)。
使用较少的计算可能会损害性能,或者需要运行相当长的时间才能实现相同的性能。
如下图4所示,在大量GPU上进行训练可以加快收敛速度并产生更好的最终质量。
RL方法未训练到收敛
随着机器学习模型的训练,损失通常会减少,然后趋于平稳,这代表「收敛」——模型已经了解了它正在执行的任务。
众所周知,训练到收敛是机器学习的标准做法。
但如下图所示,Cheng等人没有为任何一个进行收敛训练,
下表总结了详细信息。除了没有提供图的BlackParrotNG45和Ariane-NG45,其他四个具有收敛图的块(Ariane-GF12、MemPool-NG45、BlackParrot-GF12 和 MemPool-GF12),训练在相对较低的步数(分别为 350k、250k、160k 和 250k 步)处截止。
如果遵循标准的机器学习实践,可能会提高这些测试用例的性能。
不具代表性、不可重现
在Nature论文中,作者报告的张量处理单元(TPU)块的结果来自低于7nm的技术节点,这是现代芯片的标准制程。
相比之下,Cheng等人采用了旧技术节点尺寸45nm和12nm)的结果,这从物理设计的角度来看有很大不同。
例如,在低于10nm时,通常使用multiple patterning,导致在较低密度下出现布线拥塞问题。因此,对于较旧的技术节点大小,AlphaChip可能会受益于调整其奖励函数的拥塞或密度分量。