AI和区块链一定是结合在一起的。
实际上从第一天就开始了,ChatGPT账号的申请,多少人是通过区块链才弄出一张虚拟信用卡完成绑定和充值。作为AI的用户,我希望能够得到高质量的回复和私密的数据处理,至于数据在我的电脑本地处理还是云端,是自己买显卡还是付费给别人,只要价格合适都行。
如果我自己买显卡,那么我当然也希望在自己不用的时候能让它去帮别人算东西,赚点外快。这就像当年Grid项目一样。于是AI所需的算力应该是可以分散的,而不是集中在某个公司的服务器上。那么如何计费和收费,现有技术已经有了答案,就是建立在区块链上的智能合约。
反过来,看openai、各大GPU云服务商、serverless还是edge function,在计算GPT下一个token的时候,跟挖矿的动作也差不多:(根据输入)使用GPU,算一个给定长度的数值序列。所以,现在或者很快,也会有“AI矿场”吧,也许换个名字,突出“源源不断地生成”,比如“AI矿泉”。
当然,这里面还有几个技术困难。
- 我能否把自己的数据加密以后拿去给GPT/LLMA计算,拿到结果回来再解密仍然能够得到高质量的输出结果?
- 我能否把自己的数据加密以后拆分交给多个GPT/LLMA终端计算,拿到结果回来分别解密再合并仍然能够得到高质量的输出结果?
我想这应该是 #同态加密 的问题。如果加密->AI计算->解密的过程能够很顺利完成,那么对AI的监管是不可能完成的任务。对这样的AI,区块链也可能会真正成为不可或缺的必需品。
然后,我请教了一下GPT,是否能够在GPT,或者Transformer模型上应用同态加密。
GPT的回答是这样的:
Transformer模型在推理时主要使用了:
- 矩阵乘法:这是Transformer模型中最常见的运算,用于计算注意力分数,以及在前馈神经网络中。
- 加法:在计算注意力分数和前馈神经网络中也会用到。
- Softmax:在计算注意力权重时使用。
- Layer Normalization:在每个子层之后使用。
这些运算中,矩阵乘法和加法是可以在同态加密环境中直接进行的。然而,Softmax和Layer Normalization涉及到非线性运算和除法,这在同态加密中是更复杂的。尽管有一些方法可以在同态加密环境中近似这些运算,但这会增加计算复杂性,并可能影响结果的准确性。
我问:是否有可能将可以同态加密的运算放在远端服务器上运行,而难以同态加密的运算放在本地?
GPT答:
在Transformer模型中,矩阵乘法和加法的计算量通常远大于Softmax和Layer Normalization。
- 矩阵乘法和加法:这是Transformer模型中的主要运算,包括在自注意力机制中的查询、键和值的计算,以及在前馈神经网络中的线性变换。这些运算涉及到大量的矩阵乘法和加法,计算量非常大。
- Softmax:在自注意力机制中,用于计算注意力权重。虽然Softmax的计算复杂度也较高,但相比于矩阵乘法和加法,其计算量相对较小。
- Layer Normalization:是对每一层的输出进行规范化的操作,其计算量相比于矩阵乘法和加法也较小。
所以,从计算量上来看,矩阵乘法和加法的计算量远大于其他。
理论上,这是可行的。你可以将可以在同态加密环境中执行的运算(如矩阵乘法和加法)放在远程服务器上进行,而将无法在同态加密环境中直接执行的运算(如Softmax和Layer Normalization)在本地进行。
然而,这种方法有一些潜在的问题:
- 数据安全:虽然同态加密可以保护数据的隐私,但在本地执行其他部分时可能需要将一部分数据解密,这可能会暴露数据。
- 计算效率:同态加密的运算效率通常比普通的运算低得多,这可能会影响整体的计算效率。
- 结果准确性:由于需要在不同的环境中执行不同的运算,这可能会影响最终结果的准确性。
接着,Lyric在Github上找到了这样一个项目https://github.com/zama-ai/concrete-ml
这个项目的文档说,它可以在16-bit整数精度下全同态加密推断,换句话说目前很多对LLM压缩化简后的算法,是有可能在全同态加密下运行的。
未来可期!