当前位置: 首页 > article >正文

大模型开发和微调工具Llama-Factory-->WebUI

WebUI

LLaMA-Factory 支持通过 WebUI 零代码微调大模型。

通过如下指令进入 WebUI

llamafactory-cli webui

# 如果是国内,
# USE_MODELSCOPE_HUB 设为 1,表示模型从 ModelScope 魔搭社区下载。
# 避免从 HuggingFace 下载模型导致网速不畅
USE_MODELSCOPE_HUB=1 llamafactory-cli webui

1.训练

在这里插入图片描述

在模型开始训练之前,需要指定参数有:

  1. 模型名称及路径
  2. 训练阶段
  3. 微调方法
  4. 训练数据集
  5. 学习率、训练轮数等训练参数
  6. 微调参数等其他参数
  7. 输出目录及其配置目录

随后,即可训练

关于断点重连:适配器断点保存于 output_dir 目录下,请指定 适配器路径 以加载断点继续训练。

如果您需要使用自定义数据集,请在 data/data_info.json 中添加自定义数据集描述并确保 数据集格式 正确,否则可能会导致训练失败。

2.评估预测与对话

模型训练完毕后,您可以通过在评估与预测界面通过指定 模型适配器 的路径在指定数据集上进行评估。

您也可以通过在对话界面指定 模型适配器推理引擎 后输入对话内容与模型进行对话观察效果。

3.导出

如果您对模型效果满意并需要导出模型,您可以在导出界面通过指定 模型适配器分块大小导出量化等级及校准数据集导出设备导出目录 等参数后点击 导出 按钮导出模型。

Step4:SFT 训练

1.命令行

使用一下命令微调

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml

examples/train_lora/llama3_lora_sft.yaml 提供了微调时的配置示例。该配置制定了模型参数,微调方法参数、数据集参数以及评估参数等。

### examples/train_lora/llama3_lora_sft.yaml
model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct

stage: sft
do_train: true
finetuning_type: lora
lora_target: all

dataset: identity,alpaca_en_demo
template: llama3
cutoff_len: 1024
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16

output_dir: saves/llama3-8b/lora/sft
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true

per_device_train_batch_size: 1
gradient_accumulation_steps: 8
learning_rate: 1.0e-4
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
bf16: true
ddp_timeout: 180000000

val_size: 0.1
per_device_eval_batch_size: 1
eval_strategy: steps
eval_steps: 500

2.重要训练参数

名称描述
model_name_or_path模型名称或路径
stage训练阶段,可选: rm(reward modeling), pt(pretrain), sft(Supervised Fine-Tuning), PPO, DPO, KTO, ORPO
do_traintrue用于训练, false用于评估
finetuning_type微调方式。可选: freeze, lora, full
lora_target采取LoRA方法的目标模块,默认值为 all
dataset使用的数据集,使用”,”分隔多个数据集
template数据集模板,请保证数据集模板与模型相对应。
output_dir输出路径
logging_steps日志输出步数间隔
save_steps模型断点保存间隔
overwrite_output_dir是否允许覆盖输出目录
per_device_train_batch_size每个设备上训练的批次大小
gradient_accumulation_steps梯度积累步数
max_grad_norm梯度裁剪阈值
learning_rate学习率
lr_scheduler_type学习率曲线,可选 linear, cosine, polynomial, constant 等。
num_train_epochs训练周期数
bf16是否使用 bf16 格式
warmup_ratio学习率预热比例
warmup_steps学习率预热步数
push_to_hub是否推送模型到 Huggingface

http://www.kler.cn/a/418040.html

相关文章:

  • Day2 生信新手笔记: Linux基础
  • 认识redis 及 Ubuntu安装redis
  • Shebang(Hashbang)是什么
  • MySQL 核心基础 | Pandaer杂货铺
  • C++中输入 不定长数据的方法
  • 【最新鸿蒙开发——应用导航设计】
  • 架构05-架构安全性
  • 【设计模式系列】备忘录模式(十九)
  • 腾讯云助力央视总台构建国家级新媒体大数据平台
  • 网络工程师——VPN
  • 基于STM32的传感器数据采集系统设计:Qt、RS485、Modbus Rtu协议(代码示例)
  • redis.conf
  • RNN And CNN通识
  • 138.python内置模块sqlalchemy进行sql操作详解
  • RNN模型文本预处理--数据增强方法
  • Linux 常用命令大全与详细讲解
  • leetcode 99. 恢复二叉搜索树
  • 【人工智能基础03】机器学习(练习题)
  • 微前端架构 qiankun
  • 在 Flutter app 中,通过视频 URL 下载视频到手机相册
  • 使用Feign远程调用丢失请求头问题
  • BGE-M3模型结合Milvus向量数据库强强联合实现混合检索
  • Tree搜索二叉树、map和set_数据结构
  • 1074 Reversing Linked List (25)
  • 【AI战略思考13】克服懒惰,保持专注,提升效率,不再焦虑
  • centos8:Could not resolve host: mirrorlist.centos.org