LlamaFactory-webui:训练大语言模型的入门级教程
LlamaFactory是一个开源框架,支持多种流行的语言模型,及多种微调技术,同时,以友好的交互式界面,简化了大语言模型的学习。
本章内容,从如何拉取,我已经搭建好的Llamafactory镜像开始,以及构建webui界面,在到加载模型推理、私有化模型的训练及其验证,最后模型的导出。全程都有截图流程,一站式服务,无需你懂代码,无需你拥有高大上的AI基础知识,任何小白都可尝试训练属于自己的私有模型,并部署在自己的服务器上。
一、拉取镜像
大家可点击下方链接,使用Autodl算力云平台
AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL
https://www.autodl.com/home
注册登录充值后,在算力市场上,就可以选择租赁的机器了。
提供多种计费方式,注意下方的显卡数量,初次尝试,选择单卡即可.大家按需选择。

机器确定后,选择社区镜像,然后搜索 Llamafactory-webui ,就会出现下方镜像,注意辨别账号名称为 HuiFei-AI。

我的镜像,大约15个G,初次拉取镜像会有点慢,不过还好并不计费,他会在拉取镜像成功之后,自动开机。大家完全可以去干别的事,成功后会以短信的形式通知你。

给大家展示下,我这次选择的机器,为了测试多卡训练,我这里选择了2个 32GB vGPU。另外,大语言模型一般都不会小,所以这里我就付费扩容了数据盘的大小。

大家首次拉取镜像时,如果选择的GPU配置太低,带不起来训练的,又或者磁盘太小,不够下载模型的。别慌,进入容器实例中,找到你现在运行的机器,点击查看详情,可以升降配置,以及扩充磁盘。但必须得在关机状态下修改,在重新开机就行。

二、构建webui界面
开机后,如何链接到租赁的服务器呢?有多种方式...
1、使用平台提供的JupyterLab。容器实例中,快捷工具,如下图中右上角

2、Xshell,Xftp工具,一般配套使用。使用平台提供的登录指令及其密码。不知道如何使用这两个工具的,可自行百度。
我选择搭配使用,平台快捷工具,使用终端,xftp用来拷贝文件
打开JupyterLab后,直接选择终端,进入服务器的命令行窗口

终端下,按下面两条指令依次键入即可
cd LLaMA-Factory
llamafactory-cli webui
上述指令执行后,终端会出现如下字样,生成可访问的链接。

租赁的服务器不具备打开web界面的能力,所以需要做端口暴漏至本机,这里也有两种方式:
1、使用平台上的快捷工具,点击自定义服务

他会让你下载一个压缩包到本机,按照图中步骤去做,没啥难度。

2、第二种方式,我比较常用,使用ngrok工具。官网链接如下
Setup - ngrok
https://dashboard.ngrok.com/get-started/setup/linux这里需要用到 Authtoken,所以需要你注册和登录ngork账号,获取属于你自己的认证密钥。

在服务器的终端上(一台服务器上可同时打开多个终端),键入以下指令,安装ngrok工具。
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \&& echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \| sudo tee /etc/apt/sources.list.d/ngrok.list \&& sudo apt update \&& sudo apt install ngrok
安装后,终端键入如下指令 ,确认安装是否成功,以及版本。
ngrok version
接下来就是配置你的认证密钥,服务器终端下,键入如下指令,记得切换你的认证密钥。
ngrok authtoken <你的auth token>
配置好以后,执行端口暴漏命令,llamafactory默认使用的端口号为7860。
ngrok http 7860
暴漏成功后,会生成一个链接,点击链接,即可在本机上,打开llamafactory的webui界面了 。

此时,就正式开启了我们的训练大语言模型的奇妙之旅了。

三、下载模型
Llamafactory默认会根据你选择的模型名称,从huggingface中现下载模型,这个过程需要外网,所以一般会下载失败,不建议这种方式。

这里推荐使用 modelscope,内网就可直接下载,官网链接如下。
ModelScope魔搭社区
https://community.modelscope.cn/
进入官网后,大家可直接从模型库,搜索你想要的模型。市面上流行的模型,这里一般都有。

找到你要的模型后,这里假设准备使用deepseek-1.5b的模型,点进该模型后,找到模型文件。

右侧会有个下载模型按钮,点击

