LLM微调系列——Qwen微调教程

2 篇文章 1 订阅

系列文章目录

第一章 Qwen微调



前言

作者在微调Qwen时遇到的一些坑以及一点经验 作者在微调Qwen时遇到的一些坑以及一点经验


一、脚本获取

官方链接: Github-Qwen
夸克网盘链接: Qwen,提取码:SYXe

二、使用步骤

1.数据格式

示例:

[
    {
        "id": "identity_0",
        "conversations": [
            {
                "from": "user",
                "value": "你好"
            },
            {
                "from": "assistant",
                "value": "我是一个语言模型,我叫通义千问。"
            }
        ]
    },
    {
        "id": "identity_1",
        "conversations": [
            {
                "from": "user",
                "value": "你是谁?"
            },
            {
                "from": "assistant",
                "value": "我是一个语言模型,我叫通义千问。"
            }
        ]
    }
]

2.SFT微调:

  1. 单卡微调:

脚本路径:

Qwen-main/finetune/finetune_lora_single_gpu.sh

部分参数说明:

MODEL:模型路径
DATA:自定义数据集路径
output_dir:输出模型路径
num_train_epochs: 设置训练的轮数
model_max_length:模型处理序列长度,根据自身数据定义
per_device_train_batch_size: 训练批处理大小设置
save_steps: 模型每n步保存一次

执行命令:

bash finetune/finetune_lora_single_gpu.sh
  1. 多卡微调:

脚本路径:

Qwen-main/finetune/finetune_lora_ds.sh

部分参数说明:

MODEL:模型路径
DATA:自定义数据集路径
GPUS_PER_NODE:置每个节点上GPU的数量。在分布式训练环境中,这用于定义每个节点上可用的GPU数目。
output_dir:输出模型路径
num_train_epochs: 设置训练的轮数
model_max_length:模型处理序列长度,根据自身数据定义
per_device_train_batch_size: 训练批处理大小设置
save_steps: 模型每n步保存一次

多卡限定设置(如果你GPU不支持NCCL请加上以下设置,例如:RTX3090):

export CUDA_DEVICE_MAX_CONNECTIONS=1
设置CUDA设备最大连接数为1。这可能用于限制一个CUDA设备上的并行处理任务数量。
export NCCL_IB_DISABLE=1
禁用NCCL(NVIDIA Collective Communications Library)的InfiniBand支持。
export NCCL_P2P_DISABLE=1
禁用NCCL的点对点(Peer-to-Peer)通信。

执行命令:

bash finetune/finetune_lora_ds.sh

3.模型合并:

脚本路径(官方未直接提供脚本文件,需通过链接下载获取):

Qwen-main/merger_model.py

参数说明:

path_to_adapter:模型输出路径或其中某个checkpoint路径
new_model_directory:合并结果路径

文件迁移:

合并后会有一些文件未在合并后的目录中,去源模型文件中将文件复制到合并后的目录
以Qwen-7B为例:
cache_autogptq_cuda_256.cpp
cache_autogptq_cuda_kernel_256.cu
qwen.tiktoken
tokenization_qwen.py
tokenizer_config.json

4.模型推理:

脚本路径:

Qwen-main/web_demo.py

总结

工作随笔,希望可以帮助到大家!
如有不足之处,请多多指教!

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趋吉避凶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值