百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

在Ubuntu上安装部署LLaMA-Factory,及微调大模型测试

nanshan 2025-02-08 12:11 8 浏览 0 评论

LLaMA-Factory是一个非常好用的开源微调大模型工具。

GitHub:https://github.com/hiyouga/LLaMA-Factory

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

LLaMA-Factory介绍

项目特色

  • 多种模型:LLaMA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
  • 集成方法:(增量)预训练、指令监督微调、奖励模型训练、PPO 训练、DPO 训练和 ORPO 训练。
  • 多种精度:32 比特全参数微调、16 比特冻结微调、16 比特 LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/4/8 比特 QLoRA 微调。
  • 先进算法:GaLore、DoRA、LongLoRA、LLaMA Pro、LoRA+、LoftQ 和 Agent 微调。
  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。
  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。
  • 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。

性能指标

与 ChatGLM 官方的 P-Tuning 微调相比,LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比,同时在广告文案生成任务上取得了更高的 Rouge 分数。结合 4 比特量化技术,LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 显存消耗。


添加图片注释,不超过 140 字(可选)



支持的模型

模型名

模型大小

默认模块

Template

Baichuan2

7B/13B

W_pack

baichuan2

BLOOM

560M/1.1B/1.7B/3B/7.1B/176B

query_key_value

-

BLOOMZ

560M/1.1B/1.7B/3B/7.1B/176B

query_key_value

-

ChatGLM3

6B

query_key_value

chatglm3

DeepSeek (MoE)

7B/16B/67B

q_proj,v_proj

deepseek

Falcon

7B/40B/180B

query_key_value

falcon

Gemma

2B/7B

q_proj,v_proj

gemma

InternLM2

7B/20B

wqkv

intern2

LLaMA

7B/13B/33B/65B

q_proj,v_proj

-

LLaMA-2

7B/13B/70B

q_proj,v_proj

llama2

Mistral/Mixtral

7B/8x7B

q_proj,v_proj

mistral

OLMo

1B/7B

att_proj

olmo

Phi-1.5/2

1.3B/2.7B

q_proj,v_proj

-

Qwen

1.8B/7B/14B/72B

c_attn

qwen

Qwen1.5 (MoE)

0.5B/1.8B/4B/7B/14B/32B/72B

q_proj,v_proj

qwen

StarCoder2

3B/7B/15B

q_proj,v_proj

-

XVERSE

7B/13B/65B

q_proj,v_proj

xverse

Yi

6B/9B/34B

q_proj,v_proj

yi

Yuan

2B/51B/102B

q_proj,v_proj

yuan

Note 默认模块应作为 --lora_target 参数的默认值,可使用 --lora_target all 参数指定全部模块。 对于所有“基座”(Base)模型,--template 参数可以是 default, alpaca, vicuna 等任意值。但“对话”(Chat)模型请务必使用对应的模板

项目所支持模型的完整列表请参阅 constants.py。

您也可以在 template.py 中添加自己的对话模板。

训练方法

方法

全参数训练

部分参数训练

LoRA

QLoRA

预训练

?

?

?

?

指令监督微调

?

?

?

?

奖励模型训练

?

?

?

?

PPO 训练

?

?

?

?

DPO 训练

?

?

?

?

ORPO 训练

?

?

?

?

数据集

预训练数据集指令微调数据集偏好数据集

部分数据集的使用需要确认,我们推荐使用下述命令登录您的 Hugging Face 账户。

pip install --upgrade huggingface_hub
huggingface-cli login

软硬件依赖

必需项

至少

推荐

python

3.8

3.10

torch

1.13.1

2.2.0

transformers

4.37.2

4.39.3

datasets

2.14.3

2.18.0

accelerate

0.27.2

0.28.0

peft

0.9.0

0.10.0

trl

0.8.1

0.8.1

可选项

至少

推荐

CUDA

11.6

12.2

deepspeed

0.10.0

0.14.0

bitsandbytes

0.39.0

0.43.0

flash-attn

2.3.0

2.5.6

硬件依赖

* 估算值

训练方法

精度

7B

13B

30B

70B

8x7B

全参数

AMP

120GB