modelscope 支持多种下载方式,我这里选择的是SDK下载方式。

服务器终端,键入python,进入交互式编程界面

粘贴我下方的命令,会指定下载路径,官网给的代码默认会将模型下载到系统盘,模型太大,会爆的,建议大家将模型都下到数据盘中(autodl-tmp),数据盘可随便扩容,也可在克隆实例时,连同数据盘一起克隆,避免在不同机器上重复下载,非常方便。
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B',cache_dir='/root/autodl-tmp')
接下来就是等待时间了,建议大家早上(8点之前)或者夜晚下载,速度很快。大白天下载,速度慢到怀疑人生。
四、加载模型推理
模型下载好以后,大家可在webui界面,加载本地模型进行推理聊天了,如下图所示:
模型路径 ->填写你下载到服务器上的模型位置
选择 chat 模式,然后点击加载模型

模型加载成功后的界面如下,右侧是推理时的超参调节。
切记:模型不用时,记得先卸载模型。因为模型是要加载到内存中的,而模型本身又很大,占用相当大的内存空间。
五、加载数据集
接下来就是调用我们自己的私有数据,微调基础模型,首先就是如何加载数据集:
llamafactory指定了数据路径,图中data,大家不用修改
数据集下拉选项,有一些 llamafactory 自带的数据集

比如 alpaca_zh_demo 这个中文数据集,选中后,可预览

那大家如何加载到自己的数据集呢 ?请看Llama-factory目录下的data目录,下图是我在本地机器上打开的,大家可在平台快捷工具,或者xftp中查看。
这里就有我们刚选中的 alpaca_zh_demo 数据集,是一个 json 文件。

大家可以将自己的数据集文件放到该目录下
这里有个注意事项:llamafactory 并不会自动检索data目录下的文件,而是通过一个配置文件,叫dataset_info,也是一个json格式的:
定义key为 “alpaca_zh_demo”,即webui界面,下拉选项中的数据集名称
value为{ "file_name": "alpaca_zh_demo.json"},记录的是数据集在data目录下的真实文件名

六、微调模型
选择 Trian 模式,即训练模式
基础模型还是选择本地路径,数据集选择自带的 alpaca_zh_demo 数据集。剩下的就是微调方式选择,以及超参数的设置,这里不过多讲解,整体都放到第八章,参数详解中说。
如果大家选择的显卡配置较低,建议 批处理大小为1,截断长度 1024,这些都会降低对机器的要求,保证能训练起来。

模型、数据集、参数都配置好后,点击下方的预览命令,会出现一串指令,是llamafactory 训练的指令集,其中,一些参数就是根据我们上面配置而生成的。
这串指令,可以键入到终端下,执行训练,也可以点击 webui 界面上的 开始按钮。
保存训练参数,保存至服务器中,路径自动生成。
载入训练参数,保证模型训练被中断后,可从断点开始训练,而不用重新开启训练。
保存检查点,是模型训练完以后,保存的重要文件,根据时间自动生成文件名。整体路径,会根据上方模型名,以及微调方式,自动生成,具体可看预览命令中的 output_dir。为了方便管理训练后的模型,建议大家除了从本地导入模型路径,还应将模型名称修改为对应名称,这样训练后保存的检查点,大家也知道是基于那个基础模型训练的。

开始训练后,webui 上会出现损失曲线,也会在下方打出日志。
当然,在终端也能查看训练进度,如下图所示。

超参中,有个设备数量,这个不需要自己填写,程序会自动识别你当前用的GPU数量。
DeepSpeed stage 是一种加速器,后续参数详解会说,感兴趣的可以直接跳转。

我用的是2卡,直接训练后,终端查看英伟达显卡的使用情况。
nvidia-smi

也可以使用平台的快捷工具,实例监控,查看GPU的使用情况。

平台上的实例监控,能展示的信息太少了。
这里推荐一个好用的工具 wandb,首先得在官网注册登录账号,我是直接使用github登录的。然后,获取个人密钥。

服务器新开一个终端窗口,安装以及登录wandb
#安装依赖包
pip install wandb
#登录
wandb login
上述指令执行成功后,终端会让你 填入密钥,复制你的个人密钥,粘贴进去,回车即可。
wandb认证成功后,在启用 webui 的训练功能时,其他参数设置选项中,启用外部记录面板,选择wandb就行。

