当前位置: 首页 > news >正文

魔塔社区使用llamafactory微调AI阅卷试题系统

启动 LLaMA-Factory

1. 安装 LLaMA-Factory

执行安装指令

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

解决依赖冲突

如果遇到依赖冲突,可使用以下命令安装,不安装依赖项:

pip install --no-deps -e .

检查依赖冲突:

pip check

发现 pytorch 版本不匹配,LLaMA-Factory 需要 PyTorch 2.5.1,而当前环境为 2.3.x,退出后更改服务器镜像重登后解决问题。
在这里插入图片描述

2. 启动 LLaMA-Factory WebUI

执行以下命令启动 WebUI:

llamafactory-cli webui

训练 AI 题库

1. 上传数据集

将训练数据上传至 LLaMA-Factory 指定目录。
在这里插入图片描述

2. 修改数据集注册文件

编辑 LLaMA-Factory/data/dataset_info.json,配置数据集信息。
在这里插入图片描述

3. 下载模型(使用千问 1.5B)

from modelscope import snapshot_download
snapshot_download('Qwen/Qwen2.5-1.5B-Instruct',
                  cache_dir="/mnt/workspace/model_data")

4. 配置参数训练

调整训练参数,优化 GPU 资源使用率。
在这里插入图片描述

5. 查询 GPU 资源占用率

pip3 install --upgrade nvitop
nvitop

根据 GPU 内存占用率调整 batch size,建议 GPU 占用率接近 90% 以提高训练速度。例如,24G 显卡可设定 batch size 为 12。
在这里插入图片描述

6. 训练评估

损失函数

观察损失函数曲线,判断模型收敛情况。
在这里插入图片描述

主观评估

在这里插入图片描述
在这里插入图片描述

评估指标

在这里插入图片描述
训练后的模型评估指标如下:

{
    "predict_bleu-4": 53.12,
    "predict_model_preparation_time": 0.0062,
    "predict_rouge-1": 100.0,
    "predict_rouge-2": 46.29,
    "predict_rouge-l": 100.0,
    "predict_runtime": 44.29,
    "predict_samples_per_second": 1.219,
    "predict_steps_per_second": 0.113
}
预测质量指标
  • BLEU-4:53.12(衡量生成文本和参考文本的匹配度)
  • ROUGE-1:100.0(单个词匹配度)
  • ROUGE-2:46.29(双词组匹配度)
  • ROUGE-L:100.0(最长公共子序列匹配度)
推理性能指标
  • 模型准备时间:0.0062 秒
  • 推理时间:44.29 秒
  • 每秒样本数:1.219
  • 每秒推理步骤数:0.113
评估总结
  • 文本生成质量 需要优化,可通过增加训练数据或优化超参数提升。
  • 推理性能 较慢,可调整 batch size 或优化计算资源。

7. 合并导出模型

模型训练完成后,可以进行合并并导出。

测试导出模型的加载情况,确保其可用性。
在这里插入图片描述


可能遇到的问题

1. 训练结果与部署效果不一致

  • 训练时的对话模板与部署时的对话模板不匹配。
  • 需要指定正确的模板,例如:
    vllm serve <model> --chat-template deepseek3.jinja
    

2. 训练效果不理想

可能的原因包括:

  • 模型选择:可能需要更适合的基础模型。
  • 训练轮次:训练次数不足。
  • 训练集质量:数据可能存在噪声或格式问题。

部署 LLaMA-Factory

1. 启动模型服务

vllm serve /mnt/workspace/model_data/Qwen/Qwen2.5-1.5B-Instruct-finish-merge

2. 配置 Open WebUI 进行部署

安装 Open WebUI

pip install open-webui

设置环境变量

export HF_ENDPOINT=https://hf-mirror.com
export ENABLE_OLLAMA_API=False  # 禁用 OLLAMA API
export OPENAI_API_BASE_URL=http://127.0.0.1:8000/v1

启动 Open WebUI

open-webui serve

部署运行效果

成功后,可以在浏览器访问 WebUI 进行交互。
在这里插入图片描述


总结

  1. 安装 LLaMA-Factory,解决 PyTorch 版本冲突。
  2. 训练 AI 题库,上传数据集、下载预训练模型、优化 GPU 使用。
  3. 评估训练结果,分析 BLEU/ROUGE 评分和推理性能。
  4. 部署模型,使用 VLLM 启动服务,配置 Open WebUI 进行交互。
http://www.dtcms.com/a/108331.html

相关文章:

  • 应用弥散张量成像和支持向量机检测慢性爆炸相关轻度颅脑损伤
  • Dockerfile文件构建镜像Anaconda+Python教程
  • 六十天Linux从0到项目搭建(第十八十九天)(缓冲区机制、未打开的磁盘存放、文件存储、磁盘物理结构、寻址、块设备管理、文件系统、增删查改、硬链接、软链接)
  • 通俗易懂的解释Git操作中“合并”和“变基”的区别
  • CMD命令通过已知ip使用以下三种方式来获取对方主机名
  • 常见优化SQL语句策略和示例
  • ControlNet-Tile详解
  • 最新Spring Security实战教程(八)Remember-Me实现原理 - 持久化令牌与安全存储方案
  • Python数据可视化-第3章-图表辅助元素的定制
  • PyTorch 中池化层MaxPool2d
  • CSS--解决float: right在空间不够时会自动往下移的问题
  • 音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流
  • 【Word】批注一键导出:VBA 宏
  • C#核心学习(五)面向对象--封装(4)C#中的索引器详解:让对象像数组一样灵活访问
  • MySQL的数据目录以及日志
  • 企业网络优化方案:SD-WAN赋能企业远程办公
  • 使用JSON.stringify报错:Uncaught TypeError: cyclic object value
  • RNN模型与NLP应用——(6/9)Text Generation(文本自动生成)
  • UE小:在Unreal Engine 5中实现多层静态网格体遮挡拾取
  • 【落羽的落羽 C++】模板简介
  • 交易引擎中的设计模式
  • 「青牛科技」GC5331 5V三相无感正弦波电机驱动芯片 对标茂达APX9331/灿瑞OCH2360
  • Spring Cloud Gateway 的核心作用
  • Flutter项目之登录注册功能实现
  • Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件,如何配置route路由
  • SQL问题分析与诊断(8)——关键信息(2)
  • 数据结构----栈
  • LangChain/Eliza框架在使用场景上的异同,Eliza通过配置实现功能扩展的例子
  • 【力扣hot100题】(036)二叉树的最大深度
  • Spring Boot 工程创建详解