2022年11月ChatGPT的推出让各行业的玩家对大型语言模型AI有了新的认识。这种热潮渗透到了加密货币领域,本文旨在介绍AI的发展、当前状态以及AI与加密货币结合所催生的行业。
机器学习(ML)是一种具有经验学习能力的技术,它通过从大量数据集中学习来区分动物、语言翻译和其他特定任务。机器学习是当前实现人工智能的最实际的方法之一,根据学习的数据是否标记以及其特征,可以分为监督学习和无监督学习。
完成监督学习的模型有很多种,包括基于树的模型、图模型以及最近出现的神经网络。随着计算能力和数据的快速发展,深度学习在神经网络架构的基础上得到了进一步发展。当前的深度学习架构通常包括但不限于卷积神经网络(CNN)、递归神经网络(RNN)和注意力机制。
机器学习的分类,来源:HashKey Capital
不同的深度学习网络具有输入层、隐藏层和输出层的基本架构。输入层通常是经过处理的文本、视频、音频和其他数据(如“标记化/嵌入”)。隐藏层的设计(模型形状)根据数据集和任务目的的不同而有所不同,如表所示。
神经网络的类型,来源:HashKey Capital 整理
神经网络发展的30年历程,来源:HashKey Capital整理
神经网络的训练最早可以追溯到20世纪80年代中期,乔丹(Jordan)在其1986年论文《序列顺序:并行分布处理方法》中训练了一个神经网络来学习序列模式。该网络非常小,只有少量的神经元。
到了1990年代,杰弗里·埃尔曼(Jeffrey Ehrman)扩展了神经网络,开发了一个50个神经元的网络,并发现该网络能够根据词义进行空间聚类。例如,它可以将无生命和有生命的名词分开,在有生命物体中,进一步将人类和非人类进行细分,而无生命物体则分为易碎和可食用。这表明神经网络具有学习层次解释的能力。
他进一步观察到,单词可以表示为高维空间中的点,单词或句子的序列可以被视为路径。这个重大的突破使得文本数据集得以数字化、向量化,并通过计算机进行处理。
来源: http://3b1b.co/neural-networks
2011年,Confluence的研究人员训练了包含数千个神经元和数百万个连接的更大规模网络,并发现了该网络在保持长序列上下文连贯性方面的瓶颈。
2017年,OpenAI基于Kathy的研究,使用8200万条亚马逊评论进行训练,发现了情感神经元。这些神经元能够完美地分类文本的情感。
资料来源:学习生成评论并发现情绪
关于上下文大小的限制,2017年《Attention Is All You Need》论文提出了一个解决方案。该论文创建了一个动态层网络,能够根据网络的上下文动态调整连接权重。其工作原理是通过允许输入中的单词相互查看、比较,并找到最相关的单词。概念上越接近的单词在空间上也越接近,并且可以拥有更高的连接权重。不过,该论文仅专注于翻译问题。
因此,OpenAI的研究人员尝试了更强大的Transformer架构,并在2020年推出了GPT-3,这一模型引起了全球各行业的广泛关注。GPT-3的网络规模达到了1750亿参数、96层以及1000词的上下文窗口。
以以下28x28像素的数字图像为例,神经元对应于28x28输入图像的每个像素,总共包含784个神经元。神经元中的数字表示激活值,范围从0到1。
28x28 像素数字图像,来源: http://3b1b.co/neural-networks
这784个神经元构成了网络的输入层。最终的输出层包含十个神经元,分别代表数字0到9,其激活值范围同样为0到1。中间层为隐藏层,在神经网络运行过程中,上一层的激活值决定了下一层的激活值。
深度学习的深度在于模型学习了多层的变换,每一层都有不同的表示方式。例如,正如下图中的数字9所示,不同的层可以识别不同的特征。输入层越靠近数据的低级细节,而输出层则越接近可以用来区分的更具体的概念。
来源: http://3b1b.co/neural-networks
随着模型规模的扩大,中间的隐藏层涉及每层数千亿的权重,这些权重和偏差实际上决定了网络的行为。机器学习的过程就是寻找正确的参数,即权重和偏差的过程。
在GPT等大型语言模型中使用的Transformer架构包含一个中间隐藏层,由96层解码器模块组成,其中GPT1、GPT2和GPT3分别有12层、48层和96层。解码器模块包含注意力机制和前馈神经网络组件。
计算或学习过程涉及定义一个代价函数(或损失函数),该函数将网络计算的输出预测与实际值之间的差异平方求和。当总和较小时,模型的表现就处于可接受的范围内。
训练从随机参数化网络开始,并通过寻找能最小化代价函数的参数来确定最终的模型参数。收敛代价函数的方法是通过梯度下降法,它通过检查每个参数变化对代价/损失的影响程度,然后根据影响程度调整参数。
计算参数梯度的过程引入了反向传播算法(backpropagation),该算法根据链式法则从输出层到输入层反向遍历网络。同时,算法需要存储任何用于计算梯度的中间变量(偏导数)。
在训练AI大型语言模型时,有三个主要因素影响其性能,分别是模型参数的数量、数据集的规模和计算资源的量。
来源:OpenAI 报告,神经语言模型的缩放定律
这与现实中数据集和计算机(计算能力)的发展趋势一致,但从下表中也可以看出,计算能力的增长速度快于可用数据的增长,而内存的发展则是最慢的。
数据集、内存和计算能力的发展,来源: https://github.com/d2l-ai
面对大型模型,当训练数据过少时,容易出现过拟合的情况。通常,随着数据量的增加,更复杂模型的准确性会得到提升。关于大型模型所需的数据量,可以依据“10倍规则”来决定,即数据量应为参数数量的10倍,但有些深度学习算法采用1:1的比例。
监督学习需要使用标记数据集和特征数据集来得出有效结果。
来源:Fashion-MNIST 服装分类数据集
尽管过去十年或二十年数据量迅速增加,当前的开源数据集包括Kaggle、Azure、AWS、Google数据库等,但由于隐私问题、模型参数增加和数据可重复性问题,有限、稀缺且昂贵的数据逐渐成为AI发展的瓶颈。为缓解这一问题,提出了不同的数据解决方案。
数据增强技术可能是有效的解决方案,通过在不获取新样本的情况下为模型提供不足的数据,例如缩放、旋转、反射、裁剪、平移、添加高斯噪声、mixup等。
合成数据是另一种选择。合成数据是通过计算机模拟或算法人工生成的数据,可以有或没有先前的参考数据集。关于合成数据生成工具的开发,Ian J. Goodfellow发明了生成对抗网络(GAN),这是一种深度学习架构。
GAN训练两个神经网络相互竞争,可以从给定的训练数据集中生成新的、更真实的数据。该架构支持生成图像、填补缺失信息、为其他模型生成训练数据、基于2D数据生成3D模型等。
该领域的发展仍处于早期阶段,大多数从事合成数据的公司成立于2021年或2022年,少数在2023年。
合成数据公司的融资状况。来源 : https://frontline.vc/blog/synthetic-data/
AI训练过程涉及大量矩阵操作,从词嵌入、Transformer的QKV矩阵,到softmax操作等等。通过这些矩阵操作,整个模型的参数也被承载在矩阵中。
向量数据库的示例,来源: https://x.com/ProfTomYeh/status/1795076707386360227
大型模型带来了巨大的计算机硬件需求,这主要分为训练和推理两部分。
预训练和微调可以进一步细分为训练过程。正如之前提到的,构建网络模型首先需要随机初始化参数,然后训练网络并持续调整参数,直到网络的损失值达到可接受范围。预训练和微调的区别在于:
预训练从每层参数的随机初始化开始,而微调则可以直接使用之前训练模型的某些层的参数作为本任务的初始化参数(冻结之前层的参数),并在特定数据集上进行调整。
来源: https://d2l.ai/chapter_computer-vision/fine-tuning.html
预训练和微调都涉及模型参数的变化,最终导致模型或参数的优化,而推理则是在用户输入后加载模型进行计算,从而获得反馈和输出结果。
在计算机需求方面,预训练、微调和推理的排名从最大到最小。下表比较了训练和推理的计算机硬件需求。由于计算过程和准确性要求的不同,两者在计算能力、内存和通信/带宽方面的硬件需求差异显著。同时,计算能力、内存和通信/带宽之间存在一个不可能的三元悖论。
*该表中的统计测量基于单个模型处理单个令牌的情况,即单个参数。
*FLOPs:每秒浮点运算次数,矩阵计算的数量。
*DP, TP, PP:数据并行、张量并行、流水线并行。
计算机硬件的训练与推理比较,来源:HashKey Capital整理
训练神经网络的过程需要在前向传播和反向传播之间交替进行,利用反向传播给出的梯度来更新模型参数。而推理则只需要前向传播。这一差异成为影响训练和推理计算机硬件资源需求的主要因素。
在计算能力方面,如表所示,模型参数数量与计算能力消耗之间存在简单的乘法关系,其中训练需要6–8倍的浮点运算,而推理只需要2倍。这是因为训练涉及的反向传播需要的计算能力是前向传播的两倍,因此训练的计算能力消耗远高于推理。
在内存方面,训练中使用的反向传播重用在前向传播中存储的中间值,以避免重复计算。因此,训练过程需要保留中间值,直到反向传播完成。训练过程中的内存消耗主要包括模型参数、前向计算生成的中间激活值、反向传播计算生成的梯度以及优化器状态。推理阶段不需要反向传播,也不需要优化器状态和梯度等,其内存消耗远小于训练。
在通信/带宽方面,为了提高AI训练性能,主流模型训练通常使用三种并行策略:数据并行、张量并行和流水线并行。
资料来源:OpenAI, https://openai.com/index/techniques-for-training-large-neural-networks/
对于这三种策略,预计张量并行(TP)的通信频率最大,通信量最高,与代币数量、模型宽度和层数相关。流水线并行(PP)的通信量和频率小于张量并行,且与代币数量和模型宽度相关。数据并行(DP)的通信量和频率最小,并且与输入代币无关。
大型模型在计算机硬件资源方面的瓶颈主要受限于计算能力、带宽/通信和内存,这三者之间存在制衡关系,导致了不可能三元悖论。例如,由于通信瓶颈,无法通过单纯优化单台计算机的计算能力来提升集群性能。
因此,尽管采用并行架构来加速集群性能,但大多数并行架构实际上会为了计算能力而牺牲通信或存储。
牺牲通信和存储以提升计算能力:
在流水线并行(PP)中,如果将每层Transformer分配给一个GPU,尽管计算能力在时间单位内增加,但层间的通信需求也增加,导致数据量和延迟的增加。同时,前向传播的中间状态存储需求会极快地增加。
牺牲通信以提升计算能力:
在张量并行(TP)中,每个Transformer被拆分为并行计算。由于Transformer包含两个组件(注意力头和前馈网络),任务可以在层内拆分为注意力头或前馈神经网络。这种TP方法可以缓解由于GPU无法容纳模型而导致的PP层级过多的问题。然而,这种方法仍然存在严重的通信开销。
在本文中,我们认为目前在加密领域主要有以下几类AI:
资料来源:HashKey Capital 整理
如前所述,AI中最关键的三个组成部分是数据、模型和计算能力,它们作为基础设施来赋能加密AI。
它们的结合实际上形成了一个计算网络,在计算过程中出现了大量中间件,以提高效率并更符合加密精神。在下游,基于这些可验证结果的Agent可以进一步为不同用户群体提供不同的角色服务。
另一种流程图可以用来表达加密AI的基本生态如下:
生态流程图,来源:HashKey Capital整理
当然,在加密领域中,需要代币经济机制来激励不同参与者的协同参与。
对于数据集,可以选择公共数据源或自己特定的私有数据源。
数据来源:
综合数据平台:
其他:
数据标注服务平台通过将标注任务分配给不同的工人,工人在完成任务后可以获得相应的代币激励,例如Cropo、Public AI等。然而,当前的问题是从事数据标注的人数多于数据量,而AI公司有稳定的数据标注供应商来满足其标注数据需求。由于这些供应商的粘性存在,使得它们切换到去中心化平台的意愿较弱。这些平台可能只能从数据标注供应商那里获得剩余订单的分配。
泛化计算网络,指的是聚合GPU和CPU等资源的网络,能够提供通用的计算服务,这意味着训练和推理之间没有区别。
在加密领域,由a16z投资的Gensyn提出了一种去中心化的训练计算网络。
流程是这样的:用户提交训练需求任务后,平台会分析这些需求,评估所需的计算能力,并将其拆分为最小数量的机器学习任务。在此阶段,验证者会定期获取分析后的任务,生成用于下游学习证明的阈值。
任务进入训练阶段后,由Solver执行,该过程定期存储模型权重和来自训练数据集的响应索引,同时生成学习证明。验证者也会重新运行一些证明以进行距离计算,验证是否与原始证明匹配。举报者基于图形化的精确挑战程序进行仲裁,以检查验证工作是否正确执行。
微调比直接预训练大型模型更容易且成本更低,只需通过特定数据集对预训练模型进行微调,即可将模型适配到特定任务,同时保留原始模型。
Hugging Face 可作为预训练语言模型资源提供者接入分布式平台,用户根据任务要求选择需要微调的模型,然后利用计算网络提供的GPU和其他资源进行任务的微调。根据任务的复杂性,需要确定数据集的大小、模型的复杂性,并进一步确定是否需要更高水平的资源,如A100。
除了Gensyn支持预训练外,大多数计算平台也支持微调。
与训练(预训练和微调)相比,推理计算过程仅涉及前向传播,因此所需的计算能力较少。大多数去中心化计算网络目前主要集中在推理服务上。
在推理阶段,即模型使用阶段,可以在适当的时机引入中间件:
链上智能合约用于检索链外 AI 计算的结果:
可以在计算网络中添加另一层隐私保护,主要包括数据隐私和模型隐私,其中数据隐私比模型隐私更为重要。
大多数计算网络构建了不同的验证系统以确保系统的准确运行,而链上部分则是传统 AI 领域尚未引入的部分。
零知识证明的主要作用有两个:
Modulus Labs 通过使用 Polygon 的 Plonky 证明系统,展示了为 1800 万参数模型生成证明的可能性,时间为 60 到 70 秒。对于小型模型,在这一阶段使用 ZKML 是可行的,但成本仍然相当高。
来源: @ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307"">https://medium.com/@ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307
考虑到上述 ZKML 的局限性,OPML 是一个替代方案。尽管在安全性方面不如 ZKML,但其内存消耗和证明计算时间显著优于 ZKML。根据 ORA 报告显示,对于相同的 7B-LLaMA 模型(模型大小约为 26GB),OPML 可以在 32GB 的内存内处理,而 ZKML 的电路内存消耗可能达到 TB 甚至 PB 级别。
受信执行环境(TEE)提供硬件级别的安全性,可以作为ZKML和OPML的替代方案。TEE 证明是通过TEE内部计算生成的,其计算成本远低于 zk 证明。此外,TEE 的证明大小通常是固定的常量(签名长度),因此在链上验证时具有较小的占用空间和较低的成本。
除了验证外,TEE 还有保持敏感数据隔离的优势,确保外部过程或计算无法访问或更改其中的数据。
使用 TEE 的项目包括:
来源: https://arxiv.org/pdf/2401.17555, Marlin 协议
此外,ORA 协议在其 ZKML 和 OPML 验证之外,还开发了 opp/ai(Optimistic Privacy-Preserving AI on Blockchain),这一点未包含在上述比较表中。
代理具有分析接收到的信息、评估当前环境条件并做出决策的能力。代理的组成如下图所示,其中LLM(大语言模型)是核心组件。此外,还需要向LLM提供适当的提示,并通过Memory(记忆)存储短期数据和长期历史数据(外部数据)。
由于复杂的任务无法一次完成,需要通过Plan(计划)将其拆分成更小的任务。此外,代理还可以调用外部API以获取附加信息,包括当前信息、代码执行能力、访问专有信息源等。
资料来源:基于大型语言模型的自治代理调查
代理的决策能力直到近年来大语言模型(LLM)的出现才取得了显著突破。一份报告整理了2021年至2023年间关于代理的论文数量,如下图所示。实际上,2021年的相关研究论文只有十几篇,而2023年则有数百篇论文发表。该报告将代理分为7个类别。
资料来源:基于大型语言模型的自治代理调查
在Web3中,代理的应用场景相较于Web2世界仍然有限,目前包括自动结算、构建代码组件(编写智能合约、编写zk电路)、实时风险控制以及执行套利和收益耕作等策略。
根据不同的代理,可以组合、抽象或创建特定的应用程序。同时,用户可以选择某种协调平台来决定使用哪些代理来构建特定类型的应用程序。但大多数平台仍然局限于代理的开发。
一些开发者会利用人工智能来提升他们平台的智能性。例如,在安全项目中,机器学习被用于识别攻击漏洞;DeFi 协议使用人工智能构建实时监控工具;数据分析平台也使用人工智能来帮助数据清理和分析。
在这篇文章中,我们想强调以下三点:
在加密领域,多个计算网络的出现不可避免地让用户感到 GPU 代表了人工智能。但如前面分析的那样,计算网络面临着一个不可能三角,即计算能力、带宽/通信和内存,以及模型训练中使用的三种并行策略:数据并行、张量并行和流水线并行,这些都指向了建立计算网络框架时所面临的制衡。
同一模型和数据不一定产生相同结果的原因在于浮点计算的使用。这种计算差异也会影响计算网络的构建。
人工智能代理近年才开始显示出更多的实用性,我们预计市场上会出现更多的代理。但代理在加密领域如何运作或如何找到合适的代币激励仍然是一个挑战。
本文转载自[medium],原文标题“AI into Crypto”,著作权归属原作者[哈希资本 ],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
2022年11月ChatGPT的推出让各行业的玩家对大型语言模型AI有了新的认识。这种热潮渗透到了加密货币领域,本文旨在介绍AI的发展、当前状态以及AI与加密货币结合所催生的行业。
机器学习(ML)是一种具有经验学习能力的技术,它通过从大量数据集中学习来区分动物、语言翻译和其他特定任务。机器学习是当前实现人工智能的最实际的方法之一,根据学习的数据是否标记以及其特征,可以分为监督学习和无监督学习。
完成监督学习的模型有很多种,包括基于树的模型、图模型以及最近出现的神经网络。随着计算能力和数据的快速发展,深度学习在神经网络架构的基础上得到了进一步发展。当前的深度学习架构通常包括但不限于卷积神经网络(CNN)、递归神经网络(RNN)和注意力机制。
机器学习的分类,来源:HashKey Capital
不同的深度学习网络具有输入层、隐藏层和输出层的基本架构。输入层通常是经过处理的文本、视频、音频和其他数据(如“标记化/嵌入”)。隐藏层的设计(模型形状)根据数据集和任务目的的不同而有所不同,如表所示。
神经网络的类型,来源:HashKey Capital 整理
神经网络发展的30年历程,来源:HashKey Capital整理
神经网络的训练最早可以追溯到20世纪80年代中期,乔丹(Jordan)在其1986年论文《序列顺序:并行分布处理方法》中训练了一个神经网络来学习序列模式。该网络非常小,只有少量的神经元。
到了1990年代,杰弗里·埃尔曼(Jeffrey Ehrman)扩展了神经网络,开发了一个50个神经元的网络,并发现该网络能够根据词义进行空间聚类。例如,它可以将无生命和有生命的名词分开,在有生命物体中,进一步将人类和非人类进行细分,而无生命物体则分为易碎和可食用。这表明神经网络具有学习层次解释的能力。
他进一步观察到,单词可以表示为高维空间中的点,单词或句子的序列可以被视为路径。这个重大的突破使得文本数据集得以数字化、向量化,并通过计算机进行处理。
来源: http://3b1b.co/neural-networks
2011年,Confluence的研究人员训练了包含数千个神经元和数百万个连接的更大规模网络,并发现了该网络在保持长序列上下文连贯性方面的瓶颈。
2017年,OpenAI基于Kathy的研究,使用8200万条亚马逊评论进行训练,发现了情感神经元。这些神经元能够完美地分类文本的情感。
资料来源:学习生成评论并发现情绪
关于上下文大小的限制,2017年《Attention Is All You Need》论文提出了一个解决方案。该论文创建了一个动态层网络,能够根据网络的上下文动态调整连接权重。其工作原理是通过允许输入中的单词相互查看、比较,并找到最相关的单词。概念上越接近的单词在空间上也越接近,并且可以拥有更高的连接权重。不过,该论文仅专注于翻译问题。
因此,OpenAI的研究人员尝试了更强大的Transformer架构,并在2020年推出了GPT-3,这一模型引起了全球各行业的广泛关注。GPT-3的网络规模达到了1750亿参数、96层以及1000词的上下文窗口。
以以下28x28像素的数字图像为例,神经元对应于28x28输入图像的每个像素,总共包含784个神经元。神经元中的数字表示激活值,范围从0到1。
28x28 像素数字图像,来源: http://3b1b.co/neural-networks
这784个神经元构成了网络的输入层。最终的输出层包含十个神经元,分别代表数字0到9,其激活值范围同样为0到1。中间层为隐藏层,在神经网络运行过程中,上一层的激活值决定了下一层的激活值。
深度学习的深度在于模型学习了多层的变换,每一层都有不同的表示方式。例如,正如下图中的数字9所示,不同的层可以识别不同的特征。输入层越靠近数据的低级细节,而输出层则越接近可以用来区分的更具体的概念。
来源: http://3b1b.co/neural-networks
随着模型规模的扩大,中间的隐藏层涉及每层数千亿的权重,这些权重和偏差实际上决定了网络的行为。机器学习的过程就是寻找正确的参数,即权重和偏差的过程。
在GPT等大型语言模型中使用的Transformer架构包含一个中间隐藏层,由96层解码器模块组成,其中GPT1、GPT2和GPT3分别有12层、48层和96层。解码器模块包含注意力机制和前馈神经网络组件。
计算或学习过程涉及定义一个代价函数(或损失函数),该函数将网络计算的输出预测与实际值之间的差异平方求和。当总和较小时,模型的表现就处于可接受的范围内。
训练从随机参数化网络开始,并通过寻找能最小化代价函数的参数来确定最终的模型参数。收敛代价函数的方法是通过梯度下降法,它通过检查每个参数变化对代价/损失的影响程度,然后根据影响程度调整参数。
计算参数梯度的过程引入了反向传播算法(backpropagation),该算法根据链式法则从输出层到输入层反向遍历网络。同时,算法需要存储任何用于计算梯度的中间变量(偏导数)。
在训练AI大型语言模型时,有三个主要因素影响其性能,分别是模型参数的数量、数据集的规模和计算资源的量。
来源:OpenAI 报告,神经语言模型的缩放定律
这与现实中数据集和计算机(计算能力)的发展趋势一致,但从下表中也可以看出,计算能力的增长速度快于可用数据的增长,而内存的发展则是最慢的。
数据集、内存和计算能力的发展,来源: https://github.com/d2l-ai
面对大型模型,当训练数据过少时,容易出现过拟合的情况。通常,随着数据量的增加,更复杂模型的准确性会得到提升。关于大型模型所需的数据量,可以依据“10倍规则”来决定,即数据量应为参数数量的10倍,但有些深度学习算法采用1:1的比例。
监督学习需要使用标记数据集和特征数据集来得出有效结果。
来源:Fashion-MNIST 服装分类数据集
尽管过去十年或二十年数据量迅速增加,当前的开源数据集包括Kaggle、Azure、AWS、Google数据库等,但由于隐私问题、模型参数增加和数据可重复性问题,有限、稀缺且昂贵的数据逐渐成为AI发展的瓶颈。为缓解这一问题,提出了不同的数据解决方案。
数据增强技术可能是有效的解决方案,通过在不获取新样本的情况下为模型提供不足的数据,例如缩放、旋转、反射、裁剪、平移、添加高斯噪声、mixup等。
合成数据是另一种选择。合成数据是通过计算机模拟或算法人工生成的数据,可以有或没有先前的参考数据集。关于合成数据生成工具的开发,Ian J. Goodfellow发明了生成对抗网络(GAN),这是一种深度学习架构。
GAN训练两个神经网络相互竞争,可以从给定的训练数据集中生成新的、更真实的数据。该架构支持生成图像、填补缺失信息、为其他模型生成训练数据、基于2D数据生成3D模型等。
该领域的发展仍处于早期阶段,大多数从事合成数据的公司成立于2021年或2022年,少数在2023年。
合成数据公司的融资状况。来源 : https://frontline.vc/blog/synthetic-data/
AI训练过程涉及大量矩阵操作,从词嵌入、Transformer的QKV矩阵,到softmax操作等等。通过这些矩阵操作,整个模型的参数也被承载在矩阵中。
向量数据库的示例,来源: https://x.com/ProfTomYeh/status/1795076707386360227
大型模型带来了巨大的计算机硬件需求,这主要分为训练和推理两部分。
预训练和微调可以进一步细分为训练过程。正如之前提到的,构建网络模型首先需要随机初始化参数,然后训练网络并持续调整参数,直到网络的损失值达到可接受范围。预训练和微调的区别在于:
预训练从每层参数的随机初始化开始,而微调则可以直接使用之前训练模型的某些层的参数作为本任务的初始化参数(冻结之前层的参数),并在特定数据集上进行调整。
来源: https://d2l.ai/chapter_computer-vision/fine-tuning.html
预训练和微调都涉及模型参数的变化,最终导致模型或参数的优化,而推理则是在用户输入后加载模型进行计算,从而获得反馈和输出结果。
在计算机需求方面,预训练、微调和推理的排名从最大到最小。下表比较了训练和推理的计算机硬件需求。由于计算过程和准确性要求的不同,两者在计算能力、内存和通信/带宽方面的硬件需求差异显著。同时,计算能力、内存和通信/带宽之间存在一个不可能的三元悖论。
*该表中的统计测量基于单个模型处理单个令牌的情况,即单个参数。
*FLOPs:每秒浮点运算次数,矩阵计算的数量。
*DP, TP, PP:数据并行、张量并行、流水线并行。
计算机硬件的训练与推理比较,来源:HashKey Capital整理
训练神经网络的过程需要在前向传播和反向传播之间交替进行,利用反向传播给出的梯度来更新模型参数。而推理则只需要前向传播。这一差异成为影响训练和推理计算机硬件资源需求的主要因素。
在计算能力方面,如表所示,模型参数数量与计算能力消耗之间存在简单的乘法关系,其中训练需要6–8倍的浮点运算,而推理只需要2倍。这是因为训练涉及的反向传播需要的计算能力是前向传播的两倍,因此训练的计算能力消耗远高于推理。
在内存方面,训练中使用的反向传播重用在前向传播中存储的中间值,以避免重复计算。因此,训练过程需要保留中间值,直到反向传播完成。训练过程中的内存消耗主要包括模型参数、前向计算生成的中间激活值、反向传播计算生成的梯度以及优化器状态。推理阶段不需要反向传播,也不需要优化器状态和梯度等,其内存消耗远小于训练。
在通信/带宽方面,为了提高AI训练性能,主流模型训练通常使用三种并行策略:数据并行、张量并行和流水线并行。
资料来源:OpenAI, https://openai.com/index/techniques-for-training-large-neural-networks/
对于这三种策略,预计张量并行(TP)的通信频率最大,通信量最高,与代币数量、模型宽度和层数相关。流水线并行(PP)的通信量和频率小于张量并行,且与代币数量和模型宽度相关。数据并行(DP)的通信量和频率最小,并且与输入代币无关。
大型模型在计算机硬件资源方面的瓶颈主要受限于计算能力、带宽/通信和内存,这三者之间存在制衡关系,导致了不可能三元悖论。例如,由于通信瓶颈,无法通过单纯优化单台计算机的计算能力来提升集群性能。
因此,尽管采用并行架构来加速集群性能,但大多数并行架构实际上会为了计算能力而牺牲通信或存储。
牺牲通信和存储以提升计算能力:
在流水线并行(PP)中,如果将每层Transformer分配给一个GPU,尽管计算能力在时间单位内增加,但层间的通信需求也增加,导致数据量和延迟的增加。同时,前向传播的中间状态存储需求会极快地增加。
牺牲通信以提升计算能力:
在张量并行(TP)中,每个Transformer被拆分为并行计算。由于Transformer包含两个组件(注意力头和前馈网络),任务可以在层内拆分为注意力头或前馈神经网络。这种TP方法可以缓解由于GPU无法容纳模型而导致的PP层级过多的问题。然而,这种方法仍然存在严重的通信开销。
在本文中,我们认为目前在加密领域主要有以下几类AI:
资料来源:HashKey Capital 整理
如前所述,AI中最关键的三个组成部分是数据、模型和计算能力,它们作为基础设施来赋能加密AI。
它们的结合实际上形成了一个计算网络,在计算过程中出现了大量中间件,以提高效率并更符合加密精神。在下游,基于这些可验证结果的Agent可以进一步为不同用户群体提供不同的角色服务。
另一种流程图可以用来表达加密AI的基本生态如下:
生态流程图,来源:HashKey Capital整理
当然,在加密领域中,需要代币经济机制来激励不同参与者的协同参与。
对于数据集,可以选择公共数据源或自己特定的私有数据源。
数据来源:
综合数据平台:
其他:
数据标注服务平台通过将标注任务分配给不同的工人,工人在完成任务后可以获得相应的代币激励,例如Cropo、Public AI等。然而,当前的问题是从事数据标注的人数多于数据量,而AI公司有稳定的数据标注供应商来满足其标注数据需求。由于这些供应商的粘性存在,使得它们切换到去中心化平台的意愿较弱。这些平台可能只能从数据标注供应商那里获得剩余订单的分配。
泛化计算网络,指的是聚合GPU和CPU等资源的网络,能够提供通用的计算服务,这意味着训练和推理之间没有区别。
在加密领域,由a16z投资的Gensyn提出了一种去中心化的训练计算网络。
流程是这样的:用户提交训练需求任务后,平台会分析这些需求,评估所需的计算能力,并将其拆分为最小数量的机器学习任务。在此阶段,验证者会定期获取分析后的任务,生成用于下游学习证明的阈值。
任务进入训练阶段后,由Solver执行,该过程定期存储模型权重和来自训练数据集的响应索引,同时生成学习证明。验证者也会重新运行一些证明以进行距离计算,验证是否与原始证明匹配。举报者基于图形化的精确挑战程序进行仲裁,以检查验证工作是否正确执行。
微调比直接预训练大型模型更容易且成本更低,只需通过特定数据集对预训练模型进行微调,即可将模型适配到特定任务,同时保留原始模型。
Hugging Face 可作为预训练语言模型资源提供者接入分布式平台,用户根据任务要求选择需要微调的模型,然后利用计算网络提供的GPU和其他资源进行任务的微调。根据任务的复杂性,需要确定数据集的大小、模型的复杂性,并进一步确定是否需要更高水平的资源,如A100。
除了Gensyn支持预训练外,大多数计算平台也支持微调。
与训练(预训练和微调)相比,推理计算过程仅涉及前向传播,因此所需的计算能力较少。大多数去中心化计算网络目前主要集中在推理服务上。
在推理阶段,即模型使用阶段,可以在适当的时机引入中间件:
链上智能合约用于检索链外 AI 计算的结果:
可以在计算网络中添加另一层隐私保护,主要包括数据隐私和模型隐私,其中数据隐私比模型隐私更为重要。
大多数计算网络构建了不同的验证系统以确保系统的准确运行,而链上部分则是传统 AI 领域尚未引入的部分。
零知识证明的主要作用有两个:
Modulus Labs 通过使用 Polygon 的 Plonky 证明系统,展示了为 1800 万参数模型生成证明的可能性,时间为 60 到 70 秒。对于小型模型,在这一阶段使用 ZKML 是可行的,但成本仍然相当高。
来源: @ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307"">https://medium.com/@ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307
考虑到上述 ZKML 的局限性,OPML 是一个替代方案。尽管在安全性方面不如 ZKML,但其内存消耗和证明计算时间显著优于 ZKML。根据 ORA 报告显示,对于相同的 7B-LLaMA 模型(模型大小约为 26GB),OPML 可以在 32GB 的内存内处理,而 ZKML 的电路内存消耗可能达到 TB 甚至 PB 级别。
受信执行环境(TEE)提供硬件级别的安全性,可以作为ZKML和OPML的替代方案。TEE 证明是通过TEE内部计算生成的,其计算成本远低于 zk 证明。此外,TEE 的证明大小通常是固定的常量(签名长度),因此在链上验证时具有较小的占用空间和较低的成本。
除了验证外,TEE 还有保持敏感数据隔离的优势,确保外部过程或计算无法访问或更改其中的数据。
使用 TEE 的项目包括:
来源: https://arxiv.org/pdf/2401.17555, Marlin 协议
此外,ORA 协议在其 ZKML 和 OPML 验证之外,还开发了 opp/ai(Optimistic Privacy-Preserving AI on Blockchain),这一点未包含在上述比较表中。
代理具有分析接收到的信息、评估当前环境条件并做出决策的能力。代理的组成如下图所示,其中LLM(大语言模型)是核心组件。此外,还需要向LLM提供适当的提示,并通过Memory(记忆)存储短期数据和长期历史数据(外部数据)。
由于复杂的任务无法一次完成,需要通过Plan(计划)将其拆分成更小的任务。此外,代理还可以调用外部API以获取附加信息,包括当前信息、代码执行能力、访问专有信息源等。
资料来源:基于大型语言模型的自治代理调查
代理的决策能力直到近年来大语言模型(LLM)的出现才取得了显著突破。一份报告整理了2021年至2023年间关于代理的论文数量,如下图所示。实际上,2021年的相关研究论文只有十几篇,而2023年则有数百篇论文发表。该报告将代理分为7个类别。
资料来源:基于大型语言模型的自治代理调查
在Web3中,代理的应用场景相较于Web2世界仍然有限,目前包括自动结算、构建代码组件(编写智能合约、编写zk电路)、实时风险控制以及执行套利和收益耕作等策略。
根据不同的代理,可以组合、抽象或创建特定的应用程序。同时,用户可以选择某种协调平台来决定使用哪些代理来构建特定类型的应用程序。但大多数平台仍然局限于代理的开发。
一些开发者会利用人工智能来提升他们平台的智能性。例如,在安全项目中,机器学习被用于识别攻击漏洞;DeFi 协议使用人工智能构建实时监控工具;数据分析平台也使用人工智能来帮助数据清理和分析。
在这篇文章中,我们想强调以下三点:
在加密领域,多个计算网络的出现不可避免地让用户感到 GPU 代表了人工智能。但如前面分析的那样,计算网络面临着一个不可能三角,即计算能力、带宽/通信和内存,以及模型训练中使用的三种并行策略:数据并行、张量并行和流水线并行,这些都指向了建立计算网络框架时所面临的制衡。
同一模型和数据不一定产生相同结果的原因在于浮点计算的使用。这种计算差异也会影响计算网络的构建。
人工智能代理近年才开始显示出更多的实用性,我们预计市场上会出现更多的代理。但代理在加密领域如何运作或如何找到合适的代币激励仍然是一个挑战。
本文转载自[medium],原文标题“AI into Crypto”,著作权归属原作者[哈希资本 ],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。