实战案例
三个由浅入深的例子:现成情感 Pipeline、无检索的小聊天、Trainer / LoRA 微调提纲。模型均为 ungated。
案例 1:情感分析 Pipeline
目标: 对英文短评打正负向,适合接入评论审核原型。
验证: 换几句明显褒贬的话,确认 POSITIVE / NEGATIVE 与分数。中文评论请换 Qwen 分类检查点或自己用中文数据微调 DistilBERT 中文版(本例是英文 SST-2)。
案例 2:无 RAG 的小聊天(generate)
目标: 多轮对话,不接向量库。有 GPU 用 Qwen;纯 CPU 可把 model_id 换成 distilbert/distilgpt2 并改为普通续写(无 chat template)。
这是无 RAG 聊天:知识只来自权重,会幻觉。要接文档请走本站 LangChain 或自建检索;只要稳定本地聊,用 Ollama 更省事。
案例 3:微调提纲(Trainer 或 LoRA)
路径 A — 分类(可在 CPU 上缩小数据): 按 微调训练 对 distilbert/distilbert-base-uncased + rotten_tomatoes 调用 trainer.train(),再 pipeline("text-classification", model=保存目录)。
路径 B — 因果 LM + LoRA(建议 GPU):
pip install peft- 准备若干
{"messages": [...]}或纯文本语料,map成input_ids/labels LoraConfig(task_type=TaskType.CAUSAL_LM, r=8, target_modules=["q_proj", "v_proj"])get_peft_model后交给Trainer,per_device_train_batch_size=1,必要时梯度累积- 只
push_to_hub适配器,模型卡写明底座是Qwen/Qwen2.5-0.5B-Instruct
显存: 全参微调 0.5B 都可能吃紧;7B 全参需要专业卡。OOM 时先降 batch、开 LoRA,而不是盲目换 Llama。