更新时间:2024-11-11 GMT+08:00
分享

创建模型微调任务

模型微调是指调整大型语言模型的参数以适应特定任务的过程,适用于需要个性化定制模型或者在特定任务上追求更高性能表现的场景。这是通过在与任务相关的微调数据集上训练模型来实现的,所需的微调量取决于任务的复杂性和数据集的大小。在深度学习中,微调用于改进预训练模型的性能。

支持将平台资产中心预置的部分模型作为微调前基础模型,也可以选择微调后的新模型作为基础模型再次进行微调。

前提条件

创建微调任务

  1. 在AI原生应用引擎的左侧导航栏选择“模型中心 > 模型微调流水线”。

    对于平台预置的模型,也可以在左侧导航栏单击“资产中心”,将鼠标移至大模型卡片并单击“微调”,进入模型微调页面。

  2. 在模型微调流水线页面,单击“创建微调任务”,选择“Functioncall能力增强微调”“通用能力增强微调”

    • Functioncall能力增强微调:具备Functioncall能力的模型能够识别并执行函数调用或API调用,通过功能调用微调数据集增强模型的扩展性。
    • 通用能力增强微调:广泛应用于各个领域,针对特定任务或行业需求,通过领域微调数据集增强模型领域能力。

  3. 在创建微调任务页面,参照表1配置基础信息、模型及数据。

    表1 创建微调任务参数说明

    参数名称

    参数说明

    基础信息

    任务名称

    自定义任务名称。支持英文、数字、中划线(-)、下划线(_),长度1-64个字符,仅支持字母或下划线开头。

    任务描述(可选)

    自定义任务相关的描述。

    模型配置

    微调前模型

    在下拉列表中选择微调的模型或平台预置的模型。

    训练模式

    默认为“LoRA”。

    LoRA(Low-Rank Adaptation,低秩适应),是一种将预训练模型权重冻结,并将可训练的秩分解矩阵注入Transformer架构每一层的技术,该技术可减少下游任务的可训练参数数量。

    微调后名称

    自定义模型微调后的新名称。支持英文、数字、中划线(-)、下划线(_),长度1-64个字符,仅支持字母或下划线开头。

    数据配置

    数据集

    在下拉列表中选择“我创建的”数据集。

    数据集版本

    在下拉列表中选择数据集版本。

    训练数据比例

    训练数据比例是指用于训练模型的数据在完整数据集中所占的比例。

    在实际应用中,训练数据比例的选择取决于许多因素,例如可用数据量、模型复杂度和数据的特征等。通常情况下,会选择较大的训练数据比例,以便训练出更准确的模型。一般来说,训练数据比例在70%到90%之间是比较常见的选择。

    验证数据比例

    验证数据比例是指模型训练过程中,用于验证模型当前训练效果的数据在完整数据集中所占的比例。

    验证集的比例对于机器学习模型的性能评估非常重要。如果验证集的比例过小,可能导致模型在验证集上表现不够稳定,无法准确评估模型的性能。如果验证集的比例过大,可能会导致训练集的样本量不足,影响模型的训练效果。因此,在选择验证集的比例时,需要根据具体情况进行调整,以保证模型的性能评估和训练效果的准确性。

    测试数据比例

    测试数据比例是指模型训练结束之后,用于测试模型训练效果的数据在完整数据集中所占的比例。

    通常,测试数据比例在20%到30%之间较为常见,但具体比例取决于数据集的大小和质量,以及模型的复杂度和训练时间等因素。较小的测试数据比例可能导致过拟合,而过大的比例则可能导致欠拟合。因此,选择适当的测试数据比例对于训练出准确可靠的机器学习模型非常重要。

    任务配置

    资源池

    选择执行任务的资源池,在下拉列表可以看到各资源池的可用卡数,根据实际情况选择。

  4. 单击“下一步”,分别参照表2表3配置基础参数、LoRA参数。

    表2 基础参数配置说明

    参数英文名

    参数中文名

    参数说明

    global_bs

    各设备batch size综合

    表示多个设备上使用的总样本数量。

    num_train_epochs

    训练epoch数

    优化算法在完整训练数据集上的工作轮数。

    learning_rate

    学习率

    学习率是每一次迭代中梯度向损失函数最优解移动的步长。

    weight_decay

    权重衰减因子

    对模型参数进行正则化的一种因子,可以缓解模型过拟合现象。

    warmup_ratio

    学习率热启动比例

    学习率热启动参数,一开始以较小的学习率去更新参数,然后再使用预设学习率,有效避免模型震荡。

    表3 LoRA参数配置说明

    参数英文名

    参数中文名

    参数说明

    lora_rank

    LoRA微调中的秩。

    lora_alpha

    缩放系数

    LoRA微调中的缩放系数。

    target_modules

    LoRA微调层

    LoRA微调的layer名关键字。

    baichuan系列:down_proj,gate_proj,up_proj,W_pack,o_proj

    chatglm系列:dense_4h_to_h,dense_h_to_4h,dense,query_key_value

  5. 单击“创建”。新创建的微调任务显示在任务列表中。

更多操作

创建微调任务完成后,可执行如表4所示的操作。

表4 更多操作

操作

说明

查看任务详情

在“模型微调流水线”页面的任务列表中,单击任务名称或单击“操作”列“更多 > 运行日志”,查看任务的基础信息、参数信息、运行日志以及Loss曲线等详情,并支持对模型之间的关系进行溯源。

重新创建任务

  1. 在“模型微调流水线”页面的任务列表中,单击“操作”列“更多 > 重新创建”。
  2. 在“修改微调任务”页面,参照3~4进行配置。

删除任务

  1. 在“模型微调流水线”页面的任务列表中,单击“操作”列“更多 > 删除”。
  2. 单击“确认”。

启用任务

  1. 在“模型微调流水线”页面的任务列表中,单击“操作”列“启用”。
  2. 单击“确认”。

停用任务

  1. 在“模型微调流水线”页面的任务列表中,单击“操作”列“停用”。
  2. 单击“确认”。

发布任务

运行完成后,点发布完成后,生成更优的新模型。

相关文档