概述
AI发展正在经历一个拐点的跨越,从“预测推断”走向“内容生成”。新的AIGC形态给传统企业的模型训练和调用都提出新的挑战,需要更大的算力和大参数的算法,通过训练在大型文本语料库上学习到的语言模式生成自然语言文本,可以自动生成各类内容,文本、图像、语音、视频、代码中,能广泛应用于新闻、文案、对话、规划、设计创新,才能让企业在这场新的竞争中占据一席之地。
具体来说,新一代的大模型对模型训练的底座和平台都提出了新的要求,支持多个任务、参数1亿以上基于海量多源数据打造的模型,采用Transformer的架构,并且支持预训练。通过单模型做多种任务、更少的数据标注、更优的模型效果等特点来提升模型训练效率,以实现更优的识别、理解、决策、生成效果和更低成本的开发方案。
慧聚一站式智算服务平台通过开箱即用的平台化产品,为您解决企业数字化、智能化转型中需要解决的AI建模门槛高、流程复杂、人力成本高等问题,有效为企业降本增效,助力企业转型。
本实践主要介绍少量样本对大语言模型进行微调训练,微调训练是大语言模型训练和应用中最常见的一种方式,用性价比的方式让企业快速训练出一个适合于自己业务的对话模型。通过慧聚一站式智算服务平台来管理数据、标注指令微调、分布式调优任务、任务监控、模型管理、模型评估等全流程的调优步骤,通过交互式操作即可快速微调出属于业务自己的大语言对话模型。
- 任务特定性能提升:预训练语言模型通过大规模的无监督训练学习了语言的统计模式和语义表示。然而,它在特定任务上的性能可能不如在大规模无监督数据上表现出的性能。通过在任务特定的有标签数据上进行微调,模型可以进一步学习任务相关的特征和模式,从而提高性能。
- 领域适应性:预训练语言模型可能在不同领域的数据上表现不一致。通过在特定领域的有标签数据上进行微调,可以使模型更好地适应该领域的特殊术语、结构和语义,提高在该领域任务上的效果。
- 数据稀缺性:某些任务可能受制于数据的稀缺性,很难获得大规模的标签数据。监督微调可以通过使用有限的标签数据来训练模型,从而在数据有限的情况下取得较好的性能。
- 防止过拟合:在监督微调过程中,通过使用有标签数据进行有监督训练,可以减少模型在特定任务上的过拟合风险。这是因为监督微调过程中的有标签数据可以提供更具体的任务信号,有助于约束模型的学习,避免过多地拟合预训练过程中的无监督信号。
方案优势
- 简化训练和部署的复杂流程:慧聚一站式智算服务平台通过整合全链路的工具组件,实现了训练与部署流程的极大简化,为科研人员提供了一站式解决方案。用户无需再为繁杂的工具和环境配置而烦恼,只需专注于模型的核心研发工作。慧聚智算开发平台不仅降低了大模型开发的使用门槛,更让AI技术的普及和应用变得更加便捷和高效。
- 开箱即用,降低调优成本:慧聚一站式智算服务平台为用户带来了便利,通过平台,用户无需进行任何额外的配置或调试,开箱即用。平台预置了丰富的预训练模型和镜像环境,针对不同场景提供了多样化预置数据集,确保用户能够迅速投入工作。同时,平台集成了大模型微调训练工具,适用于专属大模型的快速训练。此外,平台还支持分布式训练和Deepspeed加速框架,提供断点续训功能,支持小样本微调,使用户能够轻松定制专属模型,极大地降低了调优成本,提高了研发效率。
- 平台化全流程管理:慧聚一站式智算服务平台,一个集成化的平台化工具,将以上所有角色都汇聚于一个统一的平台之上,提供从数据处理、模型开发、模型训练到最终模型部署应用的全栈服务。管理者能够在平台上实现统一管理和查看,确保各环节的无缝衔接,让各角色参与者能借助平台完美协同工作,实现数据互通、环境互通,确保数据和模型安全,全程不出平台实现训练开发资产的一站式沉淀与管理,能显著提升企业整体工作效率,实现AI生产的流水线化运作。
前置条件
注意本方案仅作为实践演示,具体环境以用户实际需求为准。
执行本文操作之前, 请完成以下准备工作:
- 注册天翼云账号,并完成实名认证。
- 天翼云账户余额需要大于100元。
- 为了便于演示,本文中涉及资源开通时,均默认选择按量付费模式。
实践步骤
数据集管理
- 进入数据集管理模块,点击【创建数据集】,在弹窗中创建一个数据集,录入数据集名称,数据类型选择“文本”,标注类型选择“指令微调”、标注模版选择“指令微调”,点击【创建并导入】。
- 数据导入页面支持从媒体存储上传、本地上传、上传压缩包、从互联网链接导入。这里我们选择上传,导入方式选“JSON”。
- 对导入成功的数据,在数据集列表操作列点击【标注】,进入在线标注页。
- 指令微调数据标注:instruction、input、output是指令微调的3个字段,instruction代表指令要求,input代表指令输入,output代表模型根据指令和输入执行的结果。撰写完成点击【下一篇】按钮进行下一条数据的处理。标注页面右侧可以对该条数据进行打标审核。
- 标注完成后,在数据集列表,选择对应数据集,点击右上角【发布】,完成发布后的数据集才能供后续的训练使用。
- 可以将标注后的数据从MySQL转换为JSON格式,便于训练。
- 如果您希望训练过程中训练速度更快的话,可以点击【加速】,将数据从对象存储转存到快速存储中进行加速。
模型调优
- 创建调优任务:进入模型开发与训练模块,选择快速精调,进入调优任务列表,点击【新建调优任务】,进入创建页面。选择已导入的指令微调数据集,选择基础大模型,设置调参方式、迭代轮次、批处理大小、学习率等指标,配置资源选择算力规格。不同的算力规格对应不同的价格,单节点下卡数越多训练越快。
- 监控调优任务:返回模型调优训练任务列表,列表中可以看到每个任务的运行进度、预估时长。点击任务名称,可进入调优任务详情页,右上角可对任务进行停止和删除操作。详情页可依次查看任务基础信息、日志、监控、Tensorboard看板。
模型管理
- 新建模型:在模型管理菜单页面中,点击【新建模型】,输入模型名称,模型来源选择从当前平台导入,可以将上述调优任务输出的模型在模型文件中选到,并进行导入,导入后模型可以在模型管理统一管理。
- 模型分享:点击模型列表的分享,可以将模型分享给其他账户,只需要把口令复制给相应要分享的账户,该账号创建模型时从口令导入即可。
模型评估
- 新建评估任务:在模型评估菜单页面中,点击【新建评估任务】,选择一个用于评估的Benchmark数据集,选择对应的评估标准,以及评估用到的资源。
- 准确率:忽略停用词后,正确预测(标注与预测完全匹配)的样本数与总样本数的比例。
- ROUGE-1:忽略停用词后,将模型生成的结果和标准结果按unigram拆分后,计算出的召回率。
- ROUGE-2:忽略停用词后,将模型生成的结果和标准结果按bigram拆分后,计算出的召回率。
- ROUGE-L:忽略停用词后,衡量了模型生成的结果和标准结果的最长公共子序列,并计算出召回率。
- BLEU-4:忽略停用词后,用于评估模型生成的句子和实际句子的差异的指标,值为unigram(单个词)、bigram(两个连续词的组合)、trigram(三个连续词的组合)以及4-grams(四个连续词的组合)的精确度的加权平均。