预训练模型是什么?先在海量数据上学好通用能力,再拿来定制
预训练模型(Pre-trained Model)是已经在大型数据集上训练过、可以针对特定任务进行微调的机器学习模型。预训练模型通常被用作开发新模型的起点:它们提供了一组已经训练好的初始权重和偏置,可以针对具体的任务进行进一步的调整,而不必从零开始训练。
为什么要预训练
从零开始训练一个强大的模型,需要海量的数据和巨大的计算资源,大多数团队和个人根本负担不起。而很多任务之间其实有大量共通的基础能力:识别各种图片,都需要先学会识别边缘、纹理、形状这些基本的视觉特征;处理各种文本任务,都需要先理解语言的语法和词义。预训练的思路是:先在海量的通用数据上,花大力气训练一个模型,让它学会这些通用的基础能力;然后,别人只需要用少量的特定任务数据,在这个模型的基础上做一些调整,就能得到一个效果很好的专用模型。这就是迁移学习:把在一个任务上学到的知识,迁移到另一个任务上。
打个比方:预训练就像让一个人先接受完整的通识教育,学会读写、计算和基本的常识;微调则像是让这个已经受过良好教育的人,再去接受某个专业的短期培训。这比让一个从没上过学的人直接学专业知识要高效得多。
典型的预训练模型
计算机视觉:在 ImageNet 等大型图像数据集上预训练的 ResNet、视觉 Transformer(ViT)等,被广泛用作各种视觉任务的“骨干网络”。自然语言处理:2018 年的 BERT 和 GPT 开启了语言模型预训练的时代,它们在海量的无标注文本上,通过预测被遮住的词或预测下一个词来学习语言。多模态:CLIP 在大量的图文对上预训练,学会了把图像和文字对应起来。如今的大语言模型,比如 GPT-4、Llama、Qwen、DeepSeek,都是规模极其庞大的预训练模型,也常被称为“基础模型”。
怎么使用预训练模型
直接使用:很多预训练模型可以直接拿来完成任务,比如用 CLIP 进行零样本的图像分类,用大语言模型通过提示词完成各种任务。微调:用特定任务的数据,在预训练模型的基础上继续训练,可以更新全部参数(全量微调),也可以只更新少量参数(如 LoRA 等参数高效微调)。特征提取:冻结预训练模型,只用它来提取输入数据的特征,再在这些特征上训练一个简单的分类器。
Hugging Face 等平台上汇集了大量开放下载的预训练模型,让开发者能够方便地获取和使用。预训练模型的出现,大大降低了开发 AI 应用的门槛,是如今 AI 能够快速普及的重要原因之一。