跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Qwen3.5-4B 微调实战:基于 LLaMA-Factory 构建医疗 AI 助手

介绍使用 LLaMA-Factory 框架对 Qwen3.5-4B 模型进行 LoRA 微调,构建医疗领域 AI 助手的完整流程。涵盖硬件要求、环境搭建、数据集准备、训练配置、效果测试及模型部署等关键步骤,并提供显存优化方案与常见问题排查指南。

安卓系统发布于 2026/4/6更新于 2026/5/2325 浏览
Qwen3.5-4B 微调实战:基于 LLaMA-Factory 构建医疗 AI 助手

**核心工具链:**LLaMA-Factory + Qwen3.5-4B + 医疗问答数据集

Qwen3.5 是阿里最新发布的千问系列模型,4B 参数量刚好卡在"效果够用 + 显存友好"的甜蜜点;LLaMA-Factory 则是目前开源社区最成熟的微调框架,上手简单,坑也相对少。

准备工作

先说硬件要求。4B 模型用 LoRA 微调的话,一张 12GB 显存的显卡就够了(比如 RTX 4070)。如果手头只有 8GB 显存的卡,可以上 QLoRA 量化方案,牺牲一点精度换显存空间。

微调方式4B 模型显存需求推荐显卡
LoRA (16-bit)~10-12 GBRTX 4070 / RTX 3090
QLoRA (8-bit)~6-8 GBRTX 4060 / RTX 3070
QLoRA (4-bit)~4-6 GBRTX 3060

软件环境这边,建议 Python 3.11+,PyTorch 2.0 以上。CUDA 版本最好 12.x,兼容性更好。

下载 Qwen3.5-4B 模型

模型从魔搭社区下载,国内速度很快:

# 安装 modelscope
pip install modelscope
# 方式一:Python 代码下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3.5-4B')
print(f"模型已下载到:{model_dir}")
# 方式二:命令行下载
modelscope download --model Qwen/Qwen3.5-4B --local_dir ./models/Qwen3.5-4B

**注意:**模型大约 9.3GB,建议挂个代理或者选择网络好的时间段下载。下载完记得检查一下文件完整性。

搭建 LLaMA-Factory 环境

LLaMA-Factory 的安装很直接:

# 克隆仓库
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
# 安装依赖
pip install -e .
pip install -r requirements/metrics.txt
# 如果需要 DeepSpeed 加速(可选)
pip install -r requirements/deepspeed.txt

装完之后可以跑一下测试命令确认环境没问题:

llamafactory-cli version

准备医疗数据集

数据集是微调效果的关键。这里用的是开源的中文医疗问答数据,主要来自几个渠道:

数据来源推荐: GitHub 上有个 llm-medical-data 仓库,整理了几十万条医疗问答数据,覆盖内科、外科、妇产科、儿科等科室。另外 HuggingFace 上的 shibing624/medical 数据集也不错,格式比较规范。

LLaMA-Factory 要求的数据格式是这样的:

[
  {
    "instruction": "你是一个专业的医疗助手,请根据患者描述给出建议。",
    "input": "我最近总是头痛,尤其是下午的时候,已经持续一周了。",
    "output": "持续性头痛需要关注。建议您先排除以下几个常见原因:1)睡眠质量,2)用眼过度,3)颈椎问题。如果休息后仍不缓解,建议到医院神经内科就诊,做个头部 CT 检查。"
  },
  {
    "instruction": "你是一个专业的医疗助手,请根据患者描述给出建议。",
    "input": "孩子 3 岁,发烧 38.5 度,要不要去医院?",
    "output": "38.5 度属于中度发热。可以先在家观察处理:1)物理降温,温水擦拭腋下、腹股沟;2)保持室内通风;3)多喝水。如果体温超过 39 度、持续超过 3 天、或出现精神萎靡、抽搐等情况,需要立即就医。"
  }
]

把处理好的数据放到 data/目录下,然后在 data/dataset_info.json 里注册:

{
  "medical_qa": {
    "file_name": "medical_qa.json",
    "columns": {
      "prompt": "instruction",
      "query": "input",
      "response": "output"
    }
  }
}

开始微调

配置文件是整个流程的核心。在 examples/train_lora/下创建一个 qwen35_medical_lora.yaml:

### 模型配置 ###
model_name_or_path: ./models/Qwen3.5-4B
trust_remote_code: true
### 微调方法 ###
stage: sft
do_train: true
finetuning_type: lora
lora_rank: 64
lora_alpha: 128
lora_target: all
### 数据集配置 ###
dataset: medical_qa
template: qwen3
cutoff_len: 2048
preprocessing_num_workers: 8
### 训练参数 ###
output_dir: ./output/qwen35_medical_lora
per_device_train_batch_size: 2
gradient_accumulation_steps: 8
learning_rate: 1.0e-4
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
logging_steps: 10
save_steps: 500
### 显存优化 ###
bf16: true
gradient_checkpointing: true

