← 返回 2026-06-11

我们的模型建立在哪些模型之上?现代大语言模型的隐形依赖审计 Which Models Are Our Models Built On? Auditing Invisible Dependencies in Modern LLMs

Sanjay Adhikesaven, Haoxiang Sun, Sewon Min 📅 2026-06-10 👍 3 2026-07-13 08:37
LLM生态 依赖分析 模型审计 透明度 递归追踪

ModSleuth系统递归重建LLM依赖图,揭示训练流水线中的复杂模型依赖关系

前置知识

模型卡片

模型卡片是一种标准化文档格式,用于描述机器学习模型的关键信息,包括训练数据、预期用途、性能指标、伦理考虑等。它由Mitchell等人在2019年提出,旨在提高模型透明度和可解释性。模型卡片通常包含模型架构、训练数据来源、评估结果、局限性、伦理考量等部分,帮助用户理解模型的能力边界和潜在风险。

本文分析的核心数据来源之一就是模型卡片,论文发现模型卡片、技术报告、代码仓库之间的依赖信息分散且不一致,需要整合多个来源才能重建完整的依赖图。理解模型卡片的内容结构和局限性,有助于理解ModSleuth系统如何从 heterogeneous 的公开文档中提取依赖信息。

DPO

DPO是一种用于对齐人类偏好的训练方法,全称为Direct Preference Optimization。与传统的RLHF方法不同,DPO不需要显式的奖励模型,而是直接从偏好对数据中学习优化策略。DPO使用一个简单的目标函数:\\mathcal{L}_{DPO} = -\\log\\sigma(\\beta\\log\\frac{\\pi_\\theta(y_w|x)}{\\pi_\\theta(y_l|x)} - \\beta\\log\\frac{\\pi_{ref}(y_w|x)}{\\pi_{ref}(y_l|x)})$,其中$(x, y_w, y_l)$是输入、偏好输出和非偏好输出的三元组,$\\beta$是温度参数,$\\pi_{ref}$是参考模型。这种方法简化了RLHF的流水线,成为现代LLM后训练的标准技术之一。

论文发现DPO训练中的偏好对往往由其他模型生成,这构成了重要的模型间依赖关系。例如Olmo 3的DPO训练脚本揭示了哪些模型生成了偏好对,包括GPT-3.5/GPT-4o偏好对源、多轮截断、去重和主题过滤。理解DPO的工作机制,有助于认识到现代LLM训练中模型间依赖的多样性和复杂性。

依赖图

依赖图是一种有向图结构,其中节点表示工件,边表示工件之间的依赖关系。在LLM语境下,节点可以是模型或数据集,边表示一个工件如何影响另一个工件。例如,如果模型A使用模型B生成的数据进行训练,则存在一条从B指向A的边,标记为generated_by。依赖图支持路径查询,可以追踪多跳依赖链,例如模型C依赖模型B,模型B又依赖模型A,则存在从A到C的两跳路径。图算法可以分析依赖结构,如计算中心性、查找循环、识别关键节点等。

ModSleuth的核心输出就是递归依赖图,这是论文理解现代LLM生态系统的基础工具。通过依赖图,ModSleuth发现了多跳许可证义务、训练-评估耦合、发布时和训练时工件之间的差异等问题。理解依赖图的概念和查询能力,有助于理解ModSleuth如何将分散的文档证据转化为可审计的结构化知识,以及如何通过图查询发现隐蔽的审计模式。

合成数据

合成数据是指由算法或模型自动生成的数据,而非直接从真实世界中采集。在LLM训练中,合成数据通常由强大的基础模型生成,包括指令-响应对、推理轨迹、偏好对、数学问题解答等。合成数据的优势在于可以快速大规模生成高质量训练数据,减少人工标注成本。然而,合成数据也带来风险:数据污染可能通过多跳路径级联、质量偏差可能从上游模型传播、许可证限制可能隐含在数据生成管道中。ModSleuth发现现代LLM训练越来越依赖合成数据,这构成了复杂的模型间依赖网络。

论文的核心发现之一就是现代LLM训练流水线严重依赖合成数据,而这又依赖其他模型来生成。例如,DR Tulu依赖ScholarQA轨迹数据,而ScholarQA的生成管道默认使用Claude Sonnet 3.7。理解合成数据的生成过程和潜在风险,有助于认识到ModSleuth揭示的许可证相关路径、模型中介选择等审计模式的重要性,以及为什么需要递归追踪才能发现这些隐藏的依赖关系。

