LLama Factory大模型微调之TensorBoard配置
一、TensorBoard概述
- 定义与功能:TensorBoard是TensorFlow的可视化工具套件,用于理解、调试和优化机器学习模型训练过程。它提供丰富可视化仪表盘,能直观监控微调训练中的各种指标,如损失率和准确率曲线、张量分布、模型图等。
- 操作手册:可参考官方文档:https://tensorflowcn.cn/tensorboard/get_started
二、在LLaMA - Factory中配置TensorBoard
- 安装依赖包
- TensorBoard依赖于TensorFlow,建议先安装TensorFlow,安装命令:
pip install tensorFlow
。 - 单独安装TensorBoard命令:
pip install tensorboard
,若安装过程提示缺少包,按提示安装即可。 - 安装完成后,可使用
tensorboard --version
验证是否安装成功,若输出版本号则安装完成。
- TensorBoard依赖于TensorFlow,建议先安装TensorFlow,安装命令:
- 添加训练参数
- 在LLaMA - Factory中,通过添加
--report_to "tensorboard"
指定使用TensorBoard。 - 使用
--logging_dir
指定日志路径,如--logging_dir single_lora_qwen_log
,需注意该路径是启动命令的相对路径,建议使用绝对路径。 - 将LLaMA - Factory生成的训练命令复制,添加上述两个参数到命令中。同时要注意,若原命令中
--report_to
参数值为none
,需改为tensorboard
,且整个命令中不要有重复指令数据,否则会导致输出失败 。
- 在LLaMA - Factory中,通过添加
- 启动TensorBoard服务
- 命令格式:
tensorboard --logdir="日志文件夹路径" --host 服务器IP --port 端口号
,如tensorboard --logdir="single_lora_qwen_log" --host 192.168.110.133 --port 6006
,表示监控指定文件夹内容并展示在服务器的6006端口下。 - 执行命令后,若没有报错,在本地电脑(与服务器互通情况下)访问
http://服务器IP:端口号/#scalars
,如http://192.168.110.133:6006/#scalars
,即可查看模型训练的详细信息。
- 命令格式:
三、LLaMA - Factory + LORA大模型微调相关知识补充
- LORA原理
- 来源于微软2021年论文《LORA: LOW - RANK ADAPTATION OF LARGE LANGUAGE MODELS》,核心思想是基准模型不变,额外引入参数矩阵(ΔW)做专属内容处理,新矩阵h = Wox + ΔWx (WO为原始权重矩阵,x为输入向量)。
- LORA与适配器微调(Adapter Tuning)不同,Adapter Tuning在模型本身增加层次,会使模型推理路径变长;LORA保持模型完整性,引入外部参数矩阵与原模型结合输出。
- LORA可应用于大模型微调,如GPT系列和transformer模型等过参数化模型,通过优化秩分解矩阵间接训练神经网络密集层,节省计算资源。
- LLaMA - Factory作用与使用
- LLaMA - Factory是GitHub上的开源项目,可用于大模型微调,支持命令行界面(CL)、Web示例(Demo)和API调用等多种使用方式,操作简便,具体指南可在官方GitHub页面查看。
- 在使用时,不同版本可能会有更新,使用前需关注更新点。安装部署过程包括创建Python虚拟环境、下载项目文件、安装依赖包等,对本地软硬件环境有一定要求,如CUDA至少11.6版本,推荐12.2版本 。
- 数据集与微调流程
- 先使用LLaMA - Factory自带数据集进行微调,后续会讲解使用自定义数据集的方法。不同数据集详细情况可在其GitHub官网查看。
- 微调流程包括框架安装、模型下载、数据集准备、选择参数方法点击微调,微调完成后需合并模型并二次验证。
四、答疑环节
- LORA与冻结参数关系:LORA本质不是通过冻结参数调节,而是引入外部权重矩阵,保持原模型完整性,与原模型结合输出;而上节课讲的冻结参数是逐层或等层冻结,在同一模型上进行操作。
- LORA与知识库区别:LORA是训练好的参数权重集,可类比为挂上去的知识库,但原理不同。知识库是向量库,实时可更新;LORA是用于微调的参数集。
- LLaMA模型与LORA应用:LLaMA模型可以用LORA方法实现微调,支持实体关系三元组提取任务。
- 企业微调工具选择:企业中微调可使用LLaMA - Factory开源工具,也可使用其他工具,取决于具体需求。LLaMA - Factory框架默认支持一些微调设置,若有特殊需求,如指定特定模块微调,可能需要借助其他方式。