【论文阅读】ChipNeMo中的领域适配检索模型

news2025/1/13 17:08:19

前面先总体学习了《ChipNeMo: Domain-Adapted LLMs for Chip Design》。然后发现文章中还有细节需要继续学习,前一篇看了领域适配分词,今天接着看领域数据微调的预训练检索模型。

领域适配检索模型

众所周知,LLM 可以生成不准确的文本,即所谓的幻觉,尽管这种现象尚不完全清楚,但我们仍然必须减轻幻觉,因为在工程助理聊天机器人等环境中准确性至关重要。文章建议利用检索增强生成(RAG)方法。RAG 试图从数据库中检索相关段落,并将其与问题一起包含在提示中,这可以让 LLM 提供更准确的答案。文章发现,对 RAG 使用领域适配语言模型可以显著提高特定领域的问题的答案质量。此外,文章还观察到,使用适量的领域特定训练数据微调现成的无监督预训练检索模型,检索命中率有了显著提高,可以显著提高检索准确性。

具体来说,使用特定领域的数据微调的 ChipNeMo 检索模型,与预先训练的最先进的检索器相比,检索器命中率提高了 30%,从而提高了 RAG 响应的整体质量。

下图显示了领域适配 RAG 实现图。对比通用的问答系统,检索模型和语言模型都经过领域适配后,可以显著提升性能。
在这里插入图片描述
具体方法,使用 Tevatron 框架自动生成 3000 个特定领域的样本,通过微调e5_small_unsupervised模型创建领域适配检索模型。

即使微调检索模型带来了显著的收益,但事实仍然是,检索仍然难以处理不直接映射到文档语料库中的段落或需要更多段落中不存在的上下文的查询。不幸的是,这些查询也更能代表工程师在实际情况下提出的查询。将检索与领域适配语言模型相结合是解决此问题的一种方法。

检索模型的样本生成和微调

手动生成训练样本非常耗费精力,因此文章选择实施一个自动生成样本的过程。由于使用对比学习来微调检索模型,因此每个样本都需要一组正面段落和负面段落,尤其是硬负段落(hard negatives),以最大限度地提高准确性。
“hard negatives” 是指在使用对比学习(contrastive learning)进行检索模型微调时,那些与查询(query)相关性不高,但仍然被模型错误地认为是相关(即被错误的标记为正样本)的文档。这些文档对于训练模型来说比较难以正确分类,因此被称为 “hard negatives”。 “hard” 这个词是为了强调这些负样本的难度和对模型训练的挑战性。
在这里插入图片描述
上图展示了用于检索模型训练的样本生成过程,具体步骤包括:

  1. 随机选择文档段落:从文档语料库中随机选择一个段落。

  2. 生成有效查询:使用语言模型(如Vicuna)根据选定的段落生成一个有效的查询。

  3. 检索潜在的负样本:使用现有的检索模型(如Sentence Transformer)根据生成的查询从文档语料库中检索出 top-N 个段落,这些段落是潜在的硬负样本。

  4. 筛选正样本:由于检索到的段落中可能包含与查询真正相关的正样本,使用相同的语言模型来过滤出这些正样本。

  5. 补充负样本:如果过滤后的负样本数量不足,通过从语料库中随机选择其他段落来补充负样本。

这个过程的目的是通过自动生成的方式来创建用于训练检索模型的样本集,其中包括正样本和负样本。在对比学习中,模型需要学习如何将查询与正确的正样本关联起来,同时将错误的负样本区分开来。通过这种方式,检索模型能够更好地理解文档内容和查询之间的相关性,从而提高检索的准确性。

在检索任务中,“hard negatives” 的重要性在于它们提供了模型需要克服的挑战,帮助模型学习更精确的匹配和区分能力。这对于提高检索系统在面对复杂查询和大型文档库时的性能至关重要。

上述方法中的语言模型和检索模型也可以使用LLaMA2 和 BM25等商业上可行的模型。

RAG和工程助理聊天机器人

文章创建了一个基准来评估设计聊天助手的性能,该助手使用 RAG 方法。该基准测试包括三类 88 个问题:架构/设计/验证规范(Specs)、测试平台回归文档(Testbench)和构建基础架构文档(Build)。对于每个问题,都会指定黄金答案以及设计文档中包含答案相关知识的段落。这些问题由设计人员根据一组设计文档手动创建,作为检索的数据存储。它包括大约 1.8K 个文档,这些文档被分割成 67K 个段落,每个段落约 512 个字符。
针对每个类别,将领域适配检索模型与 Sentence Transformer和e5_small_unsupervised 进行比较。每个模型从数据存储中获取其前 8 个段落。

