周一在IEEE/ACM 国际计算机辅助设计会议上发表主题演讲时,Nvidia 首席技术官Bill Dally透露,该公司一直在测试大型语言模型 AI,以提高芯片设计人员的生产力。
“即使我们让他们的生产力提高了 5%,这也是一个巨大的胜利,”达利在会议前接受采访时说道。英伟达还不能声称它已经实现了这一目标。该系统名为ChipNeMo,尚未准备好进行大规模且漫长的试验,以真正证明其价值。但Nvidia的一群志愿者正在使用它,并且有一些积极的迹象,达利说。
ChipNeMo 是对大型语言模型进行专门调整的旋转。它最初是由430 亿个参数组成的法学硕士,从一万亿个数据令牌(基本语言单位)中获取其技能。“这就像给予它文科教育,”达利说。“但如果你想把它送到研究生院并让它变得专业化,你就可以根据特定的数据集对其进行微调......在这种情况下,就是芯片设计。”
这又花了两步。首先,已经训练过的模型在 240 亿个专门数据的标记上再次进行训练。其中 120 亿枚代币来自 Nvidia 30 年芯片设计工作中积累的设计文档、错误报告和其他英文内部数据。另外 120 亿个代币来自代码,例如硬件描述语言 Verilog 和用于使用工业电子设计自动化 (EDA) 工具执行任务的脚本。最后,将生成的模型提交给“监督微调”,对 130,000 个样本对话和设计进行训练。
结果,ChipNeMo 被设置了三个不同的任务:作为聊天机器人、作为EDA工具脚本编写者以及作为错误报告的摘要者。
达利说,充当工程师的聊天机器人可以节省设计师的时间。“高级设计师花费大量时间回答初级设计师的问题,”他说。作为聊天机器人,人工智能可以通过回答需要经验的问题来节省高级设计师的时间,例如奇怪的信号可能意味着什么或应如何运行特定测试。
然而,聊天机器人因在不知道答案时愿意撒谎以及容易产生幻觉而臭名昭著。因此 Nvidia 开发人员将一个名为检索增强生成的功能集成到 ChipNeMo 中,以保持其水平。该功能迫使人工智能从 Nvidia 的内部数据中检索文档以支持其建议。
达利说,增加检索增强生成“大大提高了准确性”。“更重要的是,它可以减少幻觉。”
在第二个应用程序中,ChipNeMo 帮助工程师对设计及其部件进行测试。“我们使用许多设计工具,”达利说。“这些工具非常复杂,通常涉及很多行脚本。” ChipNeMo 通过提供“非常自然的人机界面来处理一些非常神秘的命令”,从而简化了设计人员的工作。
ChipNeMo 的最终用例是分析和总结错误报告,“这可能是我们最早看到生产力最大提高前景的一个用例,”Dally 说。他解释说,当测试失败时,它会被记录到 Nvidia 的内部错误报告系统中,每个报告都可以包含一页又一页的详细数据。然后,“ARB”(“Action required by”的缩写)被发送给设计人员进行修复,然后时钟开始滴答作响。
ChipNeMo 将错误报告的多页内容总结为一个段落,从而加快决策速度。它甚至可以以两种模式编写摘要:一种为工程师,一种为经理。
Synopsys和Cadence等芯片设计工具制造商一直致力于将人工智能集成到他们的系统中。但根据 Dally 的说法,他们将无法实现 Nvidia 所追求的目标。
“让我们能够做到这一点的是数据库中 30 年的设计文档和代码,”他说。ChipNeMo 正在“从 Nvidia 的整个经验中学习”。EDA 公司只是没有此类数据。