超越GPT-4 ,金融分析新突破:FinTral多模态大模型

人工智能咨询培训老师叶梓 转载标明出处

在金融领域,对大量非结构化数据的处理和分析一直是行业面临的重要挑战。为了解决这一问题,由不列颠哥伦比亚大学和Invertible AI的研究团队共同提出了一套名为FinTral的先进多模态大模型(LLMs)。FinTral模型专为金融分析而设计,它整合了文本、数值、表格和图像数据。金融文档通常包含密集的数字信息和特定领域的术语,模型具备高级的数字处理和推理能力。

图 1为FinTral与ChatGPT (GPT-3.5) 和 GPT-4在七个任务类别上的表现比较分析。这些任务包括情感分析(SA)、命名实体识别(NER)、数字理解(NU)、文本摘要(TS)、股票走势预测(SMP)、信用评分(CS)和公司披露(FD)。FinTral在没有经过特定任务训练的情况下就能展现出良好的性能。

FinSet数据集

在构建FinTral模型的过程中,研究团队开发了FinSet,这是一个高质量、20亿token的大规模数据集,专门用于金融领域的大型语言模型(LLM)训练。FinSet的建立基于2.9亿份文档,总计1359亿个token,这些文档经过精心清洗,以确保数据的相关性和准确性。清洗流程包括去除重复内容、过滤非金融领域文档、排除敏感信息,并且最终形成了20亿个token的精简数据集。图2为FinSET金融训练和评估基准,包括预训练数据、指令调整数据、多模态指令数据、金融AI反馈数据和下游任务。

预训练数据集是FinSet的基础,它包含了以下类型的文档:

  • C4:包含2.8亿份文档,124亿个token,清洗后剩下11.75亿个deduplicated tokens。
  • 新闻:5150万份文档,8.7亿个token,清洗后剩下5.65亿个deduplicated tokens。
  • SEC文件:430万份文档,3.1亿个token,清洗后剩下2.55亿个deduplicated tokens。
  • 社交媒体:71.7万份文档,820万个token,清洗后剩下787万个deduplicated tokens。
  • 新闻稿:12万份文档,310万个token,清洗后剩下155万个deduplicated tokens。

表格1提供了预训练资源的详细信息,包括文档数量、标记数量、去重复后的标记数量等。这些文档的截止日期为2023年8月1日。

为了提升模型的能力,研究团队收集了大量的指令调整数据集,这些数据集来源于与GPT-3.5和GPT-4的多种任务交互。通过去重和过滤流程,排除了非金融指令,专注于金融推理。例如,FLUPE数据集包含了123万个金融指令(表2)。

AI反馈对于调整语言模型至关重要。在这项工作中,研究团队采用了AI反馈,通过比较GPT-4生成的输出与其他模型(如FinMA-7B和LLaMa-7Bchat)生成的输出,选择GPT-4的输出作为“chosen”响应,而随机选择其他模型的输出作为“rejected”响应。这样的AI反馈数据包括了43k个样本。 

为了训练FinTral的视觉语言组件,研究团队使用了Llava预训练数据中的LAION、CC和SBU数据集,以及ChartQA训练集。他们还扩展了视觉预训练数据集,创建了名为FinVisPT的英语数据集,该数据集包含股票市场图表并提出了关于它们的问题。FinVis-IT数据集则包含更复杂的图表和多轮指令。

用于视觉金融指令的数据集

为了有效评估LLM的性能,研究团队开发了一个包含多种任务的广泛基准,这些任务包括图表理解、情感分析、命名实体识别、数字理解、文本摘要、股票走势预测、信用评分、公司披露和幻觉分析。这些任务覆盖了25个不同的数据集,并使用了相应的评估指标。表4总结了用于下游评估的数据集,包括不同的任务、指令数据类型、模态来源和评估使用的指标。

FinTral模型

FinTral模型的开发是基于Mistral-7B-v0.1模型,该模型因其出色的性能和对数字进行单位分割的BPE分词器而被选作基础,这使得它特别适合处理数值任务。

