如果关注国内外大模型发布会,会看到一个现象:各家大模型厂商都在宣传自家大模型的参数非常大,而且越来越大,从几百亿增加到了2 000亿、3 000亿等。同时,各家厂商也在强调其拥有的算力很大,从千卡集群不断增加到万卡集群,甚至具备10万卡集群能力。例如,2024年9月初,马斯克提到他们建设了10万卡集群,未来还会扩张到20万卡。这不会是个例,很快,就会有更多的10万卡集群出现。
如果你喜欢球类运动,应该会熟悉一句话——“大力出奇迹”,也就是用强大的力量来弥补技巧的不足,通过量的增加来激发质变。
在大模型的发展过程中,也出现了这个现象。这就是被广泛讨论的尺度定律(Scaling Laws),也称规模化法则,即模型的性能(例如准确率、损失等),与模型参数量、数据量和计算资源量三个因素之间存在关系。当增加模型参数量、数据量、计算资源量后,都可能会显著提升模型的性能(该性能呈现了跳跃性,且是小模型无法比拟的)。简单总结就是一种暴力美学,大算力、大参数、大数据带来大能力。
常说的尺度定律作用于大模型的第一个阶段——预训练。这是决定大模型基础能力的关键环节。因此,尺度定律也被称为大模型的“第一性原理”。它带来一个重要的产业启示:人工智能能力的提升,具备了工程化属性,也就是可以规模化、模块化、可复制、可预测地提升能力。更直白一些解释就是,规则下的投入,必有产出,而且投入越大,产出越多。这对于大模型和产业应用都非常重要。
在大模型训练的过程中,通常会有这么几类需求,例如,公司要提升人工智能能力,是不是只有改善算法这一条路可走?公司有10TB的数据量,需要多少算力,能训练多大规模的模型?公司有100张顶配显卡,可以用多大规模的数据、训练多大参数的模型才会让显卡资源物尽其用?公司计划把模型参数从10亿扩大到100亿,能带来多大效果的改善?
总之,大家关心的是模型的性能和数据量、算力、参数之间到底是什么关系,有什么规律。而这些问题的答案,在过去很长一段时间内,只能依靠资深研究员的经验来估算。但是,人工智能的从业者并不满足于此,在不断探索和总结下,终于迎来了尺度定律的发现。
首先,要明确一下,尺度定律并不是大模型特有的定律,而是一种数学表达,用来描述系统随着规模的变化而发生规律性变化的现象。这种规律变化,多数呈现幂律关系,也就是一个变量和另一个变量的幂具有比例关系,数学上关系一般表达为 y=kx a 。其中, k 为常数, a 为幂律指数。尺度定律广泛存在于物理学、生物学等学科内。
2020年,OpenAI的研究员发现大模型同样遵循着尺度定律,并在论文《神经语言模型的尺度定律》(Scaling Laws for Neural Language Models)中进行了详细描述,即代表模型性能的 L (交叉熵损失,越小越好)与模型参数量 N 、数据量 D 、计算资源量 C 这几个变量相关。
具体关系为,在 N 、 D 、 C 三个变量中,固定任意两个变量时(例如固定 N 、 D ),模型的性能 L 则与剩下未固定的第三个变量(例如 C )呈幂律关系。也就是说,随着模型参数量变大,或数据量增加,或用于训练的计算资源量增加,模型损失 L 都会平稳下降(见图2-1)。这也意味着,模型性能可以被预测了。
第一章已经对算力、数据、参数进行了解释,这里对参数再换个角度进行阐述。大模型的参数可以理解为各有用途的零部件,例如,权重,负责根据重要性区分信息,重要的信息、相关性高的信息就赋予高权重,从而提升大模型识别的准确性;偏置,帮助模型确定何时激活或抑制某些特征等。
通常而言,参数越多越复杂,大模型的性能就越强,这类似于零部件越多越精密一样。
图2-1 神经语言模型的尺度定律
注:在人工智能领域,token表示“词元”,指在自然语言处理过程中用来表示处理文本的最小单元或基本元素。
资料来源:Jared Kaplan, Sam McCandlish, Tom Henighan, et al.,“Scaling Laws for Neural Language Models”, 2020。
如果一项业务希望能够快速扩张,那么就需要具备工程化属性。例如,传统的中餐店很难做到大规模连锁,因为中餐品类丰富多样,菜品质量依赖炒菜大师傅的手艺,不容易复制。相比之下,西餐店就容易连锁,因为菜品较少,而且生产流程相对标准化。这些年,中餐领域的预制菜能够快速发展,也是因为实现了一定工程化的效果。
工程化没有清晰的定义,但整体而言,应该包括系统化的思维、模块化的设计、标准化的操作、可重复的过程、自动化的实施、规模化的应用。从效果来看,具备工程化属性,就具备了快速发展、成本下降的路径。而尺度定律的发现,则增强了人工智能的工程化属性,为人工智能的发展带来了新思路。
在过去较长一段时间内,学术界比较重视探索新算法、新模型结构来提升人工智能的能力。但是这条路的工程化属性并不强,原因有两个。第一,算法的改善探索具有一定随机性,与研发资源并不是线性关系。即使将研发人员扩充10倍,也并不意味着一定有新算法出现。第二,算法资源,也就是研发人员不是标准化的,每个人的能力不同,所以很难规模化复制。因此,在实践过程中,即使希望提升人工智能在业务中的“地位”,但对于如何增加算法研发资源,却是不容易决策的。
尺度定律引导了另一条路——通过提升参数、数据量、计算量来提升性能,从而大大增强了工程化属性。
第一,计算资源(中央处理单元、图形处理单元、张量处理单元等),以及数据等,都是标准化的,扩展性很强,部署方便,降本路径也清晰。
第二,计算资源、数据等因素和性能具备可以预测的关系。这就意味着,提升人工智能性能的决策会更加容易拍板和实现。例如,批量购买显卡提升算力、批量增加数据、不断扩充参数等方式,都可以提升性能。而且在大部分情况下,增加投入就一定会增加产出。
由此,大模型开启了性能“狂飙”之路。
尺度定律揭示的幂律定律,不仅告诉我们大参数、大数据、大计算量可以提升性能,同时也告诉我们“大”是有限度的,随着规模的持续提升,性能的提升效果会逐渐减弱。这两个指引,在大模型实践中都得到了广泛应用。
第一,通过“堆料”的方式获得能力涌现。大模型在沿着提升参数、数据、计算量的路径研发中,实现了“大力出奇迹”,即模型在执行某些下游任务(例如推理、记忆、创作等场景)时性能出现了大幅度、跳跃式的提升,实现了从量变到质变,这正是前面章节提到的能力涌现。因此在商业上,可以通过加大资源配置获得更强的能力。
第二,引导企业优化资源配置。尺度定律可以帮助研究员、大模型用户在训练大模型时实现资源的最佳配置,达到计算效率最优。例如,根据幂律关系,绘制相应曲线,从而预估不同规模模型的性能,选择最优的模型规模。再如,在训练特定规模的模型时,可以根据尺度定律来估算需要多大规模的数据量。另外,提升大模型性能时,也可以估算模型规模和数据量,从而达到最佳效果,避免资源的浪费。
在算力资源配置方面,OpenAI、谷歌先后得到了一些数量关系。例如,OpenAI认为,为了达到最佳性能,每增加10倍计算量,数据集要增加1.86倍,模型参数要增加5.5倍;谷歌则认为,数据集要增加3.16倍,模型参数也要增加相同的3.16倍。
但要注意,这里的倍数关系是基于论文中的数据集,在实际应用过程中,倍数关系根据数据集的不同、处理方法的不同而变化。
整体而言,借助于尺度定律,就可以回答我们在开篇中提到的关于资源配置、效果预测等方面的决策问题。因此,尺度定律迅速成了大模型设计和训练的重要工具。而参数大小、算力大小,也成为判断大模型能力强弱最直接的显性指标。
虽然尺度定律对大模型发展起到了非常重要的作用,但是这个定律也并非完美无瑕。主要问题有两点。
第一,尺度定律是对模型训练损失和参数规模、训练数据量之间函数关系的经验总结,不同数据集合或模型结构得到的函数关系会有差别。尤其是关于能力涌现的现象,研究员们虽然知道可以通过“堆料”来激发,但背后的机理是什么,目前仍不清楚。这就降低了人工智能的可解释性,也导致无法清晰认定涌现的安全范围。
第二,尺度定律仅在语言模型下被充分验证,而视觉等多模态场景,因为尚未有类似语言模型的下一个词预估(Next Token Prediction)的有效自回归机制,所以还没有对应场景的尺度定律分析。
因此,从人工智能的发展历史来看,当前的尺度定律并不是提升大模型性能的唯一路径。然而,这仍是一个重要的里程碑,也是最值得关注的变化。
对于业务实践而言,“堆料”的方式依然有效,优先选择参数大、算力足的大模型服务,是具有理论和实际支撑的决策。
尺度定律被誉为大模型的“第一性原理”,是在预训练阶段发现的规律。定义为:模型的性能(例如准确率、损失等),与模型参数量、数据量和计算资源量三个因素之间存在关系。当增加模型参数量、数据量、计算资源量后,都可能会显著提升模型的性能(该性能呈现了跳跃性,并且是小模型无法比拟的)。
模型参数,可以简单理解为各有用途的零部件。通常情况下,参数越大,意味着大模型越复杂,能力也越强。类似于机械设备中零部件越多就越精密。
尺度定律增强了人工智能的工程化属性,即系统化的思维、模块化的设计、标准化的操作、可重复的过程、自动化的实施、规模化的应用。例如,要提高大模型性能,可以通过批量购买显卡提升算力、批量增加数据、不断扩充参数等方式;而且大部分情况下,增加投入就一定会增加产出。
尺度定律对业务的启示是,当前阶段,通过增加模型参数量、数据量、计算资源量来提高大模型能力的方式,依然有效。