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-Instruct | 0.5B | 中文强,生态好,LoRA 友好 | 首选,聊天/情感/助手 |
| Qwen2.5-1.5B-Instruct | 1.5B | 能力更强,显存要求稍高 | 需要更好效果 |
| RWKV7-G1 0.1B | 0.1B | 纯 RNN,推理极快,多语言 | 边缘设备,嵌入式 |
| MiniMind2 | 0.1B | 教学用,可从头训练 | 学习训练流程 |
| Hunyuan-0.5B | 0.5B | 腾讯出品,中英双语强悍 | 双语场景 |
下载方式(使用国内镜像):
$env:HF_ENDPOINT = "https://hf-mirror.com"pip install huggingface_hubpython -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
pip install llamafactory -i https://mirrors.aliyun.com/pypi/simple5.2 启动 Web UI
llamafactory-cli webui浏览器打开 http://localhost:7860。
默认是这个地址,注意一下控制台就行
Running on local URL: http://0.0.0.0:7860To create a public link, set `share=True` in `launch()`.看到这个就说明启动成功了
5.3 关键参数配置
这里是关于webui的一部分配置内容
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 模型路径 | ./qwen-0.5b | 你下载的模型目录 |
| 微调方法 | lora | 只训练适配器 |
| 量化等级 | none(6GB 显存)或 4-bit | 4-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 | 自定义 |
这里晒一下我的配置图片

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 页测试
- 模型路径:
./qwen-0.5b - 检查点路径:选择训练输出目录(包含
adapter_model.safetensors) - 点击“加载模型”
- 直接输入问题测试
6.2 用 Python 代码推理
此代码由ds老师独家赞助写出,本编不保证可用..
from transformers import AutoModelForCausalLM, AutoTokenizerfrom 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. 学习资源
- LLaMA-Factory 官方文档:https://github.com/hiyouga/LLaMA-Factory
- Hugging Face 课程:https://huggingface.co/learn
- Qwen 官方仓库:https://github.com/QwenLM/Qwen2.5
- AutoDL 云平台:https://www.autodl.com
- Kaggle 免费 GPU:https://www.kaggle.com
如果需要针对特定场景(如情感对话、客服、角色扮演)定制训练方案,可以进一步调整数据格式和训练参数。 ok啊,我1800条数据也是训练的40分钟了..太慢了!!
基于qwen0.5b参数的训练
http://mblog.linghantech.top/posts/基于qwen05b参数的训练/分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
最后更新于 ,距今已过 12 天
部分内容可能已过时