研究团队对Mistral-7B-v0.1进行了基于FinSet数据集的进一步预训练,FinSet数据集包含20亿个token,来源于2.9亿份文档,这些文档经过清洗,以确保数据的相关性和准确性。预训练使用了flash attention 2技术,并采用LoRA技术,训练周期为一个epoch,学习率为2.5e-5。整个预训练过程使用了四块40GB的A100 GPU,耗时80小时。

FinTral模型采用了一种适合金融领域LLM的提示方法。模型被赋予了一个记忆代理(memetic proxy),作为一个金融专家,它需要逐步思考,并考虑可能包括文本、表格或图像的多样化输入。这种结构化方法对于在复杂的金融场景中获取模型的专注回答至关重要。

FinTral模型的提示方法

使用前面提到的指令调整数据集对预训练模型进行微调,采用了QLoRA技术,针对所有线性层作为目标模块进行微调,以接近全微调的性能。

为了解决大模型可能无法很好地响应自然提示的问题,研究团队使用了直接偏好优化(DPO),这是一种无需奖励模型就可以调整模型的方法。Tunstall等人介绍了一种使用LoRA通过DPO目标训练LLM的方法,称为蒸馏直接偏好优化(dDPO)。

模型通过添加<image> token并用图像嵌入替换,赋予了视觉理解能力。使用了CLIP模型作为视觉编码器,并使用2层MLP视觉抽象器将图像输入转换为文本嵌入。

为了解决LLM在处理定量任务时的挑战,研究团队将工具集成到模型中,例如Add()、Subtract()和Multiply()等函数,以生成结构化的输出,提高金融应用中的模型准确性。

研究团队部署了一个使用BGE模型的RAG系统,这些模型是文档检索的最新技术。这个系统有助于工具使用和在某些情况下从复杂数据中提取文本,使用了30,000份金融文档。

实验

研究团队在前面讲的下游任务上评估了本模型。以下表格中的符号表示不同类型的模型:♣、♠、♢、♡、 和■分别代表预训练模型、微调模型、指令微调模型、RL(强化学习)调整模型、工具和检索模型。接着,进行了幻觉指数准确性检查,以评估本模型如何缓解大模型面临的最大挑战之一。

研究团队介绍了三种版本的模型。FinTral-INST是通过对预训练模型进行指令微调得到的指令微调模型。注意,不评估预训练模型的性能,因为它是指令微调模型的中间步骤。其次,FinTral-DPO是基于FinTral-INST,利用AI反馈通过dDPO目标进行强化学习进一步训练的。最后FinTral-DPO-T&R,它将FinTral-DPO与工具和检索结合起来。

研究团队还比较了本模型与九个其他基线LLMs的性能。这些包括LLama-2、Mistral、三个版本的FinMA、Vicuna、ChatGPT、GPT-4。

如表5所示,指令微调模型FinTral-INST在平均得分0.49上超越了所有预训练和微调的开源模型。这里关注的一个原因是需要特定格式输出的任务,如数值理解和NER(命名实体识别)任务。在某些情况下,模型难以遵循指令,经常偏离任务要求的内容。像FinTral-DPO、ChatGPT和GPT-4这样经过AI反馈强化学习的模型,显示出更加显著的改进。增加RLAIF(AI反馈强化学习)显著提高了平均得分到0.59,导致FinTral-DPO超越了ChatGPT。特别是GPT-4以其最高的平均得分脱颖而出,表明其在多样化任务上的强大性能。其在NER、NU(数字理解)和FD(公司披露)上的高分表明了在理解复杂文本、识别特定实体和解释数字数据方面的卓越能力。

