人工智能行业数据集构建及模型训练方法实践 周华 北京智源人工智能研究院大模型行业应用总监 1 专业需求 大模型能力与专业业务需求对齐难 训练技术 人员算力成本高,技术能力建设难 数据构建 行业大模型专业数据集构建难 集成演进 现有IT系统的大模型集成和演进难 一.行业数据集的制作技术分享 二.行业模型训练新范式的实践 三.NL2SQL助力大模型与传统IT系统集成 在当前大模型时代,行业模型在推动智能化转型和创新发展中发挥着至关重要的作用,而高质量的行业数据是提升大模型性能和实现行业应用落地的关键。 愿景 行业覆盖多 质量足够高 数据量足够大 行业数据现状 行业覆盖少 数据质量低 数据量少 行业数据带来的裨益 提升模型性能:行业数据中包含专业的、领域特定的知识或业务流程; 实现应用落地:高质量的行业数据是大模型实际应用中落地的关键; 增强模型适应性:行业数据使模型可以适配行业中独有的场景问题或挑战; 促进创新:行业数据极大推动不同的工作模式创新 数据为模型服务,模型由开发者实现。从开发者的角度来看,智源IndustryCorpus数据集有着数据规模大,行业覆盖广,类型多,质量广,灵活度高的显著优势。 数据规模大 行业覆盖广 •开源数据3.4T(2.4EN+1.0ZH) •高质量数据0.9T(定向申请) •一期18个行业分类 •二期扩展到30个行业分类 数据类型多 数据质量高 数据灵活度高 •行业预训练数据 •行业指令数据(医疗、教育)、行业偏好数据(医疗) •预训练数据:基于规则+模型的多重质量提升方案 •指令数据:基于指令复杂性+回复质量+多轮相关性的筛选方案 •语种可分:方便行业数据配比实验 •行业可分:便于多行业灵活组合配比 图1.本次开源行业数据集按行业分布情况(GB) 图2.本次开源行业数据集与其它开源行业数据的对比(GB)5 从海量的数据中筛选出各个语种,各个行业的数据,是一项繁重且高价值工作,主要涉及3个核心内容:语种划分,行业分类,质量评估 语种划分:识别数据语种并进行分别归档,这一步放在整个处理的前置阶段,可以保证不同语种数据分布可被感知。 行业分类:对数据进行行业领域分类,要保证数据分类的准确性和类别设置的覆盖性; 质量评估:评估数据的质量,对低质数据进行过滤删除。 基于规则:文本长度,特殊字符占比,有毒有害,隐私敏感等; 基于模型:质量打分模型、模型困惑度 6 对数据进行领域识别是一个典型的文本分类任务:构造领域类目,制作领域标签数据,模型选型训练 图1.领域识别任务数据制作流程 借助LLM多轮生成文本类别,筛 选多次生成类别一致数据; 开源新闻数据,配比10%; 图2.领域识别任务模型训练方案 模型选型:预训练Bert、GPT模型,NLU略优于NLG 训练方式:basemodel更新参数 模型表现排名: 1.bge-m3(指标高,收敛快) 2.qwen1.5-0.5b-chat 3.bge-m3(freeze) 4.bert-snowflake(fineweb-edu选用) 模型学习的过程是数据压缩的过程。高质量的数据训练将一部分数据压缩离线完成,可以提升模型的学 ["text":"27日美国2年期与10年期国债收益率再现倒挂,且倒挂程度创下金融危机之后新高。当前形势下,扭曲可能还将存在甚至加重。事实上,当前全球债市收益率已回到历史低位,部分创出新低,人民币资产估值优势不断凸显,在人民币贬值预期平稳的背景下,吸金能力正得以展现。\n27日美国2年期和10年期国债收益率再度发生倒挂,且倒挂幅度创下全球金融危机以来新高。\n","quality_score":4.14955997467041] 习效率和整体表现 ["text":"\\_\\_\\_\\_\\_\\_\\_\\_\\_\\_\n\nTranslatedfrom*ChineseJournalofBiochemistryandMolecularBiology*,2007,23(2):154--159\\[译自:中国生物化学与分子生物学报 \\]\n","quality_score":0.38929006457328796,] ["text":"![](brjcancer00428-0139.tif\"scanned-page\")[.737]\n","quality_score":-0.3435468375682831,] ["text":"#ifndef_IMGBMP_H_\n#define _IMGBMP_H_\n\n#ifdefcplusplus\nextern\"C\" [\n#endif\n\nconstuint8_tbmp[]=[\n\\/\\/--调入了一幅图像:D:\\我的文档\\MyPictures\\12864-555.bmp--*\\/\n\\/\\/--宽度x高度=128x64-- \n0x00,0x06,0x0A,0xFE,0x0A,0xC6,0x00,0xE0,0x00,0xF0,0x 00,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] 图2.高质量数据样本举例 低质量的数据在学习过程中贡献大量Loss是对模型的伤害; 在同等数据量情况下,数据质量 越高对模型越有帮助; 14B高质量数据可以达到50B未筛选前数据表现,3倍训练效率; 对数据质量进行评估,结合使用两种策略:Rule-based,Model-based 数据质量过滤漏斗:对数据逐层过滤,逐步提升数据质量; 质量模型表现:具备中英文能力,高质量数据指标F1=0.82,对比GPT4质量判定一致率为90%; 开源打分模型表现:通常中文能力较差,不适用中文场景 图2.训练质量模型在中英文数据的质量分分布 继续预训练阶段数据的语种配比,领域配比,训练超参对整个模型的训练有非常大的影响。如果CPT阶段的数据分 布与基础模型的数据分布差异过大很容易导致训练崩溃。数据语种和领域种类可分为开发者带来更多数据组合便利。 •同一数据,不同模型表现差异较大 Phi1_5 Qwen1.5-1.8b •同一模型,不同数据配比(语言和领域配比)模型收敛分布差异较大 图1.相同医疗数据下的不同模型指标表现图2.不同配比医疗数据对模型继续预训练影响 一.行业数据集的制作技术分享 二.行业模型训练新范式的实践 三.NL2SQL助力大模型与传统IT系统集成 大模型行业应用“最后一公里” 直接部署使用或调用API(提示词工程) ☆ RAG提示词 通用基座模型 LlamaQwenAquila ... SFT数据集 SFT +RAG RAG提示词 +RAG ☆☆ 行业应用模型 ☆☆☆ CPT数据集 SFT数据集 RLHF数据集 RAG提示词 ☆ +RAG RLHF SFT CPT ☆☆☆ 行业模型落地应用的智源“CSR三合一”范式 •Wedemonstratethatlargelanguagemodelsstruggletoacquirenewfactualknowledgethroughfine-tuning,asfine-tuningexamplesthatintroducenewknowledgearelearnedsignificantlyslowerthanthoseconsistentwiththemodel’sknowledge.However,wealsofindthatastheexampleswithnewknowledgeareeventuallylearned,theylinearlyincreasethemodel’stendencytohallucinate.Takentogether,ourresultshighlighttheriskinintroducingnewfactualknowledgethroughfine-tuning,andsupporttheviewthatlargelanguagemodelsmostlyacquirefactualknowledgethroughpre-training,whereasfinetuningteachesthemtouseitmoreefficiently. •我们证明,大型语言模型很难通过微调获得新的事实知识,因为引入新知识的微调示例的学习速度明显慢于与模型知识一致的示例。然而,我们还发现,随着包含新知识的示例最终被学习,它们会线性增加模型产生幻觉的倾向。总之,我们的结果凸显了通过微调引入新事实知识的风险,并支持以下观点:大型语言模型主要通过预训练获得事实知识,而微调则教会它们更有效地使用这些知识。 •SFT数据知识分布与通用模型不一致,会大幅度抬高初始Loss,让模型收敛更加困难; •SFT训练数据量一般较少,步数少,对模型参数影响不大,在专业知识还未学会的情况下,即过拟合,训练被迫终止; •专业知识未彻底学会的情况下,模型更加容易产生幻觉; •仅有正向样例,缺乏负面样例,模型不能学到如何避免错误。 1 组合拳总比一招一式更加有效。 •BaseModel(基座模型):通用基础知识和认知; •CPT(继续预训练):注入领域专业知识和认知,以及业主的私域业务知识; •SFT(精调训练):学习对齐输出形式,记住少量事实类信息,如自我介绍,主人信息等; •RLHF(人类反馈强化学习):近一步引入负向样例,让模型学会选择,从而获得避免错误,输出更好答案的能力。 •RAG:更进一步缓解幻觉问题,并支持新知识更新。 1 最大限度激发大模型能力,满足行业需求。 使用医疗领域数据,在通用模型上进行CPT+SFT+RLHF(CSR)全流程训练,验证行业预训练数据有效性;确定指令微调数据,人类偏好数据的筛选方案;确立了行业模型的训练范式。 图1.医疗行业模型全流程训练 模型训练各阶段能力各有侧重:预训练学知识,SFT学指令,RL学偏好; 行业模型CPT的必要性:海量的通用语料中蕴含着大量的领域相关数据,有必要从通用语料中提取出高质量的领域数据,以补齐模型的的行业知识缺失。 继续预训练:为了缩小预训练和SFT之间的差异,设计两阶段继续预训练。 指令微调:使用指令数据质量模型和基于自回归损失的方法筛选高质量指令数据集; 偏好训练:借助GPT或打分模型筛选偏好数据,对齐模型输出偏好 领域模型的预训练阶段会出现指标先下降后提升的趋势,二阶段提升显著。 图1.医疗模型两阶段预训练指标表现 表1.医疗模型继续预训练后指标表现 CPT两阶段数据设置 一阶段:基于规则过滤的领域数据+配比通用数据 二阶段:基于模型过滤的高质量领域数据+SFT数据 CPT两阶段指标趋势 一阶段:指标先下降后上升,震荡上升; 二阶段:模型指标迅速提升,稳步提升; 医疗领域示范模型训练:CPT阶段 Stage1Stage2 目的:防止由于预训练和继续预训练数据之间的巨大差异导致模型能力显著下降。 目的:进一步提高医学领域模型的能力。 基于规则过滤数据 通用数据 基于LLM过滤数据 SFT数据 基于规则的数据质量过滤 •token数量过少 •特殊token过多 •包含有毒信息 •包含隐私数据 60BTokens 目的是基进于一L步L提M高的医数学据领质域量模型过的滤能力。 •数据中有语法错误,语义不连贯,多个不相关内容的拼接等问题 •从基于规则过滤后的数据中提取20k种子数据训练一