您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[北京智源人工智能研究院]:人工智能行业数据集构建及模型训练方法实践 - 发现报告

人工智能行业数据集构建及模型训练方法实践

AI智能总结
查看更多
人工智能行业数据集构建及模型训练方法实践

周华 北京智源人工智能研究院大模型行业应用总监 行业大模型落地难,难在哪里? 专 业 需 求 数 据 构 建 大模型能力与专业业务需求对齐难 行业大模型专业数据集构建难 集 成 演 进 训 练 技 术 人员算力成本高,技术能力建设难 现有IT系统的大模型集成和演进难 目录 一.行业数据集的制作技术分享 二.行业模型训练新范式的实践 三.NL2SQL助力大模型与传统IT系统集成 助力解决行业模型训练数据问题 在当前大模型时代,行业模型在推动智能化转型和创新发展中发挥着至关重要的作用,而高质量的行业数据是提升大模型性能和实现行业应用落地的关键。 行业数据带来的裨益 提升模型性能:行业数据中包含专业的、领域特定的知识或业务流程; 实现应用落地:高质量的行业数据是大模型实际应用中落地的关键; 增强模型适应性:行业数据使模型可以适配行业中独有的场景问题或挑战; 促进创新:行业数据极大推动不同的工作模式创新 智源IndustryCorpus1.0:多行业中英双语数据集 数据为模型服务,模型由开发者实现。从开发者的角度来看,智源IndustryCorpus数据集有着数据规模大,行业覆盖广,类型多,质量广,灵活度高的显著优势。 •一期18个行业分类•二期扩展到30个行业分类 IndustryCorpus行业预训练数据集的构建流程 从海量的数据中筛选出各个语种,各个行业的数据,是一项繁重且高价值工作,主要涉及3个核心内容:语种划分,行业分类,质量评估 质量评估:评估数据的质量,对低质数据进行过滤删除。 语种划分:识别数据语种并进行分别归档,这一步放在整个处理的前置阶段,可以保证不同语种数据分布可被感知。 基于规则:文本长度,特殊字符占比,有毒有害,隐私敏感等; 基于模型:质量打分模型、模型困惑度 行业分类:对数据进行行业领域分类,要保证数据分类的准确性和类别设置的覆盖性; 如何实现数据的行业划分 对数据进行领域识别是一个典型的文本分类任务:构造领域类目,制作领域标签数据,模型选型训练 模型表现排名: 1.bge-m3(指标高,收敛快)2.qwen1.5-0.5b-chat3.bge-m3(freeze)4.bert-snowflake(fineweb-edu选用) 借助LLM多轮生成文本类别,筛选多次生成类别一致数据;开源新闻数据,配比10%; 模型选型:预训练Bert、GPT模型,NLU略优于NLG 训练方式:basemodel更新参数 为什么要提升数据质量 模型学习的过程是数据压缩的过程。高质量的数据训练将一部分数据压缩离线完成,可以提升模型的学习效率和整体表现 {"text": "27日美国2年期与10年期国债收益率再现倒挂,且倒挂程度创下金融危机之后新高。当前形势下,扭曲可能还将存在甚至加重。事实上,当前全球债市收益率已回到历史低位,部分创出新低,人民币资产估值优势不断凸显,在人民币贬值预期平稳的背景下,吸金能力正得以展现。\n27日美国2年期和10年期国债收益率再度发生倒挂,且倒挂幅度创下全球金融危机以来新高。\n", "quality_score":}4.14955997467041 {"text": "\\_\\_\\_\\_\\_\\_\\_\\_\\_\\_\n\nTranslatedfrom*Chinese Journal of Biochemistry and Molecular Biology*,2007, 23(2): 154--159 \\[译自:中国生物化学与分子生物学报\\]\n","quality_score":,}0.38929006457328796 {"text": "![](brjcancer00428-0139.tif \"scanned-page\"){.737}\n", "quality_score":,}-0.3435468375682831 低质量的数据在学习过程中贡献大量Loss是对模型的伤害;在同等数据量情况下,数据质量越高对模型越有帮助;14B高质量数据可以达到50B未筛选前数据表现,3倍训练效率; {"text": "#ifndef_IMGBMP_H_\n#define_IMGBMP_H_\n\n#ifdef__cplusplus\nextern\"C\"{\n#endif\n\nconstuint8_t bmp[]={\n\\/\\/--调入了一幅图像:D:\\我的文档\\My Pictures\\12864-555.bmp --*\\/\n\\/\\/--宽度x高度=128x64 --\n0x00,0x06,0x0A,0xFE,0x0A,0xC6,0x00,0xE0,0x00,0xF0,0x00,0xF8,0x00,0x00,0x00,0x00,\n0x00,0x00,0xFE,0x7D,0xBB,0xC7,0xEF,0xEF,0xEF,0xEF,0xEF,,\n}; \n\n\n#ifdef__cplusplus\n}\n#endif\n\n#endif\\/\\/ _IMGBMP_H__SSD1306_16BIT_H_\n”,"quality_score":}0.5241761803627014 如何提升数据的质量 对数据质量进行评估,结合使用两种策略:Rule-based,Model-based 数据质量过滤漏斗:对数据逐层过滤,逐步提升数据质量; 质量模型表现:具备中英文能力,高质量数据指标F1=0.82,对比GPT4质量判定一致率为90%; 中文+英文:数据语种可分带来的优势 继续预训练阶段数据的语种配比,领域配比,训练超参对整个模型的训练有非常大的影响。如果CPT阶段的数据分布与基础模型的数据分布差异过大很容易导致训练崩溃。数据语种和领域种类可分为开发者带来更多数据组合便利。 •同一数据,不同模型表现差异较大 目录 一.行业数据集的制作技术分享 二.行业模型训练新范式的实践 三.NL2SQL助力大模型与传统IT系统集成 行业模型落地应用训练范式:总体概览 SFT是一般通行做法,但并不是最佳解决方案 •We demonstratethat large language models struggle to acquirenew factual knowledge through fine-tuning,asfine-tuning examples that introduce new knowledge are learned significantly slower than thoseconsistent with the model’s knowledge. However, we also find that as the examples withnew knowledgeare eventually learned, theylinearly increase the model’s tendency to hallucinate. Taken together, ourresults highlightthe risk in introducing new factual knowledgethrough fine-tuning, and support the view thatlarge language models mostly acquire factualknowledge through pre-training, whereas finetuning teachesthem to use it more efficiently. •我们证明,大型语言模型很难通过微调获得新的事实知识,因为引入新知识的微调示例的学习速度明显慢于与模型知识一致的示例。然而,我们还发现,随着包含新知识的示例最终被学习,它们会线性增加模型产生幻觉的倾向。总之,我们的结果凸显了通过微调引入新事实知识的风险,并支持以下观点:大型语言模型主要通过预训练获得事实知识,而微调则教会它们更有效地使用这些知识。 •SFT数据知识分布与通用模型不一致,会大幅度抬高初始Loss,让模型收敛更加困难; •SFT训练数据量一般较少,步数少,对模型参数影响不大,在专业知识还未学会的情况下,即过拟合,训练被迫终止;•专业知识未彻底学会的情况下,模型更加容易产生幻觉;•仅有正向样例,缺乏负面样例,模型不能学到如何避免错误。 为什么要采用CPT+SFT+RLHF的“CSR三合一”范式? 组合拳总比一招一式更加有效。 •Base Model(基座模型):通用基础知识和认知; •CPT(继续预训练):注入领域专业知识和认知,以及业主的私域业务知识; •SFT(精调训练):学习对齐输出形式,记住少量事实类信息,如自我介绍,主人信息等; •RLHF(人类反馈强化学习):近一步引入负向样例,让模型学会选择,从而获得避免错误,输出更好答案的能力。 •RAG:更进一步缓解幻觉问题,并支持新知识更新。 最大限度激发大模型能力,满足行业需求。 医疗领域示范模型训练 使用医疗领域数据,在通用模型上进行CPT+SFT+RLHF(CSR)全流程训练,验证行业预训练数据有效性;确定指令微调数据,人类偏好数据的筛选方案;确立了行业模型的训练范式。 模型训练各阶段能力各有侧重:预训练学知识,SFT学指令,RL学偏好; 行业模型CPT的必要性:海量的通用语料中蕴含着大量的领域相关数据,有必要从通用语料中提取出高质量的领域数据,以补齐模型的的行业知识缺失。 继续预训练:为了缩小预训练和SFT之间的差异,设计两阶段继续预训练。 指令微调:使用指令数据质量模型和基于自回归损失的方法筛选高质量指令数据集; 偏好训练:借助GPT或打分模型筛选偏好数据,对齐模型输出偏好 医疗领域示范模型训练:CPT阶段 领域模型的预训练阶段会出现指标先下降后提升的趋势,二阶段提升显著。 CPT两阶段数据设置 一阶段:基于规则过滤的领域数据+配比通用数据二阶段:基于模型过滤的高质量领域数据+SFT数据 CPT两阶段指标趋势 一阶段:指标先下降后上升,震荡上升;二阶段:模型指标迅速提升,稳步提升; 医疗领域示范模型训练:CPT阶段 Stage1 Stage2 目的:防止由于预训练和继续预训练数据之间的巨大差异导致模型能力显著下降。 目的:进一步提高医学领域模型的能力。 基于LLM过滤数据 基于规则过滤数据 通用数据 基于规则的数据质量过滤 目的是进一步提高医学领域模型的能力。基于LLM的数据质量过滤 •token数量过少•特殊token过多•包含有毒信息•包含隐私数据 •数据中有语法错误,语义不连贯,多个不相关内容的拼接等问题•从基于规则过滤后的数据中提取20k种子数据训练一个BERT分类器 20BTokens 60BTokens 医疗领域示范模型训练:SFT阶段 还是强调数据的重要性,SFT阶段通过从开源指令数据集中筛选高质量数据,使用更小的训练代价得到更好的模型效果 单轮QA数据 SFT的数据考量点: 指令:多样性/复杂性回复:quality,cot,helpful,relevance 现有数据筛选的方法: 人工打标签--消耗大量的人力和时间成本GPT打分--有一定的价值观倾向,并且收费昂贵Judge模型--通用角度评估数据,有较好适配性 Deita—指令复杂性和回复质量 医疗领域示范模型训练:SFT阶段-数据集制作 单轮对话 Deita:好数据的定义是指令复杂性高且回复质量高 复杂性模型打分:��质量模型打分:�� ��=��∗�� 论文链接:https://arxiv.org/abs/2312.15685代码链接:https://github.c