如前所述,检索和工具的使用在增强模型FinTral-DPO-T&R的能力方面发挥了关键作用,与它们对GPT-4的影响类似。将这些功能整合到这些模型中,允许模型访问更广泛的信息,并应用更专业的处理技术,从而在各种任务上显著提高了性能。在FinTral-DPO-T&R的情况下,将FinTral-DPO模型与检索和工具能力结合起来证明特别有效。FinTral-DPO模型准确遵循指令提示的能力,使其能够与外部工具和检索数据无缝集成。GPT-4-Turbo的性能也很优秀,其最新更新包含了工具和检索。在5个下游任务中,FinTral-DPO-T&R超越了GPT-4,而GPT-4在两个下游任务上超越了FinTral-DPO-T&R。由于GPT-4在这两个任务上做得非常好,其平均性能略好于FinTral-DPO-T&R(0.72对比0.70,如表6所示)。FinTral-DPO-T&R和GPT-4比其他模型的优势证明了将复杂的AI模型与额外的数据和工具集成,以获得更精细和准确的输出的潜力。

为了评估本金融多模态模型,研究团队使用了ChartQA和FinVis数据集。他们比较了各种最新的多模态大模型(MLLMs),如GPT-4V、Gemini-Pro、QwenVL-Plus、LLaVa-NEXT,以及FinTral-VL模型,该模型包括CLIP和FinTral-DPO。如表7所示,GPT-4V表现最佳,在ChartQA上得分0.79,在FinVis上得分0.89,平均得分0.84。Gemini-Pro紧随其后,在两个数据集上表现一致,平均得分0.78。其他模型如Qwen-VL-Plus、FinTral-VL和LLaVa-NEXT显示出不同程度的效果:Qwen-VL-Plus在ChartQA上的表现(0.78)明显优于FinVQA(0.64),而FinTral-VL和LLaVa-NEXT则落后,表明它们在视觉数据解释能力方面有待提高。FinTral-VL在FinVQA数据集上表现良好,非常适合多模态金融用途。

由于金融幻觉可能难以衡量,研究团队使用了三种不同的方法和数据集来量化幻觉。首先,评估模型在选定金融术语定义时的幻觉程度。然后,基于第一个任务,对顶级LLM模型的响应适当性进行了人类评估。最后,研究团队在FinanceBench数据集上评估了它们,这是一个需要数学工具和检索的复杂数字问答数据集。

在FinTerms-MCQ数据集中,研究团队将Investopedia(2024年)的金融术语定义转换为多项选择格式,使用正确的定义和三个其他密切相关的定义。然后让模型选择正确的定义。研究团队根据模型在这项多项选择任务中的性能,得出了一个幻觉指数(HI),定义为每个模型正确生成定义的比例(越高越好)。如表8所示,模型在HI上的表现差异显著。GPT-4和ChatGPT分别以98%和95%的异常高得分领先。所有的三个模型都优于其他开源LLM。特别是,FinTral-DPO-T&R以97%的HI表现出色。

研究团队使用在FinTerms-MCQ上表现最好的三个模型(即GPT-4、ChatGPT和FinTral-DPO+T&R)生成了与FinTerms-Gen数据集中的金融术语相关的问题的答案(n=150,见表4)。然后让两位至少有四年金融背景的人类,用图6中显示的四种正确性标签对响应进行标记。两位注释者以0.85的Cohen's kappa值达成一致。FinTral-DPO-T&R比ChatGPT产生了更多正确且满意的响应(图6中的类别A),但不及GPT-4。

FinanceBench(Islam等人,2023年)是一个专有数据集,旨在评估LLMs在开放书籍金融问答(QA)方面的功能。完整版本包括与公开交易公司相关的10,231个问题,每个问题都附有证据字符串和相关答案,研究团队使用Islam等人(2023年)提供的FinanceBench的开源样本150个问题来评估本模型。如图7所示,FinTral-DPO-T&R在该数据集上表现非常好,超越了其他模型,包括GPT-4、Claude和Llama-70B。在FinTral-DPO-T&R中使用检索和工具证明了其效率,并使该模型领先于所有其他模型。

FinTral模型的提出,为金融领域带来了新的分析工具,它通过结合先进的技术和策略,有效地解决了金融文档分析中的复杂性问题。随着金融科技的不断发展,FinTral有望成为金融专业人士和研究人员的宝贵资源。

