小白也能看懂的预训练:大模型是怎么“读遍互联网“的
2026/6/20 10:17:15 网站建设 项目流程

系列文章:AI大模型知识体系 | 第二周·第一篇


引言:ChatGPT为什么懂那么多?

你有没有好奇过一个问题:你问ChatGPT任何事情——从量子力学到红烧肉的做法,从Python代码到法律条文——它怎么好像什么都知道?

难道有人把全世界的知识一条条写进了代码里?当然不是。

答案是三个字:预训练(Pre-training)。

简单说,预训练就是让模型在海量文本上"读书"。不是读十本、一百本,而是读几乎整个互联网的内容。读完之后,模型就拥有了一个庞大的"知识底座"。

今天这篇文章,我们就来拆解预训练的全过程——从数据怎么来、怎么处理,到模型怎么学、学完是什么状态,再到为什么我们普通人不需要自己预训练。全程大白话,有编程基础就能看懂。


一、预训练的核心任务:下一个词预测

预训练做的到底是什么事?说出来你可能觉得简单得离谱——猜下一个词

技术上叫Next Token Prediction(下一个Token预测)。

我给你几个例子,你感受一下:

"今天天气真___" → 模型预测:好 / 热 / 冷

"Python中用来输出内容到控制台的函数是___" → 模型预测:print

"床前明月光,疑是地上___" → 模型预测:霜

是不是特别像我们小时候做的完形填空?没错,预训练本质上就是在互联网规模的文本上做了几万亿次完形填空。

你可能会问:就这么简单的事,也能叫"训练大模型"?

关键在于——要把这个"猜词游戏"玩到极致的准确,模型就不得不去理解语法、逻辑、常识、推理,甚至代码结构和数学规律。猜词是手段,理解语言是结果。

用一句话概括:

预训练 = 在海量文本上,反复做"给前半句,猜下一个词",做几万亿次。


二、训练数据从哪来?

要让模型"读遍互联网",首先得有互联网规模的数据。大模型的训练数据主要来自以下几个来源:

数据来源

说明

特点

Common Crawl

定期抓取整个互联网网页内容

量最大,但质量参差不齐

维基百科

多语言百科全书

质量高,结构化好

GitHub

开源代码仓库

代码能力的核心来源

书籍与论文

电子书、学术论文(如ArXiv)

深度知识、专业领域

论坛与问答

Reddit、Stack Overflow等

对话风格、实用知识

这些数据有多大?以Meta开源的LLaMA 2为例,它的预训练数据量约为2万亿个Token(2 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-3(1750亿参数)为例,根据公开估算:

  • 使用了大约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 / 基座模型)只会做一件事——续写文本

你问它:"中国的首都是哪里?"

它不会回答"北京",而是可能输出:

"中国的首都是哪里?中国的首都是哪里?美国的首都是哪里?日本的首都是哪里?……"

因为它学到的模式是"续写",而不是"回答问题"。它就像一个读了很多书但完全不懂社交礼仪的实习生——知识储备很丰富,但你问他话他不会好好回答,只会自顾自地往下说。

要让这个"实习生"变成一个能正常对话的助手,还需要两个后续步骤:

  1. SFT(监督微调):教它学会"问什么答什么"

  2. RLHF(人类反馈强化学习):教它回答得更好、更安全

这两个步骤我们会在后面的文章中详细展开。


六、为什么我们不需要自己预训练?

理解了预训练的成本,你自然就明白为什么绝大多数开发者不需要、也不应该自己预训练一个模型:

  • 太贵:几百万美元起步,小团队根本承担不起

  • 太慢:训练一次要几周甚至几个月

  • 数据难搞:高质量训练数据的收集和处理是巨大的工程

好消息是,现在有很多优秀的开源基座模型可以直接拿来用:

模型

来源

特点

LLaMA 3

Meta

社区生态最丰富,英文能力强

Qwen 2.5

阿里

中文能力突出,国内首选

Mistral / Mixtral

Mistral AI

轻量高效,MoE架构

DeepSeek

DeepSeek

性价比极高,中文友好

用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_map="auto") # 基座模型只会"续写",试试给它一段话 prompt = "Python是一门" inputs = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=50) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) # 输出: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原理

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询