TL;DR

  • 现在AI + Crypto结合的点主要有2个比较大的方向:散布式算力和ZKML;关于ZKML能够参阅我之前的一篇文章。本文将围绕去中心化的散布式算力网络做出剖析和反思

  • 在AI大模型的发展趋势下,算力资源会是下一个十年的大战场,也是未来人类社会最重要的东西,而且不只是停留在商业竞争,也会成为大国博弈的战略资源。未来关于高功能核算根底设施、算力储藏的出资将会指数级上升。

  • 去中心化的散布式算力网络在AI大模型练习上的需求是最大的,可是也面对最大的应战和技能瓶颈。包含需求杂乱的数据同步和网络优化问题等。此外,数据隐私和安全也是重要的制约要素。虽然有一些现有的技能能供给初步处理计划,但在大规划散布式练习使命中,由于核算和通讯开支巨大,这些技能仍无法运用。

  • 去中心化的散布式算力网络在模型推理上更有时机落地,能够猜测未来的增量空间也足够大。但也面对通讯推迟、数据隐私、模型安全等应战。和模型练习相比,推理时的核算杂乱度和数据交互性较低,更合适在散布式环境中进行。

  • 经过Together和Gensyn.ai两个初创公司的案例,分别从技能优化和鼓励层规划的视点说明晰去中心化的散布式算力网络全体的研讨方向和详细思路。

一、散布式算力—大模型练习

咱们在评论散布式算力在练习时的运用,一般聚集在大言语模型的练习,主要原因是小模型的练习对算力的需求并不大,为了做散布式去搞数据隐私和一堆工程问题不划算,不如直接中心化处理。而大言语模型对算力的需求巨大,而且现在在迸发的最初阶段,2012-2018,AI的核算需求大约每4个月就翻一倍,现在更是对算力需求的会集点,能够预判未来5-8年依然会是巨大的增量需求。

在巨大机会的一起,也需求清晰的看到问题。咱们都知道场景很大,可是详细的应战在哪里?谁能target这些问题而不是盲目入局,才是判别这个赛道优异项目的核心。

理性看待去中心化算力网络

(NVIDIA NeMo Megatron Framework)

1.全体练习流程

以练习一个具有1750亿参数的大模型为例。由于模型规划巨大,需求在很多个GPU设备上进行并行练习。假定有一个中心化的机房,有100个GPU,每个设备具有32GB的内存。

  • 数据预备:首先需求一个巨大的数据集,这个数据集包含例如互联网信息、新闻、书籍等各种数据。在练习前需求对这些数据进行预处理,包含文本清洗、标记化(tokenization)、词表构建等。

  • 数据分割:处理完的数据会被分割成多个batch,以在多个GPU上并行处理。假定选择的batch巨细是512,也便是每个批次包含512个文本序列。然后,咱们将整个数据集分割成多个批次,构成一个批次行列。

  • 设备间数据传输:在每个练习进程开端时,CPU从批次行列中取出一个批次,然后将这个批次的数据经过PCIe总线发送到GPU。假定每个文本序列的均匀长度是1024个标记,那么每个批次的数据巨细约为512 * 1024 * 4B = 2MB(假定每个标记运用4字节的单精度浮点数表明)。这个数据传输进程一般只需求几毫秒。

  • 并行练习:每个GPU设备接收到数据后,开端进行前向传达(forward pass)和反向传达(backward pass)核算,核算每个参数的梯度。由于模型的规划十分大,单个GPU的内存无法存放一切的参数,因而咱们运用模型并行技能,将模型参数散布在多个GPU上。

  • 梯度聚合和参数更新:在反向传达核算完结后,每个GPU都得到了一部分参数的梯度。然后,这些梯度需求在一切的GPU设备之间进行聚合,以便核算大局梯度。这需求经过网络进行数据传输,假定用的是25Gbps的网络,那么传输700GB的数据(假定每个参数运用单精度浮点数,那么1750亿参数约为700GB)需求约224秒。然后,每个GPU依据大局梯度更新其存储的参数。

  • 同步:在参数更新后,一切的GPU设备需求进行同步,以保证它们都运用一致的模型参数进行下一步的练习。这也需求经过网络进行数据传输。

  • 重复练习进程:重复上述进程,直到完结一切批次的练习,或许达到预定的练习轮数(epoch)。

