请问目前swift微调款框架支持python使用自定义数据集进行通义千问1.5的微调么?
目前,Swift微调框架支持通过Python使用自定义数据集对通义千问1.5进行微调。以下是详细说明和操作指导:
根据知识库资料,通义千问1.5系列(如qwen1.5-7b-chat
、qwen1.5-14b-chat
等)支持多种微调方式,包括SFT(有监督微调)。这表明,通义千问1.5的开源版本可以通过微调框架进行定制化训练。
Swift微调框架是阿里云提供的高效工具,允许用户通过Python接口加载自定义数据集,并对支持的模型进行微调。通义千问1.5作为开源模型,明确列在支持的模型列表中。因此,您可以使用Swift框架完成以下任务: - 加载自定义数据集。 - 配置微调参数(如学习率、批次大小等)。 - 启动微调任务。
以下是基于Swift微调框架的操作流程:
input
)和目标输出(output
)字段,用于有监督微调。确保已安装Swift微调框架及相关依赖:
pip install swift
使用Python代码加载通义千问1.5模型及自定义数据集:
from swift import Swift, SFTTrainer
# 指定模型名称
model_id = "qwen1.5-7b-chat"
# 加载自定义数据集
train_dataset = load_dataset("path_to_your_dataset", split="train")
eval_dataset = load_dataset("path_to_your_dataset", split="validation")
# 初始化微调器
trainer = SFTTrainer(
model_id=model_id,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
max_length=2048, # 根据模型支持的最大token长度设置
batch_size=16,
learning_rate=1.6e-5
)
# 启动微调
trainer.train()
根据知识库推荐的超参数设置,您可以调整以下关键参数: - batch_size
:建议值为16。 - learning_rate
:推荐值为1.6e-5
。 - n_epochs
:根据数据量大小选择循环次数(数据量小于10,000时建议3~5次,大于10,000时建议1~2次)。
运行上述代码后,Swift框架将自动执行微调任务,并生成优化后的模型。
sft
),因为其效果优于高效训练(efficient_sft
)。综上所述,Swift微调框架完全支持通过Python使用自定义数据集对通义千问1.5进行微调。您只需按照上述步骤准备数据、配置参数并启动任务即可完成微调。如有进一步需求,请参考相关文档或联系技术支持。
ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352