4月 Binance 上新 @TheBittensorHub (TAO), 这个项目究竟做了什么可以令其在上大舞台前就已经在所有通证中排名前 30?
本文将深度解析。
该项目既不直接贡献数据,也不直接贡献算力。
而是通过区块链网络和激励机制,来对不同的算法进行调度和筛选,从而让 AI 领域形成一个自由竞争、知识共享的算法(模型)市场。
摘要
AI 时代三要素,算法(也就是模型)、算力、数据。对算力和数据该怎么结合区块链做分布式,我们相对有比较清晰的解决方案,但是对算法该怎么去中心化,怎么集中大家对力量进行算法共建、模型共建,这一直是个疑问。
Bittensor 解决了这个问题。
Bittensor 把ai分成不同任务,每条任务启动一个子网,每个矿工都提供自己所擅长任务上自己的模型,网络奖励在每个任务上做的最好的矿工。并且通过其独有的 Yuma 共识算法来保证各方参与者不作恶。
在通证经济学上,其通证 TAO 是个纯矿币,没有VC 轮、私募轮、ICO/IEO/IDO、基金会预留,获得通证的方式只有挖矿、在市场上买入。作为矿币,矿工在早期会有很强拉盘动力。现在全网 89% 的通证质押锁仓。
Bittensor 提供直接 ToC 的产品,聊天机器人,和为开发者服务的 API,用户体验不错。
背景 Part 1
AI 市场的问题
当前的问题:
当今时代的 AI model 过于依赖 benchmark,缺乏多样化的评判手段,导致赢家通吃。
当前每家的模型相对独立。
Bittensor 认为这对 整个 AI 的进步和算法创新效率都不利。互相孤立的模型、只选赢家的 AI 服务,意味着一旦有人想开发新的模型,可能必须从头开始;假设模型A精通西班牙语,模型B精通写代码,当一位用户需要让 AI 解释一下带西班牙语注释的代码时,显然两个算法合力输出效果最好,但目前环境下做不到;此外,由于第三方应用集成需要 AI 模型所有者的许可,有限的功能也意味着有限的价值,整个 AI 领域的合力实际上没有得到释放。因此,Bittensor 这个项目的大目标是,让不同 AI 的算法和模型能够互相协作、学习和组合,从而形成更强大的模型,更好的为开发者和用户服务。
背景 Part2
从 BTC 产生的思考
BTC 提供了一套记账服务,这个系统自身并不提供算力,其只定义了算力被验证的方式,也就是 POW 机制。
在 POW 机制的激励下,全世界的矿工想办法优化自己的矿机,寻找更低的电费,去更好的挖矿(提供 BTC 记账服务)。
不过我们知道这套 POW 是在做一种无意义的运算,但如果可以让全世界的矿工不断积极地寻找方法来降低在该市场上开采 TAO 的成本,优化算法,提升准确率,降低电费,从而提供更好的模型服务,想想就很好。
技术 Part 1
网络中的角色和职能
矿工:可以理解为全世界各种 AI 算法和模型的提供方,它们托管AI模型并将其提供给 Bittensor 网络;不同类型的模型组成了不同的子网,比如专攻图片或声音的模型。
验证者:Bittensor 网络内的评估者。评估 AI 模型的质量和有效性,根据特定任务的性能对 AI 模型进行排名,帮助消费者找到最佳解决方案。
提名者:将通证委托给特定验证者来表示支持,也可以换不同的验证者来委托。有点像 DeFi 中你将自己的通证质押给 Lido 获取收益。
用户:Bittensor 提供的 AI 模型最终使用方。可以是个人,也可以是谋求 AI 模型来做应用的开发者们。
技术 Part 2
角色之间的联系
用户 需要更好的 AI 模型;
矿工 提供自己的AI模型;
验证者 负责按照不同的用途筛选更好的 AI 模型;
提名者 选择支持不同的验证者。
说白了是一个开放的 AI 供需链条 : 有人提供不同模型,有人评价不同模型,有人使用最好的模型所提供的结果。
技术 Part 3
如何保证矿工&验证者不作恶:Yuma Consensus
在一个开放的网络中,没有中心化机构监督,服务的提供者自然很愿意做恶,从而“降本增效”。可能的做恶有:
矿工不好好运行模型服务,结果给的是随机数;
矿工只和和自己共谋的验证者连接,自己即是运动员也是裁判;
诚实节点可能因为网络原因,没有全连接,而大量不诚实的节点相互沟通,实现共谋。
Bittensor 为这个问题给出了一个解,这是笔者认为该项目最大的创新点。下面这段是本文的重点和难点。
技术 Part 4
为了讲明白 Bittensor 的解决方案,我们需要先讲几个机器学习中的基础知识:训练、损失函数、梯度下降。
(每进行一次训练,计算一次损失函数,之后进行能最好降低损失函数的方向,进行梯度下降)。
技术 Part5
好的,对这些概念有大概的认识后,回到 Bittensor。
Bittensor 把ai分成不同任务,每条任务启动一个子网。在子网创立的时候,创立者就会定义好这个子网需要完成什么任务(翻译,问答,图片生成等),并定义一个衡量指标(损失函数,BLEU等,下文以损失函数为例)。
我们有一些矿工,也有一些验证者,他们参与到一个 Bittensor 子网提供某种类型的 AI 服务。
如何衡量一个矿工的生成结果?
可信度评分:评判每个矿工是否可信
有些矿工可能因为网不好,跟一些验证者之间没有连接(验证者和矿工间的连接关系,白皮书中表示为 C 矩阵),
将这个值做个加权,权重用每个验证者的质押量(白皮书中 S),获得可信度评分(一个矿工和越多高质押量的验证者连接,这个值就越高,这个值在白皮书中是 T)。
效果评分:评判每个矿工的输出结果好坏
对每个矿工的结果做以下步骤:
每个连接该矿工的验证者 对这个矿工输出结果 使用自己的模型计算损失函数,进一步得出评分 (白皮书中 W),
不同验证者重要性不同,将每个验证者的质押量(白皮书中 S)作为权重乘上 第一步的结果,获得一个值,这就是所有验证者对这次结果的评分 (白皮书中 R)。
最终评分 = 效果评分 * 可信度评分(白皮书中 I)
依据每个矿工最终评分的 高低,直接分配通证 (白皮书中 St+1)
如何评判一个验证者?
设置一个损失函数,持续优化网络,这个函数的优化目标是想让:网络中有更多高评分的节点相互连接。
通证经济学 Part 1
TAO 通证在激励什么?
对验证者:对AI 模型的筛选和评估越准确和一致,获得的奖励就越多。显然,要成为验证者,当然需要质押一定数量的 TAO 通证;
对矿工:响应用户需求提供自己的模型,根据贡献获得 TAO 通证;
对提名人:将自己的 TAO 委托给验证者,类似流动性质押奖励;
对用户:支付 TAO 通证开启任务,等于消费。
通证经济学 Part 2
释放机制
TAO 的供应量为 21,000,000(致敬了 BTC),并同样有一个 4 年的减半周期,每 1050 万个区块,每个区块的奖励减半。一共将发生 64 次减半事件,最近的一个减半周期发生在 25 年 8 月。
目前每 12 秒,就会向网络中发送一个TAO。粗略计算,一天会有 7200 个 TAO 产出,矿工和验证者各拿一半。没有任何 VC 轮、私募轮、ICO/IEO/IDO、基金会预留等等常见套路,可以理解为纯粹的矿币。
通证经济学 Part 3
详细分析下释放是如何分配到每个子网的:
每隔 12s 释放的这一个 TAO,会按照一定百分比分分配给32个子网(根据每个子网的性能,由根子网 也就是 0 号子网决定)。然后再在每个子网内分给每个 矿工、验证者。
0 号子网的验证者是全网质押量最大的 64 位验证者,如果想要知道他们会怎么分配通证,可以在运行安装了本文档最后一部分的安装教程后,代码查看,metagraph.weights.shape 是个 torch.Size([64, 33]),其中包含了 64 个 validator 对每个子网重要性的权重。