1385 字
7 分钟
基于qwen0.5b参数的训练

AI 模型训练入门指南(个人开发者版)#

结论:个人开发者不建议从零预训练大模型,而是基于开源小模型做微调(LoRA/QLoRA)。(本人已泪目测试!心碎一地) 本文以 Qwen2.5-0.5B + LLaMA-Factory 为例,硬件门槛低,单卡 6GB 显存即可。


1. 硬件与环境要求#

最低配置#

  • GPU:NVIDIA 显卡,显存 ≥ 6GB(如 RTX 4050 Laptop)
  • 内存:16GB 以上
  • 硬盘:至少 20GB 空闲
  • 系统:Windows / Linux 均可

推荐配置#

  • GPU:RTX 3090 / 4090(24GB 显存)
  • 内存:32GB
  • 硬盘:NVMe SSD

如果没有 GPU#

  • 用云平台:AutoDL、恒源云、Kaggle(免费)、Google Colab(免费)
  • 租一张 RTX 4090,约 ¥2/小时

软件环境#

  • Python 3.10(不要用 3.13,兼容性差)
  • CUDA 12.1 / 12.4(取决于显卡驱动)
  • PyTorch(必须装 CUDA 版,不要装 CPU 版)
  • LLaMA-Factory(微调框架,支持 Web UI)

Mac也可以训练哦!


3. 模型选择#

个人开发者推荐以下小模型:

模型参数量特点推荐场景
Qwen2.5-0.5B-Instruct0.5B中文强,生态好,LoRA 友好首选,聊天/情感/助手
Qwen2.5-1.5B-Instruct1.5B能力更强,显存要求稍高需要更好效果
RWKV7-G1 0.1B0.1B纯 RNN,推理极快,多语言边缘设备,嵌入式
MiniMind20.1B教学用,可从头训练学习训练流程
Hunyuan-0.5B0.5B腾讯出品,中英双语强悍双语场景

下载方式(使用国内镜像):

Terminal window
$env:HF_ENDPOINT = "https://hf-mirror.com"
pip install huggingface_hub
python -c "from huggingface_hub import snapshot_download; snapshot_download('Qwen/Qwen2.5-0.5B-Instruct', local_dir='./qwen-0.5b')"

这里用的是 Hugging Face Hub下载的Qwen2.5-0.5B-Instruct 模型。 需要别的模型可以去自行下载更换。 国内网速不行,可以使用代理或者魔塔哦


4. 数据准备(最关键)#

模型效果 80% 取决于数据质量。数据格式通常用 ShareGPT 或 Alpaca。

格式示例(ShareGPT)#

{"conversations": [
{"from": "human", "value": "你是谁?"},
{"from": "gpt", "value": "我是你的AI助手,很高兴为你服务。"}
]}

数据要求#

  • 数量:500~5000 条。太少学不会,太多训练慢且容易过拟合。
  • 质量:回答要自然、多样,不要模板化。
  • 多样性:覆盖不同问法、不同情绪、不同长度。
  • 格式统一:每条数据字段一致,不要混用。

数据来源#

  • 自己手工编写(质量最高)
  • 用大模型生成后人工筛选(效率高)
  • 公开数据集(如 Belle、Firefly)

手工的话可以搞一辈子了,建议用第二个办法,这样可以快速生成数千条数据

数据注册(LLaMA-Factory)#

在 data/dataset_info.json 中注册:

{
"my_dataset": {
"file_name": "my_data.jsonl",
"formatting": "sharegpt",
"columns": { "messages": "conversations" },
"tags": {
"role_tag": "from",
"content_tag": "value",
"user_tag": "human",
"assistant_tag": "gpt"
}
}
}

好心的作者批注:LLaMA-Factory需要安装哦,pip安装就行


5. 训练方式:LoRA 微调#

5.1 安装 LLaMA-Factory#

Terminal window
pip install llamafactory -i https://mirrors.aliyun.com/pypi/simple

5.2 启动 Web UI#

Terminal window
llamafactory-cli webui

浏览器打开 http://localhost:7860。

默认是这个地址,注意一下控制台就行

Terminal window
Running on local URL: http://0.0.0.0:7860
To create a public link, set `share=True` in `launch()`.

看到这个就说明启动成功了

5.3 关键参数配置#

这里是关于webui的一部分配置内容

参数推荐值说明
模型路径./qwen-0.5b你下载的模型目录
微调方法lora只训练适配器
量化等级none(6GB 显存)或 4-bit4-bit 需装 bitsandbytes
对话模板qwen必须匹配模型
训练阶段Supervised Fine-Tuning监督微调
数据集my_dataset你注册的名称
学习率3e-5不要太高
训练轮数3数据少可增加到 5
批处理大小1显存小就设 1
梯度累积8补偿 batch size
截断长度1024省显存
计算类型bf16混合精度
LoRA 秩8常用值
LoRA 缩放系数16常用值
LoRA 作用模块all全部线性层
输出目录trainer_output/my_model自定义

这里晒一下我的配置图片 alt text alt text

5.4 开始训练#

点击“开始”,观察 loss 曲线。正常应持续下降,最终稳定在 0.3~0.8 之间。 如果没有就可以去问问ds老师了(doge

5.5 训练时间参考#

  • Qwen2.5-0.5B,1500 条数据,3 轮,RTX 4050 6GB:约 1.5~3 小时
  • 如果太慢,减少数据量或降低截断长度

6. 推理与测试#

6.1 在 Web UI 的 Chat 页测试#

  1. 模型路径:./qwen-0.5b
  2. 检查点路径:选择训练输出目录(包含 adapter_model.safetensors)
  3. 点击“加载模型”
  4. 直接输入问题测试

6.2 用 Python 代码推理#

此代码由ds老师独家赞助写出,本编不保证可用..

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = "./qwen-0.5b"
lora = "./trainer_output/my_model"
tokenizer = AutoTokenizer.from_pretrained(base, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(base, torch_dtype="auto", device_map="auto")
model = PeftModel.from_pretrained(model, lora)
model.eval()
messages = [{"role": "user", "content": "你好"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

6.3 合并 LoRA 权重(可选)#

如果想导出为一个完整模型:

model = model.merge_and_unload()
model.save_pretrained("./merged_model")
tokenizer.save_pretrained("./merged_model")

7. 常见问题#

问题原因解决
cuda available: False装了 CPU 版 PyTorch重装 CUDA 版:pip install torch --index-url https://download.pytorch.org/whl/cu124
CUDA out of memory显存不足减小 batch_size、截断长度,或用量化
模型不按预期输出数据量少/质量差增加数据,提高多样性
输出格式混乱训练数据格式不统一统一数据格式,重新训练
模型只会重复一句话过拟合减少训练轮数,增加数据多样性
加载 LoRA 后没变化检查点路径错误选到包含 adapter_model.safetensors 的目录

8. 学习资源#


如果需要针对特定场景(如情感对话、客服、角色扮演)定制训练方案,可以进一步调整数据格式和训练参数。 ok啊,我1800条数据也是训练的40分钟了..太慢了!!

基于qwen0.5b参数的训练
http://mblog.linghantech.top/posts/基于qwen05b参数的训练/
作者
Mengdie
发布于
2026-09-25
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类