小白也能看懂的预训练:大模型是怎么“读遍互联网“的 📅 2026/6/20 10:17:21 系列文章AI大模型知识体系 | 第二周·第一篇引言ChatGPT为什么懂那么多你有没有好奇过一个问题你问ChatGPT任何事情——从量子力学到红烧肉的做法从Python代码到法律条文——它怎么好像什么都知道难道有人把全世界的知识一条条写进了代码里当然不是。答案是三个字预训练Pre-training。简单说预训练就是让模型在海量文本上读书。不是读十本、一百本而是读几乎整个互联网的内容。读完之后模型就拥有了一个庞大的知识底座。今天这篇文章我们就来拆解预训练的全过程——从数据怎么来、怎么处理到模型怎么学、学完是什么状态再到为什么我们普通人不需要自己预训练。全程大白话有编程基础就能看懂。一、预训练的核心任务下一个词预测预训练做的到底是什么事说出来你可能觉得简单得离谱——猜下一个词。技术上叫Next Token Prediction下一个Token预测。我给你几个例子你感受一下今天天气真___ → 模型预测好 / 热 / 冷Python中用来输出内容到控制台的函数是___ → 模型预测print床前明月光疑是地上___ → 模型预测霜是不是特别像我们小时候做的完形填空没错预训练本质上就是在互联网规模的文本上做了几万亿次完形填空。你可能会问就这么简单的事也能叫训练大模型关键在于——要把这个猜词游戏玩到极致的准确模型就不得不去理解语法、逻辑、常识、推理甚至代码结构和数学规律。猜词是手段理解语言是结果。用一句话概括预训练 在海量文本上反复做给前半句猜下一个词做几万亿次。二、训练数据从哪来要让模型读遍互联网首先得有互联网规模的数据。大模型的训练数据主要来自以下几个来源数据来源说明特点Common Crawl定期抓取整个互联网网页内容量最大但质量参差不齐维基百科多语言百科全书质量高结构化好GitHub开源代码仓库代码能力的核心来源书籍与论文电子书、学术论文如ArXiv深度知识、专业领域论坛与问答Reddit、Stack Overflow等对话风格、实用知识这些数据有多大以Meta开源的LLaMA 2为例它的预训练数据量约为2万亿个Token2 Trillion Tokens。2万亿Token是什么概念我给你换算一下一个Token大约是0.75个英文单词或者大约0.5个汉字2万亿Token大约等于1500亿个英文单词约等于500万本普通英文书的文字量如果一个人不吃不喝24小时不停地读书按每分钟300词的速度需要大约950年才能读完也就是说LLaMA 2在训练阶段读了一个人近千年的阅读量——而且它不只读了一遍还反复做了几万亿次完形填空来确保真正消化了这些内容。三、数据预处理不是抓来就能用从互联网上爬来的原始数据脏得超乎你的想象。里面充斥着广告、乱码、色情内容、重复文章、机器生成的垃圾文本……如果直接拿去训练模型学到的就是一堆互联网垃圾。所以数据预处理是预训练中最关键、也最费功夫的环节之一。主要做这几件事1. 去重Deduplication互联网上同一篇文章可能被几百个网站转载。如果不删除重复内容模型会对这些内容过度学习导致记忆偏差。常用的方法是MinHash或SimHash等近似去重算法。2. 过滤低质量内容Quality Filtering通过启发式规则比如文本太短、特殊字符太多、语言检测不通过和分类器模型把低质量网页过滤掉。这一步直接决定了模型最终的能力上限。3. 去毒Toxicity Removal去除仇恨言论、色情暴力、极端内容等。这关系到模型上线后会不会说脏话。4. 数据配比Data Mixing不同来源的数据按什么比例混合是一个需要反复实验的关键问题。比如代码数据占多少、英文占多少、学术论文占多少——配比不同模型的能力倾向就不同。业内有句话数据质量决定了模型能力的天花板算法只是在逼近这个天花板。四、预训练过程烧钱的炼丹数据准备好了接下来就是真正开始训练。这个过程可以用三个词形容费钱、费时、费电。训练一次要花多少钱以GPT-31750亿参数为例根据公开估算使用了大约1000张A100 GPU训练时间约1个月仅GPU租用成本约460万美元按当时AWS价格加上电费、人力、数据准备等总成本估计在500万-1000万美元到了GPT-4这个级别训练成本更是达到了数千万甚至上亿美元。打个比方预训练一次的成本大约等于在北京买一套不错学区房的价格——而且每训一次就要买一套。Loss曲线的变化训练过程中工程师最关注的指标就是Loss损失函数值。Loss衡量的是模型预测的下一个词和正确答案之间的差距。Loss的变化趋势通常是这样的训练初期Loss很高模型基本在瞎猜输出的是随机文字训练中期Loss快速下降模型开始学会语法结构能写出像样的句子训练后期Loss缓慢下降并趋于平稳模型的知识储备逐渐饱和Loss曲线的下降就像是学生的考试成绩——从20分进步到60分很快但从90分提高到95分就极其困难了。五、预训练后的模型是什么状态这是很多人容易误解的一点预训练完成后的模型并不能直接拿来当ChatGPT用。预训练后的模型通常叫做Base Model / 基座模型只会做一件事——续写文本。你问它中国的首都是哪里它不会回答北京而是可能输出中国的首都是哪里中国的首都是哪里美国的首都是哪里日本的首都是哪里……因为它学到的模式是续写而不是回答问题。它就像一个读了很多书但完全不懂社交礼仪的实习生——知识储备很丰富但你问他话他不会好好回答只会自顾自地往下说。要让这个实习生变成一个能正常对话的助手还需要两个后续步骤SFT监督微调教它学会问什么答什么RLHF人类反馈强化学习教它回答得更好、更安全这两个步骤我们会在后面的文章中详细展开。六、为什么我们不需要自己预训练理解了预训练的成本你自然就明白为什么绝大多数开发者不需要、也不应该自己预训练一个模型太贵几百万美元起步小团队根本承担不起太慢训练一次要几周甚至几个月数据难搞高质量训练数据的收集和处理是巨大的工程好消息是现在有很多优秀的开源基座模型可以直接拿来用模型来源特点LLaMA 3Meta社区生态最丰富英文能力强Qwen 2.5阿里中文能力突出国内首选Mistral / MixtralMistral AI轻量高效MoE架构DeepSeekDeepSeek性价比极高中文友好用HuggingFace的transformers库几行代码就能加载一个预训练好的基座模型from transformers import AutoModelForCausalLM, AutoTokenizer # 加载Qwen2.5的预训练基座模型 model_name Qwen/Qwen2.5-7B tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModelForCausalLM.from_pretrained(model_name, device_mapauto) # 基座模型只会续写试试给它一段话 prompt Python是一门 inputs tokenizer(prompt, return_tensorspt).to(model.device) outputs model.generate(**inputs, max_new_tokens50) print(tokenizer.decode(outputs[0], skip_special_tokensTrue)) # 输出Python是一门 ...续写的内容可能不是你想要的回答你会发现基座模型的输出是在接着写而不是回答你。等我们后面学完SFT微调就能把它调教成一个真正的对话助手。如果你想用更轻量的方式体验预训练模型也可以用Ollama在本地一键运行# 安装Ollama后一行命令拉取并运行模型 ollama run qwen2.5:7b七、总结预训练的本质是什么让我们用一张图来回顾预训练的全流程互联网原始数据万亿Token级别 ↓ 数据预处理去重、过滤、去毒、配比 ↓ 模型训练数千张GPU × 数周做Next Token Prediction ↓ 基座模型Base Model——知识丰富但只会续写不会对话 ↓ 后续训练SFT RLHF→ 对话助手如ChatGPT预训练的本质就是用猜下一个词这个看似简单的任务逼迫模型从海量文本中习得人类语言的规律和世界知识。它是大模型能力的基石。没有预训练就没有大模型对世界的理解。但预训练本身又是不完整的——它只解决了知道什么的问题还没解决怎么跟人好好交流的问题。这就像培养一个医生预训练是让他读完所有医学教科书SFT是教他怎么跟病人问诊沟通RLHF是让他学会在复杂情况下做出最好的判断。下一篇预告基座模型只会续写不会对话怎么破下一篇我们进入SFT监督微调的世界——看我们如何用问答对教会大模型好好说话。如果这篇文章对你有帮助欢迎点赞、收藏、关注三连支持你的支持是我持续创作的最大动力。有任何问题或想法也欢迎在评论区交流讨论~CSDN标签建议大模型预训练LLMNext Token PredictionAI入门深度学习LLaMATransformerNLPChatGPT原理