【大模型微调】LLaMA Factory 微调 LLMs & VLMs

【大模型微调】LLaMA Factory 微调 LLMs & VLMs

LLaMA Factory是一个大模型高效微调平台,在github有60k多收藏了,很适合入门的朋友

提供了“ 一站式”的操作界面,通过可视化操作,就可以完成对LLMs 或 VLMs的微调了

开源地址:https://github.com/hiyouga/LLaMA-Factory

下面是微调的页面,简洁、清晰、功能多

目录

一、LLaMA Factory的特色

二、支持的模型

三、提供的数据集(基础)

四、安装LLaMA Factory 

五、微调LLM实践--Qwen3-4B-Thinking

 六、微调VLM实践--Qwen/Qwen2.5-VL-3B-Instruct

七、了解源代码

八、其他参考资料


一、LLaMA Factory的特色

  • 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Qwen2-VL、Qwen3、DeepSeek、Yi、Gemma、ChatGLM、Phi 等等。
  • 集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
  • 多种精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
  • 先进算法GaLoreBAdamAPOLLOAdam-miniMuonOFT、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 和 PiSSA。
  • 实用技巧FlashAttention-2UnslothLiger Kernel、RoPE scaling、NEFTune 和 rsLoRA。
  • 广泛任务:多轮对话、工具调用、图像理解、视觉定位、视频识别和语音理解等等。
  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等等。
  • 极速推理:基于 vLLM 或 SGLang 的 OpenAI 风格 API、浏览器界面和命令行接口。

可以对最新的模型进行微调,下面是建议的计划:

适配时间模型名称
Day 0Qwen3 / Qwen2.5-VL / Gemma 3 / GLM-4.1V / InternLM 3 / MiniCPM-o-2.6
Day 1Llama 3 / GLM-4 / Mistral Small / PaliGemma2 / Llama 4

支持的训练方法:

方法全参数训练部分参数训练LoRAQLoRA
预训练
指令监督微调
奖励模型训练
PPO 训练
DPO 训练
KTO 训练
ORPO 训练
SimPO 训练

二、支持的模型

主要包括下面这些模型:(还有一些没有列出来)

模型名参数量Template
Baichuan 27B/13Bbaichuan2
BLOOM/BLOOMZ560M/1.1B/1.7B/3B/7.1B/176B-
ChatGLM36Bchatglm3
Command R35B/104Bcohere
DeepSeek (Code/MoE)7B/16B/67B/236Bdeepseek
DeepSeek 2.5/3236B/671Bdeepseek3
DeepSeek R1 (Distill)1.5B/7B/8B/14B/32B/70B/671Bdeepseekr1
ERNIE-4.50.3B/21B/300Bernie/ernie_nothink
Falcon7B/11B/40B/180Bfalcon
Falcon-H10.5B/1.5B/3B/7B/34Bfalcon_h1
Gemma/Gemma 2/CodeGemma2B/7B/9B/27Bgemma/gemma2
Gemma 3/Gemma 3n270M/1B/4B/6B/8B/12B/27Bgemma3/gemma3n
GLM-4/GLM-4-0414/GLM-Z19B/32Bglm4/glmz1
GLM-4.1V9Bglm4v
GLM-4.5/GLM-4.5V106B/355Bglm4_moe/glm4v_moe
GPT-20.1B/0.4B/0.8B/1.5B-
GPT-OSS20B/120Bgpt
Granite 3.0-3.31B/2B/3B/8Bgranite3
Granite 47Bgranite4
Hunyuan (MT)7Bhunyuan
Index1.9Bindex
InternLM 2-37B/8B/20Bintern2
InternVL 2.5-3.51B/2B/4B/8B/14B/30B/38B/78B/241Bintern_vl
InternLM/Intern-S1-mini8Bintern_s1
Kimi-VL16Bkimi_vl
Ling 2.0 (mini/flash)16B/100Bbailing_v2
Llama7B/13B/33B/65B-
Llama 27B/13B/70Bllama2
Llama 3-3.31B/3B/8B/70Bllama3
Llama 4109B/402Bllama4
Llama 3.2 Vision11B/90Bmllama
LLaVA-1.57B/13Bllava
LLaVA-NeXT7B/8B/13B/34B/72B/110Bllava_next
LLaVA-NeXT-Video7B/34Bllava_next_video
MiMo7Bmimo
MiniCPM 1-4.10.5B/1B/2B/4B/8Bcpm/cpm3/cpm4
MiniCPM-o-2.6/MiniCPM-V-2.68Bminicpm_o/minicpm_v
Ministral/Mistral-Nemo8B/12Bministral
Mistral/Mixtral7B/8x7B/8x22Bmistral
Mistral Small24Bmistral_small
OLMo1B/7B-
PaliGemma/PaliGemma23B/10B/28Bpaligemma
Phi-1.5/Phi-21.3B/2.7B-
Phi-3/Phi-3.54B/14Bphi
Phi-3-small7Bphi_small
Phi-414Bphi4
Pixtral12Bpixtral
Qwen (1-2.5) (Code/Math/MoE/QwQ)0.5B/1.5B/3B/7B/14B/32B/72B/110Bqwen
Qwen3 (MoE/Instruct/Thinking/Next)0.6B/1.7B/4B/8B/14B/32B/80B/235Bqwen3/qwen3_nothink
Qwen2-Audio7Bqwen2_audio
Qwen2.5-Omni3B/7Bqwen2_omni
Qwen3-Omni30Bqwen3_omni
Qwen2-VL/Qwen2.5-VL/QVQ2B/3B/7B/32B/72Bqwen2_vl
Qwen3-VL235Bqwen3_vl
Seed (OSS/Coder)8B/36Bseed_oss/seed_coder
Skywork o18Bskywork_o1
StarCoder 23B/7B/15B-
TeleChat23B/7B/35B/115Btelechat2
XVERSE7B/13B/65Bxverse
Yi/Yi-1.5 (Code)1.5B/6B/9B/34Byi
Yi-VL6B/34Byi_vl
Yuan 22B/51B/102Byuan

