当前,人们正身处于一个日新月异的数字化时代,其中,人工智能技术的发展速度和规模令人惊叹,已然成为驱动技术进步的一股不可忽视的力量。在众多的人工智能技术中,大模型尤其引人注目,它已成为实现超凡性能的关键因素之一。不论是在自然语言处理、计算机视觉、机器翻译还是智能对话等领域,大模型都表现出了无比出色的性能,而这些都是人工智能无限潜力的生动展现。
AI 大模型指的是那些拥有大量参数的人工智能模型。这些模型通常通过大量的数据进行训练,可以学习和理解复杂的模式和关系。近两年来,大模型技术呈现爆发式的增长,而且在各个研究领域和实践任务上都取得了引人注目的成果。诸多科技巨头公司也纷纷投身于大模型的研发与应用中。在最早应用大模型的自然语言处理(NLP)领域,OpenAI 推出了拥有 1750 亿个参数的 ChatGPT,这一行动激发了一系列的应用热潮:微软(Microsoft)将 ChatGPT 接入了其搜索引擎 Bing;谷歌(Google)推出了自家的语言大模型 PaLM 和对话模型 Bard,并且已经开始了 PaLM2 的研发;我国百度、字节跳动、华为等公司也都在积极推出了自己的语言大模型。这些语言大模型展示了出色的问答、知识挖掘、推理、规划能力,充分展现了人工智能的无穷可能。OpenAI 的一份报告指出,美国约 80% 的工作领域都可能会受到 ChatGPT 的影响。从这一点可以看出,NLP 大模型具有巨大的市场潜力和价值。
在 NLP 大模型取得了巨大成功的鼓舞下,其他领域也涌现出了大模型的身影。在语音识别领域,OpenAI 和谷歌分别推出了拥有 15 亿参数的 Whisper 模型和 20 亿参数的 USM 模型,而微软则推出了能够在几秒钟内准确模仿任何人说话声音和语调的语音生成模型 VALL-E;在视觉领域,基于大模型工作的 GPT-4 和 OpenCLIP 进行了语音和视觉的跨模态训练,使得这些模型能够用自然语言的方式去理解图片。此外,谷歌和脸书公司也各自采用了监督学习和非监督学习的方式,分别训练了 220 亿参数和 65 亿参数的 Vision Transformer 视觉大模型,这些模型在性能上大大超越了参数数量更少的模型;在强化学习领域,谷歌和 Deepmind 公司开发的 PaLM-E 和 Gato,也开始探索和实验强化学习大模型的可能性。总体来看,大模型的热潮正在各个人工智能领域席卷而来,预示着更广阔的应用前景和可能性。
这股 AI 大模型的热潮并不仅仅局限于研发和科技公司,也将渗透到更为广泛的应用领域。例如,在医疗健康、金融、教育、零售及制造等领域,大模型都展示出了巨大的潜力。基于大模型的人工智能工具可以助力医生进行更精确的诊断,帮助金融机构做出更精准的投资决策,协助教师进行个性化教学,以及帮助零售商家进行更有效的客户分析等。因此,大模型不仅仅改变了人工智能的研究和开发,也正在深度影响人们的日常生活。
与此同时,AI 大模型所引发的热潮也带来了一些值得深思的问题。模型的规模和复杂度的增加,使得模型训练和运行需要的计算资源和能源消耗也大大增加,这无疑加大了环境压力。此外,随着大模型在各个领域的应用,如何保证其决策的公平性、透明性,以及用户隐私的保护都成了一些亟待解决的问题。解决这些问题需要在推动 AI 大模型的发展和应用的同时,思考并采取有效的措施来优化其痛点问题。
不可否认,AI 大模型的热潮在各领域带来了深远影响,它们的表现力和潜力令人瞩目。然而,随着技术的进步,人们也应继续努力,以确保这些大模型的发展和应用在带来巨大收益的同时,尽可能地减少其潜在的负面影响。人工智能的未来仍然广阔无垠,而人类正站在这个探索和发展的大潮之中。
与传统模型相比,AI 大模型具有更强的学习和理解能力。由于大模型的参数数量多,它们可以学习和理解更复杂、更细微的模式,从而使任务(如文本理解、图像识别等)达到更好的效果。同时,它们可以处理更复杂的任务,如机器翻译、自然语言理解、医学影像识别等。在诸如医疗、能源、环保等领域,问题往往十分复杂,而大模型的强大学习能力可以帮助人们更快地找到解决方案。
尽管 AI 大模型带来了巨大的机会和价值,但其也伴随着一些风险和挑战,这些挑战主要集中在以下几个方面。
-
数据和隐私问题:训练大型 AI 模型需要大量的数据,这可能导致数据隐私和数据安全问题。需要在收集、存储和处理数据的过程中确保用户的隐私权和数据安全。
-
计算资源需求:大型 AI 模型需要大量的计算资源进行训练和运行,这不仅加大了资源消耗,同时也可能导致这种先进技术只能在资源富裕的组织或者国家得到应用推广,进一步加剧了技术鸿沟。
-
模型的可解释性:大型 AI 模型由于其复杂性和“黑箱”特性,模型的决策过程和原理往往难以理解和解释。这可能会导致其在某些需要高度透明和解释性的领域(如医疗、法律)中应用受限。
-
偏见和公平性:如果训练数据中存在偏见,大型 AI 模型可能会放大这种偏见,导致模型的预测结果存在不公平性。需要在模型设计和训练阶段就注意避免偏见的引入,保证 AI 的公平性。
-
泛化能力:虽然大型 AI 模型在训练数据上的表现通常很好,但在面对新的、未见过的数据时,其表现可能会下降。这种情况在 AI 领域被称为过拟合问题,是大型 AI 模型需要解决的关键问题之一。
面对这些挑战,有关部门需要采取相应的策略和措施来解决。例如,通过制定严格的数据管理政策来保护数据隐私,采用高效的模型和算法来减少计算资源需求,利用模型可解释性技术来提高模型的透明度,同时在模型设计和训练阶段就注重避免偏见的引入,提高模型的泛化能力等。
为了减少 AI 大模型对环境的影响,可以采取多种措施。一方面,努力优化模型的计算效率,减少能源消耗,如采用模型剪枝、量化和压缩等技术来减小模型的规模;另一方面,推动使用可再生能源和高效能源供应链来支持大规模的模型训练和推理。此外,建立绿色 AI 的研究方向和标准,促进环境友好型的人工智能发展也是至关重要的。
确保 AI 大模型的决策公平性、透明性和用户隐私保护是至关重要的。为了避免潜在的偏见和不公平性,应该进行数据集的多样性和平衡性验证,避免对特定群体的歧视。同时,开发可解释和可追溯的模型方法,使得模型的决策过程能够被理解和解释,增强其透明性。此外,还要加强数据隐私保护的技术和法律措施,确保用户的个人数据不被滥用和泄露。
加强人工智能伦理和法规的建设也是必要的。制定适应人工智能发展的法律法规,明确人工智能系统的责任和义务,确保其符合伦理和社会价值。同时,建立跨学科的合作和多方参与的机制,让政府、学术界、产业界和公众能够共同参与 AI 大模型的发展和应用,促进更全面的讨论和决策。
在 AI 大模型的兴起中,人们应该既关注技术的进步和创新,又注重社会的可持续发展和人的福祉。通过共同努力,人们可以探索并塑造一个 AI 大模型广泛应用的未来,为人类创造更多的机遇和福利。
除了环境影响、公平性和隐私保护外,AI 大模型的兴起还带来了其他值得思考的问题和挑战。
构建和训练大规模的 AI 模型需要庞大的计算资源和数据集,使得只有少数研究机构和科技巨头能够承担这样的成本和工作量。这导致了资源集中,甚至可能会加剧技术差距和创新壁垒,使得其他机构和个人很难进入和发展。因此,需要寻求降低技术门槛和促进资源共享的方法,以确保 AI 大模型的发展具有更广泛的参与性和可持续性。
另外,虽然 AI 大模型在许多领域展示出巨大的潜力,但其广泛应用也可能对就业市场和经济结构产生影响。某些传统的工作岗位可能会受到自动化的冲击,需要重新思考教育和职业发展的策略,以应对这一变革。此外,AI 大模型的广泛应用还可能导致数据和算法的垄断现象,进一步加剧数字鸿沟和不平等问题。因此,需要制定相应的政策和措施,以确保技术进步的同时,也能够促进包容性增长和公平分配。
伦理和价值观的问题也值得重视。随着 AI 大模型在决策和影响力方面的扩大,需要审慎思考和讨论其背后的伦理和道德问题。例如,模型的决策是否应该受到人类的监督和干预?模型是否应该具有道德判断和责任感?如何平衡技术的效益和风险,以及人类的自主性和权益?这些问题需要集合多方的智慧和参与,进行广泛的讨论和共识建设。
AI 大模型的兴起给人工智能领域带来了巨大的创新和发展机遇。然而,也必须认识到其中的挑战和潜在风险,并采取相应的措施来解决这些问题。通过科技界、政府、企业和社会各界的合作,可以共同推动 AI 大模型的可持续发展,实现人工智能在实践中的最大利益和最大效益。
在大模型还未兴起的时期,深度学习相关任务常见的模型训练方式是单机单卡,也就是使用一台服务器节点上的一块 GPU 设备完成模型训练任务。然而,随着大模型时代的到来,模型参数量和训练数据量急剧增长,规模的增加给模型训练带来了新的难题。数据量的增加使得每次训练迭代的计算量增加,训练时间更长,而模型参数量的增加不仅使得模型的训练计算量和训练时间增长,更重要的是单个设备的显存容量无法再容纳模型参数及训练中产生的梯度、优化器参数、激励值。为了解决这些问题,研究者们希望能增加计算资源,使模型和数据可以分布到不同节点、不同 GPU 设备上,并采用多种分布式训练技术来进行高效且可扩展的大模型训练。
然而,大部分大模型相关从业人员能获取的计算资源有限,如何利用有限的显存容量进行高效的大模型训练成为从业人员关注的热点。堆叠硬件设备数量可以保证顺利容纳模型参数,但其计算效率并不能线性提高,由于硬件设备数量增加,训练产生的节点与节点间、GPU 设备之间的通信开销也将相应的增加,因此成为大模型训练中新的瓶颈。最后,分布式情况下的模型训练引入了额外的工程实现难题,如何利用操作系统、计算机网络和并行计算等领域的相关知识实现高效可靠且具有扩展性的分布式模型并行训练策略成为实现大模型训练的关键。
总体来讲,可以将大模型训练的瓶颈分为 4 类:数据量、计算、内存和通信。
大规模、多样化的训练数据集是大模型卓越的语义理解能力的关键,OpenAI GPT-1 的无监督训练使用了超过 7000 本不同题材的书籍,GPT-2 的训练集是一个 40GB 的私有数据集 WebText,GPT-3 的训练集超过了 570GB,而 Meta 开源的 LLaMA 使用的训练集更是达到了 4.7TB。面对如此庞大规模的数据量,即便是简单的遍历也将花费大量的时间,将其输入大模型并进行训练的时间开销则更大,同样一个模型在同样的计算环境下,随着其训练数据量的增长,其训练时间也将相应增加。
为了加速训练,一个常用的方法是使用数据并行技术,对数据集进行切分,采用单机多卡或多机多卡的服务器集群,每个 GPU 设备上保留相同的模型参数,在训练时分别读取不同的数据进行训练,并采用集合通信同步参数更新。通常,原本单个 GPU 设备一次迭代仅能输入一批样本,同时使用多个 GPU 设备则可以同时训练多批样本,通过增加输入的数据量,减少了模型训练的迭代次数,从而减少模型训练时间。
然而,单独使用数据并行通常要求每个 GPU 设备都能保存模型的全部参数,但是由于大模型的参数量较大,单个 GPU 设备往往无法容纳整个模型的参数,因此,数据并行通常还需要与其他分布式训练技术结合使用来加速大模型的训练。
计算瓶颈主要体现在数据量与模型参数量规模增长带来的计算量陡增,以及对计算资源的利用效率低的问题。
从计算量来看,数据量的增长使得模型语义理解能力提升,性能更强,但这也导致模型训练迭代次数更多,计算量也更多;增加模型参数量是取得模型性能提升的另一个有效途径,但这使得每次训练迭代内部的计算量也增加。表 1 给出了现有的部分大语言模型的参数量以及训练所需的数据量,其中 B 代表 Billion(十亿),T 代表 Trillion(万亿)。
表 1 现有大语言模型参数量和数据量
Hoffmann 等人注意到,在给定的计算资源下,为了达到预定的一个目标性能,通常需要在模型参数量和数据量之间进行折中,因此采用多种不同方法分析了二者之间的关系。表 2 给出了在不同参数量的情况下,为了达到特定性能需要的计算量和数据量,其中 FLOPs 代表浮点运算数量。
表 2 不同参数量模型对计算量(FLOPs)和数据量的需求
从计算资源的利用率来看,深度学习和人工智能技术的火热也推动着 GPU 设备的不断发展,GPU 设备这类高性能硬件的算力不断增强,采用更高算力的 GPU 设备进行模型训练能显著提升训练速度,从而能部分解决计算量的问题。然而,针对不同目标进行优化的分布式并行训练技术通常会导致计算或通信的额外开销,从而降低计算设备的利用率。
为了最大化计算设备的利用率,提升训练速度,降低训练成本,可以从不同粒度对模型训练技术进行优化。在算子层面,可以采用算子融合的技术减少算子产生的中间变量,从而在减少内存开销的同时提升计算设备的利用率。基于算子间的结合性或可交换性,采用算子替换技术也可以提升计算效率;在计算图层面,主要是考虑模型并行技术对模型进行切分时,得到通信效率最高的模型并行策略,从而降低通信时延,提升计算设备的利用效率。使用基于流水线的模型并行策略时,通过减少流水线内部的气泡,可最大化单个 GPU 设备的计算负荷;在任务调度层面,可以考虑设计自动并行策略。根据不同规模的计算资源,自适应选取混合的分布式并行策略,并考虑用计算时间覆盖通信的时延或者降低通信量,从而最大化计算设备的利用率。
不同于便宜的主存,模型训练通常采用的是成本昂贵的 GPU 芯片,而 GPU 设备的内存容量有限,常见的 GPU 芯片的内存容量规格较大的也只有 80GB 或 40GB 等,远远不及常见的主存规格,因此,内存成了制约大模型训练的重要瓶颈。模型训练过程的内存开销分为静态和动态两个部分,静态内存开销包括模型自身的参数和一些优化器的状态参数,而动态内存开销则是模型在针对输入数据进行计算的时候产生的临时变量,包括前向传播产生的激励值、反向传播产生的梯度,以及一些算子计算过程中的中间变量。静态内存开销由于跟模型固有结构有关,在训练时又通常需要驻留在 GPU 设备中,难以对其进行优化,因此,模型训练的内存瓶颈主要考虑动态产生的内存开销。
为了对动态的内存开销进行优化,有多种不同的分布式训练技术。例如,通过混合精度技术,可以降低部分参数表示所需要的字节数,将一个双精度 8 字节的浮点数转为 2 字节的浮点数即可将参数量缩减到原来的 1/4,然而,这一方法通常会影响模型的计算精度;通过模型并行技术中的张量并行,可以将一个参数矩阵拆分到不同 GPU 设备,从而减小单个设备上的计算数据量;通过模型并行技术中的流水线并行,将不同模型层划分到不同节点或不同设备,同样可以减小单个设备的数据量,并且可以通过流水线的原理,覆盖每次迭代模型层之前的通信开销;采用 Gradient Checkpointing 技术可以减少模型训练时激励值占用的内存开销;基于 Offload 技术可以结合 GPU、CPU、NVMe 实现异构内存的模型训练,将内存开销部分转移到便宜的主存中。
然而,在计算机领域中时间和空间的优化之间普遍存在折中,以上方法虽然可以对内存瓶颈进行优化,但却引入了额外的通信或计算开销,因此需要针对具体训练任务下的模型参数量进行分析,才能得到最合适的内存优化策略。
大模型参数规模极大,通常需要采用模型并行等技术,将参数放置到不同节点、不同 GPU 设备上,才能使得硬件设备能完全容纳模型参数,然而,这样就不可避免地引入了额外的通信开销。
一个计算节点通常有多个 GPU 设备,而一个计算集群通常有多个计算节点,由于 GPU 这类芯片具有高速并行计算的特性,大规模模型训练时节点内的通信带宽远高于节点间的通信带宽,因此计算资源的增加也导致了通信开销增加。此外,如果仅增加节点间或节点内的通信带宽,也并不能保证直接提升模型训练的效率,这是因为现有的模型训练常采用同步的集合通信,每次训练迭代过程中需要同步操作,因此通信将受最慢一次通信的限制。以集合通信常见的 Ring AllReduce 为例,随着计算节点的增加,通信的环将增加,通信次数变多,由此使得通信时延增加。
总之,为了对模型训练中的通信效率进行优化,通常需要考虑多方面的因素,包括网络拓扑结构、计算资源的带宽、模型的参数量等,从而设计出通信效率最大化的模型并行具体策略。
综上所述,大模型训练由于参数量和数据量规模较大,需要采用分布式技术进行训练,在训练过程中往往会受限于数据量、计算、内存和通信 4 个方面的问题,四者相互之间又存在不同程度的影响,为了减小通信开销,最大化硬件设备的利用率,缩短模型训练时间,降低模型训练成本,需要考虑多种限制因素,包括数据量、参数量、网络拓扑结构、通信带宽、硬件设备内存容量和算力等,采用多种优化技术对不同瓶颈进行优化。
以上内容节选自《实战 AI 大模型》,作者:尤洋