验证集泄漏

验证集泄漏是指训练数据包含了评估基准的测试数据,导致模型在评估时表现虚高。传统意义上的验证集泄漏是直接的,如将GSM8K测试集加入训练数据。然而,ModSleuth发现了一种更隐蔽的形式:基准提示词、训练分割、辅助资源或验证环境被转换为训练工件,而同一基准家族仍然是评估目标。这种结构性的训练-评估耦合不容易通过常规的去污染方法检测,因为相关连接只在递归追踪多个依赖跳跃后才显现。例如,Olmo 3 IF-RLVR提示词的约束从IFEval和IFBench-Train采样,而IFEval也作为同一发布的评估目标。

ModSleuth的一个关键发现就是训练-评估耦合的普遍存在,这构成了重要的审计模式。论文发现GSM8K同时作为评估目标(25条边)和训练侧工件(43条边),MMLU、GPQA、MATH、IFEval、SWE-bench Verified等基准也类似。理解验证集泄漏的隐蔽形式,有助于认识到ModSleuth递归追踪的价值,以及为什么需要跨多个来源和多个跳跃才能发现这些结构性的评估偏差风险。

研究动机

现代大语言模型训练流水线越来越依赖其他模型来生成数据、重写文本、过滤语料库、判断输出质量和指导开发决策。这种依赖具有递归性质:一个模型可能依赖上游工件,而上游工件自身的依赖只记录在单独的发布版本和工件中。例如,追踪Olmo 3的依赖需要首先识别分散在其技术报告、模型卡和代码仓库中的上游工件,包括OCR系统、重写模型、偏好学习管道和合成数据集,然后对每个上游工件重复相同的过程。完整的依赖结构分散在异构的公共工件中,复杂性和递归深度远超人工手动追踪能力。这种缺乏透明度的依赖结构会带来具体后果:许可证限制可能通过上游合成数据集传播、数据污染可能通过多跳路径级联、评估可能存在循环风险,因为判断模型与被评估系统共享祖先。

本文的目标是本文的目标是形式化递归LLM依赖追踪任务,并提出ModSleuth系统,该系统从公开工件中递归重建证据锚定的依赖图。ModSleuth旨在解决现代LLM开发日益复杂和递归的依赖生态系统审计问题,通过将分散的公开证据转化为支持审计查询的结构化图,揭示难以从单一来源发现的许可证相关多跳路径、结构性训练-评估耦合、发布工件与训练工件之间的差异以及文档不一致性。

与已有工作不同的是,本文的独特切入角度是认识到审计现代LLM依赖不再主要是信息提取问题,而是语义和表示问题:确定什么构成依赖,以及在不一致的名称、版本、模型家族、开发阶段和仓库之间协调工件引用。现有披露机制(如模型卡、数据表、数据卡)提供有用的模式,但通常不完整且从根本上过于扁平,无法捕获递归、多阶段的依赖。现有审计方法(如生态系统映射、从权重或行为信号推断祖先、数据集溯源追踪)同样关注狭窄的血统概念,如初始化或训练数据,无法捕获上游模型塑造下游语言模型的多样化方式。ModSleuth通过形式化直接依赖和间接依赖的区别、通过以操作为中心的关系表示异构流水线角色、以及通过身份格解决跨名称、版本和仓库的工件身份,来应对这些挑战。

核心方法

ModSleuth的整体思路是使用智能体系统递归重建LLM依赖图,每个边都有来源锚定证据。直觉上,现代LLM的依赖信息分散在技术报告、模型卡、数据集卡、代码仓库、发布博客和链接的上游工件中,没有单一来源类型能够捕获现代LLM发布的完整依赖结构。ModSleuth采用三阶段流水线设计:首先收集目标发布的所有公开工件并按主题组织成批次;然后从每个源批次中识别依赖模型和数据集工件,将提取的提及映射到身份格;最后将分散在源中的证据转化为统一、证据锚定的依赖图,合并描述相同关系的声明,聚合支持证据。关键创新在于将发现与规范化分离、每个依赖声明必须锚定在源证据中并经过验证才能进入图、以及递归扩展以发现多跳依赖。当前实现使用Claude Code作为智能体框架。

