【大模型微调】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参数来控制导出模型的精度,有以下选项:f32、f16、bf16、q8_0、tq1_0、tq2_0、tq2_0、auto。

比如,通过以下命令,将模型转换成 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.模型微调实测与格式转换导出

相关推荐
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
不会就选b4 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
运行时异常4 小时前
【WMS 仓储系统集成 AI Agent 实战】第 8 讲(终篇):生产部署与并发安全——Semaphore 放进 Flux.defer 的坑,压测抓了一晚上
人工智能·安全
杨杨杨大侠4 小时前
Jev、Kev、Laya:决策模型怎么选,什么时候需要微调?
人工智能·python·agent
代码方舟4 小时前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
虹科网络安全5 小时前
“顶会”看安全(十八):超越越狱:揭示由能力边界模糊引发的 LLM 应用安全风险
人工智能·安全
Maiko Star5 小时前
* LangChain 提示词模板详解:ChatPromptTemplate 的使用与高级特性
java·人工智能·langchain
鬓戈5 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
天远API5 小时前
零信任架构实战:基于天远人企关联构建自动化图谱网关
网络·人工智能·架构·自动化
爱吃提升5 小时前
文生视频模型发展趋势(2026)
人工智能·音视频