您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[国金证券]:大模型微调指南:ChatGLM医药行业舆情精选策略 - 发现报告

大模型微调指南:ChatGLM医药行业舆情精选策略

2023-09-09高智威国金证券光***
大模型微调指南:ChatGLM医药行业舆情精选策略

在我们前期对于ChatGPT的相关研究中发现,虽然模型展现出了极强的通用领域各项能力,但投研人员也需要在保证数据安全的前提下有一个更加垂直领域的模型来辅助进行投研决策。而大语言模型的微调就提供了一种定制私有化大模型、提升器专业能力的方式。由于全量参数微调对于显卡的消耗巨大,我们着重介绍了各类PEFT(参数高效型)微调的方法和特点,其中P-Tuning和LoRA是两种目前表现较好的微调方式。 一般的微调包括定义任务并收集数据、数据加载及预处理、训练和评估这几个步骤。其中数据预处理时,我们需要首先将数据及标签转换为模型支持的数据格式,然后进行padding和truncation的处理以方便后续进行向量运算。选择合适的超参数后进行多轮训练,最终观察样本内和样本外的模型表现。 我们选用表现较好的LoRA模式针对前期部署的ChatGLM2进行微调。为实际测试模型的微调效果,我们在数据选择上,发现医药行业新闻对于公司的业绩影响推导逻辑链条会更加直接,对大模型而言更易于学习。首先进行了直接以收益率为标签进行训练,但发现微调后的模型在样本外的准确率极低,说明由于文本与收益率之间相关性较弱,难以使模型直接学习。 最终我们综合对比各大模型在中文金融领域的能力后,选择首先使用ChatGPT3.5的输出结果作为标签让ChatGLM2进行学习。结果发现,该标签质量较高,对于未来股价一段时间的超额收益率走势有一定的预测作用。且通过微调后,ChatGLM2也可以学到相应的逻辑推理能力,达到近似于ChatGPT3.5的预测效果,综合准确率达到0.9左右。而FinBERT模型微调后也有一定的提升,但表现略差于ChatGLM2。最终我们以微调后的ChatGLM2-LoRA模型所给出标签构建医药行业周度舆情精选策略,发现在不考虑手续费的情况年化超额收益率达到30%左右。不过由于个股新闻覆盖度的问题,策略换手较高,我们通过换手率缓冲的方式降低换手后,在单边千分之二的情况,策略的年化超额收益率依然有12.17%。充分说明,通过合适的标签令ChatGLM2进行微调学习,可以使其在特定领域能够达到与ChatGPT3.5类似的效果。是一种绝佳的能够在控制成本和数据隐私性安全的情况下使用大模型进行投研辅助的方式。 1、大语言模型基于上下文预测进行回答,不能保证回答准确性,由此可能产生误导影响用户判断。 2、不同的微调方式和超参数选择可能对微调效果产生较大影响,若模型产生过拟合,样本外失效可能会导致策略效果不及预期。 3、市场若出现超出模型预期的变化,过往逻辑链条适用性下降可能会导致策略失效,需要动态对模型进行微调以修正偏差。 内容目录 一、大语言模型的微调方式简介4 1.1大语言模型微调应用案例4 1.2大语言模型微调方法介绍5 二、微调的一般步骤7 三、LoRA微调实践9 3.1显卡资源消耗介绍9 3.2微调实践案例9 四、基于LoRA微调的ChatGLM2医药行业舆情精选策略10 4.1医药行业新闻文本概述10 4.2以超额收益率为标签的ChatGLM微调12 4.3ChatGPT、ChatGLM与FinBERT输出结果对比13 4.4ChatGPT与ChatGLM医药行业舆情精选策略对比17 4.5以ChatGPT3.5结果为标签的ChatGLM2模型微调18 总结21 风险提示22 图表目录 图表1:ChatGLM-6B与Med-ChatGLM模型输出效果对比4 图表2:BianQue模型输出示例5 图表3:ChatLaw模型输出示例5 图表4:LoRA微调原理示例6 图表5:BERT类模型完成MRPC和QQP任务准确率与本征维度d关系示例7 图表6:P-Tuning与FullFing-Tuning在不同模型效果比较7 图表7:大语言模型微调数据预处理的一般步骤8 图表8:大语言模型训练常见超参数及其含义8 图表9:梯度累积原理示意8 图表10:不同微调方式和超参数下消耗显存9 图表11:LoRA微调改变ChatGLM2认知对比——微调前10 图表12:LoRA微调改变ChatGLM2认知对比——微调后10 图表13:通过LoRA微调向ChatGLM2灌输知识10 图表14:医药行业新闻示例11 图表15:医药个股新闻词云11 图表16:医药新闻个股覆盖度12 图表17:以超额收益率为标签训练的loss变化12 图表18:以超额收益率为标签训练的样本内混淆矩阵13 图表19:以超额收益率为标签训练的样本外混淆矩阵13 图表20:文本分析预测超额收益率流程13 图表21:FinEval测评大模型排名14 图表22:ChatGPT3.5提问示例14 图表23:ChatGPT3.5和ChatGLM2部分输出结果对比15 图表24:ChatGPT3.5、ChatGLM2与FinBERT分类标签数量对比15 图表25:ChatGPT3.5、ChatGLM2与FinBERT分类标签对应未来5日超额收益率16 图表26:ChatGPT3.5模型不同标签的事件驱动收益16 图表27:ChatGLM2模型不同标签的事件驱动收益16 图表28:FinBERT模型不同标签的事件驱动收益17 图表29:ChatGPT3.5和ChatGLM2医药行业舆情精选策略净值表现17 图表30:ChatGPT3.5和ChatGLM2医药行业舆情精选策略指标18 图表31:ChatGLM2样本内微调后混淆矩阵18 图表32:ChatGLM2样本外微调后混淆矩阵18 图表33:ChatGLM2-LoRA模型不同标签的事件驱动收益19 图表34:FinBERT样本外微调后混淆矩阵19 图表35:ChatGLM2-LoRA、ChatGLM2和FinBERT微调医药行业舆情精选策略净值表现19 图表36:ChatGLM2-LoRA、ChatGLM2和FinBERT微调医药行业舆情精选策略指标20 图表37:ChatGLM2-LoRA医药行业舆情精选策略分年度收益表现20 图表38:不同手续费下ChatGLM2-LoRA医药行业舆情精选策略净值曲线21 图表39:不同手续费率下ChatGLM2-LoRA医药行业舆情精选策略指标21 我们在前期的ChatGPT量化研究报告中,从各个维度利用ChatGPT或其他大语言模型助力量化研究。实证结果发现,ChatGPT在处理非结构化的文本数据上有得天独厚的优势,针对给定金融文本进行情感分析从而判断投资标的的预期收益能够在行业轮动策略上取得良好效果(《Beta猎手系列之四:如何利用ChatGPT解析卖方策略观点并构建行业轮动策略?》)。同时,ChatGPT在逻辑推理方面同样具有出色表现,针对一些新闻事件可能对于相关资产价格产生的影响也具有较强的预测能力(《CTA金点子系列之一:基于ChatGPT新闻情感分析的原油期货策略》)。 不过,纯粹依赖ChatGPT作为投研辅助工具仍然存在以下问题: 作为一个通用的大语言模型,ChatGPT对于金融领域的很多具体概念和知识并不掌握,对于较专业的金融术语会出现错误理解并给出错误判断。 ChatGPT本身并未开源,若需使用则只能通过网页对话或API接口调用的方式解决,这一方面对于关注数据隐私性的投资者来说是一个亟需解决的问题,而另一方面,长期、大量的使用依然会产生高昂的费用。 因此,我们在上篇报告中详细阐述了国产开源大语言模型ChatGLM的部署和使用,通过Langchain知识库挂载的方式提升了ChatGLM的专业知识和问答能力。在本篇报告中,我们将通过微调的方式,对模型重新训练,从而进一步提升ChatGLM的实际投研辅助能力。 1.1大语言模型微调应用案例 现在通用的大部分大语言模型基本都是使用海量的文本语料数据进行训练,从而给了模型较强的泛化性能,在各个领域都能回答一些基础问题。但并不能立即适用于我们特定的任务需求。 而微调(Fine-Tuning)就能很好的解决这一问题,通过将一个预训练(Pre-Trained)好的模型在一些特定语料、特定任务上进一步训练来大幅增强模型的针对性和专业性。微调目前已经出现了很多比较成功的应用案例,包括机器翻译、情感分析、实体识别、特定类型的文本生成。 在医学领域,已有比较多的问诊类模型出现,BianQue,Med-ChatGLM等都是基于国产大模型ChatGLM进行微调训练得到的。 图表1:ChatGLM-6B与Med-ChatGLM模型输出效果对比 测试输入ChatGLM-6B输出ChatGLM-6B-Med输出 吸毒和饮酒都会对身体的健康产生负面影响,包括对肝脏和心脏的 影响。 谷氨酰转肽酶水平会因吸毒或饮酒而升高吗? 小李最近出现了心动过速的症状,伴有轻度胸痛。体检发现P-R间期延长,伴有T波低平和ST段异常 饮酒可能导致肝脏损伤和心脏疾病,因为酒精会破坏肝脏和心脏的功能。长期饮酒还可能导致脂肪肝、肝硬化、心脏病等健康问题。吸毒会对肝脏和心脏产生严重的损伤,导致肝脏纤维化、肝硬化、心脏血管疾病等。吸毒还可能导致精神障碍、社会退缩、暴力和犯罪等问题。 因此,无论是饮酒还是吸毒,都会对健康产生负面影响,应该避免过度使用。 非常抱歉,我不理解您的问题。请提供更多背景信息或上下文,以便我更好地回答您的问题。谢谢! 谷氨酰转肽酶升高的原因 有很多,包括感染、消化性溃疡、感染、药物副作用等,而吸毒或饮酒等不良行为可能会导致谷氨酰转肽酶的升高。 小李出现了心动过速的症状,并且伴有胸痛,需要考虑是否有心肌病、冠状动脉粥样硬化等心血管疾病,建议进行心电图检查、血液检查、心脏超声检查等 来源:Med-ChatGLM,国金证券研究所 图表2:BianQue模型输出示例 来源:BianQue,国金证券研究所 同样地,在法律领域也有比较成功的案例,ChatLAW等模型使用大量法律新闻、法条、司法解释等语料构造对话数据进行训练。从而使得模型在法律咨询领域能给出相对准确、专业的回答。 图表3:ChatLaw模型输出示例 来源:ChatLaw,国金证券研究所 1.2大语言模型微调方法介绍 由于大语言模型本身参数量庞大,针对不同的任务场景和硬件配置要求,也衍生出了多种不同的微调方式: 全量微调(FullFine-Tuning):作为一种基本的微调方式,它通过在特定数据集上 训练模型的所有参数,使其更好地适应任务。但这种方式也会消耗更多的计算资源和训练时间,对于一般的机构和个人而言是一笔不小的负担。 参数高效微调(Parameter-Efficient-Fine-Tuning,PEFT):为了解决训练消耗资源过大的问题。多种更低成本的替代方法应运而生。常见的PEFT微调方式包括:LoRA,P-Tuning,Prefix-Tuning,Prompt-Tuning等。这类方法的特点就在于可以仅仅训练模型中的一小部分参数或新增一些新的参数,大幅提高训练速度和资源效率,同时经过多种对比发现也依然能保持较好的训练效果。 此处我们几类常见的PEFT微调方式简要介绍: Prompt-Tuning&Prefix-Tuning: Prompt-Tuning方法通过固定预训练参数,针对输入提示进行调整完成训练。传统的Prompt范式基本是在输入时加上提示文本,但这种方法无法避免人工的介入,同时也无法大规模批量挖掘提示文本。于是研究人员使用连续token代替离散的prompt,拼接文本输入作为特殊的Embedding输入,可以在训练时对prompt时进行优化,从而减少prompt挖掘和选择的成本。 Prefix-Tuning不再局限于输入层,而是在每一层前面都加入若干个与任务相关的virtualtoken作为prefix,在训练时只更新prefix的参数,Transformer其他部分的参数固定。 LoRA:英文全称为Low-RankAdaptationofLLM,这是一种微软研究人员开发的微调技术。其基本原理是