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

LLaMA-Factory web微调大模型并导出大模型

LLaMA-Factory
开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt),指令微调(sft),基于人工反馈的对齐(rlhf)等全链路。但大模型训练对于显存和算力的要求较高,同时也需要下游开发者对大模型本身的技术有一定了解,具有一定的门槛。

LLaMA-Factory项目的目标是整合主流的各种高效训练微调技术,适配市场主流开源模型,形成一个功能丰富,适配性好的训练框架。项目提供了多个高层次抽象的调用接口,包含多阶段训练,推理测试,benchmark评测,API Server等,使开发者开箱即用。同时借鉴 Stable Diffsion WebUI相关,本项目提供了基于gradio的网页版工作台,方便初学者可以迅速上手操作,开发出自己的第一个模型。
LLaMA-Factory安装

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

启动LLaMA-Factory WebUi

cd LLaMA-Factory
python src/webui.py

启动成功
在这里插入图片描述
浏览器访问127.0.0.1:7860
在这里插入图片描述
1、选择训练模型

在这里插入图片描述
本地模型可以去魔塔社区进行下载,

https://modelscope.cn/models

在这里插入图片描述
2、选择训练的数据集
在这里插入图片描述
加载自定义数据集
①编辑/LLaMA-Factory/data/dataset_info.json文件
格式

模型名称
"gl_data": {
    "file_name": "gl_data.json" 数据集文件
  },

在这里插入图片描述
②添加数据集文件
同样在/LLaMA-Factory/data 目录下
在这里插入图片描述
③web加载数据集文件
在这里插入图片描述
④web查看数据集文件
在这里插入图片描述
数据集文件格式定义
gl_data.json
instruction 是给予模型的任务指令,明确告知模型需要完成的具体任务;
input 是为了完成任务所需的用户提问或相关信息;
output 则是模型应产生的预期回答

[
    {
        "instruction": "什么门永远关不上?",
        "input": "",
        "output": "足球门"
    },
    {
        "instruction": "小明晚上看文艺表演,为啥有一个演员总是背对观众?",
        "input": "",
        "output": "乐队指挥"
    },
]

也可以自己去魔塔社区下载已有的数据集
在这里插入图片描述
3、开始训练本地大模型
在这里插入图片描述
4、验证训练后的大模型
在这里插入图片描述
在上方检查点选择我们的一个数据并点击chat进行测试
点击加载模型会出现一个对话窗口,现在我们进行一个测试
在这里插入图片描述在这里插入图片描述我们的大模型经过训练数据集的数据后。输出的回答。以上就是我们训练大模型的小案例
5、导出训练后的大模型
指定导出的大模型路径
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/488080.html

相关文章:

  • Transformer入门教程全解析(一)
  • OpenCV相机标定与3D重建(53)解决 Perspective-3-Point (P3P) 问题函数solveP3P()的使用
  • with as提高sql的执行效率
  • ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技
  • 『SQLite』解释执行(Explain)
  • 【测试】——Cucumber入门
  • 计算机网络基础——网络协议
  • 科大讯飞Java面试题及参考答案 (120道-上)
  • MySQL8 使用 ProxySQL 来实现 MySQL 主从同步的读写分离和负载均衡
  • 一分钟了解git全局配置
  • 03_Redis基本操作
  • CTF随题思路—MiscMeowMeowMeow
  • 【广西乡镇界】arcgis格式shp数据乡镇名称和编码2020年内容测评
  • Attention系列笔记
  • JAVA2-类与对象编程(1)
  • vue如何实现动态路由?
  • 排序算法 C语言
  • macOS安装nvm
  • 【PPTist】查找替换、绘制文本框
  • 定位,用最通俗易懂的方法2:TDOA与对应的CRLB
  • 【Linux-多线程】-线程安全单例模式+可重入vs线程安全+死锁等
  • Clojure语言的多线程编程
  • Apache Hudi vs Delta Lake vs Apache Iceberg
  • Element UI与Element Plus:深度剖析
  • HarmonyOS 鸿蒙Next 预览pdf文件
  • 玩转多线程--入门