这个进程触及到很多的数据传输和同步,这或许会成为练习功率的瓶颈。因而,优化网络带宽和推迟,以及运用高效的并行和同步策略,关于大规划模型练习十分重要。

2.通讯开支的瓶颈:

需求注意的是,通讯的瓶颈也是导致现在散布式算力网络做不了大言语模型练习的原因。

各个节点需求频频地交流信息以协同作业,这就发生了通讯开支。关于大言语模型,由于模型的参数数量巨大这个问题尤为严重。通讯开支分这几个方面:

  • 数据传输:练习时节点需求频频地交流模型参数和梯度信息。这需求将很多的数据在网络中传输,耗费很多的网络带宽。假如网络条件差或许核算节点之间的间隔较大,数据传输的推迟就会很高,进一步加大了通讯开支。

  • 同步问题:练习时节点需求协同作业以保证练习的正确进行。这需求在各节点之间进行频频的同步操作,例如更新模型参数、核算大局梯度等。这些同步操作需求在网络中传输很多的数据,而且需求等候一切节点完结操作,这会导致很多的通讯开支和等候时刻。

  • 梯度累积和更新:练习进程中各节点需求核算自己的梯度,并将其发送到其他节点进行累积和更新。这需求在网络中传输很多的梯度数据,而且需求等候一切节点完结梯度的核算和传输,这也是导致很多通讯开支的原因。

  • 数据一致性:需求保证各节点的模型参数保持一致。这需求在各节点之间进行频频的数据校验和同步操作,这会导致很多的通讯开支。

虽然有一些办法能够减少通讯开支,比方参数和梯度的紧缩、高效并行策略等,可是这些办法或许会引入额外的核算担负,或许对模型的练习效果发生负面影响。而且,这些办法也不能完全处理通讯开支问题,特别是在网络条件差或核算节点之间的间隔较大的状况下。

举一个比方:

去中心化散布式算力网络

GPT-3模型有1750亿个参数,假如咱们运用单精度浮点数(每个参数4字节)来表明这些参数,那存储这些参数就需求~700GB的内存。而在散布式练习中,这些参数需求在各个核算节点之间频频地传输和更新。

假定有100个核算节点,每个节点每个进程都需求更新一切的参数,那么每个进程都需求传输约70TB(700GB*100)的数据。假如咱们假定一个进程需求1s(十分达观的假定),那么每秒钟就需求传输70TB的数据。这种对带宽的需求现已远超过了大多数网络,也是一个可行性的问题。

实践状况下,由于通讯推迟和网络拥堵,数据传输的时刻或许会远超1s。这意味着核算节点或许需求花费很多的时刻等候数据的传输,而不是进行实践的核算。这会大大降低练习的功率,而这种功率上的降低不是等一等就能处理的,而是可行和不可行的差别,会让整个练习进程不可行。

中心化机房

就算是在中心化的机房环境下,大模型的练习依然需求很重的通讯优化。

在中心化的机房环境中,高功能核算设备作为集群,经过高速网络进行衔接来共享核算使命。但是,即使在这种高速网络环境中练习参数数量极大的模型,通讯开支依然是一个瓶颈,由于模型的参数和梯度需求在各核算设备之间进行频频的传输和更新。

就像开端提到的,假定有100个核算节点,每个服务器具有25Gbps的网络带宽。假如每个服务器每个练习进程都需求更新一切的参数,那每个练习进程需求传输约700GB的数据需求~224秒。经过中心化机房的优势,开发者能够在数据中心内部优化网络拓扑,并运用模型并行等技能,显著地减少这个时刻。

相比之下,假如在一个散布式环境中进行相同的练习,假定仍是100个核算节点,散布在全球各地,每个节点的网络带宽均匀只要1Gbps。在这种状况下,传输相同的700GB数据需求~5600秒,比在中心化机房需求的时刻长得多。而且,由于网络推迟和拥塞,实践所需的时刻或许会更长。

不过相比于在散布式算力网络中的状况,优化中心化机房环境下的通讯开支相对容易。由于在中心化的机房环境中,核算设备一般会衔接到同一个高速网络,网络的带宽和推迟都相对较好。而在散布式算力网络中,核算节点或许散布在全球各地,网络条件或许会相对较差,这使得通讯开支问题更为严重。

