云服务器内容精选

  • 微调训练和预训练的区别 微调训练是在预训练权重的基础上使用指令数据集进行的,对模型权重进行学习调整。从而针对特定任务达到预期效果。 微调训练与预训练任务的区别主要包括: 使用的数据不同,微调使用的是指令数据集,在处理数据集时需要将--handler-name 参数指定为GeneralInstructionHandler。 因数据集不同,loss计算方式不同。需要在微调训练时指定--finetune 和--is-instruction-dataset参数,微调任务的脚本里面已经自动识别添加。 启动脚本的环境变量RUN_TYPE需要指定为sft或者lora。
  • 操作流程 图1 操作流程图 表1 操作任务流程说明 阶段 任务 说明 准备工作 准备环境 购买并开通模型运行所需的资源环境。 准备代码 准备AscendSpeed代码、分词器Tokenizer和推理代码。 准备数据 准备数据,可以用Alpaca数据集,也可以使用自己准备的数据集。 准备镜像 准备模型适用的容器镜像,包括容器内资源检查 预训练 预训练 介绍如何进行预训练,包括训练数据处理、超参配置、训练任务、断点续训及性能查看。 微调训练 SFT微调训练 介绍如何进行SFT微调训练。 LoRA微调训练 介绍如何进行LoRA微调训练。 推理前的权重转换 - 模型训练完成后,可以将训练产生的权重文件用于推理。推理前参考本章节,将训练后生成的多个权重文件合并,并转换成Huggingface格式的权重文件。 如果无推理任务或者使用开源Huggingface权重文件进行推理,可以忽略此章节。和本文档配套的推理文档请参考《开源大模型基于DevServer的推理通用指导》。