中国工程院院士郑纬民:构建国产万卡系统应避免“木桶效应”
12月12日,“突破新边界·智见新未来”2024大模型技术与应用创新论坛在北京举行。会上,中国工程院院士、清华大学计算机系教授郑纬民表示,今年大模型发展有两个特点,第一是基础大模型进入多模态状态,文本之外,还有图像、视频,也就是多模态。第二是“用起来”,“大模型+”应用于各行各业,如“大模型+金融”“大模型+医疗”“大模型+汽车”“大模型+智能制造”等。
他表示,我国在“大模型+”领域,有希望超过美国。通过讲解大模型生命周期的五个环节,郑纬民认为,当前大模型发展的难点在于算力、存储、时间成本。构建国产万卡系统重要但尚存困难,需要避免“木桶效应”。
算力、存储、时间成本是大模型开发过程的难点
郑纬民通过讲解大模型生命周期的五个环节,阐述当前大模型发展的难点。他介绍,大模型生命周期的五个环节分别是数据获取、数据预处理、模型训练、模型微调和模型推理。
在数据获取环节,核心任务是从全球各地收集训练数据。尽管收集到的文件体积较小,有利于节省存储空间,但数量极其庞大,达到数百亿个。这些文件需要被存储在硬盘上,并记录其在硬盘上的具体位置,这个过程被称为源数据处理。由于文件数量巨大,需要多台计算机协同工作以存储、记忆这些位置,这对计算机来说是一项挑战。随着位置数量的增加,查找特定文件的位置变得更加耗时,因此如何高效地存储和检索数据成为数据获取阶段的关键问题。
其次是数据预处理环节。在这一阶段,收集到的数据由于质量参差不齐、格式不一致,并且包含广告、重复内容等不需要的信息,因此需要进行预处理以提升数据质量。预处理包括去除重复内容、广告等,以确保数据质量的提高能够带来更好的训练结果。预处理过程相当复杂,据统计,在GPT4的训练过程中,预处理占据了一半的时间,成为训练效率的瓶颈。如何提高预处理的速度,是大数据处理中的一个难题。
第三阶段是模型训练。这一阶段需要大量的算力和存储空间,最终得到基础大模型,面临的问题众多。例如,如果在训练过程中硬件出现故障,就需要重新开始训练。为了避免这种情况,可以在训练到一定时间后主动暂停,记录当时的硬件和软件环境,以便在故障发生后能够从记录的点继续训练,而不是从头开始。然而,对于大模型来说,训练数据量巨大,主动保存数据到硬盘可能需要数小时,这会导致效率低下。因此,如何缩短这一过程,使其在10到20分钟内完成,是训练阶段需要解决的问题。
第四阶段是模型微调。基础大模型虽然已经训练完成,但若要应用于特定领域,如医疗,还需要进一步的训练。微调是在基础大模型的基础上,针对特定领域的数据进行的第二次训练。例如,基础大模型训练数据中医院的数据量太少,因此需要在基础大模型的基础上进行微调,以适应医院的需求。这个过程可以继续细分,例如,可以针对B超数据进行第三次训练,以得到专门用于B超的模型。微调实际上是在基础大模型的基础上,根据不同领域的需求形成领域、行业大模型。
最后是模型推理阶段,这是模型实际应用的过程。推理阶段同样需要大量的算力和存储,并且耗时较长。整个大模型的开发过程都需要考虑到算力和存储的需求,以及时间成本。
构建国产万卡系统应避免“木桶效应”
谈到产业期待,郑纬民院士表示,构建国产万卡系统(由一万张及以上的加速卡,包括GPU、TPU及其他专用AI加速芯片,组成的高性能计算系统)很重要。目前,异地卡、异构卡训练效果较差,资金有限的公司暂时不要考虑,资金充裕的公司可以尝试。
首先,万卡系统的重要性不言而喻,我们都非常希望能够拥有这样的系统,但目前的发展状况并不理想,实现起来相当困难。构建国产万卡系统不仅重要,而且难度很大。由于外部供应受限,我们迫切需要建立自己的万卡系统,尽管这是一个艰巨的任务。对万卡系统而言,所谓的“好”,指的是一旦建成,能够被广泛接受并认为好用,但要达到这样的目标非常具有挑战性。
目前,我们构建的卡系统用户接受度如何?例如,第一块卡来自A公司,第二块来自B公司,第三块来自C公司。当这些卡一起使用时,使用的效果取决于最差的那张卡。我们应该避免这种组合方式,建议减少数量,深入研究,避免“木桶效应”。1000个旧CPU和1000个新CPU组合使用时,性能甚至还不如单独使用2000个旧CPU,我们为什么要这样做呢?
其次,异地卡和异构卡在训练中的效果非常差,目前不建议考虑。异构卡和异地卡的联合训练效果并不理想。在异构卡的情况下,问题变得更加复杂。即使是静态情况下,我们也不将它们组合使用,中国人和美国人都不这样做,因为不划算。我们所说的联合训练,以及异地卡的问题,更是难上加难。例如,数据从北京传输到贵州可能需要5天时间,而贵州处理完结果再发送到上海又需要5天,这如何实现?因此,异构卡和异地卡的训练效果不佳。资金有限的公司暂时不要考虑,资金充裕的公司可以尝试。