从零开始的LLaMA-Factory的指令增量微调

大模型相关目录

大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容
从0起步,扬帆起航。

  1. 大模型应用向开发路径及一点个人思考
  2. 大模型应用开发实用开源项目汇总
  3. 大模型问答项目问答性能评估方法
  4. 大模型数据侧总结
  5. 大模型token等基本概念及参数和内存的关系
  6. 从零开始的LLaMA-Factory的指令增量微调

文章目录

  • 大模型相关目录
  • 一、LLaMA-Factory简介
  • 二、使用准备
  • 二、单卡微调
    • 测试集对微调模型性能评估
    • 微调模型问答使用
    • 微调模型增量模型导出
  • 三、多卡微调
  • 四、其他


一、LLaMA-Factory简介

LLaMA-Factory是开源的大模型微调框架,在模型微调方式、参数配置、数据集设置、模型保存、模型合并、模型测试以及模型试用上,提供了非常完备的开发接口。其框架使用形式分为指令与界面两种。

二、使用准备

1.拉取项目并部署相应环境(微调chatGLM3 6B很流畅,微调Qwen系列可能需要按错误提示对环境进行补包),并激活。

conda activate zwllama_factory
在这里插入图片描述

2.下载模型到本地
在这里插入图片描述

3.自行准备数据集
包括:

  • 自我认知数据集(微调后可能效果也比较一般,需要多次微调,或者配合prompt。)
  • 通用数据集(微调时用不用均可,可保持模型通用能力。且LLaMA-Factory的data文件夹下有alpaca_gpt4_data_zh等已经备好的数据集,不需要刻意定制。)
  • 特定领域数据集
    基本格式如下(alpaca,一种指令微调的格式。当然还有其他格式):
 [{"instruction": "你好","input": "","output": "您好,我是XX大模型,一个由XXX开发的 AI 助手,很高兴认识您。请问我能为您做些什么?"},{"instruction": "你好","input": "","output": "您好,我是XX大模型,一个由XXX打造的人工智能助手,请问有什么可以帮助您的吗?"}]

其中,instruction和input可以都填充进内容,如把问题作为input,把“回答问题这一要求”作为instruction。据说这种指令微调数据集的格式效果比较好。

准备数据及后,应上传所用到的数据集至项目路径下data文件夹
data文件夹下的数据集要想使用,还需在dataset_info.json下进行登记注册。
在这里插入图片描述
其中,file_sha1可通过如下代码计算获得,该字段要求并不严格,有即可,主要为了区分重复文件,作uuid使用。


import hashlibdef calculate_sha1(file_path):sha1 = hashlib.sha1()try:with open(file_path, 'rb') as file:while True:data = file.read(8192)  # Read in chunks to handle large filesif not data:breaksha1.update(data)return sha1.hexdigest()except FileNotFoundError:return "File not found."# 使用示例
file_path = r'C:\Users\12258\Desktop\xxx.json'  # 替换为您的文件路径
sha1_hash = calculate_sha1(file_path)
print("SHA-1 Hash:", sha1_hash)

二、单卡微调

单卡微调往往针对6B、7B等规模不大的大模型,因此界面化操作完全狗满足需求。
下述指令启动界面:

CUDA_VISIBLE_DEVICES=0 python src/train_web.py

如下图所示配置页面信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可见界面微调的本质依旧是后端的指令。
点击开始,开始微调,界面无反应,后端开始加载
在这里插入图片描述
加载完毕后,前端界面出现训练所需时间和损失曲线。
在这里插入图片描述
注意,训练随时可以中断。

测试集对微调模型性能评估

在这里插入图片描述

微调模型问答使用

在这里插入图片描述

微调模型增量模型导出

在这里插入图片描述

三、多卡微调

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

四、其他

在这里插入图片描述
更多信息可以访问开源项目进行了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/540536.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt4.0开通方法,wildcard邀请码

第一步,先开通一个wildcard账户,这个是虚拟信用卡,可以通过支付宝充值,地址: 三达不溜点bewildcard点com,开卡是需要付费的,11.99美刀一个月,输入邀请码优惠两刀,这里提…

【HyperLips:】数字人——控制嘴唇 项目源码python实现

最近受到商汤“复活”汤晓鸥的视频刺激,大大的amazing!没看过的小伙伴可以自行百度,看了不研究一下【数字人】技术,都要跟时代脱轨了,那就以HyperLips为开篇吧。 目录 🍎🍎1.摘要 &#x1f3…

【黑马程序员】Python文件、异常、模块、包

文章目录 文件操作文件编码什么是编码为什么要使用编码 文件的读取openmodel常用的三种基础访问模式读操作相关方法 文件的写入注意代码示例 异常定义异常捕获捕获指定异常捕获多个异常捕获所有异常异常else异常finally 异常的传递 python 模块定义模块的导入import模块名from …

必备工具:Postman Newman 详解

Postman Newman 是什么? Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境(Environment)进行自动化测试。它是 Postman 的命令行 …

运营干货 | TikTok店铺引流就看这几点

在 TikTok 上进行店铺引流可以是一种非常有效的营销策略,尤其是针对年轻用户群体。以下是一些在 TikTok 上进行店铺引流的技巧: 创作有趣的内容:在 TikTok 上,有趣和创意的内容往往更容易引起用户的注意。制作与你的品牌或产品相…

Arcgis新建位置分配求解最佳商店位置

背景 借用Arcgis帮助文档中的说明:在本练习中,您将为连锁零售店选择可以获得最大业务量的商店位置。主要目标是要将商店定位在人口集中地区附近,因为这种区域对商店的需求量较大。设立这一目标的前提是假设人们往往更多光顾附近的商店,而对于距离较远的商店则较少光顾。您…

Diffblue生成单元测试

什么是Diffblue Diffblue Cover 是一个强化学习 AI 平台,可自动编写全面的、类似人类的 Java 单元测试,从而节省开发人员时间、提高测试覆盖率并降低回归风险。Cover 以 IntelliJ IDE 插件(Cover Plugin)、CLI 应用程序&#xff…

三维铁木辛柯梁Matlab有限元编程 | 弹簧支座 | 弹性支撑单元| Matlab源码 | 理论文本

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

Dev C++和Visual Studio Code哪个好?

Dev C和Visual Studio Code哪个好? Dev C和Visual Studio Code都是常用的集成开发环境(IDE),用于编写和调试代码。它们各自有不同的优点和适用场景。 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C的资…

副业搞米第2期|副业教程限时分享,早点保存到自己网盘

如果您想获取全部详细视频教程,请关注文章底部公众号,回复关键词【aizd】获取 AI治愈系动态壁纸文案 此教程市场价值688 壁纸创作一直是一个经久不衰的领域,持续走红多年。虽然展现形式不断变化,但AI制作的图片、温馨文案和背景…

【Python开发环境】卸载PyCharm Professional——《跟老吕学Python编程》附录资料

【Python开发环境】卸载PyCharm Professional——《跟老吕学Python编程》附录资料 在Windows卸载PyCharm Professional打开设置打开应用面板找到PyCharm确认卸载卸载选项耐心等候卸载完成Windows卸载PyCharm总结(WindowsXP、WinVista、Win7、Win8、Win10、Win11&…

RabbitMQ:1.概述及安装

概述 AMQP协议 MQ Message Queue(消息队列)是在消息的传输过程中保存消息的容器,多用于系统之间的异步通信 AMQP Advanced Message Queuing Protocol(高级消息队列协议)是一个网络协议,2006年AMQP规范发布【类比HTTP】 专门为消…