中文
本页内容

模型微调

Finetune(微调)是指将预训练模型在特定任务的数据集上进行训练,使得训练完成的新模型可以在保持原有通用能力的基础上,强化其在训练数据集上的能力。这项技术让用户在使用最先进的模型的过程中,无需从头开始训练模型,从而降低计算资源的使用成本。在这个章节,我们将介绍如何使用openMind Library进行模型微调。

PyTorch模型微调

transformers库是PyTorch模型开发的主流套件。以此为基础结合PyTorch侧主流生态库,openMind Library为用户提供了一键式训练启动命令,帮助用户快速实现从数据处理、多站点权重加载,到低参数微调、量化适配,以及微调和训练跟踪的全流程功能。

当前支持特性如下:

  • 微调算法:SFT
  • 高效参数微调算法:Full,LoRA,QLoRA
  • 加速优化:npu_fusion_attention,npu_rms_norm
  • 训练监控:SwanLab
  • 分布式训练:单机单卡,单机多卡,DeepSpeed
  • 导出:LoRA权重合并

MindSpore模型微调

mindformers库是MindSpore模型开发的主流套件,为了方便用户进行模型微调,openMind Library对Auto Classes、Trainer和TrainingArguments接口统一进行了封装。

  • openMind Library封装的Auto Classes接口如下表所示。其余的Auto Classes接口openmind Library保留原生使用方式,如需使用,用户可自行从mindformers库中导入。

    接口MindSpore
    AutoConfig
    AutoTokenizer
    AutoProcessor
    AutoImageProcessor
    AutoFeatureExtractor
    AutoModel
    AutoModelForCausalLM
    AutoModelForSequenceClassification

    上述Auto Classes接口的具体参数说明,可参考openMind Library提供的Auto Classes接口说明文档

  • 针对MindSpore框架,MindSpore框架用户可以保持原有的mindformers库的使用习惯,使用openMind Library提供的Trainer和TrainingArguments进行微调。具体参数支持列表参考openMind Library提供的Trainer和TrainingArguments的接口说明文档

接下来,我们将在各个子章节分别介绍如何使用openMind对PyTorch和MindSpore模型进行微调。