跳到正文
Prime Intellect Blog·· 3 小时前AI 评分62

Prime Intellect 提出 TOPLOC:面向无可信推理的局部敏感哈希方案

TOPLOC: A Locality Sensitive Hashing Scheme for Trustless Verifiable Inference

AI 导读

Prime Intellect 提出 TOPLOC,一种通过中间激活的紧凑局部敏感哈希来验证 LLM 推理的方法,实验中对模型、提示词或计算精度的未授权修改检测准确率达 100%。

正文 · AI 翻译

TOPLOC - 一种用于无可信验证推理的局部敏感哈希方案

我们介绍了 TOPLOC,一种新颖的可验证推理方法。TOPLOC 对中间激活采用紧凑的局部敏感哈希机制,在我们的实证评估中能够以 100% 的准确率检测对模型、提示或计算精度的未经授权修改。

该系统在多样化的硬件配置、GPU 类型、张量并行维度和注意力内核实现中保持稳健性,同时实现比原始推理快达 100 倍的验证速度。

TOPLOC 中使用的多项式编码方案将生成提交的内存开销降低了 1000 倍,对于 Llama-3.1-8B-Instruct,每 32 个新 token 仅需 258 字节存储,而直接存储 token 嵌入则需要 262 KB。这使得 TOPLOC 成为大规模部署的实用解决方案。

TOPLOC 易于在现代推理引擎中实现,并且足够高效,能够以极小的开销为不受信任的计算提供商执行的所有模型推理生成提交。

通过实现 LLM 推理计算的高效验证,TOPLOC 为构建开放且分布式的 AI 系统奠定了基础。

ICML 2025 海报: https://icml.cc/virtual/2025/poster/46281

论文: https://arxiv.org/abs/2501.16007

问题:LLM 推理中的信任

推理提供商经常调整计算方法以优化成本、效率或特定商业目标。虽然这些修改可以使推理更经济、更可扩展,但它们也可能影响提供给用户的服务质量、准确性和透明度。

  • 较低精度: 推理提供商可能使用较低精度的格式,从而减少计算和内存需求。
  • KVCache 压缩: 为了实现更快和更长的生成,提供商可能会压缩中间张量。
  • 模型权重更改: 提供商可能会蒸馏、合并或剪枝权重,以减少计算和内存需求。
  • 更改提示: 提供商可能会修改系统提示以符合其商业目标、纳入特定偏见或优先考虑某些结果。

TOPLOC

TOPLOC 算法使用紧凑、可验证的证明来编码和验证最后隐藏状态张量中最显著的特征。在生成阶段,推理提供商提交最后隐藏状态中的 top-k 值,验证者随后可以通过重新计算最后隐藏状态来验证这些值。由于并行化程度提高,验证可以比原始生成快得多。因为最后隐藏状态依赖于之前的隐藏状态,验证最后隐藏状态的正确性使我们相信之前的隐藏状态也是正确的。

Image

TOPLOC 详细概述:在生成响应时,我们需要对输入 token 执行一次预填充,然后为生成的每个新 token 执行多次解码。在验证时,我们可以一次性传入所有 token,只执行一次预填充。

在证明生成过程中,从张量中提取 top-k 索引和值,并计算单射模数 m 以唯一映射这些索引。索引及其对应的值被编码为多项式,该多项式与模数一起构成证明。

Image

为了进行验证,证明会被解码以检索 k、m 和多项式。重新计算 top-k 特征,并通过检查指数和尾数的差异来与证明进行比较。如果所有误差阈值均未超出,则验证成功。

Image

跨不同 GPU、注意力与张量并行实现的鲁棒性

为什么我们要费心去测量错误率并使用阈值?既然两种计算在代数上是相同的,我们难道不能直接取结果张量的相等性吗?

如果计算机能够精确且确定性地执行实数运算,我们本可以这样做。然而,现代计算机受限于其数字特性,使用浮点运算来对实数进行运算。浮点运算对计算顺序敏感——a + b + c 并不总是等于 c + b + a。因此,尽管在代数上重新排列计算理论上会产生等价结果,但在实践中并不会产生等价结果。

计算的代数重排可能在 GPU 上因各种原因发生:不同的 CUDA 版本、不同的 GPU 型号、不同的张量并行配置、内核实现,甚至仅仅是 GPU 调度器随心所欲地看似随机地发生。重写计算以增加并行化并加快验证速度会改变计算顺序,甚至可能改变用于矩阵乘法的 cuBLAS 内核。

当这种重排改变了计算中发生灾难性抵消的位置时,就会成为一个大问题。灾难性抵消是由于两个符号相反且量级非常接近的浮点数相加而产生的。由于 bf16 只有 7 位精度,这些抵消往往会导致出现精确的零。根据运算顺序的不同,这些精确零的位置也会受到影响。

有趣的是,这种行为揭示了一个显著特性:小值更容易受到舍入误差的影响,而大值在代数重排后往往能被一致地表示。这一见解促使我们在设计哈希函数时关注张量中的较大值。通过优先考虑这些大值,我们可以减少舍入误差的影响,并提高哈希函数的鲁棒性。

另一个显著特性是,当指数匹配时,尾数的差异很可能很小。代数重排后指数不匹配表明,该和处于精度溢出并递增指数的边缘。溢出的尾数很可能与未溢出的尾数非常不同。在我们的实验中,我们发现当指数字节匹配时,尾数的偏差很小,这使得尾数偏差成为一个合适的阈值,因为我们仅在指数匹配时才取差值。

Image

