大模型分为通用大模型和专业大模型。通用大模型是在大规模语料(互联网,百科,电子书)上预训练完成,例如GPT,Bert。专业大模型是在通用大模型基础上,通过微调或者提示工程使其善于完成某个下游任务,例如,ChatGPT。如何从通用大模型变成专业大模型?从模型参数的角度可分为三种类型:模型参数全量更新,模型参数部分更新,模型参数不变。模型参数全量更新该方法有个英文名:full fine-tuning或者fine-tuning,需要更新全部参数来达到通用大模型具有适配下游任务的能力。常见的方法有迁移学习,这个在CV领域很常见,通常是在像ImageNet这样的大规模图像数据集上预训练一个模型,然后用某个领域的图像进行微调。另一个是知识蒸馏,就是让一个小的学生模型向一个大的老师模型学习新任务的特征表示。模型参数部分更新参数全量更新费时,费力,那能不能只改变部分参数就能得到和全量更新差不多的效果呢?当然有,这种方法也有一个洋气的英文名:parameter-efficient fine turning。常见的方法有LoRA,模型的参数可以视为参数矩阵,这个矩阵很大,LoRA的方法是将这个大矩阵分解为两个小矩阵的乘积,这两个小矩阵的乘积被视为原始矩阵的低秩近似,训练过程中只更新这两个小矩阵使其逐步逼近原始矩阵,这样更新的参数量大大减小。另一种方法是Prefix-turning,模型参数不变,通过增加任务相关的前置向量来实现。模型参数不变无论是模型参数全量更新还是部分更新,一般都需要手里有一定量某个领域的训练数据,既然要训练就难免费事,费力,那有没有省时,省力的方法呢?当然有,那就是提示工程,也就是模型参数不变,从提示上下功夫。一种常见的方法是提示工程,就是用科学的方法构造或者修改提示,使模型更了解你的意图。另一种方法是提示微调,也叫Prompt-turning,也就是增加额外的用于微调提示的层,通过训练来学习这些层的参数。