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