此时在开启训练时,终端会弹出链接,直接点进去就进入到你的wandb帐号了。

这里记录的训练日志信息,比较全面。

七、模型验证及导出
训练结束后,就可以直接加载训练后的模型,进行推理了。
该工具训练后,只会保存检查点,不是一个完整的模型格式。如果大家直接在该webui上加载模型,采用如下图的方式
- 选中本地模型路径,即训练用的基础模型
- 选中保存后的检查点

加载模型,此时就是我们微调后的模型了。此时,可以用训练数据集中的问题,和模型聊天了。
下图就是我们刚才用到的数据集:

同样的问题,提问训练后的模型。

接下来就是将训练后的模型导出来,刚才说了,训练后只保存检查点,需要搭配原模型文件使用。
- 模型路径,检查点,确定都无语后
- 选中 export 模式
- 模型一般较大,分块是指每一个文件的大小,可将模型分为几块保存
- 选择导出目录,开始导出

这个也可以去终端看导出流程,页面上可能长时间没动静,后台依然在工作。
这是我导出来的模型文件,和基础模型的文件配置是一样的

八、参数详解
稍等,稍后会补充
相关文章:
LlamaFactory-webui:训练大语言模型的入门级教程
LlamaFactory是一个开源框架,支持多种流行的语言模型,及多种微调技术,同时,以友好的交互式界面,简化了大语言模型的学习。 本章内容,从如何拉取,我已经搭建好的Llamafactory镜像开始࿰…...
达梦数据库授权给某个用户查询其他指定用户下所有表的权限
方法1: 新版本有一个数据库参数 GRANT_SCHEMA,表示是否开启授予和回收模式权限功能。0:否;1:是 此参数为静态参数,默认是0,将改参数修改为1后,重启数据库生效。 将参数修改为1 S…...
uniapp 微信小程序打包之后vendor.js 主包体积太大,解决办法,“subPackages“:true设置不生效
现在是打包的时候,vendor.js 的内容全部打到了主包里面, 说一下我的方法: 1. 通过发行 小程序打包 这样打包的体积是最小的,打包之后打开微信开发工具,然后再上传 2.manifest.json,在“mp-weixin”里添加代码 "…...
Docker数据卷容器实战
数据卷容器 数据共享 上面讲述的是主机和容器之间共享数据,那么如何实现容器和容器之间的共享数据呢?那就是创建 创建数据卷容器。 命名的容器挂载数据卷,其他容器通过挂载这个(父容器)实现数据共享,挂载…...
【Eureka 缓存机制】
今天简单介绍一下Eureka server 的缓存机制吧✌️✌️✌️ 一、先来个小剧场:服务发现的"拖延症" 想象你是个外卖小哥(客户端),每次接单都要打电话问调度中心(Eureka Server):“现在…...
docker-compose方式启动Kafka Sasl加密认证(无zk)
首先参考文档,思考过程可以进行参考https://juejin.cn/post/7294556533932884020#heading-3 用的镜像是Bitnami,对SASL配置进行了简化,需要按照特定格式去配置jass验证 完整配置如下 镜像版本参考:https://hub.docker.com/r/bitn…...
[ComfyUI]官方已支持Skyreels混元图生视频,速度更快,效果更好(附工作流)
一、介绍 昨天有提到官方已经支持了Skyreels,皆大欢喜,效果更好一些,还有GGUF量化版本,进一步降低了大家的显存消耗。 今天就来分享一下官方流怎么搭建,我体验下来感觉更稳了一些,生成速度也更快…...
数据库导出
MySQL数据库 使用命令行导出 导出整个数据库:在命令行中输入mysqldump -u用户名 -p密码 数据库名 > 导出文件路径/文件名.sql。例如mysqldump -uroot -p123456 mydb > /home/user/mydb_backup.sql,回车后输入密码即可将名为mydb的数据库导出为SQL…...
Flask 应用结构与模块化管理详细笔记
1. 代码结构优化:StructureA 最初的 Flask 项目结构适用于小型应用,但不适用于大型应用。为了改进代码结构,我们将 URL 管理应用拆分为多个模块。 1.1 StructureA 目录结构 StructureA |-- .flaskenv |-- app.py |-- views.py |-- templat…...
Excel的两个小问题解决
(一)因为合并单元格存在,无法使用下拉自动填充公式。 解决方案: 使用 CtrlEnter 组合键 选中目标区域:选中需要应用公式的所有合并单元格区域,这些单元格可能是由 2 行或 3 行等合并而成。输入公式&…...
计算机毕业设计Python+DeepSeek-R1大模型期货价格预测分析 期货价格数据分析可视化预测系 统 量化交易大数据 机器学习 深度学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
JVM 面试
JVM 运行时内存区域划分是怎样的? 程序计数器:记录当前线程执行的字节码指令的地址,是线程私有的。 Java 虚拟机栈:每个方法在执行时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息&#…...
智慧后勤的消防管理:豪越科技为安全护航
智慧后勤消防管理难题大揭秘! 在智慧后勤发展得如火如荼的当下,消防管理却暗藏诸多难题。传统模式下,消防设施分布得那叫一个散,就像一盘散沙,管理起来超费劲。人工巡检不仅效率低,还容易遗漏,不…...
【Elasticsearch】(Java 版)
Elasticsearch(Java 版) 文章目录 Elasticsearch(Java 版)**1. Elasticsearch 简介****1.1 什么是 Elasticsearch?****1.2 核心概念** **2. 安装与配置****2.1 环境要求****2.2 安装步骤****Linux/macOS****Windows** …...
DeepSeek在昇腾上的模型部署 - 常见问题及解决方案
2024年12月26日,DeepSeek-V3横空出世,以其卓越性能备受瞩目。该模型发布即支持昇腾,用户可在昇腾硬件和MindIE推理引擎上实现高效推理,但在实际操作中,部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾Dee…...
安全面试5
文章目录 sql的二次注入在linux下,现在有一个拥有大量ip地址的txt文本文档,但是里面有很多重复的,如何快速去重?在内网渗透中,通过钓鱼邮件获取到主机权限,但是发现内网拦截了tcp的出网流量,聊一…...
【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)
本章将详细介绍四大主流金融数据源(Tushare、AkShare、Baostock、通联数据(DataAPI)),分析其特点与适用场景,并通过实战案例展示数据获取与处理的全流程。 👉 点击关注不迷路 👉 点击…...
Exoplayer(MediaX)实现音频变调和变速播放
在K歌或录音类应用中变调是个常见需求,比如需要播出萝莉音/大叔音等。变速播放在影视播放类应用中普遍存在,在传统播放器Mediaplayer中这两个功能都比较难以实现,特别在低版本SDK中,而Exoplayer作为google官方推出的Mediaplayer替…...
服务器间迁移conda环境
注意:可使用迁移miniconda文件 or 迁移yaml文件两种方式,推荐前者,基本无bug! 一、迁移miniconda文件: 拷贝旧机器的miniconda文件文件到新机器: 内网拷贝:scp -r mazhf192.168.1.233:~/miniconda3 ~/ 外…...
docker高级
文章目录 1.Docker Compose1.1 介绍1.2 compose文件1.3 常用命令1.4 安装1.5 项目说明和构建1.5.1 手工启动1.5.2 compose 编排启动1.5.3 完善 compose.yml1.5.4 加入前端容器 2.UI管理平台2.1 portainer 3.镜像发布3.1 阿里云3.2 Docker Registry3.2.1 介绍3.2.2 安装3.2.3 测…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
MeanFlow:何凯明新作,单步去噪图像生成新SOTA
1.简介 这篇文章介绍了一种名为MeanFlow的新型生成模型框架,旨在通过单步生成过程高效地将先验分布转换为数据分布。文章的核心创新在于引入了平均速度的概念,这一概念的引入使得模型能够通过单次函数评估完成从先验分布到数据分布的转换,显…...
轻量安全的密码管理工具Vaultwarden
一、Vaultwarden概述 Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版,由国外开发者在Bitwarden的基础上,采用Rust语言重写而成。 (一)Vaultwarden镜像的作用及特点 轻量级与高性…...
如何使用CodeRider插件在IDEA中生成代码
一、环境搭建与插件安装 1.1 环境准备 名称要求说明操作系统Windows 11JetBrains IDEIntelliJ IDEA 2025.1.1.1 (Community Edition)硬件配置推荐16GB内存50GB磁盘空间 1.2 插件安装流程 步骤1:市场安装 打开IDEA,进入File → Settings → Plugins搜…...