论文链接:https://arxiv.org/abs/2402.10986

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/401701.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中的多线程案例

使用Task写一个进度条 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.For…

Docker——常用命令

1.Docker是做什么的&#xff1f; Docker 是一个开源的应用容器引擎&#xff0c;它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。它可以帮助我们下载应用镜像&#xff0c;创建并运行镜…

Spring DI 简单演示三层架构——Setter 注入

Spring IOC 的常见注入方法有3种&#xff1a;Setter注入、构造注入和属性注入。想了解更多可点击链接&#xff1a;Spring 注入、注解以及相关内容补充 属性注入 不推荐。原因&#xff1a;使用私有的成员属性变量&#xff0c;依靠反射实现&#xff0c;破坏封装&#xff0c;只能依…

opencv 控制鼠标键盘实现功能setMouseCallback

鼠标事件类型 OpenCV 支持多种鼠标事件类型&#xff0c;常见的包括&#xff1a; cv2.EVENT_LBUTTONDOWN&#xff1a;左键按下 cv2.EVENT_RBUTTONDOWN&#xff1a;右键按下 cv2.EVENT_MBUTTONDOWN&#xff1a;中键按下 cv2.EVENT_LBUTTONUP&#xff1a;左键释放 cv2.EVENT_RBUTT…

HOW - 用腾讯蓝盾部署一个 Web 应用

目录 一、介绍二、项目、流水线和 Stage1. 项目&#xff08;Project&#xff09;2. 流水线&#xff08;Pipeline&#xff09;3. Stage&#xff08;阶段&#xff09;示例&#xff1a;配置一个简单的 CI/CD 流程的基本步骤总结 三、一条完整的流水线包括什么 Stage1. 源代码管理&…

数据库-DML语言-数据操作语言

定义 DML是对表中数据进行操作的语言&#xff0c;涉及的关键字:INSERT UPDATE DELETE INSERT:向表中插入新数据的语句UPDATE:修改表中数据的语句DELETE:删除表中数据的语句 准备工作 USE mydb; 使用mydb库 CREATE TABLE person( 创建表personname VARCHAR(30),age INT…

麒麟v10(ky10.x86_64)升级——openssl-3.2.2、openssh-9.8p1

系统版本: ky10.x86_64 下载安装包并上传 openssh下载地址 https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable openssl下载地址 https://openssl-library.org/source/index.html zlib下载地址 https://zlib.net/fossils/ 上传安装包 备份配置文件 cp -r /etc/ssh /et…

高德地图SDK Android版开发 5 地图交互操作

高德地图SDK Android版开发 5 地图交互操作 前言控件控件介绍接口UiSettingsAMapOptions 示例代码Logo指南针比例尺缩放按钮 效果图 地图手势地图手势方法说明地图手势开关指定屏幕中心点的手势操作 地图手势事件地图点击事件监听接口地图长按事件监听接口地图触摸事件监听接口…

Python 6行代码写北京时间时钟(10帧 可调) 天地良心

今天看到别的大佬用Python写时钟 我密集恐惧症都犯了 十来个定义函数 我看也看不懂 代码还有整整78行 还是在我改良后的 改良前有98行 我删注释 优化函数名(比如把penup改成pu) 这个文件照样有5KB 并且在帧数取决于电脑性能 我运行了一下 电脑都卡出蓝屏了 于是我连夜赶…

云动态摘要 2024-08-12

给您带来云厂商的最新动态&#xff0c;最新产品资讯和最新优惠更新。 全球加速 GA - 新增“巴西&#xff08;圣保罗&#xff09;”、“沙特&#xff08;利雅得&#xff09;”接入点 华为云 2024-08-12 全球加速服务新增开通“巴西&#xff08;圣保罗&#xff09;”、“沙特&a…

CAN总线-----帧格式

目录 前言 一、CAN总线帧格式分类 1.数据帧&#xff08;重点&#xff09; 2.遥控帧 3.错误帧 4.过载帧 5.间隔帧 二、位填充 三、波形实例 前言 本期我们就开始学习CAN总线的帧格式&#xff0c;对应帧格式的话&#xff0c;在前面我们学习I2C协议和SPI协议等协议的时候…

