第一行代码是我导入https://github.com/hiyouga/LLaMA-Factory.git到我的项目那里的,试过网上随便搜索过相同,估计没更新,安装了几次都运行失败,克隆了最新的就安装成功了。
方法1没虚拟环境:不知道成不成功,我使用conda管理安装的
git clone https://gitcode.com/wengxiezhen2671/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple
llamafactory-cli webui#浏览器输入http://127.0.0.1:7860 开始使用
方法2虚拟环境,先装conda
#安装conda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
#安装完成后,重新加载终端或运行
source ~/.bashrc#创建环境
conda create -n llama_factory python=3.10
#激活环境
conda activate llama_factory#安装llamafacory
git clone https://gitcode.com/wengxiezhen2671/LLaMA-Factory.git
cd LLaMA-Factory
#使用了国内的源
pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple
#测试是否成功,出现welcome字样表示成功了
llamafactory-cli version
#启动web
llamafactory-cli webui
#浏览器输入http://127.0.0.1:7860 开始使用#conda其它一些命令#列出环境
conda env list
#离开环境
conda deactivate
#删除环境
conda remove -n myenv --all
#使用教程
#先到https://www.modelscope.cn/ 选择模型库输入你要的模型进行下载。这里也有训练的数据集下载的。
#举列子,现在下载DeepSeek-R1-Distill-Qwen-1.5B
#先装lfs
git lfs install
#下载模型
git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B.git
回到llama 的网页版,Language选zh
模型名称选DeepSeek-R1-1.5B-Distill
模型路径填绝对路径了比较简单,自己看下模型放到哪里了,
/home/jayxlb/LLaMA-Factory/DeepSeek-R1-Distill-Qwen-1.5B
数据路径那里刚安装数据集还有显示,第2次用就失效了,要填绝对路径
/home/jayxlb/LLaMA-Factory/data
旁边的数据集就会显示系统自带的数据集。
/home/jayxlb/LLaMA-Factory/data/dataset_info.json 这里修改数据集的说明
训练后的模型保存在这里/home/jayxlb/saves
其它记录
学习率(Learning Rate)
学习率就像是调味料,少了没味,多了咸死人。学习率太高会导致模型爆炸,太低则会让模型陷入局部最小值。通常建议从0.01、0.001等较小的值开始尝试。
批大小(Batch Size)
批大小决定了每次训练时使用的样本数量。选择太小,模型会不稳定;选择太大,训练速度会变慢。常见的批大小有32、64、128等。
层数和节点数(Layer Depth & Node Count)
增加层数和节点数可以提高模型的表达能力,但过多的层数和节点数会导致过拟合。建议通过尝试添加或减少隐藏层,改变每层的节点数来找到最佳配置。
激活函数(Activation Function)
激活函数为神经元引入了非线性因素,使得模型能够学习更复杂的模式。ReLU是最常用的激活函数,但如果你喜欢激进一点的风格,可以试试Leaky ReLU。
优化器(Optimizer)
优化器决定了模型参数更新的策略。Adam优化器是一个不错的选择,但SGD也是一个值得尝试的选项。
初始化方法(Initialization)
初始化方法决定了模型参数的初始值,这会影响模型的训练过程。常见的初始化方法有Xavier、He或LeCun初始化。
Dropout Rate
Dropout是一种防止过拟合的技术,通过随机丢弃一部分神经元的输出。Dropout率通常在0.2到0.5之间,具体数值可以根据实际情况进行调整。