关键词:LLM 定制,RTL 设计,VHDL 设计,LLM as a Judge,高性能处理器设计生产力
不久前也分享过两篇类似的文章:
今天分享来自 IBM 的这篇 《Customizing a LLM for VHDL Design of High-Performance Microprocessors》。
近年来,大型语言模型(LLMs)在硬件设计中的应用迅速兴起,尤其是在提高芯片设计人员生产力的工具中得到了广泛应用。
关于 LLMs 在芯片设计的 RTL(寄存器传输级)规范中的应用,已经有了很多讨论,其中最流行的两种语言是 Verilog 和 VHDL。尽管 Verilog 语言的使用更为广泛,因此其与 LLMs 结合的研究受到了更多关注,但 VHDL(一种在微处理器设计以及航空航天和汽车行业广泛使用的 RTL 语言)却鲜有研究。
此外,对于从事高性能处理器设计的组织的独特需求以及在这些环境中部署 AI 解决方案的技术,也鲜有讨论。
本文描述了我们开发专门用于解释 VHDL 代码的大型语言模型(LLM)的历程,这一任务对于拥有数十年高性能处理器设计经验和资产的组织来说尤为重要。我们展示了:
- 如何开发满足我们需求的测试集,并在进行扩展预训练(Extended Pretraining,EPT)基础 LLM 时使用这些测试集来评估模型。经过专家评估,经过 EPT 训练的模型产生的代码解释的评分从基础模型的 43%提高到了 69%。
- 如何开发一个 LLM-as-a-Judge(LLM 作为评判)来像专家评估者一样评估模型。这促使我们开发并评估了一系列新的模型,包括一个经过指令调优(Instruction-tuning,IT)的 EPT 模型版本,其预期专家评估者评分可达 71%。
实验还表明,使用更新的基础模型,这一评分有望被推高至 85%甚至更高。我们以讨论如何利用生成式 AI 领域的最新进展进一步提高硬件设计 LLMs 的质量作为结尾。
一、引言
现代芯片设计的复杂性显著增加,这主要是由于对高性能和 AI 优化芯片的需求不断增加。随着半导体技术的进步,数字系统的设计与验证需要大量的工程努力和专门的领域专业知识。这一挑战因微处理器架构日益复杂、严格的性能和功耗要求以及快速的产品开发周期而变得更加严峻。
生成式 AI 和大型语言模型(LLMs)作为一种有前景的技术,已经出现,用于补充电子设计自动化(Electronic Design Automation,EDA)工作流程,通过增强工程师的能力、自动化重复性任务以及加速设计迭代周期来发挥作用[1][2]。
研究人员已经展示了 LLMs 在生成 EDA 工具脚本[3]、用于设计辅助的对话式 LLMs[4][5] [6]、物理设计[7]和高层次综合[8][9]任务、以及解决硬件安全问题[10]方面的潜力。LLMs 还在通过从自然语言规范生成寄存器传输级(RTL)描述来简化设计流程方面显示出潜力[3][4] [11][12]。
尽管许多研究集中在 LLM 辅助的 Verilog 生成上[13][14] [15],但对 VHDL(一种广泛用于微处理器设计的 RTL 语言)的研究却很少,尽管 VHDL 在工业界仍然很受欢迎。从事复杂微处理器设计的工业组织通常依赖 VHDL,因为其具有强大的类型检查、确定性并发建模和结构化语法(下图为 VHDL 程序设计单元关系图)。然而,VHDL 专业知识和技能存在显著差距,这对生产力和设计正确性提出了挑战。
因此,针对 VHDL 的 LLM 辅助 RTL 设计工具可以发挥关键作用,不仅可以通过降低设计风险来提高产品质量,还可以通过提高新员工的入职效率来弥合技能差距。除了补充 HDL 代码生成[16],LLMs 还可以作为智能助手,解释复杂的 RTL 结构,帮助设计人员进行设计和调试。
LLMs 在基于 VHDL 的设计中的潜力已在[17]中展示。在生产级性能敏感的设计环境中实际使用 LLMs 需要进一步用领域和组织特定的数据定制 LLMs。为真实世界的高性能微处理器开发 LLM 助手面临几个挑战。
- 首先,处理机密设计数据是一个关键问题,因为专有的微处理器设计和规范必须防止未经授权的访问和泄露。在利用 LLMs 时确保数据隐私需要仔细考虑访问控制、数据匿名化技术和安全模型训练范式。
- 其次,收集和结构化多年来积累的微处理器开发设计知识并非易事,因为规范、文档和设计见解通常分散在非结构化数据集中。有效的数据过滤和预处理技术是提取有意义的训练数据以进行 LLM 微调的必要条件。
- 此外,训练策略和评估方法必须考虑领域专业知识的局限性,因为主题专家(Subject Matter Experts,SMEs)数量有限,不能依赖他们手动标记或验证大型数据集。
本文深入探讨了我们定制专门用于解释 VHDL 代码和设计的 LLM 的历程——对于拥有数十年经验和丰富的高性能处理器设计组合的组织来说,这是一项极其重要的任务。
在这种环境中,新员工的入职非常困难,需要一个能够提供准确且上下文相关的复杂硬件描述解释的工具。构建用于该工具的定制 LLM 不仅作为设计和教育辅助工具,还可以促进组织内广泛设计知识和专业知识的捕获和保存。这将为未来的设计师提供宝贵的资源。
为了实现这一目标,从基础 LLM 开始,我们展示了如何使用特定领域的未标记设计数据进行扩展预训练(EPT)技术,显著提高了性能。
我们发现 LLM 的性能从基础模型的 43%提高到 EPT 模型的 69%,并通过模型合并[18][19]和指令调优(Instruction-tuning,IT)[20][21]进一步提高到 71%。
我们探索了 LLM-as-a-Judge 的概念,以评估与 SME 评分一致的模型,以克服专家数量有限支持模型训练和指令调优快速周期的上述限制。
借助 LLM-as-a-Judge 加速的 LLM 探索,最终使我们找到了得分很高的模型(高于 85%),这标志着在工业设计流程中使用 LLMs 迈出了重要一步。这些令人鼓舞的结果将激励我们在保密的高性能设计环境中进一步部署 LLM 辅助助手,以提高生产力和设计可靠性。
本文的结构如下:
- 第二节:讨论了我们在设计助手时的各种考虑因素以及我们应对所遇到挑战的方法。这包括我们使用的安全基础设施的概述、我们的测试集生成、我们的扩展预训练过程、我们的评估过程以及我们在自动化解释评估方面的努力。
- 第三节:展示了我们的扩展预训练和指令调优工作的结果、我们对 LLM-as-a-judge 的评估以及对未来的一些实验预测。
- 第四节:工作影响的讨论。
二、方法与材料
A. 基础设施
与一般 AI 项目相比,工业项目(如本文所述)需要考虑许多特殊因素,其中最重要的就是安全性。半导体芯片,尤其是处理器,是宝贵的知识产权,因此必须在高度安全的环境中设计。
此外,用于支持这些设计的工具也必须在这样的安全环境中进行测试,甚至开发。与传统程序不同,AI 模型不能在安全环境之外开发,然后简单地移植到安全环境中。相反,AI 模型的有效性需要使用专有数据进行训练,因此其开发也必须在安全环境中进行。
图 1 展示了该项目部署的基础设施概览。我们在 IBM Cloud 中创建了一个安全的虚拟私有云(VPC),并在该 VPC 中配置了多个计算集群。训练数据通过安全的方式传输到一个多区域对象存储桶中,预处理集群、训练集群和推理集群通过共享该存储桶中的数据进行通信。存储桶本身通过密钥保护。
B. 文档获取与预处理
为了帮助识别要输入扩展预训练(Extended Pretraining, EPT)过程的材料类型,我们咨询了领域专家(Subject Matter Experts, SMEs)。确定了以下来源:
- GitHub 项目
- Wiki 项目
- 与项目相关的 Box 文件夹
- 组织内部提供的教育课程和教程材料
- 手册、处理器架构文档、相关产品文档以及组织成员撰写的论文
所有收集的材料都来自组织内部,其中大部分并未公开,因此未用于训练公开可用的 LLM 基础模型。收集的材料被分类为以下几类进行预处理:
- 各种语言的代码
- 主要来自 GitHub 的 Markdown 文件
- 文本文件、文字处理文档(例如 Word)和演示文件(例如 PowerPoint),主要来自项目仓库,如 Box
- 来自网络的 HTML 文件
- 特别是来自论文、公开文档、手册和书籍的 PDF 文件
我们使用了一个名为 Data Prep Kit 的开源数据处理管道[22]来处理大部分收集到的数据。管道的第一步是过滤。在这一步中,我们删除了与我们希望模型学习的知识类型无关的文档。例如:
- 不是直接感兴趣的编程语言的代码(例如用于描述电路物理布局的语言)
- 只包含网络链接的 HTML 文件
- 涉及项目物流(例如时间表、状态)而非技术内容的幻灯片演示 接下来是去重步骤。我们对内容进行成对比较,删除与集合中其他文件明显相同的文件。随后,我们扫描文档名称,以识别相同内容但格式不同的文件,例如直接从源文档转换而来的 PDF 文件。在未来版本中,我们将使用模糊去重技术进一步修剪信息。
随后是转换步骤,将所有非文本和非代码文件转换为 Markdown 格式。大多数文档类型都有支持 Markdown 作为目标格式的转换器。例外情况是 Word 和 PowerPoint 文件,这些文件需要先转换为 HTML 文件,然后再转换为 Markdown。
最后一步是对 Markdown 文件以及未转换的代码和文本文件进行分词,分词使用了 Starcoder 分词器[23]。
C. 测试集生成
测试集是任何 AI 项目的重要组成部分。虽然测试集的分布和质量通常会受到很多关注,但在创建测试集时,还必须考虑到使用测试集评估模型结果的逻辑。我们决定将测试集分为两类:
- 一类针对代码解释(Code Explanation),这是我们希望模型掌握的技能;
- 另一类用于评估模型获得的知识,作为后续添加其他技能的基础。
对于代码解释技能,我们请领域专家选择或编写一段用 VHDL(或其内部专有变体)编写的代码,并为代码提供参考解释。
图 2 展示了一个代码-解释对的示例。对于知识获取,我们让专家构建多项选择题。提示模板中的指令要求 LLM 仅生成一个字母答案,对应正确选项。这最小化了从 LLM 输出结果所需的后处理,并允许测试集评估的自动化。
图 3 展示了一个多项选择题的示例。这两个类别的问题涵盖了与设计团队相关的各种主题,如数字设计、指令集架构、处理器微架构、VHDL 语法等。
由一位专家生成的问题会由另一位专家检查,必要时进行编辑,并根据与项目的相关性和难度进行评分。
不适当的问题被删除,以及那些对于我们的上下文窗口(8192 个 token)来说太长的问题也被删除。经过这一过程,我们最终得到了 80 个代码解释问题和 263 个多项选择问题。
D. 扩展预训练(Extended Pretraining)
我们对一个基础的 Granite 模型[24]进行扩展预训练,以提高其在解释和生成 VHDL 代码方面的能力。
基础 Granite 模型在两个独立阶段使用两种数据分布进行训练[24]:
- 覆盖 116 种编程语言的 3 万亿个 token 的代码;
- 5000 亿个 token 的代码/自然语言,用于提升模型在推理和问题解决方面的表现。
我们的扩展训练进一步使用高质量的 VHDL 数据(包括代码和文档)对模型进行微调。这些数据由领域专家(SMEs)筛选和整理,如第 II-B 节所述。为了避免灾难性遗忘(Catastrophic Forgetting,即模型在学习新知识时忘记旧知识的现象),我们还从第二阶段训练数据分布中采样了重放 token (Replay Tokens)。
重放标记(Replay Tokens) 是一种用于缓解
灾难性遗忘(Catastrophic Forgetting)的
技术。灾难性遗忘是指模型在学习新任务或新数据时,
可能会忘记之前已经学习到的知识。
这种现象在深度学习中尤其常见,尤其是在对预
训练模型进行微调时。
我们在上面表 I 中详细列出了数据分布和 token 数量。下面是模型训练的其他信息:
- 该模型使用 NVIDIA 的 Megatron 框架的一个分支进行训练。
- 数据被打包以填满模型的完整 8192 个上下文窗口。
- 文档之间通过[EOS] token 分隔,4-D 注意力掩码定义防止了交叉污染。
- 全局批量大小为 512,学习率通过余弦退火衰减进行调整,具有 25 个 warmup 步骤,最大值为 5×10⁻⁵。
- 该模型在我们安全计算集群中的一台服务器上进行了 420 步(即 17.6 亿个 token )的训练,该服务器配备了 8 个 NVIDIA H100 GPU。
E. 指令调优(Instruction Tuning)
扩展预训练之后,模型进一步在 110 万份文档上进行了指令调优,这些文档包括各种数据集,旨在提升模型遵循指令的能力。有关该数据集的详细信息,请参见[24]。对于指令调优,我们使用了 128 的批量大小、5×10⁻⁵ 的学习率,热身阶段为 200 步,并在 20000 步(即 2.5 个周期)上进行余弦衰减。我们使用了 32 个 NVIDIA A100 GPU,每个 GPU 配备 80GiB 内存。
F. 模型合并(Model Merging)
理想情况下,我们评估的每个模型都应经过指令调优,以便能够很好地遵循提示中的指令。然而,指令调优过程相当昂贵,即使使用 32 个 GPU,每次运行也需要 18 小时。为了大幅减少获得指令调优模型的时间,我们尝试了模型合并技术[18][19]。我们取了一个可用的指令调优版本的基础模型[24],并使用球面线性插值(Spherical Linear Interpolation, SLERP)技术将其权重与 EPT 模型的权重合并。由于这两个模型都源自相同的基础 LLM,因此这并不难实现。
G. 模型评估
模型评估需要在模型开发的不同阶段进行,每个阶段使用的评估技术也不同。
1. 在超参数确定阶段,模型评估仅通过监控损失函数来完成。
2. 在模型训练阶段,模型评估使用多项选择测试集中的一个验证集进行。
我们还通过监控在标准基准测试(例如 HumanEval[25])上的表现来防止灾难性遗忘。这些测试的结果用于指导新训练运行的采样参数。我们发现,三组数据的混合最为重要:重放数据、代码和文档。
过多的重放数据会减缓对新材料的学习,而代码与文档的比例过高则会减缓知识获取。
最终,我们确定在训练过程中看到的数据中有 40%是来自基础模型预训练的重放数据,28%是代码,32%是文档。在线评估在不同的、成本较低的集群上进行,该集群由一对 L40 GPU 组成,并与 H100 集群上的训练并行进行。
3. 选择少量检查点,并使用代码解释测试集进行离线测试。
离线评估的资源限制较少,因此可以进行更长时间的测试。。每位专家被分配一组问题进行评估。专家需要根据 5 点李克特量表(Likert Scale)在四个类别中对每个问题进行评估:正确性、完整性、简洁性和一致性。为了确保评估的一致性,提供了评分标准(Rubric)。我们开发的用于评估的工具如图 4 所示。**
随着新模型的不断开发,我们发现快速且可靠地从领域专家(SMEs)那里获得评估变得越来越困难。这促使我们开发了一个“LLM 作为评判”(LLM-as-a-Judge)来执行评估任务。
我们使用的提示模板如图 5 所示。为了这个目的,我们尝试了三种不同的 LLM。 4. 当最终模型部署到现场后,我们还启用了遥测数据(Telemetry Data,即模型在实际使用中产生的性能和使用数据)和用户反馈的收集,以识别模型可能需要进一步改进的潜在领域,通过持续的预训练、后训练和对齐技术来实现。这是将 LLM 辅助工具集成到生产设计流程中的关键要求。
H. Beam Search(束搜索)
Beam Search 是一种在资源高效的方式下探索搜索空间的常用技术,它通过在任何时刻保留有限数量的候选 token ,而不是单一的“最佳” token 。
Beam Search(束搜索)是一种用于优化序列生成任务
(如机器翻译、文本生成、语音识别等)的搜索算法。
它在生成序列时,通过在每一步保留多个候选选项,
而不是仅仅选择当前看起来最优的那一个,从而在效率
和效果之间取得平衡。
其是贪心搜索(Greedy Search,总是选择当前最优
的选项)和穷举搜索(Exhaustive Search,尝试
所有可能的选项)之间的折中。
Beam Search 通过在每一步保留多个候选选项(称为
“束”或“beam”),来探索更多的可能性,从而提高
生成序列的整体质量。
它本质上试图识别具有较低成本的 token 路径,而不是寻找具有最低成本的 token 。虽然代码解释任务是这种探索的候选对象,但我们目前设计的多项选择任务却不是,因为其输出序列的长度有限。
对于代码解释任务,我们使用从 LLM-as-a-Judge 实验中选出的最佳评判来评估模型在不同束宽度(Beam Width)下的表现。
在未来,我们计划在定制化的 LLM 广泛部署到硬件设计流程中时,利用不同的推理(Test-Time,即模型在实际使用中的测试阶段)扩展技术[27][28]。
三、实验结果
我们进行了两轮扩展预训练(Extended Pretraining)。第二轮通过调整代码 token 和文档 token 之间的采样比例,对第一轮进行了改进。
在表 II 中,展示了不同模型在代码解释测试集上的表现。第一行指的是基础模型(Base Model)。接下来的两行是第一轮扩展预训练的结果,而最后三行是第二轮扩展预训练的结果。领域专家(Subject Matter Experts, SMEs)对这些模型进行了评估。
基础模型在李克特量表(Likert Scale,一种常用的评分量表,通常为 1 到 5 分)上的评分是 2.73,低于“可接受”水平(3 分)。从表 II 中可以看出,两轮预训练都提高了基础模型的表现。第二轮预训练的表现明显优于第一轮,得分在 3.55 到 3.75 之间,而第一轮预训练的评分是 3.25。表 II 中还展示了由三名 LLM 作为评判(LLM-as-a-Judge)所确定的评分,这些评判在第 II-G 节中有所描述。
结果显示,所有三名评判以及 SMEs 对模型的排序方式相似,尽管他们的评分尺度略有不同。评判分数与 SME 分数之间的相关度为:评判 1 为 0.99,评判 2 为 0.95,评判 3 为 0.93。尽管评判对模型整体排序与 SMEs 相似,但在个别问题上的评分相关性较弱,约为 0.55,其中评判 2 和评判 3 的表现优于评判 1。
我们觉得这可能是因为涉及了多名 SMEs,他们的评估可能并不完全一致。为了进一步实验,我们使用评判 2 提供的分数,并将其标准化以使其与 SME 分数可比。百分比分数(%score)是通过公式 标准化分数 计算得出的。这个分数显示在表 II 的最后一列,即“Norm J2 % score”(经过评判 2 标准化后的百分比分数)。指令调优(Instruction Tuning)在最佳预训练模型 EPT2.2 上的结果如表 III 所示。
表中还展示了通过球面线性插值(SLERP)技术将 EPT2.2 与基础模型的指令调优版本[24]合并后的模型性能。从表中可以看出,模型合并可以提高性能,尽管完整的指令调优可以做得更好,但后者硬件资源成本要高得多。
我们已经将指令调优后的模型部署用于逻辑设计人员使用。在我们的首次实现中,主要目的是获取工具的反馈,用户通过一个简单的界面与模型交互,用户粘贴一段代码,模型返回解释。我们要求用户提供反馈,包括点赞/点踩(thumbs-up/thumbs-down),以及关于代码解释的优点和缺点的详细书面评论。
有趣的是,用户似乎普遍不愿意提供反馈,尝试使用该工具的用户中,不到 50%的人提供了有用的反馈。目前,点赞与点踩的比例约为 70%对 30%。书面反馈已经使我们能够通过提示工程(Prompt Engineering,即优化输入提示以提高模型性能)来改进模型的性能。进一步的改进正在计划中。
在 AI 领域,新的、更强大的模型正以惊人的速度不断涌现。在新模型中加入推理能力(Reasoning Capability,即模型能够进行逻辑推理和解决问题的能力)已经在许多用例中实现了突破性的性能提升。
表 IV 显示了即使是对于 VHDL 代码解释任务,这些新模型的性能提升潜力也很大。从表中可以看出,当前基础模型的性能为 43%,而一个仅有 8B 参数的新基础模型的性能可以达到 67%,拥有 14B 参数的模型性能甚至可以达到 85%。
通过扩展预训练或针对这些新基础模型进行针对性微调,我们可能会开发出一个在代码解释能力上甚至超过领域专家的模型。
表 V 显示了在代码解释任务上使用束搜索(Beam Search)对指令调优模型的影响。由于内存限制,我们将实验限制最大束宽度为 5,虽然使用束搜索有可能提高性能,但很难事先确定一个特定问题的最佳束宽度,因为性能并不是随着束宽度单调增加的。然而,这次实验确实通过我们的标准化评判得出了一个更好的模型,从束宽度为 1 时的 71%提升到了束宽度为 2 或 5 时的 77%。
表 VI 显示了对各种模型进行多项选择测试的结果,结论如下:
- 在扩展预训练和指令调优后,模型在多项选择测试集上的性能仅从 34%略微提高到 36%(前 3 行)。
- 最后 3 行的数据表明了即将出现的一些新模型的能力。这些数据消除了多项选择测试集“不可能完成”的担忧。新 8B 参数模型的基础能力超过了经过预训练和指令调优的 20B 模型。
更新的基础模型在没有自适应预训练和指令调优的情况下,甚至可以达到更高的 61%,尽管它们的参数数量更多(14B)。所有这 3 个模型都与我们的原始基础模型不同,它们都加入了推理能力。
四、结论
本文概述了我们在工业环境中创建用于理解 VHDL 代码的人工智能助手的过程。
我们的需求,特别是利用遗留资产的需求、在安全环境中进行训练和推理的需求、对外部数据的来源和权限敏感性的需求,以及对人类专家服务敏感性的需求,虽然与常见设置不同,但并非独一无二。
这些需求为大规模工业项目增加了成本和时间限制,但并非不可克服。我们正在部署该模型,以帮助新设计人员快速掌握现有的 VHDL 设计,这些设计通常被用作新设计或新设计单元的基础。我们还计划通过以下方式进一步改进模型:
- 对模型表现较弱的领域进行进一步的领域微调(Domain Fine-tuning);
- 扩大模型能够处理的任务范围;
- 使用更新的推理模型作为基础,重复扩展预训练和微调过程;
- 利用生成式 AI 领域的最新发展,特别是围绕推理和推理扩展的技术,增强模型能力。
我们相信,不久我们将开发出能够接近专家表现的模型,甚至在表现的一致性上可能超过他们。高性能处理器设计领域,由于使用了尖端技术和微架构技术,传统上比其他类型的设计具有更长的设计周期。
将 LLMs(大型语言模型)部署到用于指定、验证和测试这些设计的过程中,将在很大程度上缩短这些设计周期,并以比今天更快的速度推动处理器领域的创新。
参考文献
- G. Huang, et al., “Machine learning for electronic design automation: A survey,” ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. 26, no. 5, pp. 1–46, 2021.
- M. Rapp, et al., “Mlcad: A survey of research in machine learning for cad keynote paper,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 41, no. 10, pp. 3162–3181, 2021.
- M. Liu, et al., “Chipnemo: Domain adapted llms for chip design,” arXiv preprint arXiv:2311.00176, 2023.
- K. Chang, et al., “Chipgpt: How far are we from natural language hardware design,” arXiv preprint arXiv:2305.14019, 2023.
- J. Blocklove, et al., “Chip-chat: Challenges and opportunities in conversational hardware design,” ACM/IEEE 5th Workshop on Machine Learning for CAD (MLCAD). IEEE, 2023, pp. 1–6, 2023.
- H. Wu, et al., “Chateda: A large language model powered autonomous agent for eda,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2024.
- U. Sharma, et al., “Openroad-assistant: An open-source large language model for physical design tasks,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2024.
- L. Collini, et al., “C2hlsc: Can llms bridge the software-to-hardware design gap?” IEEE International Workshop on LLM-Aided Design (LAD), 2024.
- K. Xu, et al., “Automated c/c++ program repair for high-level synthesis via large language models,” IEEE/ACM International Symposium on Machine Learning for Computer-Aided Design (MLCAD), 2024.
- R. Kande, et al., “Llm-assisted generation of hardware assertions,” arXiv preprint arXiv:2306.14027, 2023.
- S. Thakur, et al., “Autochip: Automating hdl generation using llm feedback,” arXiv preprint arXiv:2311.04887, 2023.
- Y. Lu, et al., “Rtllm: An open-source benchmark for design rtl generation with large language model,” 29th Asia and South Pacific Design Automation Conference (ASP-DAC). IEEE, 2024, pp. 722–727, 2024.
- M. DeLorenzo, et al., “Make every move count: Llm-based high-quality rtl code generation using mcts,” arXiv preprint arXiv:2402.03289, 2024.
- S. Thakur, et al., “Benchmarking large language models for automated verilog rtl code generation,” Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 2023, pp. 1–6, 2023.
- ——, “Verigen: A large language model for verilog code generation,” ACM Transactions on Design Automation of Electronic Systems, 2023.
- M. Liu, et al., “Verilogeval: Evaluating large language models for verilog code generation,” IEEE/ACM International Conference on Computer Aided Design (ICCAD). 2023, pp. 1–8, 2023.
- P. Vijayaraghavan, et al., “Chain-of-descriptions: Improving code llms for vhdl code generation and summarization,” IEEE/ACM International Symposium on Machine Learning for Computer-Aided Design (MLCAD), 2024.
- P. Yadav, et al., “Ties-merging: Resolving interference when merging models,” Advances in Neural Information Processing Systems, 36, 2024.
- C. Deng, et al., “Chipalign: Instruction alignment in large language models for chip design via geodesic interpolation,” arXiv:2412.19819, 2024.
- J. Wei, et al., “Finetuned language models are zero-shot learners,” International Conference on Learning Representations (ICLR), 2022.
- J. Zhou, et al., “Instruction-following evaluation for large language models,” arXiv preprint arXiv:2311.07911, 2023.
- “Data prep kit,” https://github.com/data-prep-..., 2024.
- R. Li, et al., “StarCoder: may the source be with you!” arXiv:2305.06161, 2023.
- M. Mishra, et al., “Granite code models: A family of open foundation models for code intelligence,” arXiv:2405.04324, 2024.
- M. Chen, et al., “Evaluating large language models trained on code,” 2021. [Online]. Available: https://arxiv.org/abs/2107.03374
- A. Graves, “Sequence transduction with recurrent neural networks,” CoRR, abs/1211.3711, 2012.
- B. Brown, et al., “Large language monkeys: Scaling inference compute with repeated sampling,” arXiv:2407.21787v1, 2024.
- S. Welleck, et al., “From decoding to meta-generation: Inference-time algorithms for large language models,” Transactions on Machine Learning Research, 2024, survey Certification. [Online]. Available: https://openreview.net/forum?... :::
END
作者:IBM Research
来源:NeuralTalk
推荐阅读
- MiniMax AI 开源首个感知+推理的强化学习框架 V-Triune: 统一视觉-语言任务
- 边缘端Qwen2.5-0.5B推理:通过模型压缩和硬件加速实现高效的LLM推理
- YOPOv2-Tracker开源 | 端到端方法革新,跟踪提速10倍,扰动观测器破解传统框架延迟难题
- Triton极简入门: Triton Vector Add
- VisionReasoner首提统一框架,检测/分割/计数3类任务超越YOLO-World等专用模型
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式AI专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。