一、环境
在vscode中用连接云服务器,打开文件目录。
df -h #查看盘容量
二、下载LLaMA Factory框架和数据
下载LLaMA Factory到云服务器
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .
pip install -e .命令的含义是在当前目录下查找一个setup.py文件(或其他
pyproject.toml文件,取决于包的配置),并根据该文件的指示以可编辑模式安装包。
将下载的数据放到LLaMA Factory data文件夹下,同时将json格式输入到dataset_info.json文件中。
启动 Web UI
cd LLaMA-Factory
llamafactory-cli webui
三、下载模型
用中文微调过的模型。
pip install -U huggingface_hub
pip install huggingface-cli
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat --local-dir /root/autodl-tmp/models/Llama3-8B-Chinese-Chat1
四、微调训练和推理
加速方式选择unsloth会报错unsloth不存在
推理的时候选择vllm也会报错版本不合适。
gpu使用情况监控和进程杀死
【工具篇】如何优雅地监控显卡(GPU)使用情况? - 知乎 (zhihu.com)
终止进程后,GPU显存仍被占用问题: kill -9彻底杀死进程 | ps aux|grep python | 怎么确认僵尸进程?_杀死进程后显存还是没有下降-优快云博客
还需要学习Unsloth 上进行微调
基于unsloth微调llama3.1_哔哩哔哩_bilibili
五、LLaMA Factory 参数详解
当下最容易上手的大模型微调工具是谁?LLamaFactory或是其中之一 - 文章 - 开发者社区 - 火山引擎 (volcengine.com)
LlamaFactory可视化微调大模型 - 参数详解_llamafactory 参数详解-优快云博客
AdamW
的学习率通常在1e-5
到 3e-5
之间,于大型语言模型(如 BERT
、GPT
等)的微调,常用的学习率范围是 2e-5
到5e-5
,从一个相对较小的值开始,如 2e-5
。
训练轮数:**对于大语言模型的微调,通常在 2
到 10
个 epoch
之间, 轮数过多可能导致过拟合,特别是在小数据集上。
(Max Gradient Norm)是一种用于防止梯度爆炸的技术,也称为梯度裁剪(Gradient Clipping)。这个参数设置了梯度的最大允许值,如果梯度超过这个值,就会被缩放到这个最大值。通常在 0.1 到 10 之间,太小:可能会限制模型学习,太大:可能无法有效防止梯度爆炸。
参考说明
【大模型微调】使用Llama Factory实现中文llama3微调_哔哩哔哩_bilibili
LLaMA-Factory: 大语言模型统一高效微调框架 (gitee.com)
cgft-llm/llama-factory/README.md at master · echonoshy/cgft-llm · GitHub