Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Deepspeed、LLM、Medical_Dialogue、医疗大模型、预训练、微调
| Date | Stars |
|---|---|
| 2026-07-31 | 314 |
| 2026-08-06 | 314 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# 📊 LLM-Pretrain-FineTune
> **Deepspeed · LLM · Medical_Dialogue · 医疗大模型 · 增量预训练 · 微调 · 指令多样化 · 模型层拆分堆叠**
## 1. 项目概述
这是一个**中文医疗大语言模型(LLM)增量预训练和微调**的完整工作流项目,覆盖从数据合成、指令多样化改写、数据过滤、模型预训练、指令微调到模型保存/转换的端到端解决方案。
**核心亮点:**
- 🧬 **GenRM 数据合成与过滤**:基于生成式奖励模型的高质量医疗答案合成与质量筛选
- 🔄 **指令多样化改写**:三级改写强度(轻度/中度/重度)驱动指令表达形式多样性,提升模型泛化能力
- 🧠 **混合思维训练**:非Think + 独立Think + 混合Think 三种训练模式
- ⚡ **高性能训练**:DeepSpeed ZeRO-3 + CPU Offload + Flash Attention 2 + Liger Kernel
---
## 2. 顶层目录结构
```
LLM-Pretrain-FineTune/
├── Data_Synthesis/ # 医疗数据合成(答案生成 + GenRM优选)
│ ├── prompts.py # 合成提示模板(GenRM选择模式 + 质量评估)
│ └── synth_data.py # 异步数据合成工作流(含断点续传)
├── Instruction_Rewriter/ # 指令多样化改写(提升模型泛化性)
│ ├── api_config.py # LLM API 配置
│ ├── prompts.py # 改写与校验提示词模板
│ ├── instruction_rewriter.py # 核心改写引擎(三级强度 + 语义校验)
│ └── run_rewrite.py # 命令行入口
├── Sft_Data_Filter/ # SFT 数据质量过滤
│ ├── data_filter.py # 基于 Judge 模型的质量验证
│ ├── Verifier_Prompts.py # 验证器提示模板(有/无参考答案)
│ └── SFT_PostFilter.py # 分层后处理筛选(按 correct_count 采样)
├── LayerCake/ # 🆕 零训练层操作工具集
│ ├── layer_probing.py # 模型层知识探测(Logit Lens + Knockout)
│ ├── LayerStack/ # 层堆叠(模型扩展)
│ │ ├── layer_stacking.py # Dense 模型层堆叠
│ │ └── layer_stacking_moe.py # MoE 模型层堆叠
│ └── LayerCut/ # 层剪枝(模型压缩)
│ ├── layer_importance_moe.py # MoE 模型块冗余度分析
│ └── layer_pruning_moe.py # MoE 模型层剪枝
├── examples/ # 示例截图
│ ├── report.png # 报告解读示例
│ ├── dialogue.png # 多轮对话示例
│ ├── medical_consult.png # 医疗问答示例
│ ├── harmlessness.png # 无害性回复示例
│ ├── genechat.png # 单轮转多轮对话示例
│ └── kb_instruction.png # 知识库 Prompt 示例
├── Model_MIX.py # 核心训练脚本(混合思维 + 混合预训练/微调)
├── model_convert16save.py # 训练后模型保存/转换(支持 Qwen3.5 / VL 模型)
├── ds_config.json # DeepSpeed ZeRO-3 配置
└── README.md # 项目文档
```
---
## 3. 主要模块详解
### 3.1 Data_Synthesis(数据合成)
从原始医疗问题出发,调用大模型生成高质量候选答案,并通过 GenRM 机制筛选最优结果。
**`synth_data.py`** — 异步数据合成工作流,核心流程:
1. 读取原始问题数据
2. 为每个问题调用大模型生成 **N 个候选答案**(默认 4 个)
3. 使用 **GenRM 同行评议选择模式**从候选中挑出最优答案
4. 通过**质量评估**(满分 100 分,阈值 0.9 筛选)
5. 输出带 `reasoning_content` 和 `score` 的结构化数据
6. 支持**断点续传**(`load_existing_ids`)
**`prompts.py`** — 包含两个核心 Prompt 模板:
| 模板 | 用途 |
|------|------|
| `SELECTION_PROMPT_TEMPLATE` | GenRM 同行评议:从多个候选中选出最优答案 |
| `check_prompt` | 答案质量评估:医学准确性、语言表达等多维度评分 |
---
### 3.2 Instruction_Rewrite(指令多样化改写)🆕
> **目的**:通过对 SFT 指令(task_prompt)进行表达形式多样化改写,增加微调数据的指令多样性,从而**提升模型的泛化能力和鲁棒性**,避免模型对特定指令措辞过拟合。
#### 设计理念
```
原始指令(单一表达)──→ [三级改写引擎] ──→ 多样化指令变体(5x~8x 扩充)
↑ │
└──── [语义一致性校验] ← 9 维检查清单 ←──────┘
```
**核心原则:**
- **形式可变,语义不变**:医学规则、诊断逻辑、质控原则等业务核心保持 100% 一致
- **占位符保护**:`{medical_text}` 等输入占位符绝对不可变
- **格式独立管理**:`output_formate` 字段完全独立,不参与改写,防止格式漂移
- **代码块修复**:自动检测并修复 LLM 在改写过程中篡改/丢失/新增的代码块
#### 三级改写强度
| 强度 | 名称 | 温度 | 行为 |
|------|------|------|------|
| 🌿 `light` | 轻度改写 | 0.60 | 保持结构不变,替换同义词、调整句式(主动 ↔ 被动)、微调标题编号 |
| 🌳 `medium` | 中度改写 | 0.75 | 重组段落结构、列表 ↔ 叙述互转、调整 Markdown 格式、改变角色设定措辞 |
| 🔥 `heavy` | 重度改写 | 0.85 | 大幅重构(平铺 ↔ 层级、文档式 ↔ 对话式 ↔ 步骤式)、可去 Markdown 改纯文本 |
**权重分配**:轻度 ~15% | 中度 ~55% | 重度 ~30%(硬性保证每条指令至少 1 个中度/重度变体)
#### 两级重试机制
确保每条指令都能产出有效改写结果:
1. **调用级重试**(默认 3 次):单次 LLM 调用失败时自动重试,每次微调 temperature 增加多样性
2. **批次级重试**(默认 3 批):整批变体全部失败时,重新生成全新一批
#### 九维语义校验
对每个改写结果进行自动化质量审核,覆盖以下维度:
| # | 检查维度 | 说明 |
|---|----------|------|
| 1 | 占位符完整性 | `{medical_text}` 是否原封不动保留 |
| 2 | 医学术语完整性 | 所有医学专业术语是否完整 |
| 3 | 错误类型/评判维度完整性 | 分类项是否一项不少 |
| 4 | 质控原则/限制条件完整性 | 规则语义是否未被扭曲 |
| 5 | 医学示例完整性 | 示例性文字是否保留 |
| 6 | 分析步骤完整性 | 步骤间逻辑关系是否保留 |
| 7 | 无新增约束 | 是否引入了原文不存在的新规则 |
| 8 | 无语义偏移 | 规则含义是否被改变 |
| 9 | 无格式冲突 | 是否自行发明了原文不存在的输出格式 |
#### 使用方式
```bash
# 1. 改写指定版本文件(每条指令生成 5 个变体,默认行为)
pythonExcerpt of 13,697 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b764a6fa41a706d0, llm:Repository description: 'Deepspeed、LLM、Medical_Dialogue、医疗大模型、预训练、微调' (Deepspeed, LLM, Medical Dialogue, medical large model, pretraining, fine-tuning).
matched fp:b764a6fa41a706d0, llm:Repository description: 'Deepspeed、LLM、Medical_Dialogue、医疗大模型、预训练、微调' (Deepspeed, LLM, Medical Dialogue, medical large model, pretraining, fine-tuning).
matched fp:b764a6fa41a706d0, llm:Repository description: 'Deepspeed、LLM、Medical_Dialogue、医疗大模型、预训练、微调' (Deepspeed, LLM, Medical Dialogue, medical large model, pretraining, fine-tuning).
matched fp:b764a6fa41a706d0, llm:Repository description: 'Deepspeed、LLM、Medical_Dialogue、医疗大模型、预训练、微调' (Deepspeed, LLM, Medical Dialogue, medical large model, pretraining, fine-tuning).