Gensyn
![Image description](https://web3defi.org/assets/files/2023-11-07/1699331037-497243-image.png)
Gensyn 是一个还处于构建阶段的 AGI 算力市场,旨在解决去中心化深度学习计算的多种挑战,以及降低当前深度学习的费用。Gensyn 本质上是基于 Polkadot 网络上的第一层权益证明协议,它通过智能合约直接奖励求解者(Solver)换取他们的闲置 GPU 设备用于计算,并执行机器学习任务。
那么回到上文的问题,构建一个真正无需信任的计算网络核心在于验证已完成的机器学习工作。这是一个高度复杂的问题,需要在复杂性理论、博弈论、密码学和优化的交汇之间找到一个平衡点。
Gensyn 提出一个简单的解决方案是,求解者提交他们完成的机器学习任务的结果。为了验证这些结果是否准确,另一个独立的验证者会尝试重新执行相同的工作。这个方法可被称为单一复制,因为只有一个验证者会进行重新执行。这意味着只有一次额外的工作来验证原始工作的准确性。然而,如果验证工作的人不是原始工作的请求者,那么信任问题仍然存在。因为验证者本身可能也不诚实,而且他们的工作需要被验证。这导致了一个潜在问题,即如果验证工作的人不是原始工作的请求者,那么就需要另一个验证者来验证他们的工作。但这个新的验证者也可能不被信任,因此需要另一个验证者来验证他们的工作,这可能会一直延续下去,形成一个无限的复制链。此处需要引入三个关键概念并将其交织构建四个角色的参与者系统来解决无限链问题。
概率学习证明:使用基于梯度的优化过程的元数据来构建完成工作的证书。通过复制某些阶段,可以快速验证这些证书,从而确保工作已经如期完成。
基于图的精确定位协议:使用多粒度、基于图的精确定位协议,以及交叉评估器的一致性执行。这允许重新运行和比较验证工作以确保一致性,并最终由区块链本身确认。
Truebit 风格的激励游戏:使用抵押和削减来构建激励游戏,确保每个经济上合理的参与者都会诚实行事并执行其预期的任务。
参与者系统由提交者、求解者、验证者和举报者组成。
提交者是系统的终端用户,提供将被计算的任务,并支付已完成工作单位的费用;
求解者是系统的主要工作者,执行模型训练并生成由验证者检查的证明;
验证者是将非确定性训练过程与确定性线性计算联系起来的关键,复制解决者的证明的一部分并将距离与预期阈值进行比较;
举报者是最后一道防线,检查验证者的工作并提出挑战,希望获得丰厚的奖金支付。
系统运作
该协议设计的博弈系统运作将包括八个阶段,涵盖四个主要参与者角色,用于完成从任务提交到最终验证的完整流程。
1.任务提交 (Task Submission): 任务由三个特定的信息组成:
- 描述任务和超参数的元数据;
- 一个模型二进制文件(或基本架构);
- 公开可访问的、预处理过的训练数据。
2.为了提交任务,提交者以机器可读的格式指定任务的详细信息,并将其连同模型二进制文件(或机器可读架构)和预处理过的训练数据的公开可访问位置提交给链。公开的数据可以存储在简单的对象存储如 AWS 的 S3 中,或在一个去中心化的存储如 IPFS、Arweave 或 Subspace 中。
3.分析(Profiling): 分析过程为学习验证的证明确定了一个基线距离阈值。验证者将定期抓取分析任务,并为学习证明比较生成变异阈值。为了生成阈值,验证者将确定性地运行和重运行训练的一部分,使用不同的随机种子,生成并检查自己的证明。在此过程中,验证者将建立一个可用作验证解决方案的非确定性工作的总体预期距离阈值。
4.训练(Training): 在分析之后,任务进入公共任务池(类似于以太坊的 Mempool)。选择一个求解者来执行任务,并从任务池中移除任务。求解者根据提交者提交的元数据以及提供的模型和训练数据执行任务。在执行训练任务时,求解者还通过定期检查点并存储训练过程中的元数据(包括参数)来生成学习证明,以便验证者尽可能准确地复制以下优化步骤。
5.证明生成(Proof generation): 求解者周期性地存储模型权重或更新以及与训练数据集的相应索引,以识别用于生成权重更新的样本。可以调整检查点频率以提供更强的保证或节省存储空间。证明可以「堆叠」,这意味着证明可以从用于初始化权重的随机分布开始,或从使用自己的证明生成的预训练权重开始。这使协议能够建立一组已经证明的、预训练的基础模型(即基础模型),这些模型可以针对更具体的任务进行微调。
6.证明的验证(Verification of proof): 任务完成后,求解者向链注册任务完成,并在公开可访问的位置展示其学习证明,以便验证者访问。验证者从公共任务池中提取验证任务,并执行计算工作以重运行证明的一部分并执行距离计算。然后链(连同在分析阶段计算的阈值)使用得到的距离来确定验证是否与证明匹配。
7.基于图的精确定位挑战(Graph-based pinpoint challenge): 在验证学习证明之后,举报者可以复制验证者的工作以检查验证工作本身是否正确执行。如果举报者认为验证已被错误执行(恶意或非恶意),他们可以向合约仲裁发起挑战以获得奖励。这种奖励可以来自解决者和验证者的存款(在真正积极的情况下),或来自彩票库奖金池(在假阳性的情况下),并使用链本身执行仲裁。举报者(在他们的例子中是验证者)只有在期望收到适当的补偿时才会验证并随后挑战工作。实际上,这意味着举报者预计会根据其他活动的举报者的数量(即,具有实时存款和挑战)加入和离开网络。因此,任何举报者的预期默认策略是在其他举报者数量较少时加入网络,发布存款,随机选择一个活动任务,并开始他们的验证过程。在第一个任务结束后,他们将抓取另一个随机活动任务并重复,直到举报者的数量超过其确定的支付阈值,然后他们将离开网络(或更可能地,根据他们的硬件能力转向网络中执行另一个角色——验证者或求解者),直到情况再次逆转。
8.合约仲裁(Contract arbitration):当验证者被举报人质疑时,他们会与链条进入一个流程,以找出有争议的操作或输入的位置,最 终由链条执行最终的基本操作并确定质疑是否有理。为了保持举报人的诚实可信并克服验证者的困境,此处引入定期强制错误和头奖支付。
9.结算(Settlement): 在结算过程中,根据概率和确定性检查的结论来支付参与者。根据先前验证和挑战的结果,不同的场景会有不同的支付。如果认为工作已正确执行且所有检查都已通过,则根据执行的操作奖励解决方案提供者和验证者。
项目简评
Gensyn 在验证层和激励层上设计了一套精彩的博弈系统,通过找出网络中的分歧点能快速锁定错误所在,但目前的系统中还缺少很多细节。比如说如何设置参数才能保证奖惩合理,又不会门槛过高?博弈中的环节是否有考虑过极端情况与求解者算力不同的问题?在当前版本的白皮书中也没有异构并行化运行的详细说明,目前来看 Gensyn 的落地还道阻且长。