# **模型微调**



目前平台支持SFT训练模式。SFT（Supervised Fine-Tun-ing）是Fine-Tuning的训练模式，模型开发者可以选择公开模型或已上传的模型结合私有数据集进行调参训练，打造属于自己业务的垂直模型。



### **创建任务**

点击产品「模型服务平台 UModelVerse」—— 功能菜单「模型微调」——创建任务

1. ##### **模型选择**

   平台预置主流开源模型，也支持从US3对象存储中导入私有模型

   <!-- image-todo -->

2. ##### **数据配置**

   选择本次需要训练用的数据集

   前提：将训练数据上传至US3存储空间，并关联到数据集管理中，详见数据集管理

   <!-- image-todo -->

3. ##### **参数配置**

   目前平台支持LoRA的微调方法，LoRA在训练过程中只更新低秩部分的参数，需要的计算资源更少，训练过程更快。

   支持的参数配置如下：

   | 参数名称                | 参数描述                                                     |
   | ----------------------- | ------------------------------------------------------------ |
   | 初始学习率              | 在梯度下降的过程中更新权重时的超参。                         |
   | 训练轮次                | 控制训练过程中的迭代轮数。可以根据数据规模适当调整Epoch大小。 |
   | 批处理大小              | 批次大小代表模型训练过程中，模型更新模型参数的数据步长，模型每看多少数据即更新一次模型参数。 |
   | 最大样本数              | 每个数据集的最大样本数。                                     |
   | 计算类型                | 是否使用混合精度训练。FP16、BF16、FP32等                     |
   | CheckPoint保存间隔      | 训练过程中保存Checkpoint的间隔Step数。                       |
   | CheckPoint最多保存数    | 训练过程最终要保存的Checkpoint个数，Checkpoint保存会增加训练时长。 |
   | 日志保存间隔            | 日志保存间隔步数。                                           |
   | 截断长度                | 单个训练数据样本的最大长度，超出配置长度将自动截断。         |
   | 学习率调节器            | 用于调整训练中学习率的变动方式。                             |
   | 验证集比例              | 验证集占全部样本的百分比。                                   |
   | 是否使用Flash Attention | -                                                            |
   | LoRA秩值                | LoRA训练中的秩大小，影响LoRa训练中自身数据对模型作用程度，秩越大作用越大，需要依据数据量选择合适的秩。 |
   | LoRA缩放系数            | LoRa训练中的缩放系数，用于调整初始化训练权重，使其与预训练权重接近或保持一致。 |
   | LoRA随机丢弃            | 训练过程中随机丢弃或忽略神经元的比率，防止过拟合，提高模型泛化能力。 |
   | LoRA+学习率比例         | LoRA+ 中 B 矩阵的学习率倍数。                                |

4. ##### **输出配置**

   配置训练完成后的模型的存放路径，目前仅支持华北（乌兰察布）US3的存储空间

   <!-- image-todo -->

5. ##### **确认配置**

   对已配置完的信息和计费信息进行二次确认，确认后即可下发训练任务，平台自动调用训练资源进行训练。

6. ##### **查看&管理任务**

   在任务列表中，可查看微调任务的实时状态（包含运行状态、token数、训练时长、Loss图等）

   可对任务执行的操作有：详情、终止、复制、删除、发布

   详情：查看任务的运行情况，包含训练状态、预估时间、训练token数、Loss图等

   终止：当任务Loss图出现异常时，可对任务进行「终止」操作，停止当前任务，释放算力资源，同时停止计费。

   复制：对当前任务实例进行复制，复制后将跳转新的创建页面并带入参数，对参数进行调整后即可创建新的微调任务

   删除：对训练失败、已完成、已终止的任务可进行删除

   发布：对已完成的训练任务可进行发布，发布时可选择某个checkpoint step进行模型发布，发布成功后的模型将自动存入「模型管理」中，用于后续的服务部署
