新手教程之使用LLaMa-Factory微调LLaMa3

news2024/12/26 21:49:53

文章目录

  • 为什么要用LLaMa-Factory
  • 什么是LLaMa-Factory
  • LLaMa-Factory环境搭建
  • 微调LLaMA3
  • 参考博文

为什么要用LLaMa-Factory

如果你尝试过微调大模型,你就会知道,大模型的环境配置是非常繁琐的,需要安装大量的第三方库和依赖,甚至需要接入一些框架。
但是大模型微调的方法又是非常类似的,那有没有一种工具可以统一这些操作,让大模型微调变成一个简单易上手的事情,LLaMa-Factory就是为了解决这个问题应运而生


什么是LLaMa-Factory

本来不想说这么多废话的,想来想去还是简单介绍一下,也加深自己的了解:
LLaMA Factory是一款支持多种LLM微调方式的工具,包括预训练、指令监督微调和奖励模型训练等。它支持LoRA和QLoRA微调策略,广泛集成了业界前沿的微调方法。特点在于支持多种LLM模型,提供了WebUI页面,使非开发人员也能方便进行微调工作。
代码地址:LLaMA-Factory


LLaMa-Factory环境搭建

  1. 克隆项目
git clone https://github.com/hiyouga/LLaMA-Factory.git
  1. 创建环境
conda create -n llama_factory python=3.10
conda activate llama_factory
  1. 安装依赖
cd LLaMA-Factory
pip install -e .[torch,metrics]
  1. 启动web UI界面
export CUDA_VISIBLE_DEVICES=0
python src/webui.py

启动成功之后,游览器会打开如下界面:
在这里插入图片描述


微调LLaMA3

  1. 准备模型

方法一:克隆我们要微调的模型到本地,然后将在web UI界面填入我们的模型名称和本地的模型地址

git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git

方法二:直接去魔塔Meta-Llama-3-8B-Instruct地址复制对应的文件名和路径,微调时,程序会自动​去魔搭下载模型!
(这个方法小编浅浅试了一下,没成功,还是下载到本地靠谱)
在这里插入图片描述

  1. 准备数据集

LLaMA-Factory项目内置了丰富的数据集,统一存储于data目录下。
如果你想基于自己的数据集微调,你需要
(1)将你的数据集也放到data目录下
注意:你需要将你的数据集改为一样的格式,具体可参考data下内置数据集的格式
这里提供一个小编基于LooksJuicy/ruozhiba数据集改好的一个数据集:

https://pan.baidu.com/s/1FYYlBIXWy697xdagrHiIeg
提取码:2333

(2)修改data下的dataset_info.json文件,添加如下内容:
其中my_data.json是我自己的数据集文件,my_data是对应的数据集文件名

"my_data": {
    "file_name": "my_data.json"
  },

添加到第一层大括号内的第一个元素前,也就是identity前面

  1. 微调

这里我直接通过web ui界面进行微调
在这里插入图片描述

训练需要二十分钟左右,训练完成之后,会出现下述界面:
左下角会显示训练完毕,右边会出现训练过程中损失变化的一个可视化

在这里插入图片描述

  1. 与微调之后的模型对话

在这里插入图片描述
这样看来,使用LLaMa-Factory微调确实很简单方便!!!


参考博文

  • 在Ubuntu上安装部署LLaMA-Factory,及微调大模型测试
  • 使用LLaMA Factory微调LlaMA 3模型
  • llama3 微调教程之 llama factory 的 安装部署与模型微调过程,模型量化和gguf转换
  • 动手微调Llama3!纯本地+手把手!ORPO偏好微调,数据集工具指南!base到chat模型微调方案!day01
  • Llama3 中文版模型微调笔记,小白也能学会

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭秘抖音矩阵号低成本高效运作批量账号的秘诀!

在当今互联网时代,抖音矩阵号搭建已经成为了许多企业和个人追求高效率媒介管理的重要方式,但是高效、低成本地运作这些账号却是一个相当具有挑战性的任务。 在这篇文章中,我将从抖音矩阵账号准备,如何低成本制作视频以及在进行内容制作时,如何高效运作批量账号等大家比较…

排查互联网敏感信息,对信息泄露说“不”

前言 01 近几年,随着我国对网络安全的重视,贴近实战的攻防演练活动越发丰富,各单位的网络安全建设也逐步从“事后补救”升级为“事前防控”。在演练中,进攻方会在指定时间内对防守方发动网络攻击,检测出防守方存在的…

Hadoop+Spark大数据技术 实验11 Spark 图

17周期末考试 重点从第五章 scala语言开始 比如:映射(匿名函数) 11.3.1创建属性图 import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD //创建一个顶点集的RDD val users: RDD[(VertexId ,(String,String))] sc.paralle…

vue2组件封装实战系列之alert组件

组件之 GfAlert 消息组件一般用于提示用户,比如通知,警告等消息。 效果预览 属性 参数类型说明可选值默认值titleString显示的标题typeString类型effectString显示的标题descriptionString描述closeTextString显示的标题showIconBoolean显示左侧的图标c…

C++ | Leetcode C++题解之第137题只出现一次的数字II

