Qwen3.5-9B-TCM-CPT (Stage 1)

这是 Qwen3.5-9B 在中医领域继续预训练 (CPT) 后的 LoRA 适配器,是两阶段训练流程的第一阶段产物。

⚠️ 此版本只完成 CPT(知识注入),未做 SFT(指令微调)。 直接用于对话会输出"补全式"长文本,不是 Q&A 格式。如需对话能力,请叠加 SFT 适配器或继续第二阶段训练。


模型说明 (Model Overview)

基础模型: Qwen/Qwen3.5-9B 适配器类型: LoRA (CPT 阶段) 合并方式: 推理前需 merge_and_unload() 合并到基座权重(见下方使用说明) 主要语言: 简体中文(夹杂 30% 古文原文,因典籍数据为文言文)

本模型通过在 53.2 万条非网络来源的中医高质量文本 上做 1 epoch 继续预训练获得。训练集覆盖范围(详见下文"训练数据"章节的客观描述):

  • 中医临床病案与诊疗记录
  • 688 本古今中医典籍原文
  • 中医百科词条和术语解释
  • 中西医结合科目的基础医学知识

训练数据 (Training Data)

来自 SylvanL/Traditional-Chinese-Medicine-Dataset-Pretrain 的镜像快照(TCM_PRETRAIN/ 目录)。

总计 532,512 条样本,tokenize 后约 1.7 亿 token,全部按 2048 长度 packing 为 83,448 个训练块

子数据集 文件 样本数 来源描述
CPT_medicalRecord_source1_61486 高水平执业中医临床问诊记录(含问诊引导/主诉/诊断/方剂),人工脱敏 61,486 内部数据,未曾公开
CPT_medicalRecord_source2_15307 某知名教授的临床病案,Qwen2.5-14B 脱敏 + 人工二次校对 15,307 内部数据,未曾公开
CPT_medicalRecord_source3_230000 某中医院 EMR 系统归档医案,规则联表拼接 230,000 内部数据,未曾公开
CPT_medicalRecord_source4_48665 知名教授临床病案(含证型),人工脱敏 48,665 内部数据,未曾公开
CPT_tcmBooks_source1_146244 688 本中医典籍(从 pdf/word/html/chm 整理),含方剂学/中药学/中医内科学等教材 + 古代著作(黄帝内经/伤寒论/本草纲目等) 146,244 网络来源,内部校对
CPT_tcmKnowledge_source1_17921 "中国中医药信息查询平台"百科词条(疾病/症状/方剂/中药材/针灸穴位等) 17,921 网络来源,校对
CPT_tcmKnowledge_source2_12889 ICD-10 + 中医国标术语详解,方剂/中药/针灸配穴 12,889 内部编辑

质量分布:

  • 高质量(人工编辑病案 + 平台百科)≈ 30%(~16 万条)
  • 中等质量(EMR 规则拼接)≈ 43%(~23 万条)
  • 典籍原文(文言文为主)≈ 27%(~15 万条)

未做 minHash 去重(源数据集未做),可能有少量跨文件重复。


训练配置 (Training Configuration)

硬件与环境

  • GPU: NVIDIA RTX 5090 (32GB)
  • 框架: HuggingFace Transformers + PEFT + Liger Kernel
  • 关键库:
    • liger-kernelapply_liger_kernel_to_qwen3_5rope=False
    • flash-attn 2.x(FA3 未在 Qwen3.5 路径启用)
    • bitsandbytespaged_adamw_8bit

超参数

备注
Precision bf16
Learning rate 1.5e-5
LR scheduler cosine, warmup_ratio=0.03
Optimizer paged_adamw_8bit 显存省 40%
save_total_limit 3

训练曲线

  • 总步数: 2,318(1 epoch 全量)
  • Loss: 2.1711 → 1.7577 (下降 19.0%)
  • 末段状态: loss 在 1.72-1.78 之间小幅震荡,已收敛饱和,无需继续训练

使用方式 (Usage)

1. 加载并合并 LoRA

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3.5-9B",
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
model = PeftModel.from_pretrained(base, "your-username/Qwen3.5-9B-TCM-CPT")
model = model.merge_and_unload()  # 关键:合并到基座

# 保存完整模型(可选)
model.save_pretrained("./qwen3.5-9b-tcm-cpt-merged")

2. 推理

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("your-username/qwen3.5-9b-tcm-cpt-merged")

# 注意: CPT 模型是"补全"风格,不是 chat 风格
prompt = "中医治疗消渴病的核心病机是"

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
    **inputs,
    max_new_tokens=512,
    do_sample=True,
    temperature=0.7,
    top_p=0.9,
    repetition_penalty=1.1,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