ModSleuth的核心创新点包括三个方面:首先,形式化递归依赖追踪任务,区分直接影响模型权重或训练数据的直接依赖(如初始化模型、合成数据生成器、OCR系统、过滤模型)和不直接影响训练但实质性影响开发决策的间接依赖(如评估模型、消融变体、明确采用的方法配方)。其次,通过以操作为中心的关系表示依赖,每个边存储上游和下游工件、自由形式的角色描述、粗略的依赖类型标签和支持源片段。这比固定的依赖类型标签更能捕获现代流水线中多样化的、高度专业化的依赖关系。第三,将工件身份表示为身份格,每个工件家族包含用于未指定引用的根节点、部分解析身份的中间节点、以及锚定到具体URL或发布标识符的规范叶子。这允许依赖声明附在证据支持的最具体级别上,保留不确定性而不强制过早解析。这与已有方法的本质区别在于,ModSleuth明确建模依赖的语义(什么算依赖)和工件身份的表示不确定性,而现有方法主要关注信息提取和谱系推断。

方法步骤详情

ModSleuth的完整流程包括三个核心阶段和递归扩展。第一阶段:源收集。从目标发布开始,收集其官方公开工件,包括技术报告、模型和数据集卡、代码仓库、发布博客和链接的上游工件。为管理长上下文,收集的工件按主题相干批次组织,如与模型家族、训练阶段或数据集混合相关的所有资源。第二阶段:实体发现和解析。从每个源批次中识别依赖模型和数据集工件,记录它们在源中出现的提及以及支持证据片段。将提取的提及映射到身份格,如{family:Olmo 3, size:32B, stage:Think}。对于Hugging Face工件,确定性元数据检索验证规范URL,并在可用时递归遵循父级、子集和派生关系。第三阶段:依赖构建和协调。根据解析的身份格重新读取每个源批次,允许智能体使用格搜索工具将提及解析到证据支持的最具体节点并发出结构化操作。每个边记录上游和下游工件、自由形式的角色描述、粗略的依赖标签和支持源片段。合并描述相同关系的声明,聚合支持证据。递归扩展:将相同管道递归应用于发现的上游工件,每个新发现的模型或数据集都可以成为追踪目标,其官方工件被收集、解析、关联和协调到全局图中。用户可以选择广度优先搜索以获得最大覆盖、深度优先搜索以针对性调查特定链、或束搜索以在每个深度扩展前K个结构中心祖先。每步的输入是工件批次或身份格,输出是解析的实体或依赖边。具体操作包括元数据检索、身份格查找、证据锚定、冲突标记等。

技术新颖性

ModSleuth的技术新颖性体现在多个层面。在问题形式化层面,这是首次明确提出递归LLM依赖追踪作为独立任务,区分直接依赖和间接依赖,并定义证据锚定的依赖图作为输出表示。在表示层面,身份格的概念用于建模工件身份的不确定性,这是处理异构、不一致文档中工件引用的关键创新。以操作为中心的依赖表示比固定类型标签更能捕获现代LLM流水线中多样化的、高度专业化的依赖关系。在算法层面,三阶段流水线设计将发现与规范化分离,防止过早解析引入错误;每个依赖声明必须锚定在源证据中并经过验证才能进入图,确保图的证据可审计性;递归扩展机制将分散的单跳证据转化为可审计的依赖图。在应用层面,ModSleuth首次在LLM生态系统中实现了大规模依赖审计,恢复了1060个验证的依赖关系和1654个前向可达关系,揭示了多跳许可证义务、训练-评估耦合、模型中介选择等审计模式。这些发现难以从任何单一来源获得,展示了递归依赖追踪的价值。与现有工作相比,ModSleuth不依赖参数谱系推断,而是从公开工件中重构声明的依赖,这能够捕获许多对模型参数没有或几乎没有痕迹的依赖,如过滤、OCR预处理、重写、评估判断和合成数据生成。

Overview of ModSleuth
Figure 2: Overview of ModSleuth

实验结果

