AI模型微调实战指南
一、微调设置与训练步骤文档
- 选择微调算法 Lora
- 修改其他训练相关参数,如学习率、训练轮数、截断长度、验证集比例等
- 学习率(Learning Rate):决定了模型每次更新时权重改变的幅度。过大可能会错过最优解;过小会学得很慢或陷入局部最优解
- 训练轮数(Epochs):太少模型会欠拟合(没学好),太大会过拟合(学过头了)
- 最大梯度范数(Max Gradient Norm):当梯度的值超过这个范围时会被截断,防止梯度爆炸现象
- 最大样本数(Max Samples):每轮训练中最多使用的样本数
- 计算类型(Computation Type):在训练时使用的数据类型,常见的有 float32 和 float16。在性能和精度之间找平衡
- 截断长度(Truncation Length):处理长文本时如果太长超过这个阈值的部分会被截断掉,避免内存溢出
- 批处理大小(Batch Size):由于内存限制,每轮训练要将训练集数据分批次送进去,这个批次大小就是 Batch Size
- 梯度累积(Gradient Accumulation):默认情况下模型会在每个 batch 处理完后进行一次更新一个参数,可以通过设置这个梯度累计,让它直到处理完多个小批次的数据后才进行一次更新
- 验证集比例(Validation Set Proportion):数据集分为训练集和验证集两个部分,训练集用来学习训练,验证集用来验证学习效果如何
- 学习率调节器(Learning Rate Scheduler):在训练的过程中自动调整优化学习率
-
梯度爆炸的概念
梯度爆炸是指在深度神经网络训练过程中,反向传播时梯度值呈现指数级增长的现象。这种现象会导致权重更新过大,使模型参数变得极不稳定,甚至出现数值溢出(NaN)。梯度爆炸常与梯度消失一起讨论,两者均属于梯度不稳定问题。
二、在魔塔上使用GPU需要自己配置相关环境:
魔塔为新用户提供了免费的36小时GPU
在mota的终端中配置conda相关环境:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /mnt/workspace/miniconda3
source /mnt/workspace/miniconda3/bin/activate
conda init



pip install --upgrade gradio
wget -O ~/.gradio/frpc_linux_amd64 https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
chmod +x ~/.gradio/frpc_linux_amd64

【第一步】进入虚拟环境:
source /mnt/workspace/miniconda3/etc/profile.d/conda.sh
conda activate llama-factory
修复依赖 + 重装 LlamaFactory(可选操作)
pip uninstall -y torch torchvision torchaudio
pip install -e .[torch,metrics] --force-reinstall
安装正确版本 PyTorch(A10 + CUDA12.4 专用)(可选操作注意版本冲突)
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu124
验证 CUDA 显示 True
python -c "import torch; print(torch.cuda.is_available())"
开启国内镜像(加速下载)
export HF_ENDPOINT=https://hf-mirror.com
启动 WebUI(训练 / 聊天界面)
llamafactory-cli webui --server-name 0.0.0.0 --server-port 7860



这里存在一个误区,我手动可视化创建了一个文件夹交qween,在实际linux中模型想写入但是权限不够,导致模型显示保存成功,但是文件夹是空的。直接用linux指令创建并赋予权限
mkdir -p /mnt/workspace/output
chmod 777 /mnt/workspace/output
成功示意图:成功文件会显示模型内容

FastAPI 启动与 Cpolar 内网穿透配置
FastAPI 接口启动命令
执行以下命令启动 FastAPI 服务,允许外网和本地访问:
uvicorn main:app --host 0.0.0.0 --port 8000
修改代码后需通过 Ctrl+C 停止服务,重新执行上述命令重启。
Cpolar 内网穿透配置
安装 Cpolar(仅需首次执行):
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
绑定账号 Token(替换 你的token 为实际值):
cpolar authtoken 你的token
穿透 8000 端口以启用公网访问:
cpolar http 8000
代码修改后仅需重启 FastAPI 服务,Cpolar 进程无需重启。


学习笔记:参考堂吉诃德拉曼查的英豪 学姐
模型部署我采用的魔塔

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)