之前我写过用 Unsloth Studio 跑 4B 微调,又对照了 LlamaFactory,有人私信问:

“4B 跑通了,9B 我自己显卡能不能跑?” “训练数据格式我搞不清楚,到底要长什么样?”

这周用真实客服数据从 0 到 1 微调了 Qwen3.5:9b,跑通整个流程,RTX 4060 8GB 显存正好能上,下面把完整数据模板、超参、显存优化、效果验证都拆给你,看完就能直接套到你自己业务。

一、为什么是 9B 而不是 4B

之前那篇说"显存吃紧选 4B"。但只要你显存到 8GB(4060 / 4070 / 3060 12G 都行),9B 强烈优于 4B

维度qwen3.5:4b 微调后qwen3.5:9b 微调后
客服对话流畅度⭐⭐⭐⭐⭐⭐⭐⭐⭐
业务术语理解⭐⭐⭐ 偶尔走偏⭐⭐⭐⭐⭐ 几乎不出错
复杂多轮对话⭐⭐⭐ 三轮后失焦⭐⭐⭐⭐⭐ 八轮稳定
拒答边界⭐⭐⭐ 偶尔乱编⭐⭐⭐⭐⭐ 不知道就说不知道
训练耗时(500条)38 分钟1 小时 50 分钟

时间多花一倍,质量直接上一个台阶。真要部署用的,选 9B 别犹豫

二、客服数据集模板

数据质量是微调成败 70%。客服场景标准格式(JSONL,每行一条对话):

{"messages": [  {"role": "system", "content": "你是 X 公司的客服助手,专业、友好、简洁。只回答与本公司产品、订单、售后相关的问题;其他问题礼貌引导用户咨询人工客服。"},  {"role": "user", "content": "你们退货多久能到账?"},  {"role": "assistant", "content": "您好,退货商品我们签收后 1-3 个工作日内会原路退款到您的支付账户,请耐心等待哦。如果超过 3 个工作日还没到账,可以联系人工客服为您查询。"}]}

关键点(直接决定模型质量)

  1. system prompt 一定要写公司人设:模型会把人设当"灵魂"学进去,后面无 prompt 也保持风格
  2. 回复长度要"统一长短":训练 500 条全是一段话回复,模型就不会突然给你长篇大论。一致性 > 详尽
  3. 要覆盖拒答场景:放 50 条用户问无关问题、AI 礼貌引导的样本,否则模型啥都敢答
  4. 多轮对话要占 30%:现实客服很少一问一答,要训练上下文跟随
  5. 写 prompt 的人 ≠ 写 answer 的人:让客服主管或质检员写 answer 部分,prompt 由产品/运营写,能避免"自问自答风格雷同"

数据规模

数据量效果适用
100 条以下几乎学不会人设不要做
300-500 条风格学得到,但术语易错demo 验证
1000-3000 条推荐量,业务问题准确率 80%+实际部署
5000 条以上边际收益递减非必要别加

我这次实测 1200 条,下面的指标都是基于这个量。

三、训练前准备

装 Unsloth(之前装过可跳过)

pip install unsloth

数据预处理:把 JSONL 拆 90% 训练 / 10% 验证,先用 jq 简单分割:

shuf data.jsonl > shuffled.jsonlsplit -l 1080 shuffled.jsonl part_mv part_aa train.jsonlmv part_ab val.jsonl

下载模型

from unsloth import FastLanguageModelmodel, tokenizer = FastLanguageModel.from_pretrained(    model_name="unsloth/Qwen3.5-9B-Instruct-bnb-4bit",    max_seq_length=4096,    dtype=None,    load_in_4bit=True,)

第一次下载 5.2GB,国内慢的话设 HF_ENDPOINT=https://hf-mirror.com

四、LoRA 配置 + 训练

