第14章:全球首个链上大语言模型

CountableMagic 发布于 2024-03-15 阅读 46

Modulus Labs 成功完成了对 1.5B 参数 GPT2-XL 模型的完整 ZK 证明,并首次在以太坊上链验证。他们使用通用 ZK 证明器 Halo2 进行了 144 个子块的证明,总耗时超过 200 小时,证明密钥占用超 10TB 存储。相比原生推理,通用 ZK 证明引入了约 112 万倍的开销。这一里程碑表明 ZKML 的可行性,但通用证明器效率低下,专用证明器(如自家的 Remainder)是实用化的关键。

“我认为在零知识中证明大型AI模型是不可能的。”

—— 匿名远古文本。来源和日期未知。

以太坊说出了它的第一个词

我们激动地宣布,在3月13日,我们最终完成了对完整15亿参数GPT2-XL的ZK证明。

然后我们在链上验证了它。这意味着,它被永久且不可篡改地铭刻在以太坊区块19427725上 —— 有史以来第一个具有区块链安全性的LLM输出的记录。

而它说的是:

“magic”

我们正在顺利前行 ;)

这就是我们如何走到今天的故事。

“通用 vs 专用”

在2023年底,我们开始收尾我们关于_Remainder_的初始工作,我们的自定义GKR证明器,它是为AI推理从零构建的。这个时刻令人兴奋,有几个原因。

首先,这意味着在Modulus的历史上,我们终于能够将我们的工作转移到我们自己的技术栈上,而这个技术栈本身是基于我们一年前的洞察构建的。

随着初始基准测试结果陆续出来,已经暗示证明器效率有1000倍的提升,我们非常高兴地看到我们关于专用证明器的假设似乎终于成为现实。

然而,谨慎地说,这也意味着我们可能第一次要告别使用通用证明系统的时代——那些为灵活性而设计、支持复杂虚拟机操作的ZK方案。毕竟,与这些系统共度的时光给了我们:

但我们受够了 ZKML中通用证明器庞大的开销。正如我们所料,在过去的几个月里,利用Remainder无与伦比的性能,我们已经打造了:

尽管取得了进展,但仍有两点令人困扰:

  1. 我们真的能ZK证明今天主导AI潮流的大规模AI模型——LLM吗?
  2. 同样关键的是,在这些领域中,是否真的需要专用证明器的方法?

“管他呢,为什么不 [LLM]”

大型语言模型,除了其他特点外,就是大。即使是硬件最友好的现代语言模型,参数量也轻易超过十亿。

这使得它们在ZK场景中特别棘手。毕竟,ZK证明本身就是一个极其昂贵的操作

但是,随着先进AI——尤其是LLM——被引入我们的法律金融医疗安全领域,对防篡改AI查询的需求似乎只会越来越大。因此,我们首先找到了一个适合ZK基准测试的优秀LLM基础模型。

我想念托尼。我们能把他换回埃隆吗?

我们选择了OpenAI的GPT2-XL。尽管相对于现代LLM如GPT-4的性能已经过时,但它对于zkLLM基准测试提供了两个关键特性:

  1. GPT2-XL超过了十亿参数阈值——LLM开始有用的通用复杂程度
  2. GPT2-XL的架构相对简单,仅由48个统一大小的解码器块组成,这些块依次馈入下一个(参见这个精彩的图示!),使得电路化更容易

此外,与之前针对更小LLM进行ZK证明(从而削弱基准测试结果的相关性)或完全跳过链上结算(LLM结果实际上从未被结算到以太坊——直到现在)的尝试不同,这次测试不能走捷径。

因此,我们继续在Halo2(通用ZK证明器的典型代表)中进行证明。然后我们递归聚合了正确的SNARK验证,压缩结果以进行最终链上结算。

尽管通用证明器工具已经成熟,GPT2-XL相对简单,但这项任务仍然极其困难:

  • 首先,我们尝试分别证明每个解码器块,创建48个证明,然后可以多阶段方式聚合,将一个块的输出与后续块的输入链接起来
  • 然而,仅一个约3000万参数的块就已经让Halo2证明器不堪重负。对于我们的云集群(配备1TB RAM内存条和128核CPU),内存爆炸了
  • 相反,我们进一步将每个解码器块分解为三个子块(参见此参考文献的图示分解):层归一化 + 自注意力块,第一个线性层 + Gelu,以及第二个线性层 + Dropout + 残差连接

每个子块大约代表1000万参数的计算量,总共48 * 3 = 144个子块。在聚合所有子块的性能后,我们得到了使用通用方法将有用的LLM输出带到链上的实际成本:

  • 生成证明密钥的总时间为327,916秒——在128核CPU和1TB RAM的单台机器上运行超过91小时
  • 这144个证明密钥占用了超过10TB的磁盘空间
  • 144个子块的总证明时间为322,774秒——接近90小时(在同一台单机上运行)

我们做到了!200多个小时后,在一台128核CPU和1TB RAM的机器上,我们完成了全球首次对超十亿参数LLM推理过程的完整ZK证明!

“通用证明器的天鹅之歌”

好吧,这太棒了。我们成功回答了这篇博客开头的第一个问题,同时也为我们的收藏增添了另一项世界纪录——不错!

但对于关注绝对性能的人来说,情况并不乐观……事实上,与仅推理相比,通用ZK证明带来了1,125,761倍的开销(是的,你没看错——那是100万倍的开销!!)。与Remainder的最新基准测试相比,通用方法的计算负担高出1,000到10,000倍……

哎哟。想象一下这对大规模部署可验证LLM意味着什么。

我们在EthDenver的BASS演示幻灯片

对我们来说,要真正扩展可验证AI,我们需要专用化。事实上,随着AI安全、可解释性和合规性领域的复杂格局出现,AI问责性的终极技术似乎比以往任何时候都更为重要。

而我们比你想象的更接近了 ;)

“扬帆远航”

这……对我们来说是一个非常酷的时刻。当我们最初创办Modulus时,能否在ZK中证明任何AI模型本身就是不清楚的。而一年多一点后的今天,我们在链上结算了全球首个对10亿+参数LLM查询的ZK证明。

更棒的是,我们也知道了接下来需要做什么,才能使zkLLM查询在实际中大规模可行。我们提到过已经有应用渴望利用这种可问责的超能力了吗?

关于这两点不久会有更多内容。敬请期待……

今天就到这里!请确保通过我们的Twitter关注Modulus的最新动态,订阅我们的博客,对于所有关于ZKML的内容,你已经找对了地方。

“欢迎来到 一个纯粹想象的世界 ……”

  • 原文链接: medium.com/@CountableMag...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论