使用功率器件比如MOSFET瞬态热阻曲线计算参数

使用功率器件比如MOSFET瞬态热阻曲线计算参数 1.概述2.查看 ZθJC 图3.使用 ZθJC 图估算结温升4.应用案例5.使用 ZθJC 图估算 MOSFET 峰值电流能力6.应用实例 资料来自网络&#xff0c;仅供学习使用 1.概述 功率 MOSFET 数据表包括归一化瞬态热阻抗图&#xff1a;结至外壳 …

怎么将pdf转为ppt文件?pdf转ppt的8个方法

在诸多职场与学术交流的场合中&#xff0c;我们时常面临将详尽的PDF文件转化为生动且易于编辑的PPT演示文稿的需求。这一转换不仅是为了满足演示时的灵活性&#xff0c;更是为了提升信息传递的效率与观众的理解度。从简单的在线工具到功能全面的专业软件&#xff0c;我们拥有多…

概要设计遇到需求变更,6大应对措施

有效地应对概念设计过程中的需求变更&#xff0c;有助于项目灵活适应市场与用户变化&#xff0c;减少后期调整成本&#xff0c;提升产品竞争力与用户满意度&#xff0c;促进项目顺利推进和高质量交付。未能及时有效应对概念设计中的需求变更&#xff0c;往往会导致项目偏离原定…

“论NoSQL数据库技术及其应用”写作框架,软考高级,系统架构设计师

论文真题 随着互联网web2.0网站的兴起&#xff0c;传统关系数据库在应对web2.0 网站&#xff0c;特别是超大规模和高并发的web2.0纯动态SNS网站上已经显得力不从心&#xff0c;暴露了很多难以克服的问题&#xff0c;而非关系型的数据库则由于其本身的特点得到了非常迅速的发展…

[C++] STL (multi)map/(multi)set简介

标题&#xff1a;[C] STL (multi)map/(multi)set简介 水墨不写bug 目录 前言&#xff1a; 一、set简介 1.set简介 2.set的常见用法 二、map简介 1.map简介 2.map使用 三、multiset简介 1.multiset简介 2.multiset使用 四、multimap简介 1.multimap简介 2.multim…

24小时不间断守护:输电线路防山火在线监测装置|防山火利器

24小时不间断守护&#xff1a;输电线路防山火在线监测装置|防山火利器 “一年之计在于秋”虽然传统上强调秋季作为收获与规划的重要时节&#xff0c;但同时也提醒我们&#xff0c;这个季节也伴随着一系列的自然挑战&#xff0c;如火灾风险的增加。针对输电线路而言&#xff0c…

制造业生产管理的困境及MES系统解决方案介绍:盘古信息IMS

在当今竞争激烈的制造业环境中&#xff0c;企业面临着前所未有的生产管理挑战。从计划执行的灵活性不足、过程监控的缺失&#xff0c;到质量控制的挑战、供应链协同的难题&#xff0c;每一个环节都亟需创新与优化。盘古信息MES系统&#xff0c;作为全球领先的制造运营管理工业软…

秋招突击——8/15——知识补充——垃圾回收机制

文章目录 引言正文指针引用可达性分析算法垃圾回收算法标记清除算法标记整理算法复制分代收集 垃圾收集器Serial收集器ParNew并行收集器Parallel Scavenge吞吐量优先收集器Serial Old老年代收集器Parallel old收集器CMS收集器G1收集器&#xff08;Garbage First垃圾优先&#x…

MySQL:查询(万字超详细版)

&#x1f48e;所属专栏&#xff1a; MySQL &#x1f48e;1. 单表查询 &#x1f48e;1.1 全列查询和指定列查询 全列查询&#xff1a; select * from exam; 在实际开发中不要使用 * 来进行查询&#xff0c;因为数据库会很大&#xff0c;影响效率 指定列查询&#xff1a; se…