作者:
(1)刘明杰,NVIDIA{同等贡献};
(2)Teodor-Dumitru Ene,NVIDIA{同等贡献};
(3)NVIDIA 的 Robert Kirby {平等贡献};
(4)Chris Cheng,NVIDIA{同等贡献};
(5)Nathaniel Pinckney,NVIDIA{平等贡献};
(6)梁荣建,NVIDIA{同等贡献};
(7) 乔纳·阿尔本(Jonah Alben),NVIDIA;
(8)NVIDIA 的 Himyanshu Anand;
(9) 桑米特拉·班纳吉(Sanmitra Banerjee),NVIDIA;
(10)Ismet Bayraktaroglu,NVIDIA;
(11) NVIDIA 公司的 Bonita Bhaskaran;
(12)NVIDIA 公司的布莱恩·卡坦扎罗(Bryan Catanzaro)
(13)NVIDIA 的阿琼·乔杜里(Arjun Chaudhuri)
(14)莎朗·克莱(NVIDIA)
(15) 比尔·戴利(NVIDIA)
(16) 劳拉·当(Laura Dang),NVIDIA;
(17) 帕里克希特·德什潘德(Parikshit Deshpande),NVIDIA;
(18)Siddhanth Dhodhi,NVIDIA;
(19)Sameer Halepete,NVIDIA;
(20)埃里克·希尔(Eric Hill),NVIDIA;
(21) 胡嘉尚,NVIDIA;
(22)苏米特·贾恩(NVIDIA);
(23) NVIDIA 的 Brucek Khailany;
(24) 乔治·科凯(George Kokai),NVIDIA;
(25) 基肖尔·库纳尔(NVIDIA);
(26)李小薇,NVIDIA;
(27) 查理·林德(NVIDIA);
(28)刘浩,NVIDIA;
(29) 斯图尔特·奥伯曼(NVIDIA);
(30) 苏吉特·奥马尔(NVIDIA);
(31)Sreedhar Pratty,NVIDIA;
(23)乔纳森·雷曼(NVIDIA);
(33) 安巴尔·萨卡尔(Ambar Sarkar),NVIDIA;
(34)邵正江,NVIDIA;
(35) 孙汉飞,NVIDIA;
(36)Pratik P Suthar,NVIDIA;
(37)Varun Tej,NVIDIA;
(38)沃克·特纳(NVIDIA);
(39)徐凯哲,NVIDIA;
(40)NVIDIA 任浩星。
A. 领域适应性的考虑
虽然领域适应的 ChipNeMo 模型比其相应的基础模型取得了显着的改进,但我们也观察到更大的 LLaMA2 70B 有时可以达到与 ChipNeMo 类似的精度,如图 8、9 和 10 所示。最近的工作利用这些强大的模型来执行芯片设计任务。
但是,重要的是要考虑使用较小模型所带来的成本效益优势。Pope 等人证明,在相同延迟目标下,8B 模型的推理成本比 62B 模型低 8-12 倍 [34]。此外,模型尺寸减小可使模型适应单个 GPU 或节点,从而大幅提高推理速度 [35]。与 LLaMA2 70B 模型不同,我们的 ChipNeMo 13B 模型无需量化即可加载到单个 A100 GPU 的内存中。这可在 GPU 正常运行下显著提高推理速度,如果 GPU 降频,则可以显著降低推理成本。
因此,在生产环境中决定使用较大的通用模型还是较小的专用模型时,必须考虑以下标准:
• 训练和推理权衡:较小的领域适应模型可以与较大的通用模型的准确性相匹配。虽然领域适应会产生额外的前期成本,但使用较小的模型可以显著降低运营成本。
• 用例的独特性:从图 6、9 和 10 可以看出,领域自适应模型在公共领域中很少出现的任务上表现出最大的改进,例如用专有语言或库编写代码。事实上,我们的数据显示,即使为大型通用模型提供精心挑选的上下文,它们也很难在这种场景中达到领域自适应模型的准确率。
• 领域数据的可用性:当有大量训练数据(即数十亿个训练 token)时,领域自适应效果最佳。大型企业和项目通常都是这种情况,因为它们积累了大量内部文档和代码,但小型企业或项目不一定如此。
• 最终用例多样性:可以针对特定任务微调通用模型,但领域适应模型适用于领域中的各种任务。虽然我们在本研究中仅演示了 ChipNeMo 模型的三个用例,但只要有足够的 SFT 数据,它就可以很容易地重新用于其他用例。
B. 绩效差距
尽管 ChipNeMo 在我们选定的应用中取得了令人印象深刻的结果(如附录 E 所示),但所有应用的评估结果与人类专家的表现仍然存在相当大的差距。我们正在考虑以下方法来弥补这种性能差距:
1) 数据收集:我们可以扩展 DAPT 数据集以包含更多内部专有数据。此外,我们计划为 SFT 添加更多特定于任务的指令集,因为有证据表明特定于任务的 SFT 可以显著改善评估结果。
2)基础模型:我们期望更好、更大的基础模型能够提高性能,例如 LLaMA2 70B。我们还可以探索将 DAPT 应用于特定于代码的基础模型(例如用于代码生成任务的代码 LLaMA [32])。
3) 训练:我们还计划对 ChipNeMo 聊天模型进行人工反馈强化学习 (RLHF) [36],使其更加通用。我们计划利用在通用数据集上训练的预训练奖励模型。我们还计划进行长上下文训练 [37],以克服需要长上下文的挑战,例如在错误摘要应用程序中。一般来说,更长的上下文支持将有助于改进基于检索的聊天辅助方法以及代码生成。
4) 检索:我们将进一步研究更好的 RAG 方法,用于工程助理聊天机器人和 EDA 脚本生成。对于工程助理聊天机器人,我们可以为不同的应用领域创建不同的数据存储。我们还可以将企业搜索引擎与 RAG 集成,以查找各种问题的相关上下文。对于代码生成,我们可以研究从现有代码和文档中自动检索上下文。
C.基于代理的设计方法
我们在本研究中试验的用例是 LLM 的提示和响应能力的直接应用。代理是指使用 LLM 选择要采取的一系列操作,其中 LLM 充当推理引擎来驱动外部工具。芯片设计过程涉及许多现有的 EDA 工具和方法。我们相信其中一些方法可以由由领域适应的 LLM(如 ChipNeMo 模型)驱动的代理驱动。我们计划在未来研究基于代理的设计方法以进行验证和优化。