OpenAI 练习 GPT-3 的进程中采用了一种叫Megatron的模型并行结构来处理通讯开支的问题。Megatron 经过将模型的参数分割并在多个 GPU 之间并行处理,每个设备只负责存储和更新一部分参数,从而减少每个设备需求处理的参数量,降低通讯开支。一起,练习时也采用了高速的互连网络,并经过优化网络拓扑结构来减少通讯途径长度。

理性看待去中心化算力网络

(Data used to train LLM models)

3.为什么散布式算力网络不能做这些优化

要做也是能做的,但相比中心化的机房,这些优化的效果很受限。

  1. 网络拓扑优化:在中心化的机房能够直接操控网络硬件和布局,因而能够依据需求规划和优化网络拓扑。但是在散布式环境中,核算节点散布在不同的地理位置,乃至一个在我国,一个在美国,没办法直接操控它们之间的网络衔接。虽然能够经过软件来优化数据传输途径,但不如直接优化硬件网络有用。一起,由于地理位置的差异,网络推迟和带宽也有很大的改变,从而进一步约束网络拓扑优化的效果。

  2. 模型并行:模型并行是一种将模型的参数分割到多个核算节点上的技能,经过并行处理来提高练习速度。但是这种办法一般需求频频地在节点之间传输数据,因而对网络带宽和推迟有很高的要求。在中心化的机房由于网络带宽高、推迟低,模型并行能够十分有用。但是,在散布式环境中,由于网络条件差,模型并行会遭到较大的约束。

4.数据安全和隐私的应战

简直一切触及数据处理和传输的环节都或许影响到数据安全和隐私:

  1. 数据分配:练习数据需求被分配到各个参加核算的节点。这个环节数据或许会在散布式节点被歹意运用/走漏。

  2. 模型练习:在练习进程中,各个节点都会运用其分配到的数据进行核算,然后输出模型参数的更新或梯度。这个进程中,假如节点的核算进程被盗取或许成果被歹意解析,也或许走漏数据。

  3. 参数和梯度聚合:各个节点的输出需求被聚合以更新大局模型,聚合进程中的通讯也或许走漏关于练习数据的信息。

关于数据隐私问题有哪些处理计划?

  • 安全多方核算:SMC在某些特定的、规划较小的核算使命中现已被成功运用。但在大规划的散布式练习使命中,由于其核算和通讯开支较大,现在还没有广泛运用。

  • 差分隐私:运用在某些数据收集和剖析使命中,如Chrome的用户统计等。但在大规划的深度学习使命中,DP会对模型的准确性发生影响。一起,规划恰当的噪声生成和添加机制也是一个应战。

  • 联邦学习:运用在一些边际设备的模型练习使命中,比方Android键盘的词汇猜测等。但在更大规划的散布式练习使命中,FL面对通讯开支大、和谐杂乱等问题。

  • 同态加密:在一些核算杂乱度较小的使命中现已被成功运用。但在大规划的散布式练习使命中,由于其核算开支较大,现在还没有广泛运用。

小结一下

以上每种办法都有其适应的场景和局限性,没有一种办法能够在散布式算力网络的大模型练习中完全处理数据隐私问题。

寄予厚望的ZK是否能处理大模型练习时的数据隐私问题?

理论上ZKP能够用于保证散布式核算中的数据隐私,让一个节点证明其现已依照规定进行了核算,但不需求透露实践的输入和输出数据。

但实践上将ZKP用于大规划散布式算力网络练习大模型的场景中面对以下瓶颈:

  • 核算和通讯开支up:构造和验证零知识证明需求很多的核算资源。此外,ZKP的通讯开支也很大,由于需求传输证明自身。在大模型练习的状况下,这些开支或许会变得特别显著。例如,假如每个小批量的核算都需求生成一个证明,那么这会显著增加练习的整体时刻和本钱。

  • ZK协议的杂乱度:规划和完结一个适用于大模型练习的ZKP协议会十分杂乱。这个协议需求能够处理大规划的数据和杂乱的核算,而且需求能够处理或许呈现的异常报错。

  • 硬件和软件的兼容性:运用ZKP需求特定的硬件和软件支持,这或许在一切的散布式核算设备上都不可用。

