千亿规模参数源1.0预训练大模型的知识蒸馏技术( 二 )


千亿规模参数源1.0预训练大模型的知识蒸馏技术

文章插图
源大模型的结构上也做了一些创新,一方面是 2457 亿的参数,这个参数主要是基于的解码层结构进行了堆叠,也首次面向计算的效率和精度优化方面做了大模型的结构设计,针对层和前馈层的模型空间结构也做了一些优化 。我们改进的注意力机制来聚焦文章内部的联系,之后在整个计算过程当中我们也采用了张量并行、流水并行和数据并行三大并行方式来做模型的联合优化,从而提升模型训练的效率 。
源大模型在整个训练阶段,因为模型结构和模型参数如此巨大,就需要更大规模的算力跟算力优化的能力支持 。浪潮信息供给了全球五分之一,中国 50% 的 AI 服务器,并且在等等这些与AI计算相关的比赛和精度优化、计算优化的比赛当中也是获得了非常多的冠军,也连任了的评委的主席,在这些过程当中我们积累下来的AI计算和性能优化方面的这些能力也在源 1.0 的训练过程当中被重复的赋能,所以我们的源 1.0 在训练过程当中,有非常强大的 AI 算力支持 。
在大模型训练方面,我们采用了 2128 块 GPU,在单个 GPU 上的实际性能和理论性能的比值达到了 45%,远高于 GPT3 和 MT-NLG 等模型的训练过程 。对于计算性能的提升会带来非常大的绿色环保的收益以及人力成本、时间成本上的收益 。
源 1.0 在中文的自然语言测评的 CLUE 的零样本学习和小样本学习测评当中,获得了业界第一的水平,在智源指数 CUGE 上面的评测也获得了总分第一的成绩 。模型除了可比较、可量化的评价标准以外也表现出非常丰富和出色的中文理解和创作能力,后文也有一些基于源 1.0 落地的应用实例,跟合作伙伴一起开发和赋能的相关案例,也会做一个简短的介绍 。
【千亿规模参数源1.0预训练大模型的知识蒸馏技术】我们在 WebQA 和 CMRC 的测评上面也横向比较了当时业界我们国内的一些模型的水平,可以看到在这两个任务上面我们也达到了一个业界高水平的成绩 。
03
基于源 1.0 的技能模型构建
大模型带来优异的精度表现和泛化能力,也带来一系列的问题 。模型太大,部署起来会比较麻烦,因此我们基于源 1.0 在不同领域上面针对不同的任务构建了一些技能模型 。
在实际应用当中,有 2000 多亿参数的大模型加载所需的显存空间就非常庞大 。千亿参数模型需要用 8 张 GPU 卡做部署,推理时间要达到 6 秒多,而用百亿参数模型只需要 4 张GPU 卡就可以实现 2 秒钟的推理效率,推理效率的提升还是比较明显的,这样的模型在实际的应用当中,尤其是对实时性要求较高的应用是非常占优的 。
大模型的更新也比较困难,2000 多亿参数的模型,训练和微调的成本非常高,如果训练数据量少起不到对于这么庞大模型的所有参数更新的作用,如果训练数据规模大,虽然它的参数会被整体进行更新,但是会带来两个比较大的问题,一个是训练成本本身会变得很高,另外一个就是大规模的数据在训练过程当中有可能带来灾难性的遗忘,这会导致模型本身原有的泛化能力会有所衰减 。还有就是应用困难,大模型的推理耗时相比传统服务高好多,推理的资源需求也会大很多 。千亿参数的模型需要超过 600GB 的显存进行加载,推理时间超过 6 秒 。因此我们希望采用知识迁移和模型压缩的方式来实现模型蒸馏 。
为了构建技能模型我们对一些典型场景进行了数据收集,一种是古文,古诗文是中国传统文化的一个艺术结晶,因此我们希望能够通过现代的技术去挖掘古代的文学之美,所以我们去收集古文类的所有的数据和样本,然后去训练一个古文模型来去实现让大模型来做吟诗作对的这样一个能力 。另一个是对话场景,我们对于自由对话场景收集了超过 2GB,覆盖多领域多话题的自由对话数据,以它为基础,我们后续要进行模型的蒸馏 。