模型微调
Finetune(微调)是指将预训练模型在特定任务的数据集上进行训练,使得训练完成的新模型可以在保持原有通用能力的基础上,强化其在训练数据集上的能力。这项技术让用户在使用最先进的模型的过程中,无需从头开始训练模型,从而降低计算资源的使用成本。在这个章节,我们将介绍如何使用openMind Library进行模型微调。
transformers库和mindformers库是PyTorch和MindSpore模型开发的主流套件,为了方便用户进行模型微调,openMind Library对两者的Auto Classes、Trainer和TrainingArguments接口统一进行了封装。
openMind Library在保持和Transformers参数一致的基础上,进行了功能增强,提供从魔乐、启智等社区下载和加载预训练模型的能力,并且提供昇腾NPU亲和的方法,能有效提升模型训练推理性能。
openMind Library封装的Auto Classes接口如下表所示。其余的Auto Classes接口openmind Library保留原生使用方式,如需使用,用户可自行从transformers库和mindformers库中导入。
接口 PyTorch MindSpore AutoConfig ✅ ✅ AutoTokenizer ✅ ✅ AutoProcessor ✅ ✅ AutoImageProcessor ✅ ✅ AutoFeatureExtractor ✅ ❌ AutoModel ✅ ✅ AutoModelForCausalLM ✅ ✅ AutoModelForSequenceClassification ✅ ✅ 上述Auto Classes接口的具体参数说明,可参考openMind Library提供的Auto Classes接口说明文档。
针对PyTorch和MindSpore框架,openMind Library提供统一的Trainer和TrainingArguments。PyTorch和MindSpore框架用户可以保持原有的transformers库和mindformers库的使用习惯,使用openMind Library提供的Trainer和TrainingArguments进行微调。具体参数支持列表参考openMind Library提供的Trainer和TrainingArguments的接口说明文档。
接下来,我们将在各个子章节分别介绍如何使用openMind对PyTorch和MindSpore模型进行微调。