1、开始ModelScope社区GPU环境
训练或微调模型都是非常耗费算力的。如果电脑的配置不高,可使用一些云服务器来做这项工作。如ModelScope(魔搭)社区的GPU环境,目前提供36小时免费运算,足够微调一个大模型了。
注册ModelScope(魔搭)社区账号(可能还要注册或认证阿里云账号),进入“我的NoteBook”:
我的Notebook · 魔搭社区

启动大概需要2分钟,等GPU环境启动好以后点击”查看NoteBook”进入。

开启后,会提示永久性数据只保存在/mnt/workspace/目录下。

魔塔社区内置了JupyterLab的功能,进入之后,可以找到 Notebook 标签,新建一个Notebook(当然你在terminal 里执行也没问题)。
如下箭头所示,点击即可创建一个新的 Notebook 页面。

2、克隆LLaMA-Factory
(如果使用本地电脑进行微调,以下步骤都可参考)
打开NoteBook的终端,在默认目录(/mnt/workspace/)下执行命令:
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
建议使用–depth 1参数,将data及一些示例的训练数据下载下来,以便修改微调。
3、配置环境
3.1、创建虚拟环境
进入LLaMA-Factory目录:
cd LLaMA-Factory/
创建虚拟环境:
python -m venv env # env为虚拟环境文件夹名称,可自定义,如llama-factory-env
激活虚拟环境:NoteBook终端是linux系统,激活虚拟环境命令如下(同macOS):
source env/bin/activate # env为创建的虚拟环境名称
如果是windows系统,使用如下命令激活虚拟环境:
envScriptsactivate
注意:重启NoteBook后,记得先激活虚拟环境!
3.2、安装依赖
安装必要的依赖,如:
pip install --upgrade pip # 更新pip
pip install bitsandbytes>=0.39.0
3.3、安装LLaMA-Factory
使用以下命令安装:
pip3 install -e ".[torch,metrics]"
4、模型下载测试
4.1、下载模型
首先下载LLM大语言模型,这里使用QWen2.5-0.5B,参数5亿个,微调时间短,在低配置电脑上也能运行。
模型在魔搭社区上有,地址是:
https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct/summary
将目录回退到/mnt/workspace/,根据网页提示输入命令:
!git clone https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct.git
4.2、模型测试
模型下载完成后,先来运行一下试试。
创建模型运行命令,在example/inference目录下,将llama3.yaml复制并重命名为QWen2.5_0.5B.yaml(名称不唯一),将内容更改为以下的内容,并保存(一定记得保存)。
model_name_or_path: ../Qwen2.5-0.5B-Instruct
template: chatml
infer_backend: huggingface # choices: [huggingface, vllm, sglang]
trust_remote_code: true
若觉得操作不方便,可使用下载上传菜单,将文件下载修改后再上传。

进入LLaMA-Factory目录下,(激活虚拟环境)输入下列命令运行模型:
llamafactory-cli chat examples/inference/qwen2.5_0.5b.yaml
等待一段时间出现”User:”后,就可以输入问题进行对话了。
[INFO|2025-04-27 13:28:34] llamafactory.model.loader:143 >> all params: 494,032,768
Welcome to the CLI application, use `clear` to remove the history, use `exit` to exit the application.
User: 你是谁?
Assistant: 我是来自阿里云的大规模语言模型,我叫通义千问。
5、模型微调
5.1、修改微调训练数据
本次示例对大模型的身份进行调整。微调文件为:/LLaMA-Factory/data/identity.json。将其下载后,替换所有的{
{author}}和{
{name}}。

替换后,上传到原文件目录中去。
5.2、利用配置文件微调
5.2.1、创建微调配置文件
Llama-Factory的文件夹里,打开examples rain_qlora(或train_lora)下提供的llama3_lora_sft_awq.yaml,复制一份并重命名为qwen_lora_sft_bitsandbytes.yaml。也可下载后修改再上传,文件内容参考如下:
### model
model_name_or_path: ../Qwen2.5-0.5B-Instruct
trust_remote_code: true
### method
stage: sft
do_train: true
finetuning_type: lora
lora_rank: 8
lora_target: all
### dataset
dataset: identity # 微调训练数据集
template: qwen
cutoff_len: 512
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16
dataloader_num_workers: 4
### output
output_dir: saves/qwen-will/lora/sft # 输出目录
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true
save_only_model: false
report_to: none # choices: [none, wandb, tensorboard, swanlab, mlflow]
### train
per_device_train_batch_size: 2
gradient_accumulation_steps: 4
learning_rate: 1.0e-4
num_train_epochs: 30 # 实际训练330?
lr_scheduler_type: cosine
warmup_ratio: 0.1
bf16: true
ddp_timeout: 180000000
resume_from_checkpoint: null
### eval
# eval_dataset: alpaca_en_demo
# val_size: 0.1
# per_device_eval_batch_size: 1
# eval_strategy: steps
# eval_steps: 500
5.2.2、执行微调配置文件
输入如下命令,执行微调训练:
llamafactory-cli train examples/train_qlora/qwen_lora_sft_bitsandbytes.yaml
# qwen_lora_sft_bitsandbytes.yaml为微调配置文件名称
显示进度代表开始微调。

