医疗大模型微调实践:从任务定义到领域落地的技术笔记
最近在团队里负责医疗方向的大语言模型应用,踩了不少坑,也沉淀了一些思路。
为什么是医疗场景
大模型通用能力很强,但一旦落到垂直领域,尤其是医疗这种专业壁垒高、容错率低的场景,通用模型的表现往往不够稳定。医疗文本里有大量专业术语、缩写、否定表述、时间序列信息,还有严格的逻辑推理要求。我们内部孵化的医疗健康业务线,就是希望把开源大模型(llama、qwen 这类)进一步调优,让它们在医学问答、报告结构化、文本理解等任务上达到可用的水平。
我们目前在做的几件事
- 任务定义与数据构建
医疗领域的问题不能直接拿通用对话数据来训。我们会针对具体任务,比如"从病历中抽取关键症状和诊断结论",先定义清楚任务流程,再决定需要什么样的数据。数据来源一部分是公开的中文医疗数据集,另一部分要靠团队内部标注和清洗。难点在于医疗数据的敏感性,脱敏和质量控制是绕不开的环节。我们花了大量时间做数据去噪和格式统一,确保微调数据里不包含隐私信息。
- 微调策略选择
目前主要尝试的是 LoRA 和全参微调的结合。对于 qwen 这类中文友好的模型,在医疗问答任务上做 LoRA 就能看到明显提升;但如果是报告生成这类需要长文本一致性的任务,就需要更谨慎地调整训练参数。另外我们也在做人工反馈对齐(类似 RLHF 的思路),用医生标注的偏好数据来优化生成质量。
- 提示工程与工具调用
不是所有问题都要靠微调解决。很多医疗场景其实可以拆解成"检索 + 生成"的模式,比如先通过向量数据库召回相关医学文献,再用大模型做摘要。我们也在尝试让模型调用外部工具插件,比如药品查询 API、检查指标参考范围库,这样能降低幻觉风险。
- 生成质量评估
医疗场景下很难用单一的 BLEU 或 ROUGE 来评判。我们内部构建了一套包含专业性、准确性、完整性和安全性的评估维度,部分依赖医生人工审核。这个过程虽然慢,但对迭代方向很有指导意义。
团队与技术环境
我们团队属于一家有支付和金融科技背景的头部公司,总部在深圳,有自己的办公楼。医疗健康是内部孵化的新业务,算法团队刚刚起步,所以现在过来可以参与从 0 到 1 的搭建。组里目前比较务实,不推崇无意义加班,项目节奏稳定。
福利方面比较齐全:五险一金按深圳标准,额外有补充商业保险、餐补、加班打车报销、年度体检和带薪年假。因为业务线新,成长空间相对大,适合希望在医疗 AI 方向深耕的同学。
一些感受
做医疗大模型和做通用 NLP 最大的区别在于,你需要对领域知识有敬畏心。模型生成一句话很容易,但要保证它不误导患者或医生,背后要做的工作量是成倍的。不过也正是这种挑战,让这件事变得有意思。
医疗 NLP 或大模型落地,敲门敲门哈。