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-kernel(apply_liger_kernel_to_qwen3_5,rope=False)flash-attn 2.x(FA3 未在 Qwen3.5 路径启用)bitsandbytes(paged_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 知识题库 / 病案生成打分),本仓库未提供
⚠️ 已知局限
- 不是对话模型 — 直接发问会输出补全式长文,不是 Q&A。需要 SFT 阶段或叠加对话适配器
- 可能输出古文 — ~27% 训练数据是文言文典籍,所以问某些问题时模型可能以古文风格回答
- 西医能力有限 — 仅
tcmBooks和部分tcmKnowledge包含西医基础,未做系统西医训练 - 存在幻觉风险 — CPT 后未经过 RLHF 对齐,对超出训练数据的医学问题可能编造处方
- 不构成医疗建议 — 本模型仅供学术研究,严禁用于真实诊疗
🚫 不能用于
- ❌ 真实临床诊疗决策
- ❌ 药品/剂量开具
- ❌ 替代执业医师判断
- ❌ 紧急医疗情况处理
训练流程 (Pipeline)
Phase 1 (当前): CPT (已完成)
└─ 输入: Qwen3.5-9B 基座
└─ 数据: 53.2 万条中医文本
└─ 输出: 本仓库的 LoRA 适配器
Phase 2 (下一步): SFT (计划中)
└─ 输入: 已合并 CPT 的基座
└─ 数据: ~2.6M 条 SFT 数据 (TCM_SFT + ChatMed + SHENNONG-600K + 翻译对下采样)
└─ 输出: 对话版 LoRA 适配器
引用与致谢 (Citation)
数据来源:
- Author: SylvanL
- Email: sl18n19@soton.ac.uk
- License: Apache-2.0
- 仓库: SylvanL/Traditional-Chinese-Medicine-Dataset-Pretrain
基础模型: Qwen/Qwen3.5-9B(Apache-2.0)
关键训练加速: Liger Kernel、FlashAttention
- Downloads last month
- 7