拓冰建站拓冰建站
首页 / 资讯中心 / 正文

大模型训练数据全解析:从数据清洗到配比,如何炼成高质量语料

如果有人问我做大模型这两年最颠覆认知的一件事是什么我的答案可能和很多人想的都不一样大模型的智能很大程度上不是来自什么惊为天人的算法突破而是来自海量数据一遍又一遍地“喂”。很多人觉得Transformer、注意力机制、RLHF这些名词才是大模型的核心可真到从零开始训练一个模型的时候你每天打交道最多的其实是文本清洗脚本、去重工具和一张数据配比表。这篇文章想讲的就是大模型是怎么来的——具体说是从一堆原始数据到最终那个能写代码、能聊天、能推理的Foundation Model基础模型中间到底发生了什么。我尽量用做过项目的人的口吻把数据采集、清洗、分词、配比、投毒防护、领域适配这条链路上的关键点都说清楚也会穿插一些自己实操中踩过的坑。不论你是刚打算入门大模型还是已经在做微调和部署这篇文章应该都能给你一张相对完整的“数据地图”。1. 先搞清楚我们说的“大模型”到底大在哪1.1 从“模型”到“Foundation Model”一个命名背后的范式转变“Foundation Model”这个概念是2021年由斯坦福大学基础模型研究中心正式提出的中文一般翻译成“基础模型”或“基石模型”。它指的是在海量数据上完成预训练、可以适配各种下游任务的一类大型模型。之所以叫“Foundation”而不是“Large”是因为研究者想强调一个更重要的属性它是地基。以前做深度学习项目习惯是“一个任务一个模型”。做图像分类就训一个ResNet做情感分析就训一个BERT做翻译又另起炉灶。每个模型各管一摊数据和模型绑定得很死。Foundation Model的思路完全不同先用天量数据训练出一个拥有广泛能力的通用模型之后不管是写诗、做表格、分析医疗影像还是控制农业灌溉都在这块地基上做适配而不是重新打地基。这个转向不是凭空发生的。它依赖两个前提一个是模型容量足够大大到能“记住”并泛化海量知识另一个就是数据规模足够大大到无需人工标注也能自己找规律。这两个前提里模型结构只是骨架数据才是真正的血肉。1.2 “大”在三个层面参数、数据、算力我们常说的“大模型”通常有三个维度的“大”。参数多GPT-3是1750亿参数LLaMA系列从70亿到700亿不等更大的模型动辄上万亿参数。参数是模型的“记忆容量”参数越多能装下的模式就越复杂。数据多训练数据以“token”为单位计算一个token大概是0.7个英文单词或0.5-1个汉字。几十亿参数的模型通常要训几千亿token百亿级以上模型普遍吃进上万亿token。这个量级是传统数据集根本没法比的。算力大因为参数和数据都大训练时往往需要上千张GPU连续跑几十天。算力是连接参数和数据的桥梁没有它两边都转不起来。这里有个很容易被忽略的三角关系参数变多需要更多数据来喂饱否则会过拟合数据变多需要更多算力来处理算力有限时你只能在参数和数据之间做取舍。DeepMind提出的Chinchilla法则核心结论是在给定算力下参数和数据量应该大致按1:1增长大约每个参数需要20个token。这个结论直接影响了很多后来模型的数据配比设计。1.3 数据是被严重低估的瓶颈我见过太多人一上来就研究模型结构、调参技巧却很少认真思考数据本身。但你看那些真正训练过大模型的人私下里聊得最多的往往是语料干净不干净去重做到位没有中英文比例怎么调代码数据占比多少。为什么数据成了瓶颈因为模型结构和训练算法已经高度收敛——大家都在用Transformer、AdamW、混合精度训练彼此的差距很难拉开。真正拉开差距的恰恰是各自手里那堆语料的质量和配比。用一个不太精确但很直观的比喻模型是发动机数据是燃料。发动机再好加了含杂质的油也跑不出性能甚至可能直接熄火。2. 数据的前世今生从手搓数据集到互联网级语料2.1 经典数据集的遗产MNIST、ImageNet、KITTI在谈大模型数据之前值得先回顾一下传统数据集是怎么玩的因为很多思维惯性就是从那边来的。早期深度学习圈子里数据集的代名词是MNIST和ImageNet。MNIST是6万张28x28的手写数字灰度图ImageNet是上千万张覆盖上千个类别的自然图像自动驾驶领域常用的KITTI数据集提供的是车载摄像头和激光雷达采集的道路场景。这些数据集的共同特征是人工标注、规模在百万量级、面向单一任务。这些数据集有一个很重要的作用它们提供了可复现的benchmark研究者能在同一个标尺下比较算法。但它们的规模对大模型来说小得可怜。哪怕今天很多省市级“大数据中心”的存储规模想直接喂给一个大模型做预训练也远远不够看。2.2 互联网语料带来的规模跃迁大模型真正起飞靠的不是某个精标数据集而是把整个互联网当语料。现在主流开源模型的数据来源大致是这几类网页爬虫最典型的是Common Crawl一个非营利组织定期抓取全球网页每个月释放的数据量能达到30-50TB。几乎所有大模型都以它为底料因为它够大、够杂、够接近人类真实语言。书籍与论文Books、Wikipedia、Arxiv论文全文用来补充高质量的长文本逻辑和知识密度。代码库GitHub公开仓库让模型学会代码语法甚至推理链条。社区问答StackExchange、Reddit等用来补充对话性和社区风格文本。为什么是这些来源因为人类文明的大部分知识确实沉淀在文本里。网页里有百科知识书籍里有系统思考代码里有结构化逻辑。模型喂了这些才有后来的知识问答和代码生成能力。2.3 从标注数据到自监督数据标签去哪了传统机器学习依赖人工标注这也是最贵的一环。大模型绕开了它靠的是自监督学习——具体来说就是“预测下一个token”。训练时把一个句子的前N个词喂给模型让它预测第N1个词然后把预测结果和真实词做对比更新参数。下一条数据继续。这个任务简单到令人发指但文本本身就是标签互联网上有无穷无尽的文本相当于有无穷无尽的免费标签。这个转变怎么理解就像小孩学语言不是靠语法书和标注过的句子而是靠大量听和读从上下文里自己归纳规律。大模型也一样它在万亿token的“听读”中自己学会了语法、事实、逻辑甚至某种意义上的“常识”。3. 数据管线一块模型训练数据是如何炼成的3.1 数据采集第一手原材料在哪拿训练数据的源头五花八门。个人或小团队起步比较现实的采集路径有三条。第一条是直接用公开语料库。Wikipedia定期发布完整dumpCommon Crawl也提供直接下载的月度快照GitHub可以通过公开API拉取热门仓库代码。这类数据最大的优点是省事缺点是需要清洗毕竟是“从地里刚挖出来”的。第二条是业务数据抽取。很多公司的语料其实在业务数据库里。像DolphinScheduler这类工作流调度工具常被用来定时把业务库里的文本字段抽取出来清洗后转成训练语料。这里有个坑业务数据往往夹杂大量模板化重复内容比如系统通知、固定的客服回复如果不做去重和多样性控制模型很容易学成复读机。第三条是合成数据。让一个强模型比如GPT-4级别的API生成新文本、改写或者构造问答对。很多垂直领域模型就是靠这个办法补齐语料不足的。采集阶段有一个底线必须反复强调版权、隐私和合规。爬虫不是不能写但要有节制用户产生的数据要脱敏商用前必须确认语料的使用条款。这个环节出问题后面再好的模型也白搭。3.2 清洗与过滤数据里一半是噪声拿到原始网页之后直接用来训练是不行的。真实网页里有菜单、广告、脚本、乱码、无关评论乱七八糟。清洗管线一般要过好几道关去HTML与噪声文本把网页标签剥离保留正文。常用的工具是trafilatura和readability-lxml它们能根据页面结构提取主要内容。质量打分过滤用语言模型给句子算perplexity困惑度数值太高说明语义混乱直接丢掉。也可以训练一个质量分类器判断文本是否“像人类书写的高质量内容”。去敏感信息邮箱、电话号码、身份证号、银行卡号要脱敏或者剔除这是数据合规的硬要求。近重复去重去重是大模型数据处理里非常关键的一步。常用技术包括MinHash配合LSH局部敏感哈希、SimHash、布隆过滤器大规模场景还会用后缀数组做精确去重。为什么去重这么重要因为重复数据会虚增训练量让模型反复学同一段内容最后可能变成“背诵”而不是“理解”。严重的情况下模型会对某些高频重复的句子产生过度自信看起来是能力实则是记忆陷阱。3.3 Tokenization文本到数字的桥梁清洗完的文本还是字符串得转成模型能算的数字序列这一步叫tokenization。目前主流方案是BPE字节对编码或它的变体LLaMA家族用SentencePieceGPT系列用BPE实现。BPE的思路是从单个字符开始反复把出现频率最高的相邻字符对合并成一个新符号直到达到预设词表大小。这样高频词成为一个token低频词退化成多个子词token。词表大小一般取32K、64K、128K不等。这里有一个中文场景特别常见的现象一个汉字通常是0.5到1个token英文一个单词平均约0.7个token。中文语料在相同token数下能承载的信息量密度高于英文但因为词表里中文字符数量多初版词表设计不合理时中文tokenizer会把常用汉字切得很碎导致训练效率下降。所以做中文大模型的同学一般会专门检查tokenizer中文编码的压缩率。3.4 数据配比与训练策略不是所有数据都一视同仁语料来源多了以后组合方式本身就是一门学问。主流做法是把不同来源的数据按比例混合比如网页占大头书籍、论文、代码按质量和领域重要度提高权重。一个反直觉的点是数据重复训练的epoch次数和语料质量挂钩。量小质高的语料比如书籍可以多重复几轮海量网页语料通常只训一个epoch训多了容易过拟合。常见的数据配方设计要考虑领域覆盖率代码、数学、科学文献、多语种各占多少。时长与权重每个batch里各类数据的采样概率。课程学习训练前段用简单通用语料后段逐步混入高质量领域语料。这部分的调试很多时候靠实验。我记得有一次实验里把代码数据占比从3%提到8%其他条件不变模型在逻辑推理类任务上的得分直接上了一档但闲聊流畅度略微下降。数据配比就是这样的权衡。3.5 数据备份与版本管理训练事故的高发区训练语料动辄TB到PB级数据处理管线跑一遍可能要好几周。这个环节最容易翻车的地方在于数据版本乱了、备份丢了、训练到一半发现数据损坏。我的个人实践是三条铁律每次清洗管线改动之前先对上一版数据做快照。训练启动前对最终语料计算全局哈希并锁定版本号之后任何调整都生成新版本而不是覆盖旧文件。训练中间如果出现数据读取错误先恢复备份再定位是单条损坏还是整批损坏千万不要图省事跳过一段数据继续训——模型那一部分的连续性会受影响。备份策略可以套用经典的3-2-1原则三份副本、两种不同介质、一份异地存放。冷备和热备结合训练中断时能快速恢复。这个环节虽然不性感但出一次事故足以让你几周的努力白费。4. 规模与质量数据如何“喂”出智能4.1 Scaling Laws大模型的可预测涌现2020年OpenAI发表的Scaling Laws论文是一个重要节点。它用大量实验证明语言模型的loss与参数量、数据量、算力量之间存在稳定的幂律关系通俗讲就是——在其他条件不变时数据量翻倍性能会按一个固定规律提升不是随机碰运气。这个发现的意义非常实用项目立项时可以先在一个小规模子集上跑几组实验拟合出自己任务的“尺律曲线”据此估算把数据扩到多少倍能换来多少指标提升避免盲目上量烧钱。需要说明的是Scaling Laws描述的是“持续增加数据和参数量能力稳定提升”的现象但它不能精确预测模型具体什么时候会突然产生某个新能力。那种“啊参数增长到某个量级突然会做算术题了”的现象大家叫它涌现能力目前更多是经验观察还没有终极理论解释。4.2 数据质量与数量一个被反复验证的结论早期很多人迷信“更多数据”后来几篇关键工作扭转了风向。微软的TinyStories实验就是一个典型例子只用极小的模型参数配上一批用词简单、语法规范的故事语料居然训练出了一个能讲连贯故事的模型。这个实验说明数据质量对模型能力的贡献有时候比模型大小更重要。在真实训练中质量过滤带来的收益往往非常显著。我做过一个对比同样的1TB语料一份直接训练一份先过质量过滤和去重过滤后剩约400GB后者的下游评测得分反而更高。原因很简单噪声和重复样本不仅浪费算力还会干扰模型对真实语言规律的拟合。现在业内常用的一种过滤手段是“用大模型筛数据”拿一个已经训练好的模型给候选文本打分评判它是否语义完整、知识密度高、风格接近人类。这种方法比启发式规则更灵活但成本也更高适合在高质量子集上做精细筛选。4.3 数据投毒与安全被低估的暗面热词里“大模型投毒测试”不是小众话题它是当前大模型安全研究中最实际的攻击面之一。所谓数据投毒就是攻击者在训练语料里故意注入恶意样本让模型在正常使用时表现正常但碰到特定触发词或图案时输出攻击者想要的内容这叫后门攻击。传统深度学习里这类研究已经很多到了大模型时代问题更严峻互联网语料公开、来源多样、规模巨大根本不可能逐条人工审核。哪怕只有少量恶意样本混进几万亿token里也可能在模型里烙下一个隐藏行为。针对这个问题防御手段目前有几层准入清洗对第三方语料做严格过滤尤其是来路不明的语料跳过域名黑名单和内容安全检测。去重与异常检测对异常重复的片段单独审核因为投毒样本经常以微小变体重现。安全对齐与红队测试RLHF之类的对齐训练本质上是给模型加一层“道德护栏”红队测试则是主动构造恶意输入看模型会不会被带偏。训练后审计用一组已知的攻击触发词去测试模型行为及时发现后门。对于个人和中小团队最现实的做法是尽量使用权威公开语料不要随意下载来路不明的“超大训练集”如果必须用第三方数据至少做一次hash级去重和敏感内容扫描。4.4 数据增强在LLM时代的变体传统数据增强在图像领域是旋转、翻转、裁剪、加噪声在NLP里也有同义词替换、回译、随机遮罩这些招数。到了大模型时代数据增强的概念升级了核心变成“合成数据”。合成数据最有价值的场景是补充长尾分布。比如你的垂直领域语料里某种罕见疾病的病历只有几百份直接微调模型根本学不够。这时候可以让强模型基于现有病历改写风格、扩写细节、构造新的问答对把几百份扩成几万份。这个方法在代码、数学、医疗领域被广泛验证效果相当明显。但合成数据也有陷阱如果生成模型本身有偏见或错误合成数据会把错误放大合成数据之间高度相似用多了反而降低多样性。我的建议是合成数据作为补充而非主力并且要和真实数据混合使用。5. 从通用语料到领域大模型一条真实落地路径5.1 通用基座 领域适配绝大多数团队的选择从零预训练一个大模型对绝大多数团队来说既不现实也没必要。现在开源生态里已经有LLaMA、Qwen、DeepSeek、Mistral这些高质量的基座模型它们已经吃过了万亿token的通用语料具备很强的语言理解和推理能力。领域的做法是在基座上做继续预训练和微调。流程大致是先用领域语料做增量预训练让模型“见”更多本行业的文本再用一批指令数据做有监督微调教它执行具体任务最后用偏好数据和RLHF让输出风格更符合要求。这和当年ImageNet预训练加下游微调的迁移学习思路一脉相承只是规模大了好几个量级也要求你更懂数据。5.2 领域数据怎么来医疗、农业、遥感的共性问题垂直领域的数据情况和通用互联网语料差别很大。以几个典型领域为例医疗数据来源包括电子病历、影像检查报告、医学教材、公开论文。影像类模型还需要影像与报告的对齐数据比如3D胸部CT基础模型就得把体素级别的扫描数据同放射科医生的结构化报告配对。这类数据的获取涉及隐私合规处理难度极高。农业传感器数据土壤、气象、温湿度和农业文档、专家问答结合可以做作物生长监测和智能灌溉决策。这类数据的挑战是时空相关性极强单一文本语料不够还得融合结构化时序数据。遥感哨兵二号等多光谱影像、标注好的目标检测数据集如DOTA可以用来做地物识别、变化检测。数据量不小但标注成本高类别分布极度不均衡。这些领域的共性问题三个数据量小、标注贵、隐私和监管严。通用基座能提供“通用智慧”但要真正在某个行业落地领域数据才是护城河。5.3 小数据困境与合成数据补充垂直领域数据少微调容易过拟合这个问题绕不开。我的处理思路是分三步走先评估领域数据与基座预训练数据的分布差异。如果差异不大比如只是财经新闻类任务基座本身已经学得不错轻量微调就行。如果差异很大比如古籍OCR识别、方言文本、特殊仪器读数那就需要先做继续预训练在领域语料上多学几个epoch。然后做数据增强和合成数据。用强模型基于现有领域语料生成变体、问答对、推演案例把数据集规模扩上去。扩大之后记得做一次质量抽检剔除明显错误或语义怪异的生成样本。最后建评测集。垂直领域最怕没有评测标准我建议从真实业务场景里留出一批“金标数据”当评测集每次改动模型和训练数据都用同一套评测逻辑对比避免自我感觉良好。6. 从“学完”到“上线”部署、微调与持续迭代6.1 数据生命周期模型训练完不意味着数据工作结束很多人以为数据工作止于训练集构建完成其实训练结束才是数据问题的暴露期。模型上线后用户提问、误判案例、新出现的领域术语都是新的数据资产。我在实际项目里的做法是记录线上bad case周期性补充到微调数据里对模型回答做自动评估筛出置信度低的输出进入人工复核每一个模型版本都绑定当时的数据版本方便复盘“为什么这版变笨了”有一次我在微调时用了旧缓存数据漏掉了最近三个月的新政策文本结果模型对用户关于最新政策的问题几乎全答错。查了半天才发现是数据版本没跟上。这个教训告诉我数据生命周期管理不是形式主义它是模型质量的底线。6.2 本地部署与微调选型从个人到团队的工具链如果你只是想体验或者小规模测试Ollama是个不错的起点。它把模型下载和推理封装成一条命令个人电脑就能跑7B甚至13B级别的小模型。我在本地笔记本上用Ollama跑过Qwen2.5-7B交互体验基本够用。给一个最小示例ollama run qwen2.5:7b如果你要做微调小显存环境下优先考虑LoRA和QLoRA这类参数高效微调技术。它们的核心思路是冻结大部分模型参数只训练一小撮低秩矩阵显存占用能从几十GB降到8-24GB普通消费级GPU也能跑。配合PEFT库和transformers一套流程下来并不复杂。推理优化方面vLLM支持高性能在线服务LMDeploy和llama.cpp适合边缘和轻量化场景。技术选型的建议是先想清楚你的瓶颈在延迟、吞吐还是显存再选工具不要一上来就全家桶。6.3 一份务实的大模型学习路线经常有人问大模型怎么入门我一般给的建议是“以数据为线索”学习因为数据分析能力好迁移、门槛低、链路完整。第一阶段会跑模型。用Ollama或HuggingFace transformers加载现成模型随便喂几句话观察输出。同时看一下tokenizer把中文和英文切成什么样理解“预测下一个token”的含义。第二阶段会训小模型。下载维基百科的一个子集清洗后训练一个GPT-2级别的小模型观察loss怎么下降、语料质量对结果的影响有多明显。这一步会颠覆你对“训练”的想象。第三阶段会调数据。用同样的模型结构分别拿“未清洗语料”和“清洗去重配比后的语料”训练对比指标。你会对数据的重要性有非常直观的感受。第四阶段会做领域应用。选一个垂直场景收集领域数据走“基座微调部署评测”的闭环。这条路线不要求你先把数学吃透但要求你每一步都动手做实验。大模型这个领域看一百篇文章不如亲手跑一次数据管线。我自己最深的体会是几乎每一次训练失败追根溯源最后都能落到数据问题上——重复太多、噪声太高、配比失衡、版本错乱。模型结构选错了你可以改训练参数不对你可以调但数据要是烂在根上后面再怎么补救都是事倍功半。所以如果你要问我大模型怎么来的我会告诉你它是被一吨又一吨、洗得干干净净的好数据一点一点喂出来的。数据才是那个决定模型能走多远的边界。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门