当前位置: 首页 > 科技观察

摆脱“头条党”,清华团队又一开源力作!

时间:2023-03-16 10:43:00 科技观察

作为难名族,高中作文最让我头疼的就是写好文章不知道写什么题目。开始写公众号之后,每次想到标题就掉很多头发。。。。最近终于在GitHub上发现了“命名垃圾”的光芒,一个由GitHub推出的大型模型趣味应用清华大学与OpenBMB开源社区:“智能标题”,输入文字内容,一键生成强大标题!开箱即用,试过之后只能说:真香!在线体验:https://live.openbmb.org/antGitHub:https://github.com/OpenBMB/CPM-Live提到这款标题党神器,不得不说说它的“本体”——LargemodelCPM-蚂蚁。CPM-Ant作为国内首款直播训练百亿级大模型,耗时68天训练于2022年8月5日完成,由OpenBMB正式发布!五大突出特点四大创新突破培训流程低成本环保!最重要的是——完全开源!CPM-Ant作为国内首个直播训练的大规模模型,在大规模模型训练、微调、压缩、推理、应用等方面提供了可行的实战方案,希望能为不同的追随者提供不同的帮助和参考.接下来,让我们一起来看看CPM-Ant公布结果的内容报告吧!模型概述CPM-Ant是一个开源的中文预训练语言模型,10B参数,也是CPM-Live直播训练过程中的第一个里程碑。整个训练过程低成本环保,对硬件和运营成本要求不高。基于delta调优的方法,在CUGEbenchmark中取得了优异的成绩。CPM-Ant相关代码、日志文件和模型参数在开放许可协议下完全开源。除了完整模型,OpenBMB还提供各种压缩版本以适应不同的硬件配置。CPM-Ant的五个突出特点:(1)高效计算通过BMTrain[1]工具包,可以充分利用分布式计算资源的能力,高效地训练大型模型。CPM-Ant的训练历时68天,耗资43万元人民币,是谷歌训练T5-11B模型约130万美元成本的1/20。训练CPM-Ant的温室气体排放量约为4872kgCO2e,而训练T5-11B的排放量为46.7tCO2e[9],CPM-Ant的方案约为其排放量的1/10。(2)卓越的性能借助OpenDelta[3]工具,可以非常方便地通过增量微调使CPM-Ant适配下游任务。实验表明,CPM-Ant在仅微调6.3M参数后在3/6CUGE任务上取得了最好的结果。这个结果超过了其他完全参数调整的模型,例如:CPM-Ant仅微调了CPM2的0.06%(微调了11B参数)。(3)部署经济借助BMCook[7]和BMInf[4]工具包,CPM-Ant可以在有限的计算资源下驱动。基于BMInf,它可以代替计算集群在单个GPU(甚至是GTX1060这样的消费级显卡)上进行大规模模型推理。为了让CPM-Ant的部署更加经济,OpenBMB使用BMCook将原来的10B模型进一步压缩成不同的版本。压缩模型(7B、3B、1B、300M)可以适应不同低资源场景的需求。(4)使用方便无论是原来的10B模型还是相关的压缩版,都可以通过几行代码轻松加载运行。OpenBMB还将CPM-Ant添加到ModelCenter[8],使模型的进一步开发更加容易。(5)公开民主CPM-Ant的训练过程是完全公开的。OpenBMB以开放访问的方式发布所有代码、日志文件和模型档案。CPM-Ant还使用允许商业化的开放许可证。完整的大模型训练实践CPM-Ant训练流程为具备大模型训练能力的厂商和研究机构提供了完整的中国大模型训练实践记录。OpenBMB发布了CPM-Live系列模型的模型设计、训练方案、数据需求和实现代码。基于CPM-Live的模型架构,方便快捷地设计和实施大规模模型训练方案,整理相关业务数据,完成模型预研和数据准备。官网记录了训练过程中的所有训练动态,包括损失函数、学习率、学习到的数据、吞吐量、梯度大小、成本曲线,实时显示模型内部参数的均值和标准差。通过这些训练动态,用户可以快速诊断模型训练过程中是否存在问题。实时显示模型训练的内部参数。此外,OpenBMB的研发学员每天都会实时更新训练记录汇总。摘要内容包括损失值、梯度值、整体进度。了解模型训练过程中可能遇到的各种“陷阱”。在模型训练“淡定从容”的日子里,研发小哥还会抛出一些名言,介绍一些最新的论文,甚至还会发起猜谜活动。日志中的猜测活动此外,OpenBMB还提供了一种具有成本效益的训练解决方案。对于实际需要大规模模型训练的企业,通过相关的训练加速技术,已经将训练成本降低到可以接受的水平。使用BMTrain[1]工具包,百亿级大模型CPM-Ant训练算力仅需43万元人民币(当前成本按公有云价格计算,实际成本会更低),其中11B大型号T5售价130万元人民币。大约是美元的1/20!屡创SOTA的高效微调方案CPM-Ant如何帮助我们适配下游任务?针对大型模型研究者,OpenBMB提供了基于参数高效微调的大型模型性能评估解决方案,方便下游快速任务适配和模型性能评估。CPM-Ant在六个下游任务上的性能使用有效的参数调整(即增量调整)进行评估。实验采用LoRA[2],它在每个注意力层中插入两个可调低秩矩阵,并冻结原始模型的所有参数。使用这种方法,每个任务只有6.3M参数被微调,仅占总参数的0.067%。在OpenDelta[3]的帮助下,OpenBMB在不修改原始模型代码的情况下进行所有实验。应该指出的是,在下游任务上评估CPM-Ant模型时没有使用数据增强方法。实验结果如下表所示:可以看出,OpenBMB模型在三个数据集上的性能已经超过了CPM-2和source1.0,仅微调了几个参数。当微调参数很少时,某些任务(例如LCSTS)可能更难学习。CPM-Live的训练过程将继续进行,每项任务的表现将进一步打磨。感兴趣的同学可以访问下方的GitHub链接,先体验CPM-Ant和OpenDelta,进一步探索CPM-Ant在其他任务上的能力!https://github.com/OpenBMB/CPM-Live一系列对硬件友好的推理方法大型模型的性能令人惊叹,但高硬件要求和运行成本一直困扰着很多用户。针对大模型用户,OpenBMB提供了一系列硬件友好的使用方式,可以轻松在不同的硬件环境下运行不同的模型版本。使用BMInf[4]工具包,CPM-Ant可以在单卡1060等低资源环境下运行!此外,OpenBMB还压缩了CPM-Ant。这些压缩模型包括CPM-Ant-7B/3B/1B/0.3B。并且所有这些模型压缩大小都可以对应现有开源预训练语言模型的经典大小。考虑到用户可能会在已发布的检查点上进行进一步开发,OpenBMB主要使用与任务无关的结构化剪枝来压缩CPM-Ant。修剪过程也是渐进的,即从10B到7B,从7B到3B,从3B到1B,最后从1B到0.3B。在具体的剪枝过程中,OpenBMB会训练一个动态可学习的mask矩阵,然后利用这个mask矩阵对相应的参数进行裁剪。最后根据目标稀疏度确定的mask矩阵的阈值对参数进行剪枝。更多压缩细节可以参考技术博客[5]。下表是模型压缩的结果:硬核内容都讲完了,那么大模型如何帮我们“出题”呢?一款意想不到的基于CPM-Ant的大型模型趣味应用,所有大型模型开发者和爱好者都可以开发出感兴趣的趣味文字应用。为了进一步验证模型的有效性并提供实例,OpenBMB微调了一个基于CPM-Ant的MaddenHeadlineGenerator来展示模型的能力。您只需将文字内容粘贴到下方文本框内,点击一键生成,即可获得大模提供的惊艳标题!CPM-Ant成就报告的第一篇文章标题由生成器生成。本demo会继续打磨,后续会加入更多特效,提升用户体验。有兴趣的用户也可以使用CPM-Ant构建自己的显示应用。如果您有任何应用想法,需要技术支持,或者在使用demo过程中遇到任何问题,都可以随时在CPM-Live论坛[6]发起讨论!CPM-Ant的发布是CPM-Live的第一个里程碑,但这只是第一期培训。OpenBMB未来会继续进行一系列的培训。剧透一下,多语言支持、结构化输入输出等新特性将在下期培训中加入。欢迎大家继续关注!传送门|项目链接项目GitHub地址:https://github.com/OpenBMB/CPM-LiveDemo体验地址(仅限PC端访问):https://live.openbmb.org/ant