近来,工作偏向于心理医疗领域方面的大模型,仅从领域大模型的落地,聊聊个人的一些思考。
硬件
准备好花钱买GPU。
领域大模型
业务场景的思考
首先需要审视斟酌业务领域的特殊性与可行性,我们要做的是心理领域,而心理领域倾向于医患对话,即询问链 的场景;不仅仅是一问一回答的角度,而作为智能体(AI模型/医生)还需要 对患者的回答进行 引导/打分,且作为问询对话场景,对话上下文的长度必然不会少,这也是需要考虑的问题。其次,治疗时的患者,会处于不同的治疗阶段,就需要做不同的治疗,治疗的侧重点就会不一样。
总之,在实际开展的前期,对业务领域的场景与方向需要与产品不断的打磨研究,分析出产品的方向场景及特殊性。
开源模型
摸着石头过河------目前医疗、金融等领域已经有很多的开源模型,作为技术储备与预研,极其需要对已有的开源模型做一些调研。如下是我个人觉得不错且对于我们的场景可以借鉴的医疗模型:
对于开源模型的研究,不仅仅是跑demo,没有什么用处,毕竟又不能直接拿过来落地------现在很多的模型都只是丢个训练完的模型文件上来,最关键的训练数据、业务流程、训练流程、调试代码并没有放上来;这类开源库参考意义不大。
如下几点是我比较看重的:
- 训练数据及格式
- 微调框架(官方、开源)
- 业务流程
- 训练流程及代码
- 训练方式
- 是否支持微调
业务流程
对比上述的模型,灵心模型的场景及应用和我们的业务极度贴近,但官方只是给了模型文件部署,并没有提供相关的训练数据也不支持微调。所幸,其业务流程还是很详细,给我们的业务落地也提供了参考。
训练流程及代码
而CareGPT与MedicalGPT两个模型给我提供了详细的训练流程参考:
- 第一阶段:PT(Continue PreTraining)增量预训练,在海量领域文档数据上二次预训练AI模型,以适应领域数据分布。
- 第二阶段:SFT(Supervised Fine-tuning)有监督微调,构造指令微调数据集,在预训练模型基础上做指令精调,以对齐指令意图,并注入领域知识。
- 第三阶段
- RLHF(Reinforcement Learning from Human Feedback)基于人类反馈对语言模型进行强化学习,分为两步:
- RM(Reward Model)奖励模型建模,构造人类偏好排序数据集,训练奖励模型,用来建模人类偏好,主要是"HHH"原则,具体是"helpful, honest, harmless"。
- RL(Reinforcement Learning)强化学习,用奖励模型来训练SFT模型,生成模型使用奖励或惩罚来更新其策略,以便生成更高质量、更符合人类偏好的文本。
- DPO(Direct Preference Optimization) 直接偏好优化方法,DPO通过直接优化语言模型来实现对其行为的精确控制,而无需使用复杂的强化学习,也可以有效学习到人类偏好,DPO相较于RLHF更容易实现且易于训练,效果更好。
- RLHF(Reinforcement Learning from Human Feedback)基于人类反馈对语言模型进行强化学习,分为两步:
针对如上阶段,开源模型有对应阶段的脚本已实现,最好是可以一键执行。
训练数据及格式
数据的质量与格式,在这些开源模型都是有的;而且对我们的业务来说,多轮对话是很常见的,因此怎么样让数据更紧凑更小,但不损坏数据质量,是我们需要审视的。
扁鹊与灵心 领域模型的数据格式是我蛮满意的,而且极度满足我们的业务场景:
json
input: "病人:六岁宝宝拉大便都是一个礼拜或者10天才一次正常吗,要去医院检查什么项目\n医生:您好\n病人:六岁宝宝拉大便都是一个礼拜或者10天才一次正常吗,要去医院检查什么项目\n医生:宝宝之前大便什么样呢?多久一次呢\n病人:一般都是一个礼拜,最近这几个月都是10多天\n医生:大便干吗?\n病人:每次10多天拉的很多\n医生:"
target: "成形还是不成形呢?孩子吃饭怎么样呢?"
同时,在不同的治疗阶段,治疗的侧重点也是不一样的,指令instruction
的引导与数据的场景化显得尤为重要。
训练方式
训练方式决定着,采取怎样的训练形式------微调训练/多阶段训练。基于官方微调文档的训练还是开源微调框架的训练,都是不一样的。
目前来说,越来越多的领域模型是基于开源微调框架来做的微调训练,微调框架比如LLaMA-Factory;相比较官方文档来说,开源微调框架的流程更清晰,微调策略更多样、训练阶段更完善、且支持的数据格式也多种。
MVP
MVP是最小可行性产品英文的首字母缩写,是企业用最小的成本开发出可用且能表达出核心理念的产品版本,使其功能极简但能够帮助企业快速验证对产品的构思。
准备好AI模型与服务器后,按上述的流程实现一个MVP,以供产品人员试用、客户演示、进而实现项目最小闭环;最终就是走向产品迭代,不断演进。
首发于个人公众号