AI金融助手
我们来继续关注大模型相关的技术进展,来看看两个有趣的工作,一个是关于大模型用于股票金融分析,其中用到了RAG。另一个是大模型用于图表理解,最近在做相关的工作,所以也一并整理出来,供大家一起参考并思考。 一、大模型+RAG用于股票金融分析框架Stock-chain 我们来看看一个RAG来做金融分析任务。金融分析任务主要包括两个关键领域,股票走势预测和相应的金融问题解答。目前,机器学习和深度学习算法(ML&DL)已被广泛应用于股票走势预测,并取得了显著进展,但这些方法无法提供预测理由,缺乏可解释性和推理过程,也无法整合金融新闻或报告等文本信息。 而当下大型模型(LLM)具有出色的文本理解和生成能力受到广泛关注,但由于金融训练数据集的稀缺以及与实时知识的整合有限,仍然存在幻觉,无法跟上最新的信息。 例如上图所示,以金融分析任务为例,包括股票走势预测和金融问答。传统的ML&DL方法只能提供不确定的预测(涨/跌),没有任何依据,而原始的LLM可以提供预测分析,但没有任何帮助。 最近的工作 《AlphaFin: Benchmarking Financial Analysis with RetrievalAugmented Stock-Chain Framework》(https://arxiv.org/pdf/2403.12582.pdf,https://github.com/AlphaFin-proj/AlphaFin) ,该工作做了2件事: 一个是发布了用于微调 FinLLM的AlphaFin,其中包含传统研究数据集、实时财务数据和手写CoT数据。 另一个是提出了与RAG集成的Stock-Chain框架,该框架可以为投资者提供股票走势预测,并通过RAG整合实时市场数据和宏观经济新闻,从而完成股票分析,在具体实现上,其基于AlphaFin数据集对StockGPT进行微调,并将其集成到Stock-Chain框架中,并通过RAG进一步与实时金融数据库集成,以解决LLM输出的幻觉以及LLM无法生成实时内容的问题。 1、先看数据部分 如下图所示,数据集包括Research研究数据集、StockQA数据集、金融新闻数据集以及财务报告数据集四个部分: 其中: Research研究数据集:这部分包括来自学术界的传统金融数据集,包括FPB、FinQA、convFinQA以及Headline,以增强大模型的信息提取和总结能力。在这部分数据上,传统的研究数据集主要是英文的,而且数量很大。为了提升LLM们的中文能力,保证质量进行微调,只从源头抽取了一部分。 StockQA数据集:这部分包含来自Tushare和AKshare的股价和其他财务数据,使用顺序数据格式,例如股票价格趋势(例如{…,170,173,171,175,173,170,…})。但鉴于源数据以顺序格式呈现,使用ChatGPT并按以下提示生成财务问题,以增强多样性,随后,我们使用ChatGPT生成回复并获取用于训练LLM的问答对,对应的prompt如下: Based on the …, give me a good financial question. Input: , Output: . 金融新闻数据集:为了向大模型提供真实世界的金融知识,整合了在线新闻来源,例如中央电视台和华尔街CN的金融版块,在数据处理上,使用Chat-GPT提取每条新闻的摘要,并构建财经新闻数据集,从而提升摘要能力。 财务报告数据集:通过DataYes构建财务报告数据集(DataYes,2021),包括机构对公司进行的专业分析和知识。在数据处理上,手动对齐公司的财务报告及其报告发布当天的股价,并使用以下模板生成最终数据,并还手动创建200份具有专业财务知识和较长标签的财务报告CoT数据,对应的prompt如下: According to … conclusions can be drawn: 1. Fundamentals: … 2. Technical aspects: … Therefore, we predict the … is , probability: 2、再看架构部分Stock-Chain Framework 财务分析任务可以被视为两个对应部分,即股票趋势预测和相应的财务问答,因此Stock-Chain框架分为两个阶段,一个Stock Trend Prediction,另一个是Retrieval-Augmented Q&A,如下图所示: 第一阶段是股票走势预测,给定一家公司ci和相应的文档dj,该阶段通过结合LLM和AlphaFin数据集维护一个股票预测系统φ,给出股票趋势预测Predi。 其中: 对于第一阶段Stock Trend Prediction,任务很有趣,其给定一组公司C和相应的知识文档D,以预测涨跌: 其目标是从中找出一组能涨的公司子集C chosen: 这一步涉及到知识文档D的处理,在实现上,其给定一个公司ci,首先检索它的相关文档dj。然后,设计一个提示模板Prompt进行组装,例如: Please predict the...