【大模型微调】7.日志监控配置与模型量化分享

引言

本文继续研究 LLaMA-Factory,内容侧重于日志监控和模型量化分享。

更好的训练日志监控

LLaMA-Factory 的 Webui** 仅生成训练损失的曲线图,如需查看更详细训练情况监控信息,可使用 SwanLab**、TensorBoard、Wandb。

其中,SwanLab 是国内平台,访问速度更快,且同时支持云端/离线使用,自然作为首选。

SwanLab 官网:swanlab.cn

要使用SwanLab,需要在其官网注册账号,并获取API key。

之后运行

复制代码
swanlab login

在弹出此内容后,输出api key信息。

vbnet 复制代码
swanlab: Logging into swanlab cloud.
swanlab: You can find your API key at: https://swanlab.cn/settings
swanlab: Paste an API key from your profile and hit enter, or press 'CTRL-C' to quit:

完成配置后,在 webui 界面中,勾选启用 SwanLab,设置为云端存储,开始训练后,会自动生成 SwanLab 项目访问地址。

训练完成后,可以查看各参数的曲线变化图。

以及训练过程中 GPU 显存占用、利用率、温度等信息。

导出模型量化

导出量化模型

上文提到,通过llama.cpp可以将 LLaMA-Factory 训练完成的模型转换成 gguf 格式,命令如下:

bash 复制代码
python convert_hf_to_gguf.py /home/zxy/code/LLaMA-Factory/output_model

实际上,该命令可通过outtype参数来控制导出模型的精度,有以下选项:f32f16bf16q8_0tq1_0tq2_0tq2_0auto

比如,通过以下命令,将模型转换成 8 位量化的版本。

bash 复制代码
python convert_hf_to_gguf.py /home/zxy/code/LLaMA-Factory/output_model --outtype q8_0

量化四位模型

然而,ollama上的模型基本上都是 int4 精度,通过上面的方式无法直接转换成该精度,需要用编译完的llama.cpp再进行量化。

具体方法如下:

1.下载必要依赖

复制代码
sudo apt install cmake
sudo apt install libopenblas-dev
sudo apt install libcurl4-openssl-dev curl

2.cmake编译

ini 复制代码
cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS -DLLAMA_CURL=ON
cmake --build build --config Release -j$(nproc)

3.进行量化

bash 复制代码
./build/bin/llama-quantize /home/zxy/code/LLaMA-Factory/output_model/Output_Model-33B-F16.gguf /home/zxy/code/LLaMA-Factory/output_model/Output_Model-33B-q4_k_m.gguf Q4_K_M

这里面的Q4_K_M是指使用"k-quant"量化方法和"Medium"中等混合精度策略,兼顾速度与质量。

其它量化方案还包括:

量化类型 位数 模型大小(7B) PPL增加 适用场景
Q2_K 2 2.67GB +100% 极端显存受限
Q3_K_M 3 3.06GB +37.4% 低显存设备
Q4_K_S 4 3.56GB +17.6% 显存与性能平衡
Q4_K_M 4 4.08GB +8.2% 推荐通用场景
Q5_K_M 5 4.78GB +6.36% 高精度需求
Q6_K 6 5.53GB +0.1% 接近原始精度
Q8_0 8 7.16GB 几乎无损 研究调试

查看量化完的模型体积,会有明显的减小。

模型上传分享

下面介绍如何将模型上传到 modelscope 或 ollama 平台上供他人下载。

modelscope 平台上传模型

首先在 modelscope 平台上注册账号,复制token信息。

运行如下命令,添加刚刚复制的token

css 复制代码
modelscope login --token 复制的token

model-q4_k_m.gguf这个模型上传到zstar1003/model_test这个仓库。

bash 复制代码
 modelscope upload zstar1003/model_test /home/zxy/code/LLaMA-Factory/output_model/Output_Model-33B-q4_k_m.gguf model-q4_k_m.gguf --repo-type model --commit-message "upload model"

上传完之后,就可以在仓库中看到该模型。

ollama 平台上传模型

首先在 ollama 平台上注册账号。

执行以下命令,生成密钥:

javascript 复制代码
ssh-keygen -t ed25519 -f ~/.ollama/id_ed25519 -C "ollama账号的邮箱地址"

不同操作系统的公钥放在不同位置,参考上图找到公钥内容并直接添加。

添加完成后,以上传本地的bge-m3模型为例,执行以下命令。

bash 复制代码
ollama cp bge-m3:latest zstar/bge-m3
ollama push zstar/bge-m3

执行完成后,可在个人仓库中看到上传的模型文件。

往期内容推荐

大模型微调相关:

1.【大模型微调】1.LLaMA-Factory简介和基本使用流程

2.【大模型微调】2.微调方法详解与模型显存占用实测3.【大模型微调】3.通过Easy Dataset构建自己的微调数据集4.【大模型微调】4.模型评估标准及操作流程5.【大模型微调】5.调参经验总结与显存占用因素探究6.【大模型微调】6.模型微调实测与格式转换导出

相关推荐
汤永红1 分钟前
week1-[顺序结构]大海
c++·算法·信睡奥赛
博哥爱吃肉33 分钟前
第2篇_Go语言基础语法_变量常量与数据类型
开发语言·算法·golang
居7然35 分钟前
解锁AI大模型:Prompt工程全面解析
人工智能·prompt·提示词
Xの哲學4 小时前
TCP 连接管理:深入分析四次握手与三次挥手
网络·网络协议·算法
思通数据5 小时前
AI视频监控:重构安防行业智能化新生态
人工智能·安全·目标检测·机器学习·计算机视觉·重构·数据挖掘
萤丰信息5 小时前
智慧工地从工具叠加到全要素重构的核心引擎
java·大数据·人工智能·重构·智慧城市·智慧工地
riveting5 小时前
明远智睿SSD2351:以技术突破重构嵌入式市场格局
大数据·人工智能·重构·边缘计算·嵌入式开发·智能交通
计算机sci论文精选6 小时前
CVPR2025敲门砖丨机器人结合多模态+时空Transformer直冲高分,让你的论文不再灌水
人工智能·科技·深度学习·机器人·transformer·cvpr
XIAO·宝6 小时前
机器学习----绪论
人工智能·机器学习
41号学员6 小时前
机器学习绪论
人工智能·机器学习