三、提供的数据集(基础)

下面这些是基础数据集,提供给我们使用的,我们也可以自定义数据集的。

预训练数据集

指令微调数据集

偏好数据集

注意:部分数据集的使用需要确认,推荐使用下述命令登录自己的 Hugging Face 账户

pip install --upgrade huggingface_hub huggingface-cli login

四、安装LLaMA Factory 

这里推荐“Conda环境+源码安装”的方式

首先下载代码,进入目录,执行命令:

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory

创建一个Conda环境,名字为LLaMA-Factory,指定Python是3.10:

conda create -n LLaMA-Factory python=3.10

然后安装troch=2.5.1,CUDA=12.1,执行命令:

pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121

最后安装其他依赖库:

pip install -e ".[torch,metrics]" --no-build-isolation

电脑硬件方面,微调训练的参考:

方法精度7B14B30B70BxB
Full (bf16 or fp16)32120GB240GB600GB1200GB18xGB
Full (pure_bf16)1660GB120GB300GB600GB8xGB
Freeze/LoRA/GaLore/APOLLO/BAdam1616GB32GB64GB160GB2xGB
QLoRA810GB20GB40GB80GBxGB
QLoRA46GB12GB24GB48GBx/2GB
QLoRA24GB8GB16GB24GBx/4GB

五、微调LLM实践--Qwen3-4B-Thinking

进入代码目录,并进入Conda环境:

conda activate LLaMA-Factory

通过下面命令,打开微调可视化界面:

llamafactory-cli webui

然后我们选择模型(Qwen3-4B-Thinking)、微调方法(lora)、训练方式(Supervised Fine-Tuning)监督微调

选择数据集(alpaca_zh_demo),点击“预览数据集”能看到:

其他参考可以默认了,然后点击“训练”,等待训练完成

完成LLM微调啦~

 六、微调VLM实践--Qwen/Qwen2.5-VL-3B-Instruct

进入代码目录,并进入Conda环境:

conda activate LLaMA-Factory

通过下面命令,打开微调可视化界面:

llamafactory-cli webui

然后我们选择模型(Qwen/Qwen2.5-VL-3B-Instruct)、微调方法(lora)、训练方式(Supervised Fine-Tuning)监督微调

选择数据集(mllm_demo),点击“预览数据集”能看到:

对应的图片:(LLaMA-Factory/data/mllm_demo_data/1.jpg)

微调的训练轮数改为10

其他参考可以默认了,然后点击“训练”,等待训练完成

完成VLM微调啦~

七、了解源代码

目录结构,是这样的:

首先看看数据集的目录,有上面微调训练用到的alpaca_zh_demo.json、mllm_demo.json,

还有一些其他数据集,也能使用的

看一下alpaca_zh_demo.json文件的数据:

[ { "instruction": "识别并解释给定列表中的两个科学理论:细胞理论和日心说。", "input": "", "output": "细胞理论是生物科学的一个理论,它认为所有生命体都是由微小的基本单元——细胞所构成。这是生物学的一个基础理论,认为细胞是所有生物的基本结构和功能单位,所有的生物都是由一个或多个细胞组成,细胞只能通过细胞分裂产生新的细胞。这一理论由薛定谔、施瓦内和雪莱于1839年首次提出。\n\n日心说是指太阳是太阳系的中心,也就是说,行星围绕太阳旋转的理论。这个理论打破了传统的地心说观点,认为地球并不是宇宙的中心。日心说的提出者是尼古拉·哥白尼,他在16世纪初发表了他的著作《天体运行论》,阐述了太阳系行星围绕太阳运行的模型,为天文学的发展做出了巨大贡献。" }, { "instruction": "输入三支篮球队的名称并生成一个适当的口号。", "input": "输入:俄克拉荷马城雷霆队,芝加哥公牛队,布鲁克林网队。", "output": "输出: \"雷霆,公牛和网队:各显神通,角逐群雄!\"" }, { "instruction": "比较以下两位著名人物,使用特征列表并以句子形式提供输出。", "input": "人物1:阿尔伯特·爱因斯坦\n人物2:斯蒂芬·霍金\n特征:智力、教育、对世界的影响", "output": "阿尔伯特·爱因斯坦和斯蒂芬·霍金都是拥有极其出色智力的人物。两人都取得过非常高的教育成就,他们推进了科学发展并在世界范围内产生了深远的影响。爱因斯坦以其相对论和质能关系公式而闻名,而霍金以其关于黑洞和宇宙的发现而著称。两位科学家都以其深厚的学识和非凡的贡献影响了世界。" }, { "instruction": "请根据以下文章构建一个需要回答的问题。", "input": "", "output": "我不好意思,您没有提供任何信息或文章来供我根据它构建问题。 请提供相应的文章或信息,以便我能够帮助您构建问题。" }, ......... { "instruction": "描述安第斯山脉的位置。", "input": "", "output": "安第斯山脉位于南美洲,横跨七个国家,包括委内瑞拉,哥伦比亚,厄瓜多尔,秘鲁,玻利维亚,智利和阿根廷。安第斯山脉是世界上最长的山脉之一,全长约7,000千米(4,350英里),其山脉沿着南美洲西海岸蜿蜒延伸,平均海拔约为4,000米(13,000英尺)。在其南部,安第斯山脉宽度达到700千米(430英里),在其北部宽度约为500千米(310英里)。" }

看一下mllm_demo.json文件的数据:

[ { "messages": [ { "content": "<image>Who are they?", "role": "user" }, { "content": "They're Kane and Gretzka from Bayern Munich.", "role": "assistant" }, { "content": "What are they doing?<image>", "role": "user" }, { "content": "They are celebrating on the soccer field.", "role": "assistant" } ], "images": [ "mllm_demo_data/1.jpg", "mllm_demo_data/1.jpg" ] }, { "messages": [ { "content": "<image>Who is he?", "role": "user" }, { "content": "He's Thomas Muller from Bayern Munich.", "role": "assistant" }, { "content": "Why is he on the ground?", "role": "user" }, { "content": "Because he's sliding on his knees to celebrate.", "role": "assistant" } ], "images": [ "mllm_demo_data/2.jpg" ] }, ....... { "messages": [ { "content": "<image>请描述这张图片", "role": "user" }, { "content": "中国宇航员桂海潮正在讲话。", "role": "assistant" }, { "content": "他取得过哪些成就?", "role": "user" }, { "content": "他于2022年6月被任命为神舟十六号任务的有效载荷专家,从而成为2023年5月30日进入太空的首位平民宇航员。他负责在轨操作空间科学实验有效载荷。", "role": "assistant" } ], "images": [ "mllm_demo_data/3.jpg" ] } ] 

目前支持 alpaca 格式和 sharegpt 格式的数据集。允许的文件类型包括 json、jsonl、csv、parquet 和 arrow。

自定义数据集,参考https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md 来制作就好啦

然后在dataset_info.json文件中,添加自定义的数据集名字和格式就好啦.(能看到alpaca_zh_demo和mllm_demo数据集也在里面的)

比如,新加了vlm_graph_gen数据集,标注内容在vlm_graph_gen.json中:

{ "identity": { "file_name": "identity.json" }, "alpaca_en_demo": { "file_name": "alpaca_en_demo.json" }, "alpaca_zh_demo": { "file_name": "alpaca_zh_demo.json" }, "glaive_toolcall_en_demo": { "file_name": "glaive_toolcall_en_demo.json", "formatting": "sharegpt", "columns": { "messages": "conversations", "tools": "tools" } }, "glaive_toolcall_zh_demo": { "file_name": "glaive_toolcall_zh_demo.json", "formatting": "sharegpt", "columns": { "messages": "conversations", "tools": "tools" } }, "mllm_demo": { "file_name": "mllm_demo.json", "formatting": "sharegpt", "columns": { "messages": "messages", "images": "images" }, "tags": { "role_tag": "role", "content_tag": "content", "user_tag": "user", "assistant_tag": "assistant" } }, "vlm_graph_gen": { "file_name": "vlm_graph_gen.json", "formatting": "sharegpt", "columns": { "messages": "messages", "images": "images" }, "tags": { "role_tag": "role", "content_tag": "content", "user_tag": "user", "assistant_tag": "assistant" } },

在微调训练时,就能选择它训练啦

八、其他参考资料

官网博客:

分享完成~

Read more

【保姆级】TrendRadar本地部署:告别算法推荐,打造个人专属AI热点情报局

【保姆级】TrendRadar本地部署:告别算法推荐,打造个人专属AI热点情报局

【保姆级】TrendRadar本地部署:告别算法推荐,打造个人专属AI热点情报局 摘要 本文基于 TrendRadar 项目,详细拆解如何通过 Docker 本地部署一套个人专属的 AI 热点情报系统。涵盖从环境准备、Docker 镜像拉取、局域网访问配置、飞书推送修复到 Cherry Studio MCP 服务对接的全流程。通过 Nvidia 免费模型 API,实现零成本的深度热点分析与趋势追踪。 关键词: TrendRadar, Docker部署, AI热点分析, MCP服务, Cherry Studio 1. 背景与需求:为什么我们需要 TrendRadar? 在这个大数据算法横行的时代,我们每天被头条、抖音等平台“投喂”大量信息,不仅容易陷入信息茧房,还浪费了大量时间筛选有效资讯。 我的核心需求很简单: 1. 拒绝算法绑架:需要一个个人定制化的新闻推送服务。 2.

开源vs闭源AI工具大比较:成本、性能、生态的全方位对比

开源vs闭源AI工具大比较:成本、性能、生态的全方位对比

开源vs闭源AI工具大比较:成本、性能、生态的全方位对比 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是我放飞的蝴蝶。 🔬 每一次代码审查都是我的显微镜观察,每一次重构都是我的化学实验。 🎵 在编程的交响乐中,我既是指挥家也是演奏者。让我们一起,在技术的音乐厅里,奏响属于程序员的华美乐章。 目录 开源vs闭源AI工具大比较:成本、性能、生态的全方位对比 摘要 1. AI工具选择的战略意义 1.1 技术选型的重要性 1.2 市场趋势分析 2. 成本维度深度对比 2.1 直接成本分析 2.2 隐性成本分析 3. 性能维度全面评测 3.1 基准测试对比 3.2 性能优化策略 4. 生态系统建设对比 4.

多模态检索新突破!Qwen3-VL-Embedding/Reranker AI 真正“看懂“你在搜什么,从图片到视频全拿下!

多模态检索新突破!Qwen3-VL-Embedding/Reranker AI 真正“看懂“你在搜什么,从图片到视频全拿下!

Qwen3-VL-Embedding 和 Qwen3-VL-Reranker:统一多模态表征与排序 摘要 2025年6月,Qwen 团队开源了面向文本的 Qwen3-Embedding 和 Qwen3-ReRanker 模型系列,在多语言文本检索、聚类和分类等多项下游任务中取得了业界领先的性能。 2026年1月,该团队推出了 Qwen 家族的最新成员:Qwen3-VL-Embedding 和 Qwen3-VL-Reranker 模型系列。这些模型基于开源的 Qwen3-VL 模型构建,专为多模态信息检索和跨模态理解场景设计,能够将文本、图像、文档图像和视频等多种模态映射到统一的表示空间中。 Qwen3-VL-Embedding 模型采用多阶段训练范式,从大规模对比预训练逐步发展到重排序模型蒸馏,以生成语义丰富的高维向量。该模型支持 Matryoshka 表示学习(MRL),可灵活选择嵌入维度,并能处理最多 32K tokens 的输入。作为补充,Qwen3-VL-Reranker 采用交叉编码器架构和交叉注意力机制,对查询-文档对进行细粒度的相关性评估。 两个模型系列继承了

AI 自动化测试:接口测试全流程自动化的实现方法

AI 自动化测试:接口测试全流程自动化的实现方法

在 AI 技术飞速渗透各行各业的当下,我们早已告别 “谈 AI 色变” 的观望阶段,迈入 “用 AI 提效” 的实战时代 💡。无论是代码编写时的智能辅助 💻、数据处理中的自动化流程 📊,还是行业场景里的精准解决方案 ,AI 正以润物细无声的方式,重构着我们的工作逻辑与行业生态 🌱。曾几何时,我们需要花费数小时查阅文档 📚、反复调试代码 ⚙️,或是在海量数据中手动筛选关键信息 ,而如今,一个智能工具 🧰、一次模型调用 ⚡,就能将这些繁琐工作的效率提升数倍 📈。正是在这样的变革中,AI 相关技术与工具逐渐走进我们的工作场景,成为破解效率瓶颈、推动创新的关键力量 。今天,我想结合自身实战经验,带你深入探索 AI 技术如何打破传统工作壁垒 🧱,让 AI 真正从 “概念” 变为 “实用工具” ,为你的工作与行业发展注入新动能 ✨。 文章目录 * AI 自动化测试:接口测试全流程自动化的实现方法 🤖 * 为什么传统自动化测试“卡壳”