如下图所示,领域适配模型的性能比原始 e5_small_unsupervised 模型好 2 倍,比Sentence Transformer好 30%。
在这里插入图片描述
“规范”类别中的查询直接派生自文档中的段落,因此它们的答案通常很好地包含在简洁的段落中,并清楚地解决了查询。另一方面,Testbench 和 Build 类别的查询不是直接从段落中派生的,因此它们的答案在获取的段落中通常不那么明显,并且需要更多的上下文。这在很大程度上导致了类别之间检索质量的差异。
在这里插入图片描述
图7:对不同模型的人工评估。“仅模型”表示不带 RAG 的结果。RAG(命中)/(未命中)仅包括检索到的段落命中/未命中理想上下文的问题,RAG(平均)包括所有问题

文章对多种 ChipNeMo 模型和 LLaMA2 模型进行了评估,包括带或不带 RAG的情况。然后由人类评估人员在 7分制Likert量表上对结果进行评分,如图 7 所示。重点包括:

■ChipNeMo-70B-Steer 在所有类别中都优于 GPT-4,包括 RAG 未命中和命中。

■ChipNeMo-70B-Steer 在仅模型评估和 RAG 评估中的表现分别优于类似尺寸的 LLaMA2-70b-Chat 3.31和1.81分。

文章的结果表明,RAG显著提高了模型的评估得分。RAG 将 ChipNeMo-70B-Steer、GPT-4 和 LLaMA2-70b-Chat 分别提高了 0.56、1.68 和 2.05。即使 RAG 未命中,分数通常也高于不使用检索。包含相关的域内上下文仍然提高了性能,因为检索不是严格意义上的二元结果。此外,虽然 ChipNeMo-70B-SFT 通过传统的监督微调大幅优于 GPT4,但应用 SteerLM 方法导致聊天机器人评分进一步提高。

文章还研究了RAG对生成EDA脚本的影响。检索到的数据包括与问题相关的特定 API 以及 API 的描述。这有助于提高“简单”和“中等”难度基准测试的准确性,这些基准测试在很大程度上取决于 API 知识。在“高等”基准测试中,与非RAG模型相比,精度有所下降。这展示了将现有检索技术与非自然语言任务(如代码生成)耦合的困难。虽然各种各样的检索技术已被证明适用于自然语言任务,但专注于检索增强代码生成的进展相对较少。这增强了领域适配语言模型的重要性,特别是在数据集中,没有足够的高质量示例和解释来方便地应用检索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1635363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DVWA靶场

DVWA是指Damn Vulnerable Web Application,是一个用于教育和训练网络安全人员的虚拟漏洞应用程序。DVWA模拟了一个包含了多种常见Web安全漏洞的虚拟环境,包括SQL注入、XSS攻击、CSRF攻击等等。通过使用DVWA,安全人员可以学习和实践各种Web安全…

科研学习|论文解读——CVPR 2021 人脸造假检测(论文合集)

随着图像合成技术的成熟,利用一张人脸照片合成假视频/不良视频现象越来越多,严重侵犯个人隐私、妨碍司法公正,所以人脸造假检测越来越重要,学术界的论文也越来越多。 一、研究1 1.1 论文题目 Multi-attentional Deepfake Detecti…

从零开始构建大语言模型(MEAP)

原文:annas-archive.org/md5/c19a4ef8ab1664a3c5a59d52651430e2 译者:飞龙 协议:CC BY-NC-SA 4.0 一、理解大型语言模型 本章包括 大型语言模型(LLM)背后的基本概念的高层次解释 探索 ChatGPT 类 LLM 源自的 Transfo…

第二证券投资参考:汽车以旧换新细则发布 云厂商AI投资持续加码

上星期五,A股放量大涨。两市股指盘中单边上行,午后再度攀升,沪指涨超1%,创业板指大涨超3%;到收盘,沪指涨1.17%报3088.64点,深证成指涨2.15%报9463.91点;创业板指涨3.34%报1823.74点&…

git 的迁移

现象是gitlab经常会挂掉,linux会显示磁盘空间不足,实际上,我们linux某个目录的空间是4T。这个空间应该是足够的。猜测是gitlab的安装目录不对导致的空间不足。 1、查找原因 用rpm 安装gitlab会有自己的目录,很多安装文件会在opt…

当非遗遇上全身动作捕捉设备,创新非遗文化传承形式

随着全身动作捕捉设备不断革新,越来越多行业运用全身动作捕捉设备保护并传承非遗文化,如越剧、戏曲、武术等非遗项目,可以通过全身动作捕捉设备实时动态采集非遗演绎数据,搭建非遗数据框架,使传统戏剧、游艺与杂技等多…

【收藏全开源】JAVA智慧社区系统粉丝生活同款系统支持跑腿家政本地生活上门服务商城支持微信小程序+微信公众号+H5+APP_博纳软云

JAVA智慧社区系统:打造一站式本地生活服务新体验 在现代快节奏的生活中,社区服务的便捷性愈发受到重视。我们倾心打造的JAVA智慧社区系统,正是为了满足居民对高效、便捷社区服务的期待。该系统不仅融合了粉丝生活同款系统的优秀元素&#xf…

