Llama3-8B+ LLaMA-Factory 中文微调

news2024/11/15 9:35:22

Llama3-8B+ LLaMA-Factory 中文微调

Llama3是目前开源大模型中最优秀的模型之一,但是原生的Llama3模型训练的中文语料占比非常低,因此在中文的表现方便略微欠佳!

本教程就以Llama3-8B-Instruct开源模型为模型基座,通过开源程序LLaMA-Factory来进行中文的微调,提高Llama3的中文能力!LLaMA-Factory是一个开源的模型训练工具

Llama3-8B-Instruct模型下载地址:

魔搭社区(境内):https://modelscope.cn/models/LLM-Research/Meta-Llama-3-8B-Instruct/files

huggingface(境外):https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct/tree/main

LLaMA-Factory项目地址:https://github.com/hiyouga/LLaMA-Factory

下载模型

中国大陆境内可以通过魔搭社区下载模型,境外可以在huggingface上去下载模型!

从魔搭社区下载

点击“下载模型”

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

复制git链接

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

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

在模型存放的文件空白处点击鼠标右键,选择“Git Bash Here”,会打开一个git命令窗口

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

将刚刚复制的模型地址粘贴到git命令窗口,回车,即可进入到下载过程!

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

模型比较大,需要耐心等待模型下载完成!

从Huggingface下载

如果是中国大陆境外的朋友,可以从huggingface进行下载!方法与魔搭社区下载方法类似!

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

如果是第一次从huggingface通过命令下载模型,可以先运行下面的命令安装 git-lfs

git lfs install

然后再复制模型的git链接

git clone https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

在文件夹中的下载步骤与魔搭社区的步骤一样,都是通过git命令窗口来进行下载!

安装LLaMA-Factory

克隆项目到本地

首先访问LLaMA-Factory项目的GitHub主页,点击绿色的“Code”下拉按钮,点击“复制”按钮复制项目链接!

git clone https://github.com/hiyouga/LLaMA-Factory.git

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

在文件夹空白处点击鼠标右键,选择“Git Bash Here”,打开一个git窗口

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

输入刚刚复制的git链接,回车,将项目克隆到本地文件夹

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

新建虚拟环境

进入到刚刚下载的项目文件夹中,在路径栏输入“cmd”,打开一个新的cmd命令窗口

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

在cmd命令窗口输入下面的命令,新建一个虚拟环境

conda create -n llama_factory python=3.10 -y

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

输入如下命令,激活该虚拟环境!

conda activate llama_factory

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

当命令输入行前面是一个括号包括的虚拟环境名称的时候,就表示已经进入到了该新建的虚拟环境中了!

安装项目依赖

继续在虚拟环境中运行下面的命令,安装各种项目依赖!

pip install -e .[metrics,modelscope,qwen]

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

因为安装的有点多,所以还是比较慢的

image-20240423113338896

pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

安装tensorboard

pip install tensorboard

设置环境变量

Set USE MODELSCOPE HUB=1

到这一步,LLaMA-Factory项目的安装就基本上完成了!

运行LLaMA-Factory

输入下面的命令,会自动打开一个web页面

python src/train_web.py

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

下面就是web页面初始的样子

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

我们先可以设置一下,设置成中文,当然也可以不设置

image-20240423131113826

微调Meta-Llama-3-8B-Instruct模型

微调模型

在“Model name”中选择“LLaMA3-8B”,将“Model path”中的路径修改为你本地存放Meta-Llama-3-8B-Instruct文件夹的路径!

image-20240423131545498

切换到“Chat”选项卡,点击“Load model”

image-20240423131608634

刚开始会提示模型正在加载

image-20240423131641356

稍等片刻,系统就会提示“Model loaded,now you can chat with your model!”

此时,当我们用中文询问大模型问题的时候,出现英文回复的几率会比较高!(但不是绝对,毕竟Meta-Llama-3-8B-Instruct模型训练的时候也有部分中文语料)

image-20240423135337491

下面,我们将开始进行模型的微调,将选项卡从“Chat”,切换回“Train”

在“Dataset”中,选择若干个“_zh”结尾的数据集,为了节约显存“Cutoff length”可以修改为“512”,其他参数可以参照如下的截图!

点击“Start”将进入到模型微调的进程中!

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

训练的时间会比较长,像本人的3090 24G显卡,下面显示的时间是14个多小时!

选择了数据集后,我们也可以点击旁边的预览功能,从而预览数据

image-20240423135515793

如果中途像终止退出的话,点击“Abort”

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

导出模型

1.微调训练结束之后,点击“Export”选项卡,切换到导出功能区!

2.点击“Refresh adapters”按钮,刷新lora模型,在左侧的下拉列表中选择刚刚训练好的模型!

3.在“Max shard size(GB)”中设置好每个拆分模型的最大size,案例中我设置为5;

4.在“Export dir”中设置模型保存的路径;

5.点击“Export”按钮,开始导出模型(需要点时间等待);

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

模型导出完成之后,你就可以在前面指定的路径中看到微调后的新模型了!使用方法与其他模型一样!

Llama3-8B-Instruct + LLaMA-Factory 中文微调 | 本地部署教程

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

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

相关文章

深度相机(3D相机)

传统的RGB彩色相机称为2D相机, 只能得到2D的图像信息, 无法得到物体与相机的距离信息,也就是深度信息。 顾名思义, 深度相机除了获取2D信息,还能得到深度信息,也叫RGBD相机, 或3D相机。 顺便提…

人像摄影姿势入门,人像拍照姿势详解

一、资料前言 本套人像摄影资料,大小537.44M,共有17个文件。 二、资料目录 《如何摆出好POSE》.黑面.影印版.pdf 《人像摄影姿势入门》.pdf 《人像摄影技巧》.pdf 《人像摄影摆姿指南》.比尔.赫特尔.扫描版.pdf 《人像摄影摆姿全集》龙文摄影.彩图…

三羟甲基氨基甲烷(TRIS)应用场景广泛 苏州亚科科技是主要供应商

三羟甲基氨基甲烷(TRIS)应用场景广泛 苏州亚科科技是主要供应商 三羟甲基氨基甲烷(TRIS)是一种有机化合物,外观为白色晶体,溶于水。三羟甲基氨基甲烷分子结构中含有一个氮原子和三个羟基,反应活…

C语言指针+-整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组

文章目录 前言一、指针 - 整数二、指针 - 指针三、指针的关系运算四、指针和数组五、二级指针六、指针数组指针数组可以将几个一维数组模拟成二维数组 总结 前言 C语言指针整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组等介绍,还包括指针数组将几…

UE4_常见动画节点学习_Two Bone IK双骨骼IK

学习资料,仅供参考! Two Bone IK 控制器将逆运动(IK)解算器应用于到如角色四肢等3关节链。 变量( HandIKWeight )被用于在角色的 hand_l 和 hand_r 控制器上驱动 关节目标位置(Joint Target Lo…

无锡日报:用超算系统设计国产民航飞机!“神威”,再显神威!

用国产超算系统 设计国产民用飞机 ✈ 我国推进高水平科技自立自强 又迈出坚实一步 4月19日,来自国内航空领域和计算机领域的专家相聚国家超级计算无锡中心,启动“面向新一代国产超算系统的民用飞机多学科联合设计优化技术与软件”项目,并…

线上剧本杀小程序开发,未来行业的发展趋势?

当下,剧本杀成为了大众最喜欢的娱乐方式之一,作为以沉浸式为主的剧本杀正成为新时代下的发展潮流。 数据显示,剧本杀行业已达到了百亿元。面对发展迅猛的剧本杀市场,越来越多的资本进入到了市场中,剧本杀的产业链也逐…

OpenHarmony实战开发-如何实现tabContent内容可以在tabBar上显示并且tabBar可以响应滑动事件的功能。

介绍 本示例实现了tabContent内容可以在tabBar上显示并且tabBar可以响应滑动事件的功能。 效果图预览 使用说明 1.点击播放按钮进行视频播放,按住进度条按钮和进度条下方区域可以拖动进度条,更改视频播放进度。 实现思路 原生的Tabs组件&#xff0c…

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 设置访问Redis密码

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 & 设置访问Redis密码 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -(一)基础环境准备 微服架构基础设施环境平台搭建 -(二…

记账本React案例(Redux管理状态)

文章目录 整体架构流程 环境搭建 创建项目 技术细节 一、别名路径配置 1.路径解析配置(webpack) ,将/解析为src/ 2.路径联想配置(vsCode),使用vscode编辑器时,自动联想出来src文件夹下的…

Day13.一刷数据结构算法(C语言版) 102二叉树的层序遍历;226翻转二叉树;101对称二叉树

一.102二叉树的层序遍历 二叉树的层序遍历力扣题目 1.思路分析 这道题我没有什么好的思路,而且力扣给的函数形式看得有点懵,所以我找到一个相对好理解的题解,具体可以参考下方链接。 力扣题解 说明: 返回值:可…

《从零开始的Java世界》10File类与IO流

《从零开始的Java世界》系列主要讲解Javase部分,从最简单的程序设计到面向对象编程,再到异常处理、常用API的使用,最后到注解、反射,涵盖Java基础所需的所有知识点。学习者应该从学会如何使用,到知道其实现原理全方位式…

【养生】个人参考:五脏运动

如有侵权可以下架,仅应用于个人查阅

BM25检索算法 python

1.简介 BM25(Best Matching 25)是一种经典的信息检索算法,是基于 TF-IDF算法的改进版本,旨在解决、TF-IDF算法的一些不足之处。其被广泛应用于信息检索领域的排名函数,用于估计文档D与用户查询Q之间的相关性。它是一种…

查看项目go代码cpu利用率

1.代码添加: "net/http"_ "net/http/pprof"第二步,在代码开始运行的地方加上go func() {log.Println(http.ListenAndServe(":6060", nil))}() 2.服务器上防火墙把6060打开 3.电脑安装:Download | Graphviz …

机器学习基础-PR\ROC\F1

1 1 、ROC曲线2 、PC曲线3、F14 、正负样本不均衡时怎么选择 1 、ROC曲线 就是TPR 与FPR 曲线 如图,就是根据阈值不同,我们看我们的二分类器的结果,根据结果算出TPR(真阳性)与FPR(假阳性),最好的情况就是如图,我们的…

学习springcloud中Nacos笔记

一、springcloud版本对应 版本信息可以参考:版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 这里说2022.x 分支对应springboot的版本信息: Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version 2022.0.0.0* Spring Cloud 202…

【C++】一篇文章带你深入了解list

目录 一、list的介绍二、 标准库中的list类2.1 list的常见接口说明2.1.1 list对象的常见构造2.1.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/list/list/list/)2.1.1.2 [有参构造函数(构造并初始化n个val)](https://legacy.cplusplus.com/reference/list/list/…

Win10下VS2015无法添加任何文件,提示未能加载文件或程序集“Microsoft.VisualStudio.JSLS...

错误:未能加载文件或程序集“Microsoft.VisualStudio.JSLS, Version14.0.0.0, Cultureneutral, PublicKeyTokenb03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 解决: 1. 管理员身份打开cmd 2. cd C:\Program Files (x86)\Microsoft Vis…

Matplotlib官网查阅资料

Matplotlib官网详细的地址: 英文文档:https://matplotlib.org/stable/contents.html中文文档:https://www.matplotlib.org.cn/ Matplotlib英文官网: 查找属性: 1.进入官网。 2.查找参数属性。 Matplotlib中文官网: 查找属性:…