【AI论文】OLMoTrace:将语言模型输出追溯到万亿个训练标记

摘要:我们提出了OLMoTrace,这是第一个将语言模型的输出实时追溯到其完整的、数万亿标记的训练数据的系统。 OLMoTrace在语言模型输出段和训练文本语料库中的文档之间找到并显示逐字匹配。 我们的系统由扩展版本的infini-gram(Liu等人,2024)提供支持,可在几秒钟内返回追踪结果。 OLMoTrace可以帮助用户通过训练数据的视角来理解语言模型的行为。 我们展示了如何使用它来探索事实检查、幻觉和语言模型的创造力。 OLMoTrace是公开的,完全开源的。Huggingface链接:Paper page,论文链接:2504.07096
研究背景和目的
研究背景
随着语言模型(LMs)在各个领域的应用日益广泛,从文本生成到问答系统,再到对话机器人,LMs的性能和复杂性也在不断提升。这些模型通常是在大规模文本语料库上训练的,这些语料库可能包含数万亿个标记。然而,尽管这些模型在生成文本方面表现出色,但它们的行为,尤其是如何生成特定输出的决策过程,仍然是一个黑箱。理解LMs的行为对于评估它们的可靠性、公平性、以及在实际应用中的适用性至关重要。
现有的方法,如影响力函数(Koh and Liang, 2017; Han et al., 2020),尝试通过梯度信息来识别对给定测试示例有影响力的训练示例。然而,这些方法在计算上非常昂贵,难以扩展到数万亿标记的训练数据上。其他方法,如检索增强生成(RAG)系统,虽然从数据库中检索相关文档并基于这些文档进行LM生成,但它们并不直接显示LM输出与训练数据之间的逐字匹配。
因此,迫切需要一种能够高效地将LM输出实时追溯到其完整训练数据的方法,以便更好地理解LMs的行为和决策过程。
研究目的
本研究旨在开发一个系统,该系统能够实时地将语言模型的输出追溯到其完整的、数万亿标记的训练数据。具体来说,本研究的目标包括:
- 开发一个高效的系统:该系统能够在数秒内返回追踪结果,使得用户能够实时地探索语言模型的行为。
- 实现逐字匹配:系统需要在语言模型输出段和训练文本语料库中的文档之间找到并显示逐字匹配,以提供LM输出与训练数据之间的直接联系。
- 促进理解和应用:通过该系统,用户能够更好地理解语言模型的行为,探索其在事实检查、幻觉生成和创造力等方面的表现,并评估其在实际应用中的适用性。
- 公开和开放源码:系统应该是公开的,并且完全开放源码,以促进研究和社区的发展。
研究方法
系统概述
本研究提出了OLMoTrace系统,该系统利用扩展版本的infini-gram(Liu et al., 2024)来索引语言模型的训练数据,并开发了一种新颖的并行算法来加速匹配跨度的计算。OLMoTrace的推理管道包括五个步骤:
- 找到最大匹配跨度:在语言模型输出中找到所有在训练数据中出现逐字的最大跨度。这一步通过并行处理LM输出的每个后缀的最长匹配前缀来实现。
- 过滤以保留长且唯一的跨度:为了简化用户界面并仅显示更可能“有趣”的跨度,系统根据跨度一元概率(捕捉长度和唯一性的指标)对跨度进行过滤。
- 检索包含文档:对于每个保留的跨度,系统从训练数据中检索最多10个包含该跨度的文档片段。
- 合并跨度和文档:为了进一步简化用户界面,系统将重叠的跨度合并为一个要在LM输出中高亮的单个跨度,并将来自同一文档的片段合并为一个要在文档面板中显示的单个文档。
- 按相关性重新排序和着色文档:为了优先显示最相关的文档,系统根据BM25分数对文档进行降序排序,并根据相关性级别对文档和跨度高亮进行着色。
关键技术
- Infini-gram索引:使用infini-gram对语言模型的训练数据进行索引,以支持高效的文本查询和匹配文档检索。
- 并行算法:开发了一种新颖的并行算法来加速最大匹配跨度的计算,将时间复杂度降低到O(L log N),并在完全并行化时将延迟降低到O(log N)。
- 文档相关性评估:使用BM25分数对检索到的文档进行排序,并通过人类评估和LLM-as-a-Judge评价来优化超参数设置,以提高文档相关性。
研究结果
系统性能
OLMoTrace系统在实际应用中表现出色。在拥有64个vCPU和256GB RAM的Google Cloud Platform节点上,OLMoTrace的平均推理延迟为4.46秒,能够实时地向用户展示追踪结果。
文档相关性评估
通过人类评估和LLM-as-a-Judge评价,OLMoTrace检索到的文档显示出较高的相关性。第一篇显示文档的平均相关性得分为1.90(人类评估)和1.73(LLM-as-a-Judge评价),前五篇显示文档的平均相关性得分为1.43(人类评估)和1.28(LLM-as-a-Judge评价)。这些结果表明,OLMoTrace能够检索到与LM输出高度相关的训练文档。
案例研究
本研究展示了OLMoTrace在事实检查、追踪“创造性”表达和追踪数学能力方面的应用。例如,在事实检查案例中,OLMoTrace能够指示LM输出中的特定跨度在训练数据中出现逐字,并显示相应的文档,帮助用户验证声明的真实性。在追踪“创造性”表达案例中,OLMoTrace揭示了LM生成的看似新颖的表达可能并非真正新颖,而是从训练数据中学习而来的。在追踪数学能力案例中,OLMoTrace显示了LM执行的算术运算和解决的数学问题在训练数据中的逐字匹配。
研究局限
尽管OLMoTrace系统在多个方面表现出色,但它仍然存在一些局限性:
- 逐字匹配的局限性:OLMoTrace仅找到LM输出与训练数据之间的逐字匹配,这可能无法全面揭示LM生成输出的复杂决策过程。
- 训练数据的潜在问题:OLMoTrace可能会使训练数据中的潜在问题(如版权、个人信息和毒性内容)更容易暴露。
- 系统可扩展性:虽然OLMoTrace在处理当前规模的训练数据时表现出色,但随着语言模型规模的进一步扩大,系统的可扩展性仍需验证。
未来研究方向
为了克服现有局限并推动该领域的发展,未来研究可以从以下几个方面进行探索:
- 改进匹配算法:开发更先进的算法来识别LM输出与训练数据之间的非逐字匹配,以更全面地揭示LM的决策过程。
- 增强数据隐私保护:开发技术来保护训练数据中的隐私信息,同时仍然允许用户探索LM的行为。
- 优化系统性能:针对更大规模的语言模型和数据集,优化OLMoTrace系统的性能,以提高其可扩展性和实用性。
- 拓展应用场景:探索OLMoTrace在更多应用场景中的潜力,如自然语言理解、对话系统评估等,以进一步推动该领域的发展。
相关文章:
【AI论文】OLMoTrace:将语言模型输出追溯到万亿个训练标记
摘要:我们提出了OLMoTrace,这是第一个将语言模型的输出实时追溯到其完整的、数万亿标记的训练数据的系统。 OLMoTrace在语言模型输出段和训练文本语料库中的文档之间找到并显示逐字匹配。 我们的系统由扩展版本的infini-gram(Liu等人…...
git仓库迁移包括提交记录日志
网上找了很多资料都不好用,直到看到一个亲测有效后,整理如下: 1、进入仓库目录下,并且切换到要迁移的分支上 前提是你本地已有旧仓库的代码;如果没有的话,先拉取。 2、更改仓库地址 git remote set-url …...
SAP GUI 显示SAP UI5应用,并实现SSO统一登陆
想用SAP UI5 做一写界面,又不想给用户用标准的Fiori APP怎么办?我觉得可以用可配置物料标准功能的思路,在SAP GUI中显示UI5界面,而不是跳转到浏览器。 代码实现后的效果如下: 1、调用UI5应用,适用于自开发…...
HumanDil-Ox-LDL:保存:2-8℃保存,避免强光直射,不可冻存
化学试剂的基本介绍: /// 英文名称:HumanDil-Oxidized LowDensityLipoprotein /// 中文名称:人源红色荧光标记氧化型低密度脂蛋白 /// 浓度:1.0-4.0 mg/ml /// 外观:乳状液体 /// 缓冲液组分:PBS&…...
开箱即用!推荐一款Python开源项目:DashGo,支持定制改造为测试平台!
大家好,我是狂师。 市面上的开源后台管理系统项目层出不穷,对应所使用到的技术栈也不尽相同。 今天给大家推荐一款开源后台管理系统: DashGo,不仅部署起来非常的简单,而且它是基于Python技术栈实现的,使得基于它进行…...
JS小练习0.1——弹出姓名
分析:1.用户输入 2.内部处理保存数据 3.打印输出 <body><script>let name prompt(输入你的名字)document.write(name)</script> </body>...
vue自定义颜色选择器
vue自定义颜色选择器 效果图: step0: 默认写法 调用系统自带的颜色选择器 <input type"color">step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue <template><div class"container"><!-- 颜…...
LibreOffice Writer使用01去除单词拼写判断的红色下划线
这个软件还是非常有特色的,因为大家需要office的全部功能,常常忽略了这个软件的使用体验。 csdn不是特别稳定,linux也没有什么比较好的md编辑器,所以我选择这个软件来记录我的临时博客,原因无他,它可以保存…...
0401react中使用css-react-css-仿低代码平台项目
文章目录 1、普通方式-内联使用css2、引入css文件2.1、示例2.2、classnames 3、内联css与引入css文件对比3.1、内联css3.2、 外部 CSS 文件(External CSS) 4、css module5、sass6、classnames组合scss modules7、css-in-js7.1、CSS-in-JS 的核心特性7.2、…...
Devops之GitOps:什么是Gitops,以及它有什么优势
GitOps 定义 GitOps 是一种基于版本控制系统(如 Git)的运维实践,将 Git 作为基础设施和应用程序的唯一事实来源。通过声明式配置,系统自动同步 Git 仓库中的期望状态到实际运行环境,实现持续交付和自动化运维。其核心…...
蓝桥杯真题-危险系数DF
抗日战争时期,冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y): 对于两个站点x和…...
《线性表、顺序表与链表》教案(C语言版本)
🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…...
[ctfshow web入门] web33
信息收集 相较于上一题,这题多了双引号的过滤。我猜测这一题的主要目的可能是为了不让使用$_GET[a]之类的语句,但是$_GET[a]也是一样的 没有括号可以使用include,没有引号可以使用$_GET 可以参考[ctfshow web入门] web32,其中的所…...
三、TorchRec中的Optimizer
TorchRec中的Optimizer 文章目录 TorchRec中的Optimizer前言一、嵌入后向传递与稀疏优化器融合如下图所示:二、上述图片的关键步骤讲解:三、优势四、与传统优化器对比总结 前言 TorchRec 模块提供了一个无缝 API,用于在训练中融合后向传递和…...
C++算法之代码随想录(链表)——基础知识
(1)什么是链表 链表是一种线性数据结构。常见的单链表由两部分组成,value(存储节点的值)和next(存储指向下一个节点地址的指针)。链表的头节点称为head。创建链表一般使用结构体(str…...
oracle update 原理
Oracle 11g 中的 UPDATE 操作是数据库修改数据的关键机制,其核心原理涉及事务管理、多版本并发控制(MVCC)、Undo/Redo 日志、锁机制等 1. 执行前的准备 SQL 解析与执行计划: Oracle 解析 UPDATE 语句,生成执行计划&…...
蓝桥杯 15g
班级活动 问题描述 小明的老师准备组织一次班级活动。班上一共有 nn 名 (nn 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 nn 以内的正整数作为 idid,第 ii 名同学的 idid 为…...
webrtc pacer模块(一) 平滑处理的实现
Pacer起到平滑码率的作用,使发送到网络上的码率稳定。如下的这张创建Pacer的流程图,其中PacerSender就是Pacer,其中PacerSender就是Pacer。这篇文章介绍它的核心子类PacingController及Periodic模式下平滑处理的基本流程。平滑处理流程中还有…...
基于角色个人的数据权限控制
一、适用场景 如何有效控制用户对特定数据的访问和操作权限,以确保系统的安全性和数据的隐私性。 二、市场现状 权限管理是现代系统中非常重要的功能,尤其是对于复杂的B端系统或需要灵活权限控制的场景,可以运用一些成熟的工具和框架&…...
河北工程大学e2e平台,python
题目,选择题包100分! 题目,选择题包100分! 题目,选择题包100分! 联系🛰:18039589633...
BeautifulSoup 踩坑笔记:SVG 显示异常的真正原因
“这图是不是糊了?”以为是样式缺了?试试手动复制差异在哪?想用对比工具一探究竟……简单到不能再简单的代码,有问题吗?最后的真相:viewBox vs viewbox,preserveAspectRatio vs preserveaspectr…...
【AI提示词】创业导师提供个性化创业指导
提示说明 以丰富的行业经验和专业的知识为学员提供创业指导,帮助其解决实际问题并实现商业成功 提示词 # Role: 创业导师## Profile - language: 中英文 - description: 以丰富的行业经验和专业的知识为学员提供创业指导,帮助其解决实际问题并实现商业…...
【OpenCV 对图片做旋转操作】仿射=旋转+平移+缩放+剪切
OpenCV 中的旋转相关函数详解 OpenCV 提供了多种函数用于图像的旋转操作,主要分为 任意角度旋转 和 固定角度旋转。以下是常用函数及详细使用说明: 一、任意角度旋转 1. cv2.getRotationMatrix2D() 生成旋转矩阵,用于定义旋转参数。 函数原…...
【browser-use+deepseek】实现简单的web-ui自动化
browser-use Web-UI 一、browser-use是什么 Browser Use 是一款开源Python库,专为大语言模型设计的智能浏览器工具,目的是让 AI 能够像人类一样自然地浏览和操作网页。它支持多标签页管理、视觉识别、内容提取,并能记录和重复执行特定动作。…...
django数据迁移操作受阻
错误信息: django.db.utils.OperationalError: (1227, Access denied; you need (at least one of) the SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation)根据错误信息分析,该问题是由于MySQL用户 缺乏SYSTEM_VARI…...
MOS管的发热原因和解决办法
发热来源 如上图,MOS管的工作状态有4种情况,分别是开通过程,导通过程,关断过程和截止过程。 导致发热的损耗主要有两种:开关损耗、导通损耗。 导通损耗 导通损耗比较好计算,根据驱动电压VGS值可以得到MOS…...
4月11日随笔
本来以为大风会很厉害,本来今天早八的微积分不想去了。但是起床发现并没有很大的风,还是去了。 中午回来的路上突然变天,雷阵雨转冰雹。下了大概半小时,所幸挨淋的不是很严重。 中午打了首胜,AI的基本弄完了…...
科技项目验收测试怎么做?验收测试报告如何获取?
科技项目从研发到上市需要一个很长的周期,并且在上市之前还有一个至关重要的交付过程,那就是项目验收,验收需要通过验收测试来呈现。科技项目验收测试是确保项目成功交付的关键步骤,那么是如何进行的呢?企事业单位想要获取科技项…...
Java面试黄金宝典45
1. 非对称加密 RSA 定义:RSA 是一种广泛使用的非对称加密算法,其安全性基于大整数分解的困难性。它使用一对密钥,即公钥和私钥。公钥可公开用于加密消息,而私钥必须保密,用于解密由相应公钥加密的消息。要点: 公钥公开,私钥保密,二者成对出现。加密和解密使用不同的密钥…...
计算机网络学习前言
前言 该部分说明计算机网络是什么?它有什么作用和功能?值不值得我们去学习?我们该如何学习?这几个部分去大概介绍计算机网络这门课程,往后会介绍计算机网络的具体知识点。 1.计算机网络是什么? 计算机网…...
