第一章 预训练:让模型“博闻强识”
若把大模型比作一位“行走的知识库”,那预训练阶段就是它“遍读天下书”的求学过程。当我们惊叹于ChatGPT能解答“黑洞的形成原理”,GPT-4能写出专业的Python爬虫代码,甚至能分析《红楼梦》中林黛玉的人物性格时,本质上都是预训练赋予它的“博闻强识”在发挥作用——就像武侠小说里的“百晓生”,上知天文下知地理,横跨编程、医学、文学等多个领域都能给出“大师级回答”。而这一切的背后,正是预训练阶段通过无监督学习、巧妙任务设计和海量数据积累,为模型搭建的通用能力底座。
1 预训练的核心逻辑:为何选择“无监督学习”?
想理解大模型为何能成为“百晓生”,首先要明白它的“学习方式”——无监督学习。传统机器学习模型像“偏科生”,比如用“医疗数据”训练的模型只能回答疾病问题,用“文学数据”训练的模型只会分析小说,但大模型要做“全能选手”,就必须跳出“监督学习”的局限。
1.1 标注成本的“不可行性”:没人能给“天下书”贴标签
如果让大模型用监督学习成长,意味着要给它读的每一段文本都贴标签——比如读《相对论》要标“物理-天体物理-黑洞”,读《Python编程手册》要标“代码-语法-函数定义”,读《本草纲目》要标“医学-中药-性味归经”。但大模型的训练数据是“万亿token”级别的,相当于数百万本百科全书的总量,没人能雇到足够多的标注员,也没人能承担得起数亿元的标注成本。
无监督学习则解决了这个难题:它不需要任何标签,就像我们小时候“泛读”一样,拿到一本书就读,不用刻意记“这章讲什么考点”,却能在不知不觉中积累知识。大模型读网页、读论文、读小说时,也是如此——自主从文本中找规律,不用人工“划重点”。
1.2 通用能力的“必要性”:先会“说话”,再学“专业”
你想让一个人既懂编程又懂医学,得先让他学会“通用语言”——能理解句子、逻辑、常识,再去学专业知识。大模型也是如此:无监督学习先让它掌握“通用语言能力”,比如知道“‘调用函数’是编程里的操作,‘开处方药’是医学里的行为”,“因为A所以B”的逻辑在任何领域都适用。
如果一上来就用监督学习教大模型“写代码”,它可能只会机械套模板,遇到“用代码分析医学数据”的交叉场景就会“卡壳”。但预训练让它先“博闻强识”,后续学任何专业都能“触类旁通”——这就是为什么大模型能跨领域给出优质回答的核心原因。
2 经典预训练目标:引导模型“主动思考”的任务设计
光“泛读”还不够,大模型得知道“怎么读才有用”。预训练的任务设计,就像给它配备了“学习方法”,让它从文本中挖取出真正的知识,而不是走马观花。
2.1 掩码语言模型(MLM):像“完形填空”一样学语义——为什么它能懂“歧义句”?
你可能遇到过这种情况:问大模型“‘他背着书包去学校’里的‘背’读什么?”,它能准确回答“读bēi,因为这里是‘用肩膀扛’的意思”;如果问“‘他还欠款5000元’里的‘还’读什么?”,它也能区分“读hái表示‘仍然’,读huán表示‘归还’”。这背后就是MLM的功劳。
MLM的逻辑很简单:把句子里的词“盖住”,让模型猜。比如“小狗在[MASK]里追蝴蝶”,模型要根据上下文猜“[MASK]”是“院子”而不是“天空”;再比如“他[MASK]欠款5000元”,模型要根据不同语境判断“[MASK]”是“还(hái)”还是“还(huán)”。
这种“完形填空”式的训练,让模型学会了“结合上下文理解语义”——就像我们读文章时,遇到不认识的词能通过前后文猜意思一样。正是这种能力,让大模型能读懂不同领域的专业文本:读医学论文时,能通过“症状-诊断-治疗”的上下文理解“靶向药”的作用;读编程文档时,能通过“函数-参数-返回值”的关联明白“递归”的逻辑。
2.2 下一句预测(NSP):像“逻辑判断”一样学关联——为什么它能“梳理剧情”?
如果你给大模型一段《哈利·波特》的剧情:“哈利拿到了活点地图。弗雷德和乔治告诉了他地图的秘密。” 再问它“下一句更可能是A. 哈利用地图躲过了费尔奇的检查;B. 赫敏煮了一锅南瓜汤”,它能准确选A。这就是NSP训练的效果。
NSP会让模型判断“两个句子是否连贯”:比如“今天周末。我去图书馆看书”是连贯的(正例),“今天周末。地球周长4万公里”是不连贯的(负例)。通过大量训练,模型学会了“找逻辑关系”——知道“拿到地图”后,下一步更可能是“用地图”,而不是“煮南瓜汤”。
这种能力在跨领域场景中特别有用:比如读法律文档时,模型能理清“法条-案例-判决”的逻辑;读科研论文时,能明白“实验目的-方法-结论”的关联。所以你问它“为什么这个医学实验要选小白鼠做样本?”,它能顺着“实验设计-动物模型-伦理要求”的逻辑给出专业回答。
2.3 自回归语言建模(ALM):像“续写故事”一样学生成——为什么它能“写代码/写小说”?
如果你让大模型“写一段Python代码实现‘用户输入姓名,输出欢迎语’”,它能立刻生成:
name = input("请输入你的姓名:")
print(f"欢迎你,{name}!")
如果你让它“续写《西游记》里‘唐僧被妖怪抓走后’的剧情”,它也能写出“孙悟空急得抓耳挠腮,先让八戒去探路,自己则飞到云端观察妖怪洞府”。这背后是ALM的功劳。
ALM的逻辑是“从左到右逐词预测”:给模型“写一段Python代码实现”,它会预测下一个词是“用户”;再给“写一段Python代码实现用户”,它会预测下一个词是“输入”……直到生成完整代码。就像我们写文章时,写完上一句就知道下一句该写什么。
这种训练让模型具备了“生成能力”——不仅能“理解”,还能“输出”。所以它能写代码:因为它记得“Python输入用input(),输出用print()”的语法;能写小说:因为它记得《西游记》里“孙悟空急躁、八戒贪吃”的人物性格;能写医疗建议:因为它记得“感冒后要多休息、多喝水”的常识。
3 预训练的数据支撑:海量无标注文本的“价值筛选”——为什么它能“上知天文下知地理”?
大模型能成为“百晓生”,最根本的原因是它“读的书足够多、足够杂”。预训练数据就像它的“知识库”,涵盖了从天文到地理、从编程到医学的所有领域。
3.1 通用互联网文本:让它“懂生活”——为什么它知道“网红梗/日常常识”?
你问大模型“‘退退退’是什么意思?”,它能告诉你“这是2022年的网红梗,源于一位大妈和别人吵架时的动作,后来被网友用来搞笑表达‘拒绝’”;
你问它“煮面条时怎么防止粘在一起?”,它能回答“水开后加一勺盐,面条下锅后用筷子搅一搅”。这些“生活知识”都来自通用互联网文本。
这类数据包括维基百科、知乎、微博、新闻网站等——里面有网友的日常讨论、生活技巧、热点话题。通过学习这些数据,模型知道了“什么是网红梗”“怎么煮面条”“冬天怎么保暖”,成为了“懂生活的百晓生”。
3.2 专业领域文本:让它“懂专业”——为什么它能“答医学/答法律”?
你问大模型“什么是‘高血压二级’?”,它能回答“根据中国高血压防治指南,收缩压160-179mmHg或舒张压100-109mmHg,属于高血压二级,需要药物治疗结合生活方式干预”;你问它“‘定金’和‘订金’有什么区别?”,它能解释“定金具有担保性质,违约时要双倍返还;订金不具有担保性质,违约时只需返还本金”。这些“专业知识”来自专业领域文本。
这类数据包括学术论文(如PubMed的医学论文、arXiv的计算机论文)、行业文档(如法律条文、医疗指南)、专业书籍(如《内科学》《Python编程:从入门到实践》)。通过学习这些数据,模型掌握了医学、法律、编程等领域的专业知识,成为了“懂专业的百晓生”。
3.3 高质量结构化文本:让它“懂逻辑”——为什么它能“分析表格/写对话”?
如果你给大模型一张“2023年中国各省份GDP数据表格”,它能分析出“广东省GDP最高,西藏自治区增速最快”;如果你让它“模拟‘医生和患者’的对话,患者说‘我咳嗽了3天’”,它能写出“医生:你咳嗽时有痰吗?痰是什么颜色的?有没有发烧?”。这些“逻辑能力”来自结构化文本。
这类数据包括统计表格、对话记录、代码库等——表格让模型学会“看数据、找规律”,对话记录让模型学会“模拟交互”,代码库让模型学会“写代码、查错误”。所以你问它“怎么根据Excel表格里的销售数据画折线图?”,它能结合“表格数据-Excel功能-图表类型”的逻辑给出步骤。
4 预训练的核心成果:构建“通用语言能力底座”——为什么它能“跨领域回答”?
经过预训练后,模型就像一位“读完了天下书”的学者,具备了三个核心能力,这也是它能跨领域给出优质回答的关键。
4.1 词汇与语法的“精准掌握”:它能“看懂专业术语”
你问它“什么是‘区块链’?”,它知道“区块链是一种分布式账本技术”;你问它“什么是‘核磁共振’?”,它知道“核磁共振是一种利用磁场和无线电波成像的医学检查技术”。这是因为它掌握了各领域的专业术语,知道“区块链”属于计算机,“核磁共振”属于医学,不会混淆。
就像我们学会了英语单词后,能读懂英语文章一样——模型学会了各领域的“词汇”,就能读懂各领域的文本。
4.2 语义与逻辑的“深度理解”:它能“理清因果关系”
你问它“为什么编程时要写注释?”,它能回答“因为注释能帮助自己或别人理解代码的功能,比如‘这段代码是计算用户年龄的’,后续修改时不用重新读一遍代码”;你问它“为什么感冒时会流鼻涕?”,它能回答“因为感冒病毒刺激鼻腔黏膜,导致黏膜分泌更多黏液,形成鼻涕,用来黏住病毒、保护呼吸道”。
这是因为模型能“找因果、理逻辑”——知道“写注释”的目的是“方便理解”,“流鼻涕”的原因是“病毒刺激黏膜”。这种能力在任何领域都适用。
4.3 常识与知识的“广泛积累”:它能“调用知识库”
你问它“地球到月亮的距离约多少?”,它能回答“约38.4万公里”;你问它“《红楼梦》的作者是谁?”,它能回答“前80回是曹雪芹,后40回一般认为是高鹗续写”;你问它“怎么用Java写一个‘Hello World’程序?”,它能写出完整代码。
这是因为它“读了足够多的书”——天文知识来自科普文本,文学知识来自小说,编程知识来自代码文档。所以无论你问哪个领域的问题,它都能从“知识库”里调用相关知识。
5 小结:预训练是大模型的“地基”
大模型能成为“上知天文下知地理”的百晓生,核心是预训练阶段的“三无”逻辑:无监督学习(低成本积累通用能力)、无标注数据(海量文本覆盖全领域)、无任务局限(任务设计挖掘深层知识)。就像盖房子要先打地基,预训练就是大模型的“地基”——没有这个地基,它既不能懂生活常识,也不能懂专业知识,更不能跨领域给出优质回答。
但预训练也不是“终点”——比如你问它“某个罕见病的治疗方案”,它可能只能给出“通用建议”,而不能像专科医生一样精准;你问它“某个复杂算法的优化方法”,它可能只能给出“基础思路”,而不能像资深工程师一样深入。要让它从“百晓生”升级为“领域专家”,还需要后续的“微调”阶段——这正是我们下一章将要探讨的内容。