生成式AI与大语言模型
预训练(pretraining)
/ PREE-tray-ning /
预训练,是模型漫长而昂贵的第一阶段:在还没人告诉它最终要干什么之前,它先读完海量的原始数据,学会这些数据大致的样子。对语言模型而言,这通常意味着一个看似简单、却要玩上万亿遍的游戏:遮住句子里的下一个词,让模型去猜。「猫坐在那张___上。」猜错了,就轻轻纠正模型;猜对了,就由它去。在互联网的一大片内容上,如此反复。
它之所以强大,是因为数据自己给自己贴标签——每个句子本就「知道」它的下一个词是什么,于是无需任何人手工标注例子。这叫自监督学习。在如此庞大的规模上一遍遍磨这个预测游戏,模型被逼着吸收了语法、事实、文风,以及一缕缕推理的线索,只因为这些都能让它把下一个词猜得稍微准一点。结果便是一个通用本领满满、却还没被指向任何任务的基础模型。
对预训练是什么、不是什么,值得诚实以告。它教给模型的是统计上接下来「很可能」出现什么,而非什么是真的、善的、有用的。一个刚预训练完的模型,会乐呵呵地把一段恶毒的咒骂续写下去,或编出一条假的引文,因为这两者都是它见过的模式。让聊天机器人变得有用又安全的那层打磨,是之后才来的——来自微调与人类反馈。预训练造就的是原始能力,它并不造就判断力。
给模型看「水在100度___沸腾」,它必须预测出「摄氏」。对数十亿个句子都这么做,一路下来,模型就被迫把物理事实、句子结构、乃至一段解释的节奏,统统内化进去——这些都没有谁直接教过它。
在全球规模上玩「猜下一个词」,悄悄教会了几乎一切。
一个大模型几乎全部的成本与能耗,都耗在预训练上——成千上万块芯片连转数月。之后的一切(微调、指令微调)相比之下都微不足道,这正是同一个预训练模型被如此广泛复用的原因。
又称
另见