大模型的预训练和之后的微调,完全不是一回事。
预训练是训练出一个已经摸清了各种语言特征规律以及人类知识的模型,并且用参数来固定这些已经学习的东西。
而fine-tune则不学习任何更多的知识,只是让模型学会具体的下游任务,比如对话、翻译、文本分类、写摘要等等。
比如我们知道的chatGPT就是微调出来的模型,而它背后的基础模型也是davinc模型,当然他的微调也非常复杂,但相对于预训练一个模型来讲,他只是对参数和小的一个调整,所使用的数据集也同样是相对小的(五万两千个任务数据集)。
再比如说清华大学chatGLM,那就是微调对齐以后的模型,而如果就是GLM模型那么就可能是基础模型,基础模型大概率只能续写而不会别的,因为没有微调让他已经有的能力得以表达。
所以,通俗讲,微调能把基础大模型的很多能力和知识给表达出来、激发出来,这也是我们所说的大模型的“涌现”,就是微调给激发出来的,在深度学习领域这叫“迁移学习”。
微调包含全量微调和高效微调。
全量微调就是直接地对基础模型的全部参数进行微调,如果一个模型的参数规模在千亿级别,那么成本就很高。所以后来出现了高效微调,比如微软研究院的LoRA和斯坦福的prefix tuning,高效微调一般都会冻结原始模型的参数而嵌入一个新的模块来模拟全量微调,成本低而效果好。