大模型(Qwen3)训练实战:从零开始玩转LLaMA-Factory

在人工智能技术日新月异的今天,大型语言模型(LLM)已成为科技领域的热门话题。但对于大多数开发者和企业来说,如何高效、低成本地微调这些"庞然大物"仍是一个难题。

今天,我将为大家详细介绍如何使用LLaMA-Factory这一开源框架,从环境搭建到模型训练,再到实际应用,手把手教你打造属于自己的AI助手!

img

一、LLaMA-Factory:大模型微调的瑞士军刀

LLaMA-Factory是一个专为大型语言模型微调设计的开源框架,它就像是为大模型量身定制的"精加工车间"。这个框架最大的优势在于:

  1. 高效低成本:优化了微调过程中的资源消耗,让普通开发者也能负担得起
  2. 广泛兼容:支持近百种主流大模型,包括LLaMA、Qwen、DeepSeek等热门系列
  3. 操作简便:通过Web界面可视化操作,大大降低了技术门槛

“工欲善其事,必先利其器”,在开始我们的微调之旅前,让我们先搭建好这个强大的"工厂"。

二、环境搭建:三步打造专业微调平台

2.1 创建工作目录并克隆仓库

mkdir -p /data/train && cd /data/train
git clone https://github.com/hiyouga/LLaMA-Factory.git

2.2 安装依赖包

pip install -e .

在当前目录下查找Python包的元数据(如依赖关系、版本信息等),然后以可编辑模式安装该包及其所有依赖项。

-e 或者 --editable:这是一个选项,表示以可编辑模式安装包",后续对代码的任何修改都会立即生效,非常适合调试和开发;. 指定当前目录,pip查找当前目录下的setup.py文件。

2.3 配置Hugging Face镜像(国内用户必备)

huggingface_hub是指由Hugging Face提供的Python库,用于与Hugging Face的模型库进行交互,包括下载、上传和管理机器学习模型和数据集。具体来说:

  • 安装:通过pip install -U huggingface_hub命令可以安装huggingface_hub库,确保使用最新版本。
  • 功能:该库允许开发者访问Hugging Face Model Hub上的资源,包括预训练模型和数据集,便于模型的下载、加载和管理。
  • 下载模型:可以使用huggingface-cli来下载模型,如:huggingface-cli download --resume-download Qwen/Qwen3-0.6B-Base --local-dir /data/models/Qwen/Qwen3-0.6B-Base,# 下载模型到指定的本地路径。

总之,huggingface_hub是一个强大的工具,帮助开发者高效地获取和管理Hugging Face上的机器学习资源。

由于网络限制,国内用户可以通过设置镜像源来加速下载:

export HF_ENDPOINT=https://hf-mirror.com
pip install -U huggingface_hub

三、模型获取:为微调准备"原材料"

选择适合的基座模型是微调成功的关键。这里我们以Qwen3-0.6B-Base模型为例:

mkdir -p /data/models/Qwen/Qwen3-0.6B-Base
huggingface-cli download --resume-download Qwen/Qwen3-0.6B-Base --local-dir /data/models/Qwen/Qwen3-0.6B-Base

img

模型选择小贴士

  • 对于普通任务:0.5B-7B参数量的模型性价比最高
  • 对于专业领域:建议选择在相关领域有预训练的基座模型
  • 资源有限时:可以考虑量化版本或小型模型

四、数据准备:打造专属"知识库"

数据是微调的灵魂,我们使用一个经济学相关的对话数据集作为示例:

4.1 下载数据集

git clone https://github.com/echonoshy/cgft-llm.git 
cp cgft-llm/data/fintech.json /data/train/LLaMA-Factory/data/

这里选择的数据集文件是关于经济学的对话信息,内容如下:

img

数据准备黄金法则

  • 数据质量 > 数据数量:1000条高质量数据胜过10000条低质数据
  • 领域聚焦:数据应紧密围绕目标应用场景
  • 格式规范:确保数据格式与模型预期一致

五、微调实战

5.1 启动Web UI

cd /data/train/LLaMA-Factory
export GRADIO_SERVER_PORT=8800
nohup llamafactory-cli webui 2>&1 > webui.log &

img

5.2 配置微调参数

img

在Web界面中,我们需要关注几个核心参数:

  • 学习率:通常设置在1e-5到5e-5之间
  • 批处理大小:根据GPU内存调整,可从4开始尝试
  • 训练轮次:3-5个epoch通常足够
  • LoRA参数:rank一般设为8或16,alpha设为16或32