ModSleuth在四个LLM发布版本上恢复了2526个工件节点、9112条依赖边和36187个证据锚点。其中1443个节点是数据集,1083个节点是模型。在实验评估中,ModSleuth显著优于所有单提示基线。在深度-1范围(只计算主题是目标模型本身的关系)下,ModSleuth恢复了484个验证关系,比最强基线(GPT-5.5 Pro的314个)高54%。在无界范围(计算T的递归调查中发现的所有在合并图中从前向可达T的关系)下,ModSleuth恢复了1060个验证关系,是最强基线的3倍以上。在前向BFS可达性下,恢复的图包含1654个验证的前向可达关系。对于Olmo 3,ModSleuth恢复了182个深度-1边和305个无界边,对应90个外部模型(如openai/gpt-4.1、Qwen/Qwen3-32B、Qwen/QwQ-32B)和13个内部Ai2模型。对于Nemotron 3,恢复了237个深度-1边和613个无界边。DR Tulu恢复了42个深度-1边和44个无界边。SmolLM3恢复了23个深度-1边和98个无界边。外部依赖占主导地位:Olmo 3的75.3%验证边来自外部组织,Nemotron 3为76.2%,DR Tulu为82.3%,SmolLM3为75.6%。在按审计角色分解的验证边中,直接依赖(1191边,72.0%)占主导,包括训练输入(813边)、训练数据上的上游操作(350边)和权重级模型谱系(28边)。间接依赖(463边,28.0%)包括评估/消融(360边)和方法论/审计影响(103边)。论文还发现了多个关键审计模式,包括多跳上游模型、训练-评估耦合、许可证相关路径、模型中介选择、代码级溯源和缓解措施。

Evaluation by target model
Table 1: Evaluation by target model
Verified dependency edges grouped by audit role
Table 2: Verified dependency edges grouped by audit role
Audit roles and their constituent relation types
Table 3: Audit roles and their constituent relation types
Internal vs. external dependencies per target
Table 4: Internal vs. external dependencies per target
查看结构化数据
任务指标本文基线提升
LLM依赖关系恢复 验证的依赖边数量 ModSleuth (无界): 1060; ModSleuth (BFS可达性): 1654 GPT-5.5 Pro: 314; GPT-5.4 Pro: 283; Claude Code单提示: 275; ChatGPT Deep Research: 171 相比最强基线提升238% (1060 vs 314)
Olmo 3深度-1依赖 验证的依赖边数量 ModSleuth: 182 GPT-5.5 Pro: 59; GPT-5.4 Pro: 87; Claude Code单提示: 91; ChatGPT Deep Research: 37 相比最强基线提升100% (182 vs 91)
Nemotron 3深度-1依赖 验证的依赖边数量 ModSleuth: 237 GPT-5.5 Pro: 156; GPT-5.4 Pro: 75; Claude Code单提示: 78; ChatGPT Deep Research: 70 相比最强基线提升52% (237 vs 156)
Olmo 3无界依赖 验证的依赖边数量 ModSleuth: 305 GPT-5.5 Pro: 59 (深度-1) 递归追踪带来的提升417% (305 vs 59)
外部依赖比例 来自目标组织外的验证边百分比 Olmo 3: 75.3%; Nemotron 3: 76.2%; DR Tulu: 82.3%; SmolLM3: 75.6% N/A 揭示了LLM生态系统的高度互联性

局限与改进

作者承认了几个局限性。首先,ModSleuth从公开可用的工件重构依赖,因此无法恢复未记录、专有或无法访问的依赖。因此,生成的图应解释为真实依赖结构的证据锚定下限,对于闭源或部分披露的发布,差距可能最大。其次,完整的真值依赖图不存在,使得绝对召回难以测量。评估因此集中在四个具有广泛支持工件的LLM发布,虽然这些模型提供了具有挑战性和现实的测试床,但未来工作需要评估在文档不太全面的生态系统中的覆盖。第三,ModSleuth和自动验证管道都依赖Claude Code。虽然验证受到显式证据锚定和确定性验证规则的约束,但共享的建模偏差仍可能影响两个阶段。基于不同模型家族的独立验证管道将提供更强的提取质量评估。最后,比较集中在完全自动化的基线。论文不评估专家用户迭代引导通用智能体通过依赖追踪过程的设置。这种人在环工作流可能会缩小性能差距,并有助于分离ModSleuth任务分解的贡献和底层智能体能力的贡献。此外,从论文结构和内容来看,ModSleuth识别的是声明的依赖而不是真实的依赖,意味着检测到的依赖可能只代表实际依赖的下限。对模型的比较,包括Qwen3等中间模型,应谨慎解释,因为模型可能由于有限的公开披露而显得具有更少或没有依赖。验证依赖关系的数量虽然是一个客观指标,但不一定能完全反映依赖图的质量或审计价值。论文没有详细报告假阳性和假阴性率,使得难以全面评估ModSleuth的准确性。

