摘要:在大规模处理器上检测故障核心并将其禁用是一项挑战,但特斯拉开发了其 Stress 工具。该工具不仅可以检测 Dojo 处理器上易发生静默数据损坏的核心,还能检测拥有数百万核心的 Dojo 集群中的此类核心,且无需让它们脱机。这是一项极其重要的功能,因为特斯拉表
在大规模处理器上检测故障核心并将其禁用是一项挑战,但特斯拉开发了其 Stress 工具。该工具不仅可以检测 Dojo 处理器上易发生静默数据损坏的核心,还能检测拥有数百万核心的 Dojo 集群中的此类核心,且无需让它们脱机。这是一项极其重要的功能,因为特斯拉表示,单个静默数据错误就可能毁掉一次耗时数周完成的完整训练过程。
特斯拉的 Dojo 是目前地球上现存的两大晶圆级处理器之一(另一个是Cerebras)。这些大规模晶圆级芯片使用一整片 300 毫米晶圆,这意味着不可能一次性创造出更大的计算能力块。每个 Dojo 晶圆级处理器集成了多达 8850 个核心,但其中一些核心在部署后可能会引发静默数据损坏(SDC),从而破坏大规模训练运行的结果。
具体来说,特斯拉的 Dojo 晶圆上系统(system-on-wafer)处理器(特斯拉官方称其为 Dojo TrAIning Tile)采用 5*5 阵列共计 25 颗芯片,这些芯片放置在载体晶圆上,然后使用台积电的集成扇出(InFO)技术进行晶圆级互连(InFO_SoW)互连。
鉴于 Dojo 训练芯片(即大型晶圆级芯片)的极端复杂性,即使在制造过程中检测有缺陷的裸片也并非易事,而当涉及静默数据损坏(SDC)时,情况会变得更加复杂。
请记住,静默数据损坏在所有类型的硬件上都不可避免,但 Dojo 处理器消耗 18,000 安培电流并散发出 15,000 瓦的功率,这一特性会对其产生影响。然而,所有核心都应按预期运行,否则特斯拉的 AI 训练将变得更加复杂,因为数据损坏导致的单个错误就可能使数周的 AI 训练成果付诸东流。
特斯拉将每个晶圆级 Dojo 处理器称为 “训练芯片”。每个训练芯片集成了 25 个 645 平方毫米的 D1 “芯片”,这些芯片配备 354 个定制的 64 位 RISC-V 核心(特斯拉称之为 “节点”,但为便于理解,我们将其称为 “核心”),每个核心包含 1.25 MB 的用于数据和指令的 SRAM。这些核心以 5×5 的集群方式组织,并通过具有 10 TB/s 定向带宽的机械网络互连。
每个 D1 芯片还支持 4 TB/s 的片外带宽。因此,每个 “训练芯片” 集成了 8,850 个核心,支持 8 位、16 位、32 位或 64 位整数以及多种数据格式。特斯拉使用台积电的 InFO_SoW 技术来封装其晶圆级 Dojo 处理器。
为应对核心故障风险,特斯拉首先部署了差分模糊测试技术。最初的版本包括生成一组随机指令,并将相同的指令序列发送到所有核心。执行后,通过比较输出以发现不匹配之处。然而,由于主机与 Dojo 训练芯片之间的通信开销较大,该过程耗时过长。
为提高效率,特斯拉改进了方法,为每个核心分配了由 0.5 MB 随机指令组成的唯一有效负载。核心不再与主机通信,而是从 Dojo 训练芯片内的其他核心获取有效负载并依次执行。这种内部数据交换利用了 Dojo 训练芯片的高带宽通信能力,使特斯拉能够在更短的时间内测试约 4.4 GB 的指令。
特斯拉进一步改进了该方法,使核心能够多次运行每个有效负载,且在运行之间无需重置状态。这种技术为执行环境引入了额外的随机性,能够暴露那些可能被忽略的细微错误。据该公司称,尽管执行次数增加,但与检测可靠性的提升相比,速度下降微乎其微。
另一项改进源于通过异或(XOR)操作将寄存器值定期集成到指定的 SRAM 区域。在已知有缺陷的核心测试中,这种方法将识别有缺陷计算单元的概率提高了 10 倍,同时未导致显著的性能下降。
特斯拉的方法不仅适用于 Dojo 训练芯片层面或 Dojo 机柜层面(每个机柜集成 12 块 Dojo 训练芯片),还能在 Dojo 集群层面发挥作用,使该公司能够从数百万个活跃核心中精准定位故障核心。
报告显示,一旦经过适当调试,Stress 监控系统能够在 Dojo 集群中发现大量有缺陷的核心。不过,检测时间的分布差异很大:大多数缺陷在每个核心执行 1 GB 至 100 GB 的有效负载指令后即可发现,对应运行时间从几秒到几分钟不等;较难检测的缺陷可能需要执行超过 1000 GB 的指令,即数小时的运行时间。
值得注意的是,特斯拉的 Stress 工具测试运行轻量级且完全在核心内部完成,允许其在后台执行测试而无需核心脱机。显然,只有被识别为故障的核心才会在后续被禁用,而且即使如此,每个 D1 裸片仍能容忍少数核心被禁用,而不影响整体功能。
特斯拉还提到,除了检测故障核心外,Stress 工具还发现了一种罕见的设计层面缺陷,工程师通过软件调整成功解决了该问题。在监控系统的大规模部署过程中,底层软件层的多个问题也被发现并修正。
目前,Stress 工具已完全集成到运行中的 Dojo 集群中,用于在主动 AI 训练期间对硬件健康状况进行实时监控。该公司表示,通过这种监控观察到的缺陷率与谷歌和 Meta 公布的数据相当,表明其监控工具和硬件性能与其他公司持平。
特斯拉现在计划利用 Stress 工具获取的数据,研究硬件因老化导致的长期性能退化。此外,该公司打算将该方法扩展到前硅测试阶段和早期验证工作流程中,以便在生产前就捕捉到上述故障 —— 尽管很难确切想象如何实现这一点,因为静默数据损坏可能因硬件老化而发生。
开发和制造晶圆级处理器是一项极其复杂的任务,目前行业内只有两家公司—— Cerebras(思 cerebras)和特斯拉 —— 完成了这一壮举。与其他处理器一样,这些设备也容易出现缺陷和性能退化;但特斯拉开发了无需核心脱机即可识别故障处理核心的独特方法,这标志着重大进展。
为 Cerebras 和特斯拉制造这些巨型处理器的台积电(TSMC)表示,未来几年将有更多公司采用基于其 SoIC-SoW 技术的晶圆级设计。显然,行业正在为此做准备并积累经验 —— 尽管进展缓慢,但步伐坚定。
来源:EETOP半导体社区