Llama-factory详细基础使用说明

最近很多小伙伴在使用llama-factory时遇到了不少问题,特别是基础不太好的童鞋,对各种参数或者webui界面的内容不理解,总是一会一个问题,网上大部分的教程,都只是教到能跑起来就行,对于细的调整没有做介绍,这里详细整理了一下界面中的内容和命令行参数的解读,分享出来,这样大家再遇到不懂的,对照着使用就可以了 。

一、什么是llama-factory

对于初入算法的童鞋来说,有的可能还不知道llama-factory是什么,只知道大模型用到了这个框架,这是不行的。

LLaMA-Factory 是一个低代码的大规模语言模型(LLM)训练框架,它主要面向研究人员和开发者,旨在简化大型语言模型的微调、评估和部署过程。

白话说就是集合了当下LLM领域各种好用的开源或者自研的框架以及工具,进行封装以及优化,简化使用方法,方便大家对大模型进行微调和评估部署等工作,降低了使用难度。

包括推理框架vllm等(具体可以看官网哈,下面有地址)

二、llama-factory安装

这部分其实网上有很多教程,github上也有详细说明,具体的不再赘述,给出地址大家点进去看。(如果大家有需要,可以留言或私信,我再进行补充)

llama-factory的github地址:GitHub - hiyouga/LLaMA-Factory: Efficiently Fine-Tune 100+ LLMs in WebUI (ACL 2024)

llama-factory的中文readme地址:LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory · GitHub

三、webui界面详细说明

我使用的设备是aurodl上租的RTX 3090,只安装,做展示不进行任何加载操作的话,选择无卡开机就可以。

llama-factory的webui部分界面如下:

下面进行分模块的解读。

1.语言

语言模块中,默认提供了四种语言。英文不方便的童鞋,直接选择zh就行。

  • en:英语
  • ru:俄语
  • zh:中文
  • ko:韩语

2.模型名称和模型路径

点击模型名称,会自动弹出可选择的模型,同时模型路径会显示出对应的hugging face上的模型标识符(就是默认的模型文件夹路径地址),就行这样:meta-llama/Llama-3.2-3B

这里要注意下,很多小伙伴是已经把模型下载到本地后使用,那就要把模型路径部分自动弹出的地址改成本地模型文件实际的地址,建议使用绝对地址,稳妥。注意,文件夹下要有config.json才对。

如果本地没有下载模型,模型路径不做修改,后面直接进行模型加载,系统在本地检索不到对应文件夹以及模型,会自动从hugging face进行下载。这里注意,需要科学上网才能下载成功。如果想设置镜像站的小伙伴,可以自己修改下载的配置文件进行修改。个人习惯是把模型下载到本地,然后使用,因为可能会涉及多模型轮换使用,会有一个专门的文件夹存放模型。

这里要注意仔细核查自己的路径对不对,因为如果路径写错了,模型读取不到本地下载好的模型,还是会尝试从hugging face进行下载的,如果一直开着科学上网,就比较浪费资源了。

3.微调方法和检查点路径

微调方法中提供了三个选择

  • full:全量微调,就是所有权重都进行训练。
  • freeze:冻结微调,只训练部分层,其它层的权重进行冻结,也就是不进行训练。
  • lora:目前众多微调方法中,最常用,也是相对来说效果比较好的微调方法之一。个人比较偏爱的微调方法,优点很多,比如需要的计算资源少,计算效率高,不改变原始模型结构等等。详细的小伙伴们可以查阅相关资料,实在不理解可以私聊我。

检查点路径在长时间训练大模型的时候会经常用,主要作用是把训练过程中的阶段性结果进行保存,这里是设置指定的保存地址的。这样如果训练过程意外中断,可以从检查点开始继续训练,不用从头再开始训练。

3.高级设置

这里需要点下高级设置最右边的小三角才会展开,默认在界面中是折叠的。

  • 量化等级

这部分图像化界面默认是8位和4位两种量化,这里主要提一下什么是量化,以及为什么要量化,还有量化类型。

量化是指将神经网络中的权重和激活值从高精度(如32位浮点数)转换为低精度(如8位整数或更低)的过程。这一技术的主要目的是减少模型的内存占用和计算需求,从而加速推理过程并降低硬件成本,尤其是在边缘设备上部署模型时尤为重要。

量化类型:

  1. 动态量化:仅对激活值进行量化,而权重保持全精度。这通常用于RNN等需要保存状态的模型。
  2. 静态量化:同时对权重和激活值进行量化,并且是在训练后进行的。它包括校准步骤以确定量化的参数。
  3. 量化感知训练(QAT):在训练过程中模拟量化效应,使得最终的量化模型性能接近未量化版本。
  • 量化方法

量化方法中,提供了三种量化选项。三种量化方式建议对比使用。

bitsandbytes:BitsAndBytes是一种8位优化的实现方式(8位优化是一种将深度学习模型中的权重和激活值从传统的32位浮点数(float32)转换为8位整数(int8)的技术,它通过高效的量化算法将模型参数和中间计算结果转换为8位表示,以达到压缩和加速的目的。 与其他量化方法相比,BitsAndBytes提供了更好的性能和更低的精度损失。 BitsAndBytes的核心在于它的量化和反量化策略。

hqq:Half-Quadratic Quantization (HQQ) 是一个快速且精确的模型量化工具,它不需要校准数据即可量化大型模型。HQQ 的核心优势在于其速度和兼容性,支持 8、4、3、2、1 位量化,并且可以应用于任何模型(如大型语言模型和视觉模型)。HQQ 的反量化步骤是线性操作,这意味着它与各种优化的 CUDA/Triton 内核兼容。此外,HQQ 还支持 peft 训练,并尝试使其完全兼容 torch compile,以实现更快的推理和训练。(转载地址:Half-Quadratic Quantization (HQQ) 开源项目教程-CSDN博客

eetq:EETQ(Easy & Efficient Quantization for Transformers) 是为Transformer量身打造的高效量化神器,旨在在保证精度的同时提升计算效率和降低资源消耗。通过引入全新特性gemv算子,EETQ显著提升了模型的运行速度,是对现有量化方法的一次重大革新。EETQ是一种不依赖数据的量

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值