上QQ阅读APP看书,第一时间看更新
1.3.4 模型训练
大模型的训练过程一般包含分词器训练、预训练和微调3个基本步骤。如果需要使模型的输出更加无害,可以借助RLHF、RLAIF等技术使模型与人类的价值观对齐。
在进行预训练前,我们通常会选择开源模型作为基座。但大多数性能较强的国外开源大模型对中文的支持较差,相关工作如Chinese-LLaMA-Alpaca项目则尝试对在英文任务中表现优秀的Alpaca模型用中文语料进行二次预训练,希望实现由英文任务向中文任务的知识迁移。完成这项工作,需要在项目伊始进行分词器的词表扩充,将常见的汉字Token手动添加到原分词器中,重新对模型的Embedding层和lm_head层(预测下一个Token的输出层)的维度进行调整,并重新预训练。第2章介绍的SentencePiece是非常优秀的词表扩充工具。基于该工具,开发者可以按照不同的需求自行训练分词器,实现词表扩充。
预训练是指模型在大量的无标签数据上进行训练,以学习数据中的潜在规律和特征。为了方便进行预训练和微调,开发者可以选择PyTorch框架。另外,第5章详细介绍了数据并行、模型并行等训练优化技术及DeepSpeed等训练加速工具。
微调是将大模型应用于下游任务的主流技术。受限于高昂的训练成本,读者可酌情选用第6章介绍的多种高效微调技术。