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

Python----大模型(基于LLaMA Factory角色扮演模型微调)

一、LLaMA Factory

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

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调 平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模 型的微调,框架特性包括:

        模型种类:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、 ChatGLM、Phi 等等。

        训练算法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。

        运算精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。

        优化算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、 LoRA+、LoftQ 和 PiSSA。

        加速算子:FlashAttention-2 和 Unsloth。

        推理引擎:Transformers 和 vLLM。

        实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等等。

MethodBits7B14B30B70BxB
Full (bf16 or fp16)32120GB240GB600GB1200GB18xGB
Full (pure_bf16)1660GB120GB300GB600GB8xGB
Freeze/LoRA/GaLore/APOLLO/BAdam1616GB32GB64GB160GB2xGB
QLoRA810GB20GB40GB80GBxGB
QLoRA46GB12GB24GB48GBx/2GB
QLoRA24GB8GB16GB24GBx/4GB

安装依赖 

MandatoryMinimumRecommend
python3.93.10
torch2.0.02.6.0
torchvision0.15.00.21.0
transformers4.49.04.50.0
datasets2.16.03.2.0
accelerate0.34.01.2.1
peft0.14.00.15.1
trl0.8.60.9.6
OptionalMinimumRecommend
CUDA11.612.2
deepspeed0.10.00.16.4
bitsandbytes0.39.00.43.1
vllm0.4.30.8.2
flash-attn2.5.62.7.2

安装 

​git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

LLaMA-Factory 校验

llamafactory-cli version

二、魔搭社区下载大模型

通义千问2.5-7B-Instruct · 模型库

from modelscope.hub.snapshot_download import snapshot_download
llm_model_dir = snapshot_download('Qwen/Qwen2.5-7B-Instruct',cache_dir='models')

三、开启WebUI服务器端口 

        LLaMA-Factory 支持通过 WebUI 零代码微调大语言模型。 在完成安装后,可以通过以下指 令进入 WebUI:

llamafactory-cli webui

如果多卡分布式训练,可以使用以下命令启动:

 CUDA_VISIBLE_DEVICES=0,1 llamafactory-cli webui

四、操作步骤

4.1、构建数据集

https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama_factory/data.zip

 将下载下来的压缩包 data.zip 放在服务器中的LLaMA-Factory路径下。

cd LLaMA-Factory/
mkdir -p data/role_play && unzip data.zip -d data/role_play

在LLaMA-Factory-main/data/dataset_info.json 下添加如下配置

"role_play_train": {"file_name": "role_play/train.json","formatting": "sharegpt"},"role_play_eval": {"file_name": "role_play/eval.json","formatting": "sharegpt"}

4.2、模型微调

配置信息

微调结果 

4.3、模型评估

4.4、模型对话

4.5、模型导出

http://www.xdnf.cn/news/16901.html

相关文章:

  • Kubernetes容器运行时-Docker or Containerd
  • 【最后一个单词的长度】
  • RK3399 启动流程 --从复位到系统加载
  • 双网卡UDP广播通信机制详解
  • Leetcode 11 java
  • fastGEO v1.7.0 大更新,支持PCA、差异分析、火山图、热图、差异箱线图、去批次等分析
  • uniapp 富文本rich-text 文本首行缩进和图片居中
  • Flutter开发 dart语言基本语法
  • 基于单片机一氧化碳CO检测/煤气防中毒检测报警系统
  • 深入理解 Docker 容器网络:为什么用 host 网络模式能解决连通性问题?
  • Vue3 setup的两个注意点
  • Spring AI MCP 技术深度解析:从工具集成到企业级实战
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现道路车辆事故的检测识别(C#代码UI界面版)
  • LeeCode 88. 合并两个有序数组
  • RAGFLOW~Enable RAPTOR
  • 亚像素级精度的二维图像配准方法
  • 上海月赛kk
  • HCLP--ospf综合实验
  • RabbitMQ-镜像队列(Mirrored Queues)
  • VMware 下 Ubuntu 操作系统下载与安装指南
  • RAGFLOW~knowledge graph
  • Redis的ZipList、SkipList和ListPack之间的区别
  • 【Linux】重生之从零开始学习运维之Mysql
  • Au速成班-多轨编辑流程
  • STM32学习记录--Day5
  • 《C++》STL--list容器详解
  • EasyExcel 公式计算大全
  • 谷歌Firebase动态链接将失效:如何选择深度链接替代方案?
  • 11.Layout-Pinia优化重复请求
  • 51单片机入门:模块化编程