金融工程 证券研究报告 专题报告2023年06月14日 【专题报告】 人工智能助力量化投资——ChatGLM介绍 华创证券研究所 证券分析师:秦玄晋 电话:021-20572522 邮箱:qinxuanjin@hcyjs.com执业编号:S0360522080005 证券分析师:�小川 电话:021-20572528 邮箱:wangxiaochuan@hcyjs.com执业编号:S0360517100001 相关研究报告 《K线形态学研究系列之三:十字孕线》 2023-06-08 《基于排序学习的行业轮动模型》 2023-05-25 《华创金工形态学研究之二:如何利用形态信号进行市场择时》 2023-05-12 《华创金工事件研究系列——2023年6月指数样本股调整预测》 2023-05-04 《2023年一季报公募基金十大重仓股持仓分析》 2023-04-24 大语言模型在量化投资中的机遇与挑战 自OpenAI发布ChatGPT后,大语言模型(LLM)受到了广泛的关注。它在文本处理上发挥的强大性能使我们看到了LLM辅助量化研究的潜力。然而,使用基于API的大语言模型服务仍然存在诸多限制,例如模型响应时间长、成本 高、数据隐私等问题。而开源模型为我们提供解决了上述问题的可能性,本 篇我们介绍了ChatGLM开源大语言模型,它使用中英双语语料进行训练,能 够在本地的消费级显卡上进行部署并实现中文问答和对话功能。 开源模型的应用展望 本文介绍的ChatGLM的开源版本拥有62亿参数,参数规模远远少于基于API的LLM服务,那么它的能力是否足够?我们采用两个公开数据集对ChatGLM和ChatGPT进行了对比实验测试,结果发现: 1、相比于ChatGPT,ChatGLM在高阶推理能力上表现较弱,无法理解较为复杂的逻辑类问题,ChatGLM的知识储备远小于ChatGPT; 2、在较为简单的文本总结任务中,ChatGLM和ChatGPT的差异缩小,部分文本总结测试中二者的回答质量没有显著差异; 基于我们的测试结果,我们认为将ChatGLM运用于辅助量化文本分析,62亿的参数规模使它无法满足高阶推理类、逻辑类的运用,但对于相对简单、传统的文本处理问题,例如文本总结、文本分类、信息抽取等问题上,ChatGLM发挥出了不错的性价比。此外,开源模型的另一大优势是可以通过本地数据微调以丰富模型知识,加强模型解决特定领域能力。最后,我们看到了LLM开源社区正在蓬勃发展,随着未来更多优秀开源项目的出现,利用开源模型进行量化研究辅助的可能性和前景将得到进一步拓宽。 风险提示 本文中所有大语言模型的问答均为采用公开数据作为测试案例,仅对模型进行测试,不保证问答的准确性,不构成任何投资建议。 投资主题 报告亮点 现有的关于大语言模型在量化领域的探讨大多以ChatGPT为例,ChatGPT虽然性能强大,但在实际量化策略开发中,使用OpenAI提供的ChatGPTAPI接口处理大量的数据昂贵且耗时,目前大语言模型开源社区的活跃让我们看了新的选项,我们关注开源模型的能力以及它们能在多大程度上解决问题,探讨开源大语言模型是否能丰富文本类数据的处理工具箱。 投资逻辑 近两年来市场风格轮动较大,传统的基于基本面因子与简单量价因子的量化模型相较以往年份较难取得明显的超额收益。此系列报告结合时代大环境从人工智能辅助投资的大方向来进行量化尝试,希望对原有的传统模型起到提升作用。 目录 一、大语言模型简介5 (一)大语言模型的原理6 (二)ChatGLM的特点8 二、模型能力测试10 (一)推理逻辑能力测试10 (二)总结能力测试13 三、总结14 四、风险提示14 �、参考文献15 图表目录 图表1中文开源LLM项目5 图表2三大类训练方法对比6 图表3GLM框架7 图表4GPT-3与InstructGPT对比7 图表5ChatGLM-6B模型特点介绍8 图表6ChatGLM模型信息抽取示例9 图表7ChatGLM模型提纲写作示例9 图表8ChatGPT回答10 图表9GhatGLM回答11 图表10GhatGPT回答11 图表11ChatGLM回答12 图表12GhatGPT回答12 图表13ChatGLM回答13 图表14ChatGPT回答13 图表15ChatGLM回答14 一、大语言模型简介 大语言模型(LLM)是一种基于深度学习的自然语言处理技术,它在预训练语言模型(PLM)的基础上发展而来,预训练语言模型以及大语言模型均以Transformer架构的模型为基础,在大规模语料库上的进行训练。自GPT-3模型提出后,研究者发现,当模型参数规模超过一定水平时,模型不仅实现了显著的性能提升,而且还表现出了一些在小规模语言模型中不存在的特殊能力,因此为便于区分,大型语言模型(LLM)一词被专门用于描述具有显著更大规模的预训练语言模型。 自OpenAI发布ChatGPT以来,大语言模型受到了广泛的关注,将大语言模型应用在商业、科学和金融等领域也将成为可能,越来越多的公司开始提供类似的服务,例如国内的文心一言、讯飞星火等。这些服务允许用户通过API接口与大语言模型进行交互,通过自然语言对话的形式获取模型生成的答案。另一方面,开源社区也取得了令人感兴趣的成果,下表统计了截至2023年5月31日在github上星标大于3k的中文开源项目: 图表1中文开源LLM项目 模型名 介绍 ChatGLM ChatGLM-6B是一个基于通用语言模型(GLM)框架的开放式双语语言模型,使用了和ChatGPT相似的技术,针对中文问答和对话进行了优化,模型拥有62亿参数。 Moss MOSS是一个支持中英双语和多种插件的开源对话语言模型,moss-moon系列模型具有160亿参数,MOSS基座语言模型在约七千亿中英文以及代码单词上预训练得到,后续经过对话指令微调、插件增强学习和人类偏好训练具备多轮对话能力及使用多种插件的能力。 Chinese-LLaMA-Alpaca 在LLaMA模型的基础上扩充了中文词表并使用了中文数据进行二次预训练,进一步提升了中文基础语义理解能力。同时,中文Alpaca模型进一步使用了中文指令数据进行精调,显著提升了模型对指令的理解和执行能力。 BELLE BELLE团队在LLaMA、Bloomz等开源模型的基础上针对中文做了优化,在模型调优时使用由ChatGPT生产的数据,项目持续开放指令训练数据、相关模型、训练代码、应用场景等。 华驼(HuaTuo) 在LLaMA-7B模型的基础上使用中文医学指令精调/指令微调(Instruct-tuning)。项目通过医学知识图谱和GPT3.5API构建了中文医学指令数据集,提高了LLaMA在医疗领域的问答效果。 LaWGPT 基于中文法律知识的大语言模型,在通用中文基座模型(如Chinese-LLaMA、ChatGLM等)的基础上扩充法律领域专有词表、大规模中文法律语料预训练,增强了大模型在法律领域的基础语义理解能力。 资料来源:github,华创证券整理 从各个开源项目的报告中我们发现,目前开源模型性能表现正在不断提升,但距离 ChatGPT-3.5仍有一定差距,那么使用开源模型的优势在哪? 我们从大语言模型使用者的角度考虑,当我们的下游应用需要处理数千甚至数万个请求时,基于API的LLM服务可能会面临一些问题,例如(1)响应时间长,稳定性受LLM服务提供者影响。(2)成本高,目前OpenAI提供的API服务(gpt-3.5-turbo)通过文本的长度进行计费(0.002美元/1Ktoken),日积月累下可能是不小的开销。(3)无法进 行模型订制,可能无法满足特定场景下的需求。 Chen等人(2023)介绍了一种节约成本的LLM服务运用方案,他们提出用户询问大语言的问题难度不一,在较为简单的问题上可以使用廉价的LLMAPI作为替代,通过适当选择能力不同LLMAPI能在保证性能的同时显著降低成本。在此思路的基础上,如果在具体应用中,开源模型能产生和API-driven模式相似的性能,那么模型的成本问题可以得到很大程度的解决;此外,一个10B规模左右的开源模型能够部署在消费级设备上,这意味使用者能利用私有数据对模型进一步开发。 在本篇中我们介绍并测试了ChatGLM模型,对开源模型的能力进行探索。ChatGLM是由清华大学KEG实验室和智谱AI联合开发的基于GLM框架(Du,2022)的大语言模型,2023年3月,团队开源了ChatGLM62亿参数的版本——ChatGLM-6B,6B规模的大小使ChatGLM模型非常适合本地部署,目前ChatGLM-6B在全球下载量已超过200万。 (一)大语言模型的原理 一般来说,基于Transformer的大语言模型的方法可以分为三大类训练方法:自回归(例如GPT)、自编码(例如BERT)和编码器-解码器(例如T5)。三种方法如下表所示: 图表2三大类训练方法对比 训练方法 特点 自回归 在训练时利用所有先前的词汇信息,按顺序逐个预测后文,生成的长文本的连贯性较好;但逐词生成限制了其速度和效率,此外,由于训练时无法获得下文信息,可能会在理解某些依赖后续上下文的信息时遇到困难。 编码器 训练时将输入文本中的一些词替换为特殊的mask标记,然后预测被替换的原词。模型可以看到整个句子,所以在理解需要前后上下文信息的任务上表现出色,如问答,句子关系判断等,在文本生成任务上的表现不佳。 编码器-解码器 将问题和答案的文本合并为一个序列,然后训练模型在给定问题时生成答案。可以应用于多种任务,包括翻译,问答和文本摘要等。可以单独训练编码器或解码器以适应特定任务。模型训练需要对整个序列进行编码和解码,成本较高,此外,如果输入和输出之间的关系很复杂,可能需要大量的训练数据才能成功。 资料来源:华创证券整理 由于自回归方法在文本生成的任务上优势较大,目前的LLM大多采用该方法进行训练。自回归模型通过先前生成的文本,生成新的序列(例如词或字符)。换句话说,每个输出都依赖于当前输入及其历史的输出,例如,给GPT-3提供一个提示“ThecapitalofFranceis”,GPT-3可能会依次生成Paris和句号,这是因为在训练过程中,它已经学习到了"France"和"Paris"这两个词的关系。 本文介绍的ChatGLM模型采用的GLM框架的训练方法不完全同于GPT的自回归预训练的方法,它结合了自回归和自编码器训练的思路,如下图所示:对输入一段原始文本序列[x1,x2,x3,x4,x5,x6],从中随机遮罩(MASK)一部分片段,图中将[x3]和[x5,x6]进行了遮罩处理,将被遮罩处理后的文本序列[x1,x2,MASK,x4,MASK]输入模型,模型通过注意力机制看到带有遮罩的文本序列,对被遮罩的部分预测,通过自回归预训练的方法逐步还原被MASK的片段[x5]、[x6]以及[x3],重建最初的文本序列。 图表3GLM框架 资料来源:Du,Zhengxiao,etal.GLM:GeneralLanguageModelPretrainingwithAutoregressiveBlankInfilling 相比于GPT自回归训练只能利用上文的数据,GLM框架在预测时输入了上文以及下文,包含更多上下文语境信息;另一方面,通过更改遮罩的长度,可以实现模型的多任务训练。基于GLM框架的GLM-130B模型采用中英双语训练语料,在相关英文评价基准下,GLM-130B模型取得了优于GPT-3175B的表现。 虽然经过大规模语料训练的GLM、GPT模型具备了长文本生成能力,那么ChatGLM、ChatGPT模型是如何进一步获得“对话”的技能? 我们以OpenAI对InstructGPT的解释为例,GPT-3模型在超大规模的加持下,涌现了一定的语境理解能力,但在准确理解人类指令,生成符合道德的答案等测试中仍然存在不符合预期的表现,如图所示,向