AI大模型与算力

最近AI概念很火爆,ChatGPT也横空出世,横扫各大科技热门话题,其中关键的一个绕不过去的概念,就是「模型」,模型对应的还有参数(和规模)。那么什么是模型?

模型的概念

举个简单的例子,假设我们有训练样本

(x, y)序列:(1,2), (2,4), (3,6), (4,8)…

通过机器学习训练,我们发现x和y之间的关系是

y = 2x

这是一个简单的模型,是一个一次线性模型(y = ax + b)的具体例子。
我们把x称为输入,y称为输出,而a和b就是这个模型的参数。在上述例子中,a=2,b=0,参数规模为2,有了这些参数,我们可以输入x,从而推导出y。模型就是为了拟合各种数据的规律,用统一的方式来表达数据的规律。大模型则是用更复杂的表达式,拟合大规模数据,以此来表达大数据集的规律。

例如,在上述例子中,a=2,b=0,如果输入 x=10,我们可以推导出 y = ax + b = 2 * 10 + 0 = 20,从而这个模型可以根据输入推导出输出。

那么为什么参数规模可以达到几十亿、上百亿、上千亿甚至上万亿呢?

在上面的例子中,我们仅使用了一维模型,但如果将维度增加,参数也会增多。例如,一个二维模型是y=ax^2+bx+c,它有3个参数(a,b,c)。如果我们使用深度学习来训练一个二维模型,它的具体a、b和c的值将被固定,例如a=0.2,b=-3,c=1021932,那么我们就有y=0.2x^2-3x+1021932。对于特定的输入,可以推导出相应的输出y。当然,实际数据不是这么简单,这只是一个简单的例子。

在规模达到10亿的模型中,公式可能会是这样的:y=ax^(10亿)+bx^(10亿-1)+c*x^(10亿-2)+…+var_n。它的参数为(a,b,c,…,var_n),大约有10亿个。请注意,x的指数不一定是整数,可能是小数或其他奇怪的数字,我们暂且不考虑。这个公式可以表示为一个具有10亿维多项式的形式,带有10亿个参数。了解过 NP=P?问题的人应该知道,任何P问题(能用多项式表达的问题)都是简单问题,只要算力足够,就可以得到解。那么,模型和算力之间有什么关系呢?

参数规模

在计算机上,用编程语言写一个简单的公式是没问题的,可以在短时间内编译运行。但是,如果你有一个包含10亿个参数的公式时,你无法通过写一条公式来告诉程序如何编译运行,因为内存很可能会爆掉。AI领域通常要求参数在4个字节(fp32)以内表示,因此,对于一个包含10亿个参数的公式,仅仅将这些参数加载到内存中,就需要花费1000000000*4/1024/1024/1024=3.72GB左右的内存。这只是加载的过程,计算过程还需要协调和进行。当然,如果对参数精度的要求不高,可以优化,将它们调整为fp16或fp8(也称为int8,只用整数表示,但对参数质量会有一定的影响)。

模型维度

在计算过程中,假设你已经将参数加载到内存中(这里的内存不一定是常规服务器内存,在使用GPU计算时,可能使用显存,因为GPU可以直接读取显存,速度非常快),然后将输入分段并行计算。现代的AI训练通常使用GPU进行计算,这主要是因为GPU天生适合这类高并行图计算(将模型分成多个图进行并行求解,然后再合并),而CPU是为通用性而设计的(能够兼容更多指令,开发更多应用),因此在图计算方面不如GPU擅长,GPU往往拥有更多的并行核心(单卡具有成千上万个)。例如,一个10亿维度的模型y=ax^(10亿)+bx^(10亿-1)+c*x^(10亿-2)+…+var_n,可以将公式分解成100万个小公式f1,f2,f3,…,f100万,然后通过并行计算f1,f2等,得到结果后将f1,f2等子结果合并,即可得到最终输出。(请注意,实际的AI模型不是这样的,AI模型是由各种神经网络组合而成,参数是神经元的对应参数–前置、后置和权重,前面的多项式示例仅为便于理解。正是因为AI使用神经网络,更适合使用GPU或专门的芯片进行图计算)。

大模型与算力

大型模型是指参数规模达到10亿甚至百亿以上的模型。例如,GPT-3具有1750亿个参数,按照上述简单的换算公式,需要约650GB的内存才能够加载。通常的GPU显存远远不足以支持这么大的模型,而NVIDIA的A100显卡具有40GB或80GB的显存,更适合训练和运行这种大型模型。单卡内存不够,多卡来凑。为了解决这个问题,研究人员采用了模型并行和数据并行技术。模型并行是将模型的参数分散到多个GPU上,每个GPU负责计算模型的一部分,最后将各个部分的计算结果汇总得到最终输出。数据并行是将输入数据切分成多个小块,分配到不同的GPU上进行计算,然后将计算结果汇总。这两种并行技术可以相互结合,进一步提高计算效率。

总结

AI模型的规模决定了其表达能力和泛化能力,随着模型规模的增大,处理复杂任务的能力也相应增强。然而,大规模模型也带来了计算资源和内存的挑战,需要采用多种优化策略和并行技术来解决。GPU显卡如NVIDIA的A100提供了较大的显存和强大的计算能力,为大规模AI模型的训练和推理提供了有力的支持。在未来,随着技术的发展,我们将能看到更大规模、更强大的AI模型出现,为各行各业带来前所未有的价值。(本小节是ChatGPT写的)

发表评论

Protected by WP Anti Spam

昵称

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

沙发空缺中,还不快抢~