参数解读: • lora_rank: 64 —— LoRA 秩,越大表达能力越强,但显存占用也越大 • lora_target: all —— 对所有线性层应用 LoRA,效果更好 • gradient_checkpointing: true —— 用时间换空间,降低显存占用

一切就绪,启动训练:

llamafactory-cli train examples/train_lora/qwen35_medical_lora.yaml

训练过程中可以通过 TensorBoard 监控 loss 曲线:

tensorboard --logdir=./output/qwen35_medical_lora/runs

在 RTX 4090 测试环境下,1 万条数据训练 3 个 epoch 约需 40 分钟。

测试效果

训练完成后,先在命令行跑个快速测试:

llamafactory-cli chat examples/inference/qwen35_medical_lora.yaml

对应的推理配置文件 qwen35_medical_lora.yaml:

model_name_or_path: ./models/Qwen3.5-4B
adapter_name_or_path: ./output/qwen35_medical_lora
template: qwen3
finetuning_type: lora

实测下来,微调后的模型在医疗问答上明显比原版更专业。比如问"孕妇能不能吃螃蟹",原版模型可能给个模棱两可的回答,微调后的版本会从中医寒凉属性、现代营养学、个体差异等多个角度分析,更像一个有经验的医生。

导出和部署

如果效果满意,可以把 LoRA 权重合并到基座模型里,方便后续部署:

llamafactory-cli export examples/merge_lora/qwen35_medical_merge.yaml

合并配置:

model_name_or_path: ./models/Qwen3.5-4B
adapter_name_or_path: ./output/qwen35_medical_lora
template: qwen3
finetuning_type: lora
export_dir: ./models/Qwen35-Medical
export_size: 2
export_device: cuda
export_legacy_format: false

合并后的模型可以直接用 vLLM 或者 SGLang 部署成 API 服务:

# vLLM 部署
pip install vllm
vllm serve ./models/Qwen35-Medical --port 8000
# 或者 LLaMA-Factory 内置的 API 服务
API_PORT=8000 llamafactory-cli api examples/inference/qwen35_medical.yaml

常见问题排查

分享几个常见问题:

1. 显存不够用

把 per_device_train_batch_size 调小,或者启用 gradient_checkpointing。实在不行就上 4-bit 量化。

2. Loss 不下降

检查数据格式是否正确,尤其是 dataset_info.json 里的字段映射。另外学习率不要设太大,1e-4 到 5e-5 之间比较稳。

3. 微调后模型变傻了

可能是数据质量问题,或者训练轮数太多导致过拟合。适当减少 epoch 数,或者在数据里混入一些通用对话保持泛化能力。

医疗领域的 AI 应用一定要注意:模型输出仅供参考,不能替代专业医生的诊断。在产品设计时要做好免责声明和人工审核机制。

目录

  1. 准备工作
  2. 下载 Qwen3.5-4B 模型
  3. 安装 modelscope
  4. 方式一:Python 代码下载
  5. 方式二:命令行下载
  6. 搭建 LLaMA-Factory 环境
  7. 克隆仓库
  8. 安装依赖
  9. 如果需要 DeepSpeed 加速(可选)
  10. 准备医疗数据集
  11. 开始微调
  12. 模型配置
  13. 微调方法
  14. 数据集配置
  15. 训练参数
  16. 显存优化
  17. 测试效果
  18. 导出和部署
  19. vLLM 部署
  20. 或者 LLaMA-Factory 内置的 API 服务
  21. 常见问题排查
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • NFT 元数据去中心化存储与智能合约集成实战
  • AI 数据标注平台选型实践:效率提升背后的技术逻辑
  • Ubuntu 22.04 下基于 ROS2 Humble 的 PX4 无人机仿真环境搭建
  • 大模型推理服务框架 Ollama 一键部署指南
  • DFT 中的片上时钟控制器(OCC)架构设计与插入规则
  • 基于 ESP32 的无人机飞控 LOG 记录:SD NAND 存储方案测试
  • 从零开始构建简单 RAG 应用指南
  • Vue Print Designer 前端可视化打印设计器详解
  • 性能测试、敏捷开发与全排列算法实战
  • OpenClaw QQ 机器人接入指南
  • Java Web 开发入门指南:基础、环境与核心技术
  • Microsoft GSL 实战:解决 C++ 内存安全问题的方法
  • VS Code 配置 AI Agent Skills 详细步骤
  • Python 新手 LeetCode 快速刷题指南
  • 解决 IDEA 中 java.lang.ExceptionInInitializerError TypeTag UNKNOWN 错误
  • OpenClaw 配置飞书机器人完整指南
  • C++ 递归入门:汉诺塔问题的思路与实现
  • IronClaw 简介、安装使用方法与案例应用
  • C++11 核心特性:Lambda 表达式与函数包装器详解
  • C++ 面试核心考点:内存管理、编译机制与类型系统

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online