小结一下

要将ZKP用于大规划散布式算力网络练习大模型,还需求长达数年的研讨和开发,一起也需求学术界有更多的精力和资源放在这个方向。

二、散布式算力—模型推理

散布式算力别的一个比较大的场景在模型推理上,依照咱们关于大模型发展途径的判别,模型练习的需求会在经过一个高点后跟着大模型的老练而逐渐放缓,但模型的推理需求会相应地跟着大模型和AIGC的老练而指数级上升。

推理使命相较于练习使命,一般核算杂乱度较低,数据交互性较弱,更合适在散布式环境中进行。

理性看待去中心化算力网络

(Power LLM inference with NVIDIA Triton)

1.应战

通讯推迟

在散布式环境中,节点间的通讯是必不可少的。在去中心化的散布式算力网络中,节点或许遍及全球,因而网络推迟会是一个问题,特别是关于需求实时呼应的推理使命。

模型布置和更新

模型需求布置到各个节点上。假如模型进行了更新,那么每个节点都需求更新其模型,需求耗费很多的网络带宽和时刻。

数据隐私

虽然推理使命一般只需求输入数据和模型,不需求回传很多的中心数据和参数,可是输入数据依然或许包含敏感信息,如用户的个人信息。

模型安全

在去中心化的网络中,模型需求布置到不受信赖的节点上,会导致模型的走漏导致模型产权和滥用问题。这也或许引发安全和隐私问题,假如一个模型被用于处理敏感数据,节点能够经过剖析模型行为来推断出敏感信息。

质量操控

去中心化的散布式算力网络中的每个节点或许具有不同的核算才能和资源,这或许导致推理使命的功能和质量难以保证。

2.可行性

核算杂乱度

在练习阶段,模型需求重复迭代,练习进程中需求对每一层核算前向传达和反向传达,包含激活函数的核算、损失函数的核算、梯度的核算和权重的更新。因而,模型练习的核算杂乱度较高。

在推理阶段,只需求一次前向传达核算猜测成果。例如,在GPT-3中,需求将输入的文本转化为向量,然后经过模型的各层(一般为Transformer层)进行前向传达,最终得到输出的概率散布,并依据这个散布生成下一个词。在GANs中,模型需求依据输入的噪声向量生成一张图片。这些操作只触及模型的前向传达,不需求核算梯度或更新参数,核算杂乱度较低。

数据交互性

在推理阶段,模型一般处理的是单个输入,而不是练习时的大批量的数据。每次推理的成果也只依靠于当前的输入,而不依靠于其它的输入或输出,因而无需进行很多的数据交互,通讯压力也就更小。

以生成式图片模型为例,假定咱们运用GANs生成图片,咱们只需求向模型输入一个噪声向量,然后模型会生成一张对应的图片。这个进程中,每个输入只会生成一个输出,输出之间没有依靠关系,因而无需进行数据交互。

以GPT-3为例,每次生成下一个词只需求当前的文本输入和模型的状况,不需求和其他输入或输出进行交互,因而数据交互性的要求也弱。

小结一下

不管是大言语模型仍是生成式图片模型,推理使命的核算杂乱度和数据交互性都相对较低,更合适在去中心化的散布式算力网络中进行,这也是现在咱们看到大多数项目在发力的一个方向。

三、项目

去中心化的散布式算力网络的技能门槛和技能广度都十分高,而且也需求硬件资源的支撑,因而现在咱们并没有看到太多尝试。以Together和Gensyn.ai举例:

1.Together

理性看待去中心化算力网络

(RedPajama from Together)

Together是一家专心于大模型的开源,致力于去中心化的AI算力计划的公司,期望任何人在任何地方都能触摸和运用AI。Together刚完结了Lux Capital领投的20m USD的种子轮融资。

Together由Chris、Percy、Ce联合创立,初衷是由于大模型练习需求很多高端的GPU集群和贵重的支出,而且这些资源和模型练习的才能也会集在少量大公司。

从我的视点看,一个比较合理的散布式算力的创业规划是:

Step1. 开源模型