model = FastLanguageModel.get_peft_model(    model,    r=32,                    # LoRA 秩,9B 推荐 32    target_modules=[        "q_proj", "k_proj", "v_proj", "o_proj",        "gate_proj", "up_proj", "down_proj",    ],    lora_alpha=64,           # 一般 2 倍 r    lora_dropout=0,    bias="none",    use_gradient_checkpointing="unsloth",  # 关键省显存    random_state=42,)from trl import SFTTrainerfrom transformers import TrainingArgumentstrainer = SFTTrainer(    model=model,    tokenizer=tokenizer,    train_dataset=train_dataset,    eval_dataset=val_dataset,    max_seq_length=4096,    dataset_text_field="text",    args=TrainingArguments(        per_device_train_batch_size=1,        gradient_accumulation_steps=8,        warmup_steps=20,        num_train_epochs=3,        learning_rate=2e-4,        fp16=True,        logging_steps=10,        eval_steps=50,        save_steps=100,        output_dir="outputs",    ),)trainer.train()

关键参数我用 1200 条客服数据实测过的甜区:

参数我的值备注
LoRA 秩 r32客服场景不需要更高
alpha642 倍 r
学习率2e-49B 比 4B 稍高
epochs32 欠拟合,4 过拟合
batch × accum1 × 8等效 batch 8,4060 不爆
序列长度4096客服多轮够用

RTX 4060 实测

  • 显存峰值:7.6GB(4060 8GB 险胜)
  • 训练时间:1 小时 50 分钟
  • 训练 loss:从 1.84 降到 0.41
  • 验证 loss:从 1.78 降到 0.52(轻微过拟合,可接受)

五、效果验证:训练前 vs 训练后

我用 50 条没在训练集出现的真实客服问题做测试,两个模型同一份 prompt

测试维度原始 qwen3.5:9b微调后
是否首句问候23%96%
是否提"本公司"14%98%
回复长度 60-150 字41%89%
不知道时如实说32% 乱编87% 引导人工
业务术语正确76%95%

最直观差异:问"你们运费多少",原始模型会编一个"通常 8-15 元";微调后会答"我们包邮(满 99 元),未满 99 元收 6 元运费"——它学会了你的真实业务参数

六、导出给 Ollama 用

Unsloth 一键导出 GGUF:

model.save_pretrained_gguf("kefu-model", tokenizer, quantization_method="q4_k_m")

跑完得到 kefu-model.gguf(约 5.5GB)。给 Ollama 加载:

# ModelfileFROM ./kefu-model.ggufPARAMETER temperature 0.3PARAMETER num_ctx 4096SYSTEM "你是 X 公司的客服助手……"
``````plaintext
ollama create kefu -f Modelfileollama run kefu

接进 Open WebUI / FastAPI / Continue 都和普通模型一样。

七、客服微调避坑清单

  1. 不要用 ChatGPT 生成训练数据再去训练:很多人偷懒让 GPT 写 1000 条客服对话直接训,结果训出来的模型有"AI 味"——它学的是 GPT 的语气而不是你公司的。真人写 + 真业务样本才有效。
  2. 数据脱敏要彻底:训练数据里的真实姓名、手机号、订单号统一替换成占位符(<name><phone>)。否则模型会"记住"个别用户信息,泄露风险高。
  3. 拒答边界要训死:必须放至少 100 条"用户问无关问题,AI 礼貌引导"的样本,否则模型对法律 / 医疗 / 投资类问题敢瞎答。
  4. 业务术语统一:客服话术中"运费"还是"邮费"必须二选一,不一致模型会"学得糊涂"。我之前混着写,模型输出也跟着混乱。
  5. 训练完别在原模型上继续训:以为"再训一遍效果更好"——错。LoRA 重复训会让权重漂得越来越远,从训练好的 checkpoint 做小数据继续训前,先备份基线版本。
  6. 生产环境必上灰度:哪怕你测试集 95% 通过,也要先让微调模型回 5% 流量、人工抽查 3-5 天再扩。我第一次部署翻车的就是没做灰度,第一天模型把促销活动日期答错了 17 单。

八、行动建议

  • 有真实业务对话数据 500 条以上:今天就可以开训
  • 客服 / FAQ / 法务咨询等"风格 + 知识"场景:LoRA 微调是性价比最高的方案
  • 8GB 显存 4060 / 4070:Unsloth 4-bit QLoRA + 9B 正好够
  • 数据 < 200 条:先攒数据再训,硬训不如 prompt engineering
  • 想"训练事实记忆":让模型记最新政策这种任务用 RAG,不要用微调

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