240GB

600GB

1200GB

900GB

全参数

16

60GB

120GB

300GB

600GB

400GB

GaLore

16

16GB

32GB

64GB

160GB

120GB

部分参数

16

20GB

40GB

80GB

200GB

160GB

LoRA

16

16GB

32GB

64GB

160GB

120GB

QLoRA

8

10GB

20GB

40GB

80GB

60GB

QLoRA

4

6GB

12GB

24GB

48GB

30GB

QLoRA

2

4GB

8GB

16GB

24GB

18GB

安装过程

安装依赖

按照GitHub上介绍的过程安装即可,为了加快速度,增加了国内的pip 源。

git clone https://github.com/hiyouga/LLaMA-Factory.git
conda create -n llama_factory python=3.10
conda activate llama_factory
cd LLaMA-Factory
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .[metrics]

可选的额外依赖项:deepspeed、metrics、unsloth、galore、vllm、bitsandbytes、gptq、awq、aqlm、qwen、quality

LLaMA Board 可视化界面

注意:LLaMA Board 可视化界面目前仅支持单 GPU 训练,请使用命令行接口来进行分布式训练。

使用本地环境:

export CUDA_VISIBLE_DEVICES=0 # Windows 使用 `set CUDA_VISIBLE_DEVICES=0`

python src/train_web.py # 或 python -m llmtuner.webui.interface

执行后:

添加图片注释,不超过 140 字(可选)

然后就可以访问web界面了:

添加图片注释,不超过 140 字(可选)

数据准备

可以使用 HuggingFace / ModelScope 上的数据集或加载本地数据集。使用自定义数据集时,请更新 data/dataset_info.json 文件。


效果测试(持续更新)

准备训练几个QWen1.5的模型试一下,从0.5B的开始。

QWen1.5-0.5B + Example

速度非常快。看了一下数据,就2条,怪不得快

添加图片注释,不超过 140 字(可选)

QWen1.5-0.5B + alpach_gpt4_zh训练Lora

这个有48818条记录,数据格式如下:

添加图片注释,不超过 140 字(可选)

训练设置如下:

添加图片注释,不超过 140 字(可选)

看后端提示,在对数据处理后就开始训练了:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

前端可以看见训练进度:

添加图片注释,不超过 140 字(可选)

0.5B的模型,可是训练起来需要的时间也不少。

添加图片注释,不超过 140 字(可选)

在T4 GPU上训练了4个小时结束

添加图片注释,不超过 140 字(可选)

训练结果在:LLaMA-Factory/saves目录下。

QWen1.5-0.5B + alpach_gpt4_zh全量

添加图片注释,不超过 140 字(可选)

预估时间8小时多,是Lora模式的一倍:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

QWen1.5-0.5B + alpach_gpt4_zh freeze

添加图片注释,不超过 140 字(可选)

预估时间也是4个多小时:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

内存占用:

添加图片注释,不超过 140 字(可选)

比全量的少一些。

相关推荐

教你一个解决手机卡顿的方法(10秒解决手机卡顿问题)

我们的手机天天刷头条,看视频,用了一阶段时间以后,就时不时的发生卡顿现象。昨天我的手机就发现了这个问题。友友们,你们遇到过这样的问题吗?你们都是怎样解决的?我看了一眼我的粉丝情况,头条君给我分析的很精...

手机视频缓存清理,3步彻底清空,告别卡顿

在我们使用手机观看视频的过程中,经常会产生大量的缓存垃圾,这些垃圾文件不仅占用了手机的存储空间,还可能导致手机卡顿和运行缓慢。然而,你知道如何彻底清空手机的视频缓存,让手机恢复流畅的使用体验吗?在本文...

关手机这个开关,轻松提升流畅度!

关闭手机这个开关,跟新买的一样流畅。手机不要再清理垃圾了,只要关闭这个开关,手机就会和新买的差不多,丝滑流畅不卡顿。其实抖音里就隐藏着一个小开关,每天刷过的视频都会保存在手机里,如果一直不清理,手机就...

如何清理今日头条和西瓜视频的内存,让手机流畅不卡顿?