5.3 设置输出并开始

img

完成执行后输出模型:

img

内存优化技巧: 当遇到内存不足时,可以:

  1. 减小批处理大小
  2. 启用梯度累积
  3. 使用更高效的优化器(如Adafactor)

六、新模型的部署

6.1 模型合并与导出

将 base model 与训练好的 LoRA Adapter 合并成一个新的模型。训练完成后,我们需要将LoRA适配器与基础模型合并:

llamafactory-cli export --model_name_or_path /data/models/Qwen/Qwen3-0.6B-Base --adapter_name_or_path /data/train/LLaMA-Factory/saves/Qwen3-0.6B-Base/lora/train_2025-05-22-08-16-07 --template qwen3 --finetuning_type lora --export_dir /data/models/Qwen/Qwen3-0.6B-yangxl

img

6.2 使用vLLM高效部署训练好的模型

CUDA_VISIBLE_DEVICES=0 nohup python3 -m vllm.entrypoints.openai.api_server \ --model=/data/models/Qwen/Qwen3-0.6B-yangxl \ --served-model-name=Qwen3-0.6B-yangxl \ --dtype=bfloat16 \ --trust-remote-code \ --device=cuda \ --max-model-len=1024 \ --tensor-parallel-size=1 \ --gpu-memory-utilization=0.85 \ --enable-reasoning \ --reasoning-parser deepseek_r1 \ --port 8802 \ --api-key token-123456 &

img

七、新模型的测试

7.1 加载模型

img

7.2 提问

提示词:国际经济与贸易专业的就业是怎么样?

img

八、总结

  • 训练环境的准备:准备LLaMA-Factory的环境有两种,本文只讲了一各较为复杂的方式;还有一种就是容器化的方式,只所以采用第一种方式,只是为了亲自体验一下;

训练数据的准备:将准备好的数据放到LLaMA-Factory下**/data**下,数据需满足以下几点要求:

  • 数据质量 > 数据数量:1000条高质量数据胜过10000条低质数据

  • 领域聚焦:数据应紧密围绕目标应用场景

  • 格式规范:确保数据格式与模型预期一致;

  • 训练参数配置:模型名称、模型路径、数据路径、数据集、训练轮数、最大样本数等;

  • 训练后的新模型:检查新模型目录下的文件是否完整、导出新模型、新模型的部署和测试。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

### 使用 LLaMA-FactoryQwen 小模型进行微调 #### 准备工作环境 切换到 `llama-factory` 的工作目录,以便执行后续命令。这一步骤确保所有操作都在正确的路径下完成。 ```bash cd \root\LLaMA-Factory ``` #### 配置训练参数 为了启动微调过程,需要指定 GPU 设备以及配置文件的位置。这里假设使用的是具有多个 GPU 的机器,并指定了具体的 YAML 文件作为配置输入。 ```bash CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 llamafactory-cli train /path/to/your/config_file.yaml ``` 其中 `/path/to/your/config_file.yaml` 应替换为实际使用的配置文件路径,例如 `examples/train_lora/qwen2vl_lora_sft_my20241112.yaml`[^2]。 #### 创建自定义数据集 对于特定应用场景下的微调,创建一个包含目标领域样本的数据集至关重要。如果希望使 Qwen 模型能够更准确地识别某些类别,则应准备相应的标注图像集合用于训练。比如,在案例中提到的将一张手帕误标为裙子的情况,可以构建类似的带有误导性的标记数据来进行针对性调整[^3]。 #### 执行微调流程 一旦准备工作就绪,就可以运行上述命令开始微调过程。此阶段会基于预设的学习率和其他超参数自动迭代优化权重直到收敛或达到最大轮次限制为止。 #### 测试与验证效果 当微调完成后,保存下来的 checkpoint 即代表了经过改进后的模型版本。此时可以通过加载该 checkpoint 并进入聊天界面来评估其性能表现: - 加载刚刚生成的新版模型; - 进入 chat 页面; - 上传待测图片并询问对象是什么; 通过这种方式可以直接观察到模型是否按照预期改变了原有的分类行为模式。 #### 后续处理 考虑到原生 Qwen 模型本身已经具备较高的精度水平(约90%),但在引入额外映射机制之后整体准确度有所下降至大约80%,因此直接针对所需标签空间实施细粒度定制化修改不失为一种有效策略,从而减少不必要的转换环节所带来的误差累积问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值