要在去中心化的散布式算力网络中完结模型推理,先决条件是节点必须能低本钱地获取模型,也便是说运用去中心化算力网络的模型需求开源(假如模型需求在相应的许可下运用,就会增加完结的杂乱性和本钱)。比方chatgpt作为一个非开源的模型,就不合适在去中心化算力网络上执行。

因而,能够推测出一个供给去中心化算力网络的公司的隐形壁垒是需求具有强壮的大模型开发和维护才能。自研并开源一个强壮的base model能够必定程度上摆脱对第三方模型开源的依靠,处理去中心化算力网络最基本的问题。一起也更有利于证明算力网络能够有用地进行大模型的练习和推理。

而Together也是这么做的。最近发布的依据LLaMA的RedPajama是由Together, Ontocord.ai, ETH DS3Lab, Stanford CRFM和Hazy Research等团队联合启动的,方针是研制一系列完全开源的大言语模型。

Step2. 散布式算力在模型推理上落地

就像上面两节提到的,和模型练习相比,模型推理的核算杂乱度和数据交互性较低,更合适在去中心化的散布式环境中进行。

在开源模型的根底上,Together的研制团队针对RedPajama-INCITE-3B模型现做了一系列更新,比方利用LoRA完结低本钱的微调,使模型在CPU(特别是运用M2 Pro处理器的MacBook Pro)上运行模型更加丝滑。一起,虽然这个模型的规划较小,但它的才能却超过了相同规划的其他模型,而且在法律、社交等场景得到了实践运用。

Step3. 散布式算力在模型练习上落地

理性看待去中心化算力网络

(Overcoming Communication Bottlenecks for Decentralized Training的算力网络示意图)

从中长时间来看,虽然面对很大的应战和技能瓶颈,承接AI大模型练习上的算力需求必定是最诱人的。Together在树立之初就开端布局怎么克服去中心化练习中的通讯瓶颈方面的作业。他们也在NeurIPS 2022上发布了相关的论文:Overcoming Communication Bottlenecks for Decentralized Training。咱们能够主要概括出以下方向:

调度优化

在去中心化环境中进行练习时,由于各节点之间的衔接具有不同的推迟和带宽,因而,将需求重度通讯的使命分配给拥有较快衔接的设备是很重要的。Together经过树立模型来描述特定调度策略的本钱,更好地优化调度策略,以最小化通讯本钱,最大化练习吞吐量。Together团队还发现,即使网络慢100倍,端到端的练习吞吐量也只慢了1.7至2.3倍。因而,经过调度优化来追逐散布式网络和中心化集群之间的距离很有戏。

通讯紧缩优化

Together提出了关于前向激活和反向梯度进行通讯紧缩,引入了AQ-SGD算法,该算法供给了对随机梯度下降收敛的严厉保证。AQ-SGD能够在慢速网络(比方500 Mbps)上微调大型根底模型,与在中心化算力网络(比方10 Gbps)无紧缩状况下的端到端练习功能相比,只慢了31%。此外,AQ-SGD还能够与最先进的梯度紧缩技能(比方QuantizedAdam)结合运用,完结10%的端到端速度提高。

项目总结

Together团队配置十分全面,成员都有十分强的学术布景,从大模型开发、云核算到硬件优化都有行业专家支撑。而且Together在途径规划上确实展现出了一种长时间有耐心的架势,从研制开源大模型到测试搁置算力(比方mac)在散布式算力网络用语模型推理,再到散布式算力在大模型练习上的布局。— 有那种厚积薄发的感觉了:)

可是现在并没有看到Together在鼓励层过多的研讨成果,我以为这和技能研制具有相同的重要性,是保证去中心化算力网络发展的关键要素。

2.Gensyn.ai

理性看待去中心化算力网络

(Gensyn.ai)

从Together的技能途径咱们能够大致理解去中心化算力网络在模型练习和推理上的落地进程以及相应的研制要点。

另一个不能忽视的要点是算力网络鼓励层/一致算法的规划,比方一个优异的网络需求具有:

  1. 保证收益足够有吸引力;

  2. 保证每个矿工获得了应有的收益,包含防做弊和多劳多得;

  3. 保证使命在不同节点直接合理调度和分配,不会有很多搁置节点或许部分节点过度拥堵;

  4. 鼓励算法简练高效,不会造成过多的体系担负和推迟;