对于老年人而言,今日头条和西瓜视频能带来丰富的资讯与娱乐。然而,随着使用时间的增加,这些应用会占用大量手机内存,致使手机运行卡顿。那该如何解决呢?接下来,我将用最简单易懂的方式教老年人清理今日头条和西...

视频在线如何转换格式?好用不卡顿的三种转换办法

转换视频格式目前来说已经是很熟练的操作了,但是还有些用户可能还是不知道,小编今天就特意给大家带来一些小众才知道的转换教程,让新手也能快速的上手去转换视频格式,以后获取到视频就不怕内容丢失了,视频的格式...

如何把视频慢放处理?这几个慢放方法记得收藏

如何把视频慢放处理?如果你想让视频慢放,可能是因为你想放慢一些精彩的瞬间,或者你想制作一个慢动作视频。在这篇文章中,我们将介绍一些调速方法,这些方法可以有效地调整视频速度,一起来学习一下吧。方法一:使...

如何清理看过的视频,释放垃圾,让手机更流畅?

现在谁的手机上没几个短视频平台,无聊时就会刷别人的视频。可您知道吗?我们看过的内容都会被自动保存在手机里,而且很耗内存。如果长时间不释放,手机就会出现各种问题,其中最突出的就是反应慢。相信很多老年人的...

手机掉帧是怎么回事?刷视频的时候经常掉帧卡顿

手机掉帧是指在运行应用或视频时,画面出现卡顿、不流畅的现象,通常由硬件性能不足、软件优化不佳、内存占用过高、网络问题或设备过热等因素引起。尤其是在刷视频时,掉帧问题可能更为明显,以下是具体原因及解决方...

拍视频画面卡顿不流畅,原来是相机设置错误 #短视频拍摄

拍摄视频时,应该选择哪种快门速度?许多新手朋友可能会认为,快门速度越高,画面就越清晰,实则不然。因为拍摄视频时,需要考虑一个问题,即动态模糊。例如,如果设置为24帧/秒,那么每秒钟会拍摄24张图片。如...

手机卡顿最大原因#视频太卡怎么变流畅

抖音这几个开关是手机卡顿的最大原因。你是不是也会经常遇到刷视频的时候,打开一个视频之后老半天还在那转着圈圈,总觉得手机没有之前流畅了。这就说明你的手机占用的内存太多了,导致手机卡顿,使用不流畅。使用手...

为啥你家的玩游戏和刷视频经常性的会卡,那是你不懂这些小妙招

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:暴走的黄小猪说到网速有不少的值友都有一个共同点,那就是“卡”,那是你根本没体验过啥叫真正的网速啊,全屋零四条网络报表也花不了几个钱你们的方法...

电脑看视频卡顿有什么解决方法?(电脑看视频画面卡顿是什么原因)

电脑看视频卡顿的原因可能多种多样,包括硬件性能不足、网络问题、软件设置不当等。以下是一些常见的解决方法,帮助你改善视频播放的流畅度:一、硬件方面1.检查硬件性能:如果电脑配置较低,尤其是CPU、内存或...

手机Wi-Fi满格但视频卡顿,你需要这样解决

累了一天的打工人回家拿出手机准备玩玩游戏,看看电影时,发现网络异常卡顿,但手机又显示Wi-Fi信号满格,当咱们遇到此类问题时,这些动作能让网络恢复正常,方法如下。一、重启路由器和光猫很多家庭在安装好路...

视频越刷越卡?原来是路由器开启了这个功能,关闭方法来了

应该很多小伙伴都有过类似的经历,就是在家里长时间刷视频或者看剧的时候,网速好像会越来越慢,视频总是要加载。手机本身可能是一部分原因,但路由器也会影响,你知道吗?当我们在刷视频的,路由器会悄悄地开启大量...

一招解决视频卡顿的问题,改变发布渠道后,结果香了

最近一段时间拍了很多美景视频,编辑发布到头条后,有时一直显示在缓冲,播放不了,有时打开断断续续的,老是卡顿。导致的后果是:要么展现量很低,要么阅读量寥寥无几,这让我非常苦恼。所以再发布作品时,我只好文...

取消回复欢迎 发表评论: