使用魔塔社区GPU对qwen2.5-7B-Instruct进行微调

服务器:登录注册魔塔社区服务器后,免费赠送36小时的GPU(8核 32GB 显存24G的环境 )和64小时的GPU(8核 32GB 显存16G)
预训练模型:qwen2.5-7B-Instruct

微调数据集:ruozhiba_qa(魔塔社区的数据格式需要修改,最好从huggingface上下载数据集,可直接使用)
微调框架:LLama-factory 


第一步:打开魔塔社区-我的Notebook

魔搭社区

第二步:安装环境

先打开一个新tab页,点击左上角的+号,选择terminal

安装依赖库

pip3 install --upgrade pip
pip3 install bitsandbytes>=0.39.0

说明:bitsandbytes 是一个由 ​Facebook Research​ 开发的轻量级开源库(基于 MIT 协议),专注于通过低比特精度量化技术优化深度学习模型的训练和推理效率。即:使一个专注于优化计算效率的库。

创建并激活虚拟环境

默认的镜像是不支持conda命令的,若想使用conda命令,则需要手动安装

使用python命令创建虚拟环境

# 创建虚拟环境的时候可以先查询python版本,使用特定的版本创建虚拟环境
python --version
#  3.11.11
# python3.11 -m env <虚拟环境名称>:若服务器内同事安装多个版本的python的话,创建虚拟环境的时候需
# 要明确指定python3.11命令
python3.11 -m env myenv
# 激活虚拟环境:source <虚拟环境名称>/bin/active

激活虚拟环境前:


激活虚拟环境后:

安装LLaMAFactory

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

第三步:下载模型和数据集

在魔搭的模型库中找到通义千问2.5-7B-Instruct

我们选择git下载:

首先复制安装lfs的命令(若已安装,则忽略)

然后复制模型下载的git命令直接在Notebook中的Terminal中执行命令即可下载模型,下载号之后,我们可以看到相应的文件

下载数据集:数据集使用ruozhiba

https://huggingface.co/datasets/hfl/ruozhiba_gpt4/tree/main

微调大模型

修改微调配置文件

在窗口的左侧的文件列表,进入到LLaMA-Factory/examples/train_lora中:

复制llama3_lora_sft.yaml文件创建一个新的配置文件qwen2.5_lora_sft.yml
修改qwen2.5_lora_sft.yml文件:

这个文件就是微调配置文件。第一行model_name_or_path就是我们刚刚下载大模型的路径。
      其他参数还有:
                dataset: 表示的是数据集
                template:这个是训练指令模板
                output_dir:训练完成后,保存参数、配置、模型的路径
                ### train这个下面训练的超参数,一般都不需要该,唯一需要调整的可能是训练轮次num_train_epochs。一轮是指对整个数据集进行一次完整的遍历

配置数据集dataset_info.json(当前文件存放的是LLama-factory框架使用的所有数据集):

将数据集ruozhiba_qa2449_gpt4t.json上传到data目录下,然后配置dataset_info.json

回到LLaMA-Factory目录下:启动微调

# 下面三行命令分别对 Llama3-8B-Instruct 模型进行 LoRA 微调、推理和合并
# llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
# llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
# llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
llamafactory-cli train examples/train_lora/

配置模型启动文件:(LLaMA-Factory/examples/inference/)

复制llama3.yaml生成qwen-loar.yaml文件

修改qwen-loar.yaml文件

#指定预训练模型的路径。这是加载基础模型的路径,比如:Qwen2.5-7B 的权重文件。
model_name_or_path: /mnt/workspace/LLaMA-Factory/Qwen2.5-7B-Instruct
#指定 LoRA(Low-Rank Adaptation)适配器的路径,这里是微调后的模型权重的路径
adapter_name_or_path: /mnt/workspace/LLaMA-Factory/saves/qwen-7b/lora/sft
#指定输入数据的模板格式
template: qwen
#指定推理后端
infer_backend: huggingface  # choices: [huggingface, vllm]
trust_remote_code: true

配置微调前大模型的启动文件

model_name_or_path: /mnt/workspace/LLaMA-Factory/Qwen2.5-7B-Instruct
# template改为chatml
template: chatml
infer_backend: huggingface  # choices: [huggingface, vllm, sglang]
trust_remote_code: true

启动大模型:

# 启动微调前:
llamafactory-cli chat examples/inference/qwen.yaml
# 启动微调后:
llamafactory-cli chat examples/inference/qwen-loar.yaml

### 如何在魔塔社区微调 Qwen3:8B 大模型 要在魔塔社区 (ModelScope) 上微调 Qwen3:8B 大模型,可以按照以下方法操作: #### 准备工作 为了成功完成微调过程,需先安装必要的依赖项。可以通过运行以下命令来设置环境: ```bash pip install -e .[metrics,modelscope,qwen] pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl ``` 这些工具包提供了对 PyTorch 的支持以及其他必需的功能模块[^4]。 #### 下载并加载模型 从 ModelScope 平台获取 Qwen3:8B 模型文件后,在 Python 脚本中通过 `from_pretrained` 方法指定本地路径而非远程仓库名称即可初始化模型及其对应的分词器 tokenizer[^3]。具体实现如下所示: ```python from transformers import AutoTokenizer, AutoModelForCausalLM model_dir = "/path/to/local/model" tokenizer = AutoTokenizer.from_pretrained(model_dir) model = AutoModelForCausalLM.from_pretrained(model_dir) ``` #### 数据准备与处理 对于特定任务的数据集,应将其转换成适合输入给定语言模型的形式。通常这涉及 tokenization 步骤以及可能的其他自定义变换逻辑。确保数据格式匹配所选框架的要求。 #### 微调配置 基于目标应用场景调整超参数设定非常重要。例如学习率、批量大小等都会显著影响最终效果。推荐参考官方文档或者类似项目中的最佳实践案例来进行合理的选择。 #### 开始训练 当一切准备工作完成后便可以直接启动训练流程了。如果是在分布式环境中执行,则还需要额外考虑节点间通信等问题。 --- ### 注意事项 由于此过程中涉及到大量计算资源消耗,请务必确认硬件条件满足需求后再行动;另外也要注意遵循各平台的服务条款规定合法合规地使用相关技术成果[^1]^。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值