5.2.3、验证微调模型
在example/inference目录下,新建一个yaml文件(如qwen2.5_0.5b_sft.yaml)。内容如下所示:
model_name_or_path: ../Qwen2.5-0.5B-Instruct
adapter_name_or_path: saves/qwen2.5-0.5b/lora/sft
template: qwen
finetuning_type: lora
# infer_backend: huggingface # choices: [huggingface, vllm, sglang]
# trust_remote_code: true
如图:

然后执行命令:
llamafactory-cli chat examples/inference/qwen2.5_0.5b_sft.yaml # qwen2.5_0.5b_sft.yaml是配置文件名
模型加载后进行对话,看看模型的身份认同是否改变。
5.3、利用WebUI微调
5.3.1、运行Web
输入命令:
llamafactory-cli webui
显示问题:
Visit http://ip:port for Web UI, e.g., http://127.0.0.1:7860
* Running on local URL: http://0.0.0.0:7860
To create a public link, set `share=True` in `launch()`.
解决办法参考:LLaMa-Factory部署及llamafactory-cli webui命令无法打开ui界面问题解决记录_llamafactory to create a public link, set `share=t-CSDN博客
如图所示:

再次运行”llamafactory-cli webui”,还是有问题:
Could not create share link. Missing file: /root/.cache/huggingface/gradio/frpc/frpc_linux_amd64_v0.3.
Please check your internet connection. This can happen if your antivirus software blocks the download of this file. You can install manually by following these steps:
1. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64
2. Rename the downloaded file to: frpc_linux_amd64_v0.3
3. Move the file to this location: /root/.cache/huggingface/gradio/frpc
解决办法:
1)在hf镜像网站下载frpc-gradio-0.3(注意版本号!)并移动到/root/.cache/huggingface/gradio/frpc/目录下
wget https://cdn-media.hf-mirror.com/frpc-gradio-0.3/frpc_linux_amd64 -O /root/.cache/huggingface/gradio/frpc/frpc_linux_amd64_v0.3
2)修改文件权限
chmod +x /root/.cache/huggingface/gradio/frpc/frpc_linux_amd64_v0.3
再次运行”llamafactory-cli webui”,显示:
* Running on local URL: http://0.0.0.0:7860
* Running on public URL: https://3b1fbc5c5cf19b0ca1.gradio.live
This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)
不用理会,直接点击打开http://0.0.0.0:7860或https://3b1fbc5c5cf19b0ca1.gradio.live
5.3.2、在网页上微调
在打开的网页上,参考下图修改响应参数。

微调开始后,控制台会输出大量日志,同时保存在save路径里。同时,网页会显示误差曲线等信息。
5.3.3、测试微调模型
微调成功结束后,可在网页上加载微调模型,并进行对话。

点击网页的”Export”,可将微调模型导出到指定目录(如Qwen2.5-0.5B-NZ)。

6、模型转换
6.1、使用ollama转换模型格式
ollama不能直接使用LLaMA-Factory导出的模型,需要用官方工具转换一下,工具如下:
https://github.com/ggerganov/llama.cpp
镜像克隆命令:
git clone https://gitcode.com/gh_mirrors/ll/llama.cpp.git
clone仓库后,进入文件夹创建并激活虚拟环境:
python -m venv envOllama
source envOllama/bin/activate
然后安装相关依赖
pip install -r requirements.txt
接着就可以用下面的命令转换了。
convert_hf_to_gguf.py是llama.cpp中的文件,先指定factory导出的模型文件夹路径,后指定需要存放的模型路径,再指定量化等级。safetensors格式就被转换为了gguf格式。转换后是一个单文件。
首先创建一个输出文件夹:
mkdir /mnt/workspace/Qwen2.5-0.5B-ollama
然后输入命令:
python convert_hf_to_gguf.py /mnt/workspace/Qwen2.5-0.5B-NZ
--outfile /mnt/workspace/Qwen2.5-0.5B-ollama/Qwen_ollama.gguf
--outtype q8_0
转换很快完成。
6.2、使用ollama加载模型
将gguf模型下载到本地。
创建一个Modelfile文件(无后缀),写下FROM 转换后的gguf模型路径。
可在gguf文件同目录下创建,文件内容为:
FROM ./Qwen_ollama.gguf
FROM后面也可以是绝对路径。
然后启动ollama,win10系统在Modelfile文件目录下打开CMD,输入:
ollama create Qwen_NZ -f Modelfile
等待转换完成。随后,可使用ollama加载模型进行对话了。
ollama list # 查看模型列表
ollama run xxx # 运行xxx模型
ollama rm xxx # 删除xxx模型
不过,经过转换后的模型有点胡言乱语,表现没有转换前那么好,原因暂时不明。

















暂无评论内容