⚠️ 重要事项 (Important Notes)

📚 训练数据涵盖的知识范围(客观描述训练分布)

以下是训练数据的事实组成,不是已验证的模型能力。Loss 从 2.17 降到 1.76 仅代表模型在训练分布上学到了统计模式。

本模型训练数据由 7 个子集构成,覆盖以下内容:

1. 中医临床病案(35.5 万条,占比 66.8%)

  • 61K 条高水平执业中医问诊记录(含问诊引导/主诉/诊断/方剂/中药),人工脱敏
  • 15K 条知名教授临床病案(Qwen2.5-14B 脱敏 + 人工校对)
  • 230K 条中医院 EMR 归档病案(规则联表拼接,质量中等)
  • 49K 条知名教授病案(含证型)
  • 涵盖:患者主诉、辨证、立法、处方、用药

2. 中医典籍原文(14.6 万条,占比 27.5%)— 688 本书

  • 古代典籍(文言文,~89K 条):《伤寒论》《金匮要略》《黄帝内经》《难经》《神农本草经》《本草纲目》《医宗金鉴》《证类本草》《圣济总录》《备急千金要方》《外台秘要》《针灸甲乙经》《针灸大成》等约 400+ 部
  • 古代医案(文言文,~5K 条):《续名医类案》《古今医案按》《临证指南医案》《吴鞠通医案》《丁甘仁医案》等 50+ 部
  • 现代中医教材(白话,~9K 条):《方剂学》《中药学》《中医内科学》《中医诊断学》《中医基础理论》《中医妇科学》《针灸学》《温病学》等 18 本
  • 完整清单见 tcm_books_list.md

3. 中医百科与术语(3.1 万条,占比 5.8%)

  • 18K 条"中国中医药信息查询平台"百科词条:疾病、症状、医疗美容、药品、中药材、保健品、方剂、药膳食疗、针灸穴位
  • 13K 条 ICD-10 / 中医国标术语详解(涵盖方剂、中药材、针灸配穴)

4. 西医基础(1.6 万条,占比 3.0%)

  • 65 本西医教材:《人体解剖学》《生理学》《生物化学》《病理学》《药理学》《内科学》《外科学》《妇产科学》《儿科学》《免疫学》《传染病》《急诊医学》等
  • 若干西医家庭医学百科

5. 中西医结合临床(5K 条医案 + 1K 条其他)

  • 古代医案全集含近现代中西医汇通案例
  • 中医医院药学 / 临床应用指南等参考用书

⚠️ 未做能力评估

上述只是训练数据的覆盖范围,不代表模型已具备对应能力。例如:

  • 数据中包含《伤寒论》136 条原文,不等于模型能准确背诵或正确引用
  • 数据包含 35 万条病案,不等于模型能给出符合临床规范的辨证论治
  • 评估需独立 benchmark(如 TCM 知识题库 / 病案生成打分),本仓库未提供

⚠️ 已知局限

  1. 不是对话模型 — 直接发问会输出补全式长文,不是 Q&A。需要 SFT 阶段或叠加对话适配器
  2. 可能输出古文 — ~27% 训练数据是文言文典籍,所以问某些问题时模型可能以古文风格回答
  3. 西医能力有限 — 仅 tcmBooks 和部分 tcmKnowledge 包含西医基础,未做系统西医训练
  4. 存在幻觉风险 — CPT 后未经过 RLHF 对齐,对超出训练数据的医学问题可能编造处方
  5. 不构成医疗建议 — 本模型仅供学术研究,严禁用于真实诊疗

🚫 不能用于

  • ❌ 真实临床诊疗决策
  • ❌ 药品/剂量开具
  • ❌ 替代执业医师判断
  • ❌ 紧急医疗情况处理

训练流程 (Pipeline)

Phase 1 (当前): CPT (已完成)
  └─ 输入: Qwen3.5-9B 基座
  └─ 数据: 53.2 万条中医文本
  └─ 输出: 本仓库的 LoRA 适配器

Phase 2 (下一步): SFT (计划中)
  └─ 输入: 已合并 CPT 的基座
  └─ 数据: ~2.6M 条 SFT 数据 (TCM_SFT + ChatMed + SHENNONG-600K + 翻译对下采样)
  └─ 输出: 对话版 LoRA 适配器

引用与致谢 (Citation)

数据来源:

基础模型: Qwen/Qwen3.5-9B(Apache-2.0)

关键训练加速: Liger KernelFlashAttention


Downloads last month
7
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for arthur789/qwen3.5-9b-tcm-cpt

Finetuned
Qwen/Qwen3.5-9B
Adapter
(598)
this model