今年做电商,视频号小店可以冲一下,这次腾讯不负所望站在了风口

腾讯做电商,能不能搞? 对于腾讯做电商这件事,很多玩家并不看好,毕竟腾讯想做的东西太多了,做电商这件事也曾失败过; 但是这次,无论是电商老玩家还是新手玩家,腾讯推出的视频号小店…

AI智能体崛起:未来挑战与机遇解析

随着科技的进步,人工智能(AI)已经成为我们生活中的一部分。而在众多AI应用中,Agent AI智能体因其高度的自主性、交互性和智能化水平,被广泛应用于各种场景。在未来社会中,Agent AI智能体的角色将会如何定位…

Java 写一个死锁的例子

public class DeadLock {public static void main(String[] args) {Object lock1 new Object();Object lock2 new Object();new Thread(new A(lock1,lock2),"线程A").start();new Thread(new B(lock1,lock2),"线程B").start();} }class A implements Run…

【探索Linux】P.33(HTTP协议)

阅读导航 引言一、认识URL二、URL编码和解码1. Urlencode(URL编码)2. Urldecode(URL解码) 三、HTTP的方法四、HTTP的状态码五、HTTP常见Header六、最简单的HTTP服务器温馨提示 引言 在上一篇文章中,我们深入探讨了“自…

【CAN】知识点:帧类型、数据帧结构、传输速率、位时间、采样点

1、帧类型 CAN (Controller Area Network) 帧格式是为了高效、可靠地在多个节点间传输数据而设计的。CAN 帧有几种类型,包括数据帧(标准帧和扩展帧)、远程帧、错误帧和过载帧,其中数据帧和远程帧是最常用的。 2、数据帧 数据帧包括:标准帧和扩展帧。 两者的主要区别: …

solidworks出现slderrresu.dll错误如何解决?亲测有效

通过近来给客户安装SolidWorks发现,SolidWorks2010、SolidWorks2012、SolidWorks2014、SolidWorks2015、SolidWorks2016、SolidWorks2017都会出现这个slderrresu.dll安装错误问题: 其实这个错误很好解决,主要是因為安裝中文版solidworks沒有選擇安裝中文…

VS Code开发STM32F4xx jlink接口swd模式

VS Code开发STM32F4xx jlink接口swd模式(测试OK) 下面的代码(已验证),只作为参考,不同情况的更改参照文章末尾链接 c_cpp_properties.json代码 (其中include路径和宏定义可以参照makefile添加) : {"configurations": [{"name"…

Vue生命周期都有哪些?

定义 Vue的生命周期就是实例从创建到销毁的一个过程&#xff0c;即从创建、初始化数据、编译模板、挂载Dom($el)->渲染、更新->渲染&#xff0c;卸载等一系列的过程。el是挂载点如<div id"app"></div>。 Vue的生命周期分为八个阶段 1.beforeCreate…

C++-10

1.C一个程序&#xff0c;实现两个类&#xff0c;分别存放输入的字符串中的数字和字母&#xff0c;并按各自的顺序排列&#xff0c; 类中实现-一个dump函数&#xff0c;调C用后输出类中当前存放的字符串结果。 例如&#xff0c;输入1u4y2a3d,输出:存放字母的类&#xff0c;输出a…

Oracle21C判断[点]是否在[多边形]内

环境 Oracle Database 21c Express Edition Release 21.0.0.0.0OracleSpatial函数 SELECT sdo_inside( sdo_geometry( 2001, NULL, SDO_POINT_TYPE(118.439140, 31.385456, NULL), NULL, NULL ), SDO_GEOMETRY( 2003, NULL, NULL, sdo_elem_info_array(1, 2003, 2), SDO_ORDI…

conda env list找不到anaconda/envs下的环境。Could not find conda environment。

home/用户名/anaconda3/envs中的环境与conda env list下显示的环境不一致。 想进入home/用户名/anaconda3/envs中的环境&#xff0c;显示环境不存在。 重点&#xff01;&#xff01;&#xff01;&#xff08;conda activate 环境地址 可进入环境&#xff09; 这一步最重要&…

一种基于YOLOv8改进的高精度红外小目标检测算法 (原创自研)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文摘要&#xff1a;一种基于YOLOv8改进的高精度小目标检测算法&#xff0c; 在红外小目标检测任务中实现暴力涨点&#xff1b; &#x1f4a1;&#x1f4a1;&#x1f4a1;创新点&#xff1a; 1&#xff09;SPD-Conv特别是在处理低分…

IT外包的可扩展性及其如何推动业务增长

在当前数字化的时代&#xff0c;企业的发展与其IT战略的有效性息息相关。随着市场需求和技术的不断变化&#xff0c;企业需要灵活和可扩展的IT解决方案以适应不断变化的环境。IT外包作为一种智慧选择&#xff0c;为企业提供了卓越的可扩展性&#xff0c;从而推动了业务的增长。…