独立分析的弱点

独立分析来看,ModSleuth存在几个弱点。首先,ModSleuth的评估指标依赖于验证依赖关系的数量,但没有明确报告假阳性率和假阴性率,这使得难以评估提取的准确性和完整性。具体场景是:ModSleuth可能错误地识别了不存在的依赖,或者遗漏了实际存在的依赖,而论文没有提供这些定量分析。改进方向是引入人工标注的小规模真值图,报告精确率、召回率和F1分数,或开发多验证器投票机制。其次,ModSleuth依赖Claude Code作为智能体框架和验证器,这引入了模型特定的偏差。具体场景是:Claude Code可能对某些类型的依赖描述或文档格式有偏好,导致依赖提取不均衡。改进方向是集成多个LLM家族(如GPT、Qwen、Gemini)作为提取器和验证器,比较结果的一致性。第三,ModSleuth只处理公开工件,无法访问私有或内部文档,这导致恢复的依赖图可能严重低估真实依赖。具体场景是:工业界发布的LLM可能使用大量内部工具和私有模型,这些依赖完全不可见。改进方向是开发半自动化工具,辅助开发者披露内部依赖,或基于模型行为推断未声明的依赖。第四,身份格虽然优雅,但在处理高度模糊的引用时可能仍然不足。具体场景是:当论文提到'32B模型'而不指定家族时,身份格可能无法正确解析。改进方向是引入更上下文感知的身份解析机制,利用周围文本和元数据。第五,递归扩展策略(BFS/DFS/束搜索)的选择影响图的覆盖范围,但论文没有系统比较这些策略的权衡。改进方向是进行消融实验,分析不同搜索策略在覆盖、效率和发现关键路径方面的表现。

未来方向

作者提出的未来工作方向包括:评估在文档不太全面的生态系统中的覆盖,这可能涉及更多闭源或部分披露的模型;开发基于不同模型家族的独立验证管道以提供更强的提取质量评估;研究专家用户迭代引导通用智能体通过依赖追踪过程的人在环工作流。基于ModSleuth的成果可以延伸的研究方向包括:推断未报告的依赖,即从模型权重、行为信号或输出模式中推断未在公开文档中声明的依赖;扩展依赖语义,捕获更多类型的模型间影响,如架构借鉴、训练技巧采纳、超参数继承等;开发实时依赖监控工具,在新模型发布时自动追踪和更新依赖图;研究依赖图中的生态系统级模式,如中心性指标、模型家族的影响力传播、依赖链的长度分布等;开发许可证和条款合规性分析工具,自动追踪许可证义务在多跳依赖链中的传播;研究训练-评估耦合的检测和缓解方法,自动识别基准作为训练数据的转换使用;构建LLM生态系统知识图谱,将依赖图与其他关系(如作者、机构、引用、性能)整合,支持更复杂的查询和分析;开发依赖图的交互式可视化工具,支持审计者探索依赖链、识别风险路径、查询特定模式的依赖关系。

复现评估

ModSleuth的开源情况良好,论文提供了代码和数据集。代码托管在https://github.com/cal-data-audit/modsleuth,依赖图和交互式演示在https://modsleuth.cal-data-audit.org。这表明核心算法和实现的细节是公开的。数据方面,ModSleuth使用的是公开工件,包括技术报告、模型卡、数据集卡、代码仓库等,这些都是可访问的。论文提到的四个目标模型(Olmo 3、Nemotron 3 Super、DR Tulu、SmolLM3)都是公开发布的,具有丰富的支持工件。算力方面,ModSleuth主要依赖Claude Code API,论文没有明确报告具体的算力消耗或成本。由于是使用商业API,复现可能需要相应的API访问权限和预算。难度方面,ModSleuth的三阶段流水线相对清晰,身份格和操作中心的依赖表示概念明确。主要的复现挑战可能在于:与Claude Code API的集成需要正确的配置和权限;身份解析逻辑需要正确处理Hugging Face等平台的元数据;验证管道需要独立实现或使用相同的Claude Sonnet 4.6模型;递归扩展策略需要正确实现以避免无限循环或重复处理。总体而言,ModSleuth的复现难度中等偏高,主要挑战在于API集成和复杂的身份解析逻辑,但开源的代码和数据集大大降低了复现门槛。