……

看看Gensyn.ai是怎么做的:

  • 成为节点

首先,算力网络中的solver经过bid的方法竞争处理user提交的使命的权利,而且依据使命的规划和被发现做弊的危险,solver需求典当必定的金额。

  • 验证

Solver在更新parameters的一起生成多个checkpoints(保证作业的透明性和可追溯性),而且会定时生成关于使命的密码学加密推理proofs(作业进度的证明);

Solver完结作业并发生了一部分核算成果时,协议会选择一个verifier,verifier也会质押必定金额(保证verifier诚实地执行验证),而且依据上述供给的proofs来决定需求验证哪一部分的核算成果。

  • 假如solver和verifier呈现分歧

经过依据Merkle tree的数据结构,定位到核算成果存在分歧的确切位置。整个验证的操作都会上链,做弊者会被扣除质押的金额。

项目总结

鼓励和验证算法的规划使得Gensyn.ai不需求在验证进程中去重放整个核算使命的一切成果,而只需求依据供给的证明对一部分成果进行仿制和验证,这极大地提高了验证的功率。一起,节点只需求存储部分核算成果,这也降低了存储空间和核算资源的耗费。别的,潜在的做弊节点无法猜测哪些部分会被选中进行验证,所以这也降低了做弊危险;

这种验证分歧并发现做弊者的方法也能够在不需求比较整个核算成果的状况下(从Merkle tree的根节点开端,逐渐向下遍历),能够快速找到核算进程中出错的地方,这在处理大规划核算使命时十分有用。

总之Gensyn.ai的鼓励/验证层规划方针便是:简练高效。但现在仅限于理论层面,详细完结或许还会面对以下应战:

  • 在经济模型上,怎么设定适宜的参数,使其既能有用地防止诈骗,又不会对参加者构成过高的门槛。

  • 在技能完结上,怎么拟定一种有用的周期性的加密推理证明,也是一个需求高级密码学知识的杂乱问题。

  • 在使命分配上只是算力网络怎么挑选和分配使命给不同的solver也需求合理的调度算法的支撑,只是依照bid机制来分配使命从功率和可行性上看显然是有待商榷的,比方算力强的节点能够处理更大规划的使命,但或许没有参加bid(这里就触及到对节点availability的鼓励问题),算力低的节点或许出价最高但并不合适处理一些杂乱的大规划核算使命。

四、对未来的一点考虑

谁需求去中心化算力网络这个问题其实一向没有得到验证。搁置算力运用在对算力资源需求巨大的大模型练习上显然是最make sense,也是幻想空间最大的。但事实上通讯、隐私等瓶颈不得不让咱们从头考虑:

去中心化地练习大模型是不是真的能看到期望?

假如跳出这种咱们一致的,“最合理的落地场景”,是不是把去中心化算力运用在小型AI模型的练习也是一个很大的场景。从技能视点看,现在的约束要素都由于模型的规划和架构得到了处理,一起,从市场上看,咱们一向觉得大模型的练习从当下到未来都会是巨大的,但小型AI模型的市场就没有吸引力了吗?

我觉得未必。相比大模型小型AI模型更便于布置和办理,而且在处理速度和内存运用方面更有功率,在很多的运用场景中,用户或许公司并不需求大言语模型更通用的推理才能,而是只重视在一个十分细化的猜测方针。因而,在大多数场景中,小型AI模型依然是更可行的选择,不该该在fomo大模型的潮水中被过早地忽视。Reference

https://www.together.xyz/blog/neurips-2022-overcoming-communication-bottlenecks-for-decentralized-training-12

https://www.together.xyz/blog/redpajama

https://docs.gensyn.ai/litepaper/

https://www.nvidia.com/en-in/deep-learning-ai/solutions/large-language-models/

https://indiaai.gov.in/article/training-data-used-to-train-llm-models

此时快讯

【英国上议院两位议员对英国央行正在探索实施的数字英镑感到一些担忧】金色财经报道,英国央行正在探索实施数字英镑的技术,而议会一直保持沉默,英国上议院两位议员表达了一些担忧,包括隐私和犯罪活动。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注