大模型正在改变深度机器学习,训练大模型的工程技术挑战在哪里?


界面新闻记者|崔鹏

早在2020年,腾讯就开始开发支持大规模模型训练和推理的工程技术基地,其初衷只是为了满足腾讯广告的需求,通过提高参数来提高广告模型的推理和预测能力。

OpenAI将生成式大模型纳入主流视野后,几乎所有头部厂商都在研究和推出自己的大模型业务。今年9月,腾讯推出自研通用大模型“混合元素大模型”,成为国内头部科技企业中最后一家发布大模型业务的公司。

大规模模型的推广应用是一个相当复杂的工程,既要考虑如何降低训练和微调的成本,又要注意投产时的推理成本。因为当所有的应用场景都用千亿级的模型进行训练和推理时,就会形成长期的成本消耗,企业需要支撑每一次服务调用带来的计算成本。

一些厂商还推出了小比例模型,试图在性能、成本和效果之间取得平衡:在一些需要高度复杂推理的场景中使用大比例模型,在一些不太复杂的场景中使用小比例模型。

任何厂商要想领先竞品推出大模型服务,不仅要有最好的硬件集群,还要为新的计算能力集群提供训练推理框架和软件框架,做到软硬适配一体化。

针对这些话题,近日,腾讯两位混合元素大模型技术专家与界面新闻等媒体进行了深入交流,畅谈了大模型对传统深度机器学习平台的改变,以及大模型底层技术支持对头部厂商的挑战。

机器学习平台不再是从0到1。

虽然都属于人工智能的范畴,但即使是不久前的深度机器学习平台,也与各大公司纷纷参与大模型的研发后,大模型优化的新训练推理范式有着本质的区别。

从模型的微调、评估、部署,这些环节是定制模型的主要训练过程,与传统机器学习平台的区别主要集中在这个过程中。

比如传统的机器学习平台只提供各种库和算法,训练是从0到1的过程,没有提供带参数的模型。

如今,大厂提供的千亿规模的基础模型包含了各种规模的模型矩阵和庞大的数据。此时,R&D人员需要做的是微调专属模型并构建应用程序。

其中,庞大的数据量决定了应用落地的天花板。在十几年前的机器学习平台里,数据科学家60%-80%的时间都在清洗数据,只有20%左右的时间在建模。

大模型时代用于训练的原始素材往往是PB(1000TB)级别起步。“任何一个环节都不能用手去做。”腾讯机器学习平台部专家工程师姚俊表示,如果没有智能数据处理,科学家即使花费100%的时间也无法完成对这些数据的处理。

这个参数尺度指的是数量级的增长,“智能不够,数据来凑。”在open ai 2020年发表的一篇论文中,他们发现,从整个人工智能的深度和宽度来看,数据越多,模型越大,其总结知识和概括推理的能力就越强。

基础模型的参数决定了智能能力的天花板,但天花板能否触及取决于其对业务场景的适应,即模型微调的效果。

微调是指企业在大厂商提供的基础模型的基础上,对自己的模型进行训练(二次训练和微调训练),优化自己的应用场景和特有数据,使大模型能够理解企业的应用指令,并以特定的方式输出其存储的数据。

比如最近OpenAI的发布会上,CEO萨姆·奥特曼演示的创业训练营案例文档,就包含了大量传统的OCR和表格转换工作。为了让大模型理解文档,需要对这个垂直场景进行大量的训练。

对于那些上千亿参数的大模型,在微调的过程中能改变多少参数?变化越多,对场景的适应越好,但也意味着更高的训练成本。

大模型提供了不同的尺寸,不同程度的参数调整能力,以及减少错觉的需要,这也是和传统的机器学习平台完全不同的。

有来自世界各地的数据。为什么培养一个大模特这么难?

虽然很多公司积累了大量的数据,但并不是每个公司都能承担训练大模型的工作。挑战主要来自四个方面:

1.计算挑战。大型模型的计算能力呈指数级增长,超过了很多硬件加速器的计算能力。

从早期的Bert模型,到LLamMA,再到GPT3和GPT4,深度模型网络需要通过前向和后向计算得到最佳的权值,计算要在每个位置进行,所以模型中的节点数量和网络层次的规模决定了模型所需的计算量。

相比之下,如今的主流硬件加速器计算能力有限。以伯特模型为例。如果用NVIDIA V100卡来算,大概需要50天。如果用这张卡来计算GPT系列模型,可能需要几十或几百年的时间。

2.记忆挑战。目前大规模机型规模已经提升到TB级别,远超一张卡的内存大小(GB级别)。已经不能像过去那样一卡运行模式,分布式训练框架等新技术成为必由之路。

3.沟通挑战。使用多张卡进行分布式训练时,卡与卡之间的通信损耗很大,简单的加显卡是得不到线性加速结果的。换句话说,卡数翻倍并不会使训练时间减半。

因此,如何解决分布式训练中的通信问题,使实际加速比尽可能接近理论加速比,也是一个很大的工程问题。

4.故障挑战。所有的硬件都有一定的故障率,显卡运行太久就会坏掉,尤其是温度问题。GPU使用高计算能力后,会造成散热问题。高温会让机器进入自我保护状态,直接关机。

这些都是研究大模型的技术人员不得不面对的工程技术问题。腾讯机器学习平台部总监陶阳宇也介绍了腾讯一些此前未公开的解决方案。

比如利用3D多维并行来提高训练的并行性,采用“数据并行+张量并行+流水线并行”的方式来提高并行性,降低分布式训练过程中的网络通信开销,提高整体训练性能。

例如,在存储层面,从统一的角度对GPU内存和系统内存进行寻址和管理,以扩展可存储模型的容量。主存和主存连接后,技术人员在训练时可以先把大量参数放在系统内存中,必要时再放在主存中。

目前80G的内存尺寸很大,但系统主流内存容量已经达到2T。因此,通过对内存和系统内存的统一寻址,单机内存容量可提升90%,突破内存限制。这样也可以盘活大量低端显卡库存,用低端卡培养大机型。

在显卡供应受阻的背景下,这一点更为重要。从实际效果来看,腾讯已经可以训练出基于40G显存和低配卡的1000亿元混合机型,实现24G低配卡的机型微调。