
简介《大模型数据基础知识》PPT课件从大模型数据概述、数据类型与格式、训练优化、部署推理到未来趋势系统梳理了大模型数据全链路知识适合正在入门深度学习或希望建立大模型数据认知体系的开发者、算法工程师及高校学生使用。资源共1个pptx文件压缩包大小约13.92MB幻灯片结构完整、层级清晰便于按章节快速定位与二次编辑。目前已有47人学习。内容不仅涵盖结构化、非结构化和半结构化数据的采集、预处理与标注还深入介绍了SGD、Adam、RMSProp等常用训练算法以及梯度消失或爆炸、过拟合等问题对应的解决方案在部署推理部分则给出模型剪枝、量化、硬件加速等优化思路可帮助读者从数据到模型、从训练到落地形成完整的方法框架适合课程讲解、技术分享或自学巩固时配合使用。1. 为什么要从数据角度看大模型先绕开模型只看燃料先聊个挺常见的现象很多人入手大模型第一反应是去追模型架构、注意力机制、显存优化这些偏模型侧的东西。但真正跑过几次训练、微调和部署的人最后都会回到同一个瓶颈上——数据。模型结构可以抄开源社区的成熟方案训练框架也有现成的唯独数据这关谁也替不了你。这也是我拿到大模型数据基础知识这个题目时第一个想展开聊透的方向。数据在大模型项目里的定位用一句话概括数据决定了模型能力的上限模型架构和训练技巧只是在逼近这个上限。换句话说同样的模型喂进去的数据不一样出来就是两个东西。早期GPT系列和Llama系列的开源报告里几乎都会用大篇幅交代数据来源、清洗流程和数据配比原因就在这里。这篇文章不打算从Transformer结构讲起那些资料到处都是。我想聚焦在数据侧把这几件事讲清楚大模型眼里的数据到底是什么形态Token、序列、上下文的关系训练一份模型需要什么样的数据这些数据从哪里来怎么处理数据规模、数据质量和模型能力之间到底是什么关系实际做微调、做领域应用时数据工作应该怎么做才不踩坑。适合谁来读两类人。一类是刚入门大模型、想建立系统认知的开发者另一类是已经在跑模型但总觉得效果不理想、怀疑是数据问题的从业者。这篇内容会尽量把原理讲透也会给一些可以直接落地的经验。2. 大模型的数据形态Token化是所有数据工作的起点2.1 模型不读字只读Token所有进入大模型的数据不管是中文、英文、代码还是表格第一步都要变成Token序列。你可以把Token理解成模型自己的词汇碎片——它不完全等于词也不完全等于字。拿中文来举例有些分词器会把大模型切成[大, 模型]两个Token有些会切成[大模型]一个Token取决于词表设计和分词算法。英文里一个常见词可能是一个Tokenunbelievable这种长词可能会被切成[un, belie, vable]这样的碎片。为什么这件事重要因为模型的上下文窗口限制是按Token数算的计费也是按Token数算的推理速度同样受Token数影响。一条数据如何被切分直接决定了同样的文本占多大空间、花多少钱、跑多快。注意不同模型用了不同的分词器Token切分规则完全不同。同一个Prompt在GPT系列和Llama系列里消耗的Token数量可能差出30%以上。做成本估算和性能优化时不能直接套用一个固定比例。2.2 训练数据里的Token长什么样实际训练时的数据格式不是一条条文本扔进去就行而是要先组装成序列。举个例子一条对话数据大概长这样[INST] 请解释一下什么是数据增强 [/INST] 数据增强是在不改变数据真实标签的前提下通过变换生成更多训练样本的技术。模型实际拿到的是这个完整文本的Token序列。在训练时整段都会被输入模型但只有回答部分的Token会参与损失计算问题部分只作为上下文。这里有个关键设计[INST]、[/INST]、s、/s这类特殊Token是模型用来理解哪里是问题、哪里是回答、哪里是开头结尾的结构标记。不同模型对这些标记的约定不同做微调时用错标记格式是新手最常犯的错误。2.3 从原始文本到训练样本的组装逻辑如果你去看一份开源训练数据集比如Alpaca、ShareGPT的清洗版会发现里面的每条样本都已经是结构化的JSON格式{ instruction: 解释什么是数据增强, input: , output: 数据增强是在不改变数据真实标签的前提下通过变换生成更多训练样本的技术。 }到了真正的训练环节还需要把这些字段拼接成模型能读的文本模板。拼接规则的代码通常长这样def format_prompt(instruction, input_text, output): if input_text: prompt f指令{instruction}\n输入{input_text}\n回答 else: prompt f指令{instruction}\n回答 return prompt output这段代码本身不难难的是你选的模板必须和基座模型预训练时见过的一致。同样是Llama系列Llama 2的对话模板和Llama 3的就不一样直接用错模板模型输出的质量会明显下降——不是模型变笨了是它没理解你要它干嘛。3. 模型能力的上限其实被数据配比锁死了3.1 通用数据、代码数据、对齐数据各司其职现在主流的开源大模型训练数据大致分三类通用文本数据、代码数据、对齐数据。这三类数据的配比直接影响了模型最终的能力画像。通用文本数据网页、书籍、论文、百科负责给模型注入世界知识和语言能力。代码数据GitHub、技术文档、Stack Overflow不只是让模型会写代码更重要的是提升模型的逻辑推理能力——代码有严格的语法和逻辑结构模型在代码上学到的模式会迁移到普通文本的推理任务上。对齐数据指令数据、人类反馈数据负责让模型学会好好说话知道怎么回答用户的问题而不是把训练语料里的内容原样吐出来。3.2 一个值得参考的数据配比不同模型公开的数据配方差异很大但有一个比较经典的配比可以作为理解框架数据类型典型占比模型获得的能力通用网页/百科/书籍文本60%-70%世界知识、语言能力代码数据20%-30%逻辑推理、结构化理解多语言数据5%-10%跨语言能力对话/指令数据1%-5%指令遵循、对话质量注意一个反直觉的点对话数据在训练语料里的占比非常小可能不到2%但它对模型好不好用的影响极大。很多团队的误区是收集了几十万条指令数据就以为足够微调了实际上基座模型的底子如果没有打好喂再多指令数据也只是扬汤止沸。3.3 为什么要反复提数据配比因为大模型预训练的算力开销非常巨大一旦开始训练几乎没有回头调整数据的机会。开源模型报告比如Llama系列的技术报告里最核心的工程经验就是通过小规模实验确定最优数据配比再放大到大模型训练。这个路径可以类比成做菜先小锅试味确定盐和调料的比例再按比例做大锅。聪明的小规模实验设计能省下大量训练成本。4. 数据的获取、清洗与去重决定效果下限的脏活4.1 公开数据源起步阶段够用的资源池日常做微调和领域应用不需要自己从零构建预训练数据直接用公开数据集起步完全可行。这里列几个我实际用过、真实可靠的数据源Hugging Face Datasets最全的集散地从预训练语料到指令微调数据都有按任务和数据格式筛选就行。开源模型配套数据Alpaca指令数据的清洗版、ShareGPT对话数据、OpenOrca等都是微调场景的高质量选择。领域数据集法律CAIL、医疗CMB、cMedQA、金融FinanceIQ等中文领域数据集都有公开版本做垂直场景可以快速冷启动。4.2 数据清洗不是可选项是必须项从网上抓来的原始数据问题集中在以下几类每一类都有对应的处理手段首当其冲的是噪声文本。网页里的导航栏、广告、版权声明、乱码字符都要靠规则过滤掉。常规做法是用正则表达式去除HTML标签和特殊符号再通过长度过滤和重复度过滤淘汰低质量段落。一个经验值文本长度低于50个字符的片段大多没有训练价值。然后是敏感信息和个人隐私。这是合规红线需要做电话号码、身份证号、邮箱、地址等模式的识别和脱敏。如果你的数据处理流程里还没有这一步建议立刻补上——这不是能讨价还价的事。质量过滤方面可以用一个比较trick的方式用现成的高质量模型给脏数据打分排序。具体是抽取一部分候选数据让模型判断这些文本是否通顺、是否有价值得到分数后训练一个小的分类器再拿这个分类器去批量过滤全量数据。这是很多团队实际在用的数据质量自动筛选方案。4.3 去重数据集越大重复问题越容易被忽略重复数据对训练的影响很多人意识不到。多份网页文本之间会有大量片段雷同如果不去重模型会把反复出现的文本当成最重要的知识导致某些语句被机械记忆严重时还会引发训练不稳定。去重的常见做法分两层精确去重对文本做哈希去掉完全相同的样本。模糊去重用MinHash算法对文本做相似度计算去掉相似度超过阈值比如90%的样本。模糊去重是大规模数据处理的标配。互联网抓取的网页之间往往是大段复制再插入少量修改精确去重根本抓不到这些重复。MinHash的思路是把文本切成若干片段集合用多个哈希函数映射成签名再比较签名集合的Jaccard相似度。它不追求100%精准但能以极低的算力成本完成全量数据的两两比较。提示MinHash的阈值选择直接影响数据量的保留比例。阈值设太严比如95%以上才去重重复数据漏网多设太松比如80%可能误伤正常重复出现的常见表达。实践中从0.85-0.9起步用小规模实验观察数据量和下游效果再调整。5. 数据规模与Scaling Law模型能力的标尺5.1 Scaling Law到底在说什么OpenAI和DeepMind先后提出过一个核心规律在模型架构不变的前提下模型性能与训练数据量、模型参数量、计算量之间存在稳定的幂律关系。用大白话说就是模型效果随数据量和模型规模的增加而提升但存在边际递减效应——一开始增加数据效果提升明显越到后面收益越小。这里有一个从业者必须知道的点很多人以为数据越多越好但Scaling Law实际上在讲的是数据要多模型也得跟着大。小模型配超大训练数据数据是浪费的大模型配小数据模型能力发挥不出来。两者要匹配这也是为什么现在的开源社区里小参数模型比如7B、13B的推荐训练数据量级和大模型70B以上完全不是一个量级。5.2 但数据不是只有多这一个维度实际项目中数据质量对效果的影响往往比数据量更大。一个被广泛提及的数据对比是用几千条高质量人工标注数据微调出来的模型效果通常好于用几万条自动爬取的低质量数据。高噪声数据不但无益还会主动带偏模型。判断数据质量可以关注几个维度正确性答案本身是否准确有没有事实性错误格式一致性数据里的结构标记是否统一覆盖度是否覆盖目标场景的各种变体无偏性避免某类回答在数据里被过度重复导致模型输出风格固化。5.3 一个小成本验证数据质量的实验设计我在实际项目里常用一个先小后大的验证路径先用5%的数据做一次短训练比如1000步再随机抽取500条测试问题人工观察模型表现。把回答分成三类直接可用、需要小幅修改、完全不可用。如果直接可用比例低问题大概率不在训练参数上而在数据本身。这时候优先检查数据清洗是否到位、模板格式是否正确、样本覆盖是否全面比反复调整学习率要有效得多。这个办法的好处是便宜且快。不用等到完整训练结束就能判断一批数据的价值避免把算力浪费在坏数据上。6. 面向微调和垂直场景的数据工程实践6.1 对话数据结构化从原始对话到可训练样本微调场景下最常见的数据形态是对话语料。但原始对话文本不能直接用必须做结构化处理。给一个实践示例。拿到一段客服对话用户我的订单三天了还没发货能帮忙查一下吗 客服您好请问您的订单号是多少 用户订单号是20251214001。 客服好的我已经帮您查询到该订单由于仓库库存不足预计会延迟2天发货非常抱歉给您带来不便。整理成微调样本时要加入指令字段{ instruction: 你是某电商平台的客服助手请根据上下文回答用户问题。, input: 用户我的订单三天了还没发货能帮忙查一下吗, output: 您好请问您的订单号是多少 }一个完整的多轮对话样本还要维护对话历史把之前的问答都拼进上下文。这里容易犯的错是把整段对话不加区分全部丢进去导致模型分不清哪些是历史、哪些是当前问题训练出来的效果自然混乱。6.2 数据增强数量不够的时候怎么办领域数据往往不够用。这时候数据增强能帮忙但要注意方式方法。文本数据增强的常见手段包括同义词替换把句子里的部分词换成近义词适合扩充表达变化回译增强把文本翻译成另一种语言再翻译回来得到语义相近但措辞不同的新样本模型生成用现有大模型改写样本保持语义、改变句式是目前效果最好的方式。用模型生成增强数据时建议保留原始样本做一致性校验防止生成结果偏离原意。6.3 数据管理的基本规范做数据工程时间长了会意识到可复现性比单次效果更重要。我的习惯是把数据管理分成三层原始数据层只读存储存放所有抓取/收集到的原始数据不做任何修改清洗数据层存储去重、过滤、脱敏后的干净数据每个处理步骤都有脚本记录训练数据层按模型要求组装好的最终样本附带数据版本号和组合规则。这个分层看起来会多花一些存储和时间但排查问题的时候价值巨大——模型效果异常时能快速定位是数据版本问题、清洗逻辑问题还是训练参数问题而不是两眼一抹黑。7. 工具链参考与选型建议数据工作涉及的工具相当多整理一份我实际用过的组合给大家做参考。工作环节推荐工具说明数据探索分析Pandas、DuckDBDuckDB可以高效跑SQL查询适合快速统计大数据集文本清洗Python正则、BeautifulSoup处理HTML、噪声字符规则配置灵活模糊去重datasketchMinHashPython库支持大规模相似度去重数据集管理Hugging Face Datasets支持流式加载大数据集节省本地存储数据合成LangChain OpenAI API或本地模型用大模型批量生成/改写样本数据质量评估LlamaIndex、Ragas做检索/生成质量评估辅助判断数据效果选工具的原则我个人的经验是能扛住规模再看功能。数据处理前期用DuckDB做SQL式分析会比Pandas省很多内存数据集到了几GB甚至更大的规模Hugging Face Datasets的流式加载能避免把数据全读进内存。7.1 一套最小可行数据流程如果你现在只想要一个能跑的方案我建议按下面这个最小流程走用爬虫或公开数据集收集原始文本用正则清洗掉HTML标签、特殊字符、超短文本用datasketch做MinHash去重阈值设0.9按指令输入输出的JSON结构整理样本用Hugging Face Datasets导出成训练格式jsonl或arrow抽5%做小规模测试训练观察效果再决定是否全量。这套流程不需要太多代码技巧但每一步都是必须的跳一步后面都会出问题。8. 数据工作中的常见坑与应对思路踩过几次坑之后总结出几个典型错误写出来帮大家少走弯路。第一个坑混淆预处理和增强。数据清洗是去掉低质量内容数据增强是生成新样本两个环节不要混在一起。先清洗、后增强顺序颠倒会让增强结果被清洗规则误伤。第二个坑用错模板格式。我见过很多次微调Llama模型时用了ChatML模板GPT系列风格的模板模型能训练但没有效果最后发现是模板格式和模型预设不一致。解决方式是去模型卡页面找到官方推荐的对话模板照着写提示格式和特殊Token先验证一条样本能正常跑通再批量处理。第三个坑忽略长尾情况。数据里数质量问题往往集中在尾部——非常短的输入、超长的上下文、特殊格式的字符。建议在数据检查时专门统计最大值、最小值、分位数异常样本单独处理而不是只盯着平均质量。第四个坑评估只看Loss。Loss下降代表模型学到了数据里的统计规律但它不直接等于业务表现。我见过训练Loss降得很漂亮实际生成的答案却完全不能用的案例。原因就是训练数据的格式和真实推理时的Prompt格式分布不一致。一定要在训练集之外单独保留一份与真实场景一致的评估集用评估集判断数据工作是否真的有效。最后一点数据是可复现实验的根基。同样的训练代码数据不同结果就完全不同。把数据版本管理做好比记录训练参数更重要。我的习惯是每次数据变更都生成一份数据说明写明来源、清洗规则、样本数量、去重阈值。三个月之后再回来看你会感谢自己当初多写的这段说明。本文还有配套的精品资源点击获取