WSAI-Heart-Pro-Exp:升级到 2B,心理支持模型的新尝试

WSAI-Heart 发布后,我用同样的思路尝试了一个更大的版本。基座模型从 Qwen3.5-0.8B-Base 换成了 Qwen3.5-2B-Base,LoRA 训练层数也从 2 层增加到了 16 层。

和原版的区别

原版 WSAI-Heart 受限于基座模型大小和 LoRA 训练层数,回复质量和情绪理解能力都有局限。这次 Pro 实验版主要改了两点:

  1. 基座模型升级:从 Qwen3.5-0.8B-Base 换到 Qwen3.5-2B-Base,参数量提升到约 2B
  2. LoRA 训练层扩展:从 2 层增加到 16 层,训练覆盖率更高
对比项 WSAI-Heart WSAI-Heart-Pro-Exp
基座模型 Qwen3.5-0.8B-Base Qwen3.5-2B-Base
参数量 ~0.8B ~2B
LoRA 训练层数 2 层 16 层
模型文件大小 ~1.6GB ~4.2GB

训练过程

这次微调仍然使用 LlamaFactory 框架,采用全精度 LoRA,训练数据集为心理类对话数据。整个训练耗时约 5 天多。LoRA 覆盖 16 层(原版只有 2 层),训练覆盖更充分,模型学到的对话模式也更丰富。

Loss 曲线

Loss 曲线

特点

对话质量提升

更大的基座模型加上更多的 LoRA 训练层,回复质量相比原版有所提升,共情和情绪回应也更自然一些。

仍然支持端侧部署

模型文件从 1.6GB 增长到约 4.2GB,但个人设备仍然能跑。

多模态能力

模型保留了 Qwen3.5 的视觉理解能力,支持图像输入,微调时冻结了 VLM 部分。

免费开源

CC BY-NC-SA 4.0 许可证,免费使用和分享。

快速开始

Ollama(推荐)

1
2
ollama pull wangshen/wsai-heart-pro-exp
ollama run wangshen/wsai-heart-pro-exp

Transformers

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from transformers import AutoModelForCausalLM, AutoTokenizer

model_path = "./"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype="auto", device_map="auto")

messages = [
{"role": "system", "content": "你是一个温暖、有共情能力的心理支持助手。"},
{"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=512)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(response)

一些说明

这个版本标注为 Exp(实验版),主要用来验证训练策略和效果,后续会发布 WSAI-Heart-Pro 正式版。使用中如果发现问题,欢迎反馈。

另外,本模型不能替代专业心理咨询或医疗建议,仅供学习和参考。

致谢