在我们的实验中,我们找到了一组阈值,这些阈值在不同 GPU、注意力与张量并行实现中都具有鲁棒性,同时仍能区分不同的模型、提示和计算精度。关于这些实验的更多细节可以在我们的论文中找到。

集成到流行的 LLM 推理引擎中

我们提供了一个与 vLLM 集成的 TOPLOC 的简单实现,用于高效推理和验证:https://github.com/PrimeIntellect-ai/toploc。

此外,我们维护了一个 SGLang 的分支,其中包含 TOPLOC 集成,从而能够在 SGLang 框架内实现可验证推理。

挑战与未来方向

尽管与现有方法相比,TOPLOC 在可验证推理方面是一个重大飞跃,但仍存在未解决的问题、挑战和未来方向,可以进一步提高 TOPLOC 在可验证模型计算中的覆盖范围和广泛应用:

  • 扩展到模型训练: 目前,我们仅探索了使用 TOPLOC 来验证 LLM 推理。然而,该方法也可以扩展到验证分布式模型训练。与推理类似,模型训练由于 GPU 调度而具有非确定性。梯度下降中一步的微小扰动会改变后续步骤的梯度,导致级联差异。这种级联也发生在 LLM 推理中,因为非确定性会改变 KV 缓存的内容,从而改变后续计算。探索我们的方法对 KV 缓存中级联差异的鲁棒性是否也能扩展到随机梯度下降,将会很有趣。
  • 扩展到不同模态和流水线: 当前工作仅探索了文本上的 LLM 推理。然而,人们有兴趣验证许多其他类型的模型推理。例如,我们可以将该方法扩展到验证多模态语言模型和稳定扩散文本到图像流水线的计算。只要我们有一个依赖于所有先前激活且理论上是确定性的激活张量(不调用任何随机数生成器),我们就可以应用 TOPLOC 来验证计算。
  • 推测解码和采样: 我们的方法目前无法检测推测解码,这需要检查采样算法的执行。
  • 不稳定的提示挖掘: 推理消费者可能会试图通过挖掘故意增加验证失败可能性的提示来利用系统。确保该方法能够抵御此类攻击,仍然是 TOPLOC 广泛用于验证推理计算的重要考虑因素。

为什么 TOPLOC 重要

验证模型推理是构建点对点 AI 的关键组成部分。通过启用推理验证,用户可以信任推理提供者,并审计可能影响下游系统的模型更改。随着 AI 驱动的代理在软件栈中占据更大比例,对可验证链上推理的需求将持续增长。

迄今为止,该领域的大多数努力都集中在为模型推理生成零知识(ZK)证明。然而,我们认为这种方法不太可能在不久的将来实现实际采用。ZK 证明生成和验证方法目前计算成本太高且速度太慢。即使在关于 ZK 方法进步的最乐观假设下,为推理生成 ZK 证明的成本仍将比原始推理计算高出 100 倍。

更实用的方法是使用重新计算来保护系统。重新计算还可以与前沿模型推理引擎无缝集成,而这对于 ZK 解决方案来说将是一个挑战。

使用重新计算中间激活值来验证无信任计算完整性的方法已在 arXiv:2405.00295 和 arXiv:2406.00586 等工作中得到探索。然而,这些方法要求计算是确定性的,因此不适合处理硬件非确定性。此外,它们无法利用验证中的代数捷径,例如我们所提出的那些。

TOPLOC 的优势

  • 在我们的实验中,对未经授权的修改实现了 100% 的检测准确率。
  • 在各种 GPU 和张量并行配置下均表现稳健。
  • 验证速度比生成更快(最高可达 100 倍)。
  • 与直接存储最后隐藏层数值相比,内存效率提升超过 1000 倍。

结论

随着 LLM 日益成为现代计算栈中不可或缺的一部分,确保推理提供方的完整性和可信度变得愈发关键。TOPLOC 通过为可验证推理提供一种实用、高效且稳健的解决方案,在应对这一挑战方面代表了重大进步。

TOPLOC 通过以下几项关键创新实现了这一点:

  1. 一种新颖的局部敏感哈希机制,能够以完美的准确率检测对模型、提示或精度的未经授权修改,且在不同硬件配置、GPU 类型和计算重排序下均保持稳健。
  2. 一种利用代数重写实现验证速度最高可达原始生成 100 倍的验证方法。
  3. 一种多项式编码方案,将证明存储开销降低 1000 倍

与 ZK 证明等现有方法会带来高昂的计算开销不同,TOPLOC 为推理提供方引入的开销可忽略不计。这种高效性,加上其与现代推理引擎的无缝集成能力,使 TOPLOC 成为在点对点 AI 中广泛采用的可行解决方案。

TOPLOC 使真正开放的分布式 AI 成为可能,用户可以默认信任推理提供方。这一信任基础对于新兴的自主 AI 和代理式商业生态系统至关重要。

展望

对于上周我们发布的 INTELLECT-MATH,聚焦于我们的首个推理和合成数据发布,我们提供了关于 推理-计算范式内的分布式训练 的展望:合成数据生成以及强化学习固有的并行特性,使其特别适合全球分布式环境。工作者可以独立运行,各自在验证者的监督下专注于自己的生成任务,无需频繁的直接通信,从而提供显著的可扩展性优势。

然而,这种分布式环境带来了一个关键挑战:我们如何确保工作者正确执行推理?如果他们秘密地用更小的模型替换原模型以降低成本呢?或者更糟,如果他们在提示中插入隐藏 token 以偏置生成结果呢?

随着 TOPLOC 的发布,我们距离解决这些信任挑战又近了一步,并期待在未来几周内将其应用于我们的早期实验中。

‍

来源:Prime Intellect Blog · primeintellect.ai