Qwen3-8B 临床心理学知识蒸馏 LoRA

基于 Qwen/Qwen3-8B 通过 LoRA SFT 微调的小模型,将英文临床心理学教材《Clinical Psychology: Science, Practice, and Diversity》(Andrew M. Pomerantz) 的知识蒸馏为中文问答能力,并额外训练了**"从日常对话中识别隐含心理困扰并温和开导"**的功能(例如老人说"不用做太多饭,反正我也没啥用了" → 识别出背后可能的无价值感/孤独/抑郁信号并共情引导)。

能力

  • 临床心理学知识问答(评估、诊断、各大心理治疗流派:精神动力学、人本主义、行为、认知/正念、团体与家庭治疗等)
  • 难言之隐检测与开导:对拐弯抹角/自我贬低/回避性表达,反映隐含感受、温和点出认知歪曲、传递陪伴与希望
  • 支撑 RAG:答案术语与检索 chunk 对齐

数据增强策略(对应"避免遗忘 + 支撑 RAG")

  1. RAG 对齐:问答对严格基于按章节切分的 chunk 生成,QA 与 RAG 文档使用同一文本单元,保证学到的知识与检索命中的内容一致。
  2. RAG 上下文样本:约 1/6 医学样本把检索片段前缀"【检索资料】"放进 user 输入,教会模型在推理时配合 RAG 片段作答。
  3. 难言之隐专项样本:36 类"隐晦表达→隐含信号→共情回复",并同时加入 RAG 文档作为可检索的场景条目。
  4. 防遗忘:混入约 13% 通用领域问答,避免小模型在细粒度微调中丢失底座通用能力。

训练方法

  • 基座:Qwen/Qwen3-8B,4bit QLoRA,r=16,use_rslora=True
  • 3 epochs,lr 2e-4 cosine,bf16,有效 batch 8
  • 训练集 2565 条(医学 2206 + 难言之隐 70 + 通用 289),eval 135

加载与推理

from unsloth import FastLanguageModel
import torch
model, tokenizer = FastLanguageModel.from_pretrained("Qwen/Qwen3-8B", max_seq_length=1536, load_in_4bit=True)
model.load_adapter("checkpoints/qwen3-8b-clinpsych-final/final")
text = tokenizer.apply_chat_template(
    [{"role":"user","content":"帮助我开导一下这个人。他/她说:“不用做太多饭,反正我也没啥用了”"}],
    tokenize=False, add_generation_prompt=True, enable_thinking=False)
enc = tokenizer(text, return_tensors="pt").to("cuda")
out = model.generate(enc.input_ids, attention_mask=enc.attention_mask, max_new_tokens=200)
print(tokenizer.decode(out[0][enc.input_ids.shape[1]:], skip_special_tokens=True))

RAG

随仓库提供 output/rag/(FAISS index.faiss + docs.json + meta.json,检索模型 BAAI/bge-small-zh-v1.5,703 条文档:667 章节 chunk + 36 难言之隐场景)。

免责声明 / 版权说明

  • 专业免责:本模型为教学/辅助用途,不能替代持证临床心理学家、精神科医师或心理咨询师的专业评估与诊疗。
  • 版权:本仓库仅分发 LoRA 权重、训练脚本与模型卡,不包含衍生自已出版教材原文的训练数据(尊重原书版权)。

脚本

见本仓库 scripts/:提取(extract_pdf.py)、分块(make_chunks.py)、QA 蒸馏(gen_qa.py)、难言之隐(gen_readbetween.py)、数据集(prep_train_final.py)、训练(train_lora_final.py)、RAG(build_rag.py/search_rag.py)、推理(infer_readbetween.py)。

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for chenhaodev/qwen3-8b-clinpsych-lora

Finetuned
Qwen/Qwen3-8B
Adapter
(2127)
this model