题目&#xff1a; 题解&#xff1a; class Solution { public:int singleNumber(vector<int>& nums) {int a 0, b 0;for (int num: nums) {b ~a & (b ^ num);a ~b & (a ^ num);}return b;} };

“三夏”农忙:EasyCVR/EasyDSS无人机技术助推现代农业走向智能化

随着科技的飞速发展&#xff0c;无人机技术已经逐渐渗透到我们生活的方方面面。其中&#xff0c;无人机在农业领域的应用尤为引人注目。它们不仅提高了农业生产的效率&#xff0c;还为农民带来了更便捷、更智能的种植方式。 无人机在农业应用场景中&#xff0c;通过搭载各种设备…

Python魔法之旅-魔法方法(22)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

Python cProfile 输出解析及其解决方案

cProfile 是 Python 中用于性能分析的内置模块&#xff0c;它可以帮助你确定程序中哪些部分消耗了最多的时间。通常&#xff0c;使用 cProfile 会输出大量的数据&#xff0c;需要进行解析和分析。下面是关于 cProfile 输出解析及其解决方案的一些提示&#xff1a; 1、问题背景 …

读AI未来进行式笔记06自动驾驶技术

1. 跃层冲击 1.1. 每个社会其实都处于不同的楼层&#xff0c;往往处于更低楼层的社会&#xff0c;要承受来自更高楼层的社会发展带来的更大冲击 2. 驾驶 2.1. 开车时最关键的不是车&#xff0c;而是路 2.2. 人是比机器更脆弱的生命&am…

多线程leetcode编程题

synchronized 实现 class ReentrantTest {private int n;private volatile int flag 1;private Object lock new Object();public ReentrantTest(int n) {this.n n;}public void zero(IntConsumer printNumber) throws InterruptedException{for(int i1;i<n;){synchron…

.net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript

.net core 使用js&#xff0c;.net core 使用javascript&#xff0c;在.net core项目中怎么使用javascript 我项目里需要用到“文字编码”&#xff0c;为了保证前端和后端的编码解码不处bug, 所以&#xff0c;我在项目中用了这个 下面推荐之前在.net F4.0时的方法 文章一&#…

08_旷视轻量化网络--ShuffleNet V1

1.1 简介 ShuffleNetV1是旷视科技&#xff08;Face&#xff09;在2017年提出的一种专为移动设备设计的高效卷积神经网络&#xff08;CNN&#xff09;架构。它的主要目标是在保证模型精度的同时&#xff0c;极大地降低计算成本&#xff0c;使其更适合资源受限的环境&#xff0c…

wx小程序自定义tabbar

1.在app.json文件中&#xff0c;添加自定义tabbar配置&#xff1a;"custom": true "tabBar": {"custom": true,"backgroundColor": "#fafafa","borderStyle": "white","selectedColor": &quo…

高精度加法的实现

这是C算法基础-基础算法专栏的第七篇文章&#xff0c;专栏详情请见此处。 引入 在C语言中&#xff0c;int的可存储数据范围是-2147483648~2147483647&#xff0c;long long的可存储数据范围是-9223372036854775808~9223372036854775807&#xff0c;但是如果一些数据比long long…

2021JSP普及组第二题:插入排序

2021JSP普及组第二题 题目&#xff1a; 思路&#xff1a; 题目要求排序后根据操作进行对应操作。 操作一需要显示某位置数据排序后的位置&#xff0c;所以需要定义结构体数组储存原数据的位置和数据本身排序后所得数据要根据原位置输出排序后的位置&#xff0c;所以建立一个新…

Linux lvm卷扩容之SSM

介绍 SSM&#xff08;System Storage Manager&#xff09;是系统存储管理器&#xff0c;它是一种统一的命令行界面&#xff0c;用于管理各种存储设备。通过SSM&#xff0c;用户可以方便地管理、配置和监控存储系统。检查关于可用硬驱和LVM卷的信息。显示关于现有磁盘存储设备、…

新能源汽车内卷真相

导语&#xff1a;2025年&#xff0c;我国新能源汽车总产能预计可达3661万辆&#xff0c;如此产能如何消化&#xff1f; 文 | 胡安 “这样卷下去不是办法&#xff0c;企业目的是什么&#xff1f;是盈利&#xff0c;为国家作贡献&#xff0c;为社会作贡献。我们应该有大格局&…

Stable-Diffusion的WebUI部署

1、环境准备及安装 1.1、linux环境 # 首先&#xff0c;已经预先安装好了anaconda&#xff0c;在这里新建一个环境 conda create -n sdwebui python3.10 # 安装完毕后&#xff0c;激活该环境 conda activate sdwebui# 安装 # 下载stable-diffusion-webui代码 git clone https:…

2024年安全现状报告

2024 年安全现状报告有些矛盾。尽管安全专业人员的道路困难重重&#xff0c;比如说严格的合规要求、不断升级的地缘政治紧张局势和更复杂的威胁环境&#xff0c;但整个行业还是在取得进展。 许多组织表示&#xff0c;与前几年相比&#xff0c;网络安全变得更容易管理。组织之间…

经典文献阅读之--MGS-SLAM(单目稀疏跟踪和高斯映射与深度平滑正则化)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…