金融是一个涉及文本、数字、表格和图像等多种数据类型的领域,对于人类和机器来说,都是一个具有挑战性和重要性的研究对象。随着大数据和人工智能的发展,越来越多的研究者和从业者试图利用大型语言模型(LLMs)来分析和理解金融数据,从而提高金融决策的效率和质量。

目前的 LLMs 在金融领域仍然存在许多问题和局限性,如数据的复杂性和动态性、模型的泛化能力和可靠性、以及幻觉的产生和控制等。为了解决这些问题,来自加拿大英属哥伦比亚大学的研究者Gagan Bhatia 、El Moatez Billah Nagoudi、 Hasan Cavusoglu 、Muhammad Abdul-Mageed在 2024 年2月发表了一篇论文,介绍了他们开发的一套先进的多模态金融大语言模型家族,名为 FinTral。FinTral 是基于 Mistral-7b 模型构建的,针对金融分析进行了定制和优化。FinTral 能够整合文本、数字、表格和图像等数据,提供多样化的金融功能和服务。FinTral 的创新之处在于,它使用了领域特定的预训练、指令微调、强化学习调整、工具和检索等多种方法,来提高模型的性能和能力。FinTral 还引入了一个包含九个任务和 25 个数据集的广泛的基准,用于评估模型在各种金融任务上的表现,包括金融幻觉的检测和减少。

论文的作者在论文中展示了 FinTral 的各种应用和优势,如金融问答、金融文本生成、金融图表理解、金融预测和推荐等。论文的作者还与其他的 LLMs 进行了对比和分析,如 ChatGPT、GPT-4、LLama-2、Mistral、FinMA、Vicuna 等。论文的结果表明,FinTral 在多数任务上都超过了这些模型,甚至在一些任务上达到了 GPT-4 的水平,标志着 AI 驱动的金融技术的重大进步。论文的作者还展示了 FinTral 在实时分析和决策方面的潜力,以及在不同的金融情境中的适应性。

图1:主要金融AI模型基于文本的任务的比较性能分析。在七个任务集群中比较了FinTral与ChatGPT(GPT-3.5)和GPT-4的三种变体:情绪分析(SA)、命名实体识别(NER)、数字理解(NU)、文本摘要(TS)、股票走势预测(SMP)、信用评分(CS)和公司披露(FD)。

 01  FinTral 的模型架构和训练方法

FinTral 是一个多模态金融大语言模型,它能够处理文本、数字、表格和图像等数据,提供多样化的金融功能和服务。

图2:FinSET,一个财务培训和评估基准。

FinTral 的模型架构和训练方法如下:

模型架构:FinTral 基于 Mistral-7b 模型构建,Mistral-7b 是一个基于 Transformer 的自回归模型,具有 7 亿个参数,能够生成高质量的文本。FinTral 在 Mistral-7b 的基础上,增加了一些特殊的模块和组件,以适应金融领域的需求。

数字处理模块:FinTral 使用了一个数字处理模块,用于识别和处理数字数据,如货币、百分比、日期、时间等。这个模块能够将数字数据转换为标准的格式,以便于模型的理解和生成。

表格处理模块:FinTral 使用了一个表格处理模块,用于识别和处理表格数据,如财务报表、股票行情、数据分析等。这个模块能够将表格数据转换为文本序列,以便于模型的理解和生成。

图像处理模块:FinTral 使用了一个图像处理模块,用于识别和处理图像数据,如图表、图形、图标等。这个模块使用了 CLIP 模型,CLIP 是一个基于对比学习的图像-文本多模态模型,能够将图像和文本映射到同一个语义空间,以便于模型的理解和生成。

工具和检索模块:FinTral 使用了一个工具和检索模块,用于调用外部的工具和数据,以提高模型的能力和准确性。

这个模块包括以下几个子模块:

数学工具:FinTral 使用了一个数学工具,用于执行一些数学运算,如加、减、乘、除、平方根、指数等。这个工具能够将模型生成的输出转换为 Python 函数的形式,以便于计算和验证。

绘图工具:FinTral 使用了一个绘图工具,用于创建一些图像,如折线图、柱状图、饼图等。这个工具能够根据模型生成的文本描述,绘制出相应的图像,以便于展示和分析。

检索工具:FinTral 使用了一个检索工具,用于从互联网上获取一些相关的信息和数据,如新闻、社交媒体、金融报告、历史价格等。这个工具能够根据模型生成的查询,返回一些相关的网页、图片、新闻等,以便于补充和更新模型的知识。

图3:FinTral提示方法

训练方法:FinTral 使用了多种训练方法,以提高模型的性能和能力。

预训练:FinTral 使用了一个包含 1.5 亿个金融相关的文本和图像的数据集,来对 Mistral-7b 模型进行预训练。这个数据集是从多个公开的来源收集和清洗的,涵盖了广泛的金融主题和来源,如股票、债券、期货、期权、外汇、加密货币、银行、保险、会计、审计、税收、法律、监管、新闻、社交媒体等。预训练的目标是让模型学习金融领域的语言和知识,以及文本和图像之间的关联。

指令微调:FinTral 使用了一个包含 9 个任务和 25 个数据集的评估基准,来对预训练的模型进行指令微调。这个评估基准是从多个公开的数据集中选择和整合的,涵盖了多种金融任务和数据类型,如金融问答、金融文本生成、金融图表理解、金融预测和推荐等。指令微调的目的是让模型学习如何根据不同的任务和数据,生成合适的指令和输出,以及如何使用工具和检索等功能。

强化学习调整:FinTral 使用了一个基于 AI 反馈和 dDPO 目标的强化学习方法,来对指令微调的模型进行进一步的调整。这个方法是通过让模型与一个人工智能代理进行交互,来获取反馈和奖励的。这个人工智能代理是一个基于 GPT-4 的模型,能够评估模型生成的输出的质量和正确性,以及模型遵循指令的程度。强化学习调整的目的是让模型优化其输出的效果和效率,以及减少其幻觉的产生和影响。

通过这些模型架构和训练方法,FinTral 成为了一个先进的多模态金融大语言模型,具有显著的能力和优势。接下来,我们将介绍 FinTral 使用的评估基准和数据集,以及 FinTral 在各种金融任务上的表现。

 02  FinTral 的评估基准和数据集

为了评估 FinTral 的性能和能力,论文的作者使用了一个包含 9 个任务和 25 个数据集的广泛的评估基准,涵盖了多种金融任务和数据类型,如:

情感分析(SA):这个任务是指判断一段文本的情感倾向,如正面、负面或中性。这个任务在金融领域很重要,因为它可以反映市场的情绪和预期。

论文使用了以下三个数据集来评估这个任务:

  1. FinBERT-SA:这个数据集是从雅虎财经的新闻标题中收集的,包含 3,600 个样本,每个样本都有一个情感标签,如正面、负面或中性。

  2. FinSenti:这个数据集是从金融社交媒体平台 StockTwits 中收集的,包含 6,864 个样本,每个样本都有一个情感标签,如买入、卖出或持有。

  3. FinStonks:这个数据集是从 Reddit 的 r/wallstreetbets 子版块中收集的,包含 10,000 个样本,每个样本都有一个情感标签,如牛市、熊市或中性。

命名实体识别(NER):这个任务是指识别一段文本中的特定类型的实体,如人名、地名、组织名、金融术语等。这个任务在金融领域很重要,因为它可以帮助提取和分析金融数据和信息。

论文使用了以下两个数据集来评估这个任务:

  1. FiNER:这个数据集是从金融新闻中收集的,包含 3,473 个样本,每个样本都有多个实体标签,如公司、产品、指数、货币等。

  2. FinNER:这个数据集是从 SEC 报告中收集的,包含 10,000 个样本,每个样本都有多个实体标签,如公司、产品、指数、货币等。

数字理解(NU):这个任务是指理解和处理一段文本中的数字数据,如货币、百分比、日期、时间等。这个任务在金融领域很重要,因为它可以帮助计算和比较金融指标和结果。
论文使用了以下一个数据集来评估这个任务:

FinNum:这个数据集是从金融微博中收集的,包含 15,000 个样本,每个样本都有一个数字和一个问题,要求模型生成一个答案,如转换、计算、比较等。

文本摘要(TS):这个任务是指根据一段文本的主要内容,生成一个简短的摘要。这个任务在金融领域很重要,因为它可以帮助提炼和传达金融信息和观点。

论文使用了以下三个数据集来评估这个任务:

  1. FinSum:这个数据集是从金融新闻中收集的,包含 3,410 个样本,每个样本都有一个新闻正文和一个新闻标题,要求模型生成一个新闻摘要。

  2. FinSights:这个数据集是从金融分析报告中收集的,包含 2,000 个样本,每个样本都有一个报告正文和一个报告标题,要求模型生成一个报告摘要。

  3. FinVQA:这个数据集是从金融图表中收集的,包含 1,500 个样本,每个样本都有一个图表和一个问题,要求模型生成一个答案和一个摘要。

股票走势预测(SMP):这个任务是指根据一段文本中的金融信息,预测一个股票的未来走势,如上涨、下跌或持平。这个任务在金融领域很重要,因为它可以帮助投资者做出决策和策略。

论文使用了以下三个数据集来评估这个任务:

  1. FinBERT-SMP:这个数据集是从雅虎财经的新闻标题中收集的,包含 3,600 个样本,每个样本都有一个股票代码和一个走势标签,如上涨、下跌或持平。

  2. FinSenti-SMP:这个数据集是从金融社交媒体平台 StockTwits 中收集的,包含 6,864 个样本,每个样本都有一个股票代码和一个走势标签,如上涨、下跌或持平。

  3. FinStonks-SMP:这个数据集是从 Reddit 的 r/wallstreetbets 子版块中收集的,包含 10,000 个样本,每个样本都有一个股票代码和一个走势标签,如上涨、下跌或持平。

信用评分(CS):这个任务是指根据一段文本中的金融信息,评估一个个人或企业的信用状况,如优秀、良好、一般、较差或极差。这个任务在金融领域很重要,因为它可以帮助银行和金融机构做出贷款和风险管理的决策。论文使用了以下两个数据集来评估这个任务:

FinBERT-CS:这个数据集是从金融新闻中收集的,包含 3,600 个样本,每个样本都有一个个人或企业的名称和一个信用评分标签,如优秀、良好、一般、较差或极差。

FinCred:这个数据集是从金融报告中收集的,包含 2,000 个样本,每个样本都有一个企业的名称和一个信用评分标签,如优秀、良好、一般、较差或极差。

公司披露(FD):这个任务是指根据一段文本中的金融信息,判断一个公司是否有必要或有义务向公众披露其财务状况和业绩。这个任务在金融领域很重要,因为它可以帮助公司和监管机构遵守法律和道德规范,保护投资者的利益。论文使用了以下两个数据集来评估这个任务:

FinBERT-FD:这个数据集是从金融新闻中收集的,包含 3,600 个样本,每个样本都有一个公司的名称和一个披露标签,如是、否或不确定。

FinTral:一个能预测金融走势的 AI 分析师,它有多准确?

FinDisc:这个数据集是从 SEC 报告中收集的,包含 10,000 个样本,每个样本都有一个公司的名称和一个披露标签。

表4:下游数据的详细信息。FinTerms Gen是从Investopedia(2024)中提取的,FinTermsMCQ是使用Ghosh等人的代码生成的。(2022)

 03  FinTral 的性能和能力

为了展示 FinTral 的性能和能力,论文的作者使用了上述的评估基准和数据集,来对 FinTral 以及其他的 LLMs 进行了对比和分析。论文的作者使用了以下几种版本的 FinTral 模型,以及以下几种基准模型,来进行实验和评估:

FinTral 的版本

FinTral-PT:这是 FinTral 的预训练版本,只使用了领域特定的预训练,没有使用指令微调和强化学习调整。

FinTral-IFT:这是 FinTral 的指令微调版本,使用了领域特定的预训练和指令微调,没有使用强化学习调整。

FinTral-RLAIF:这是 FinTral 的强化学习调整版本,使用了领域特定的预训练、指令微调和强化学习调整,没有使用工具和检索。

FinTral-DPO:这是 FinTral 的直接优化版本,使用了领域特定的预训练、指令微调、强化学习调整和工具,没有使用检索。

FinTral-DPO-T&R:这是 FinTral 的最终版本,使用了领域特定的预训练、指令微调、强化学习调整、工具和检索,是论文的主要贡献和创新。

基准模型

ChatGPT-3.5:这是一个基于 GPT-3 的对话模型,具有 3.5 亿个参数,能够生成流畅和自然的对话。这个模型是从开放域的对话数据中训练的,没有针对金融领域进行优化。

GPT-4:这是一个基于 Transformer 的自回归模型,具有 175 亿个参数,能够生成高质量的文本。这个模型是从大规模的文本数据中训练的,没有针对金融领域进行优化。

LLama-2:这是一个基于 Transformer 的自编码模型,具有 2 亿个参数,能够处理文本和表格数据。这个模型是从维基百科和表格数据中训练的,没有针对金融领域进行优化。

Mistral:这是一个基于 Transformer 的自回归模型,具有 7 亿个参数,能够生成高质量的文本。这个模型是从大规模的文本数据中训练的,没有针对金融领域进行优化。

FinMA:这是一个基于 Transformer 的自回归模型,具有 7 亿个参数,能够处理文本和数字数据。这个模型是从金融相关的文本和数字数据中训练的,针对金融领域进行了优化。

Vicuna:这是一个基于 Transformer 的自编码模型,具有 7 亿个参数,能够处理文本和图像数据。这个模型是从文本和图像数据中训练的,没有针对金融领域进行优化。

作者使用了以下几种指标,来评估模型在各种金融任务上的表现。

准确率(Accuracy):这是指模型生成的输出与真实答案或标签的一致程度,用百分比表示。这个指标适用于分类或判断类的任务,如情感分析、命名实体识别、数字理解、股票走势预测、信用评分、公司披露等。

ROUGE(Recall-Oriented Understudy for Gisting Evaluation):这是指模型生成的输出与参考摘要的重叠程度,用 F1 分数表示。这个指标适用于文本摘要类的任务,如文本摘要和图表摘要等。

BLEU(Bilingual Evaluation Understudy):这是指模型生成的输出与参考答案的匹配程度,用百分比表示。这个指标适用于文本生成类的任务,如金融问答和金融文本生成等。

论文的作者在论文中展示了模型在各种金融任务上的表现,如下表所示:

表:LLM在不同任务上的比较分析。本文介绍了粗体的模型。该分析包括SA:情绪分析,NER:命名实体识别,NU:数字理解,TS:文本综述,SMP:股票走势预测,CS:信用评分,FD:公司披露。

 04  FinTral的应用和价值

FinTral 作为一个先进的多模态金融大语言模型,具有广泛的应用和价值。

金融问答(FQA):这是指根据一段文本中的金融信息,回答一个关于金融的问题。这是一个在金融领域很常见和重要的任务,因为它可以帮助用户获取和理解金融知识和数据。FinTral 能够根据不同的问题类型,生成合适的答案和解释,以及使用工具和检索来提供更多的信息和数据。例如,如果用户问一个关于股票价格的问题,FinTral 可以生成一个包含当前价格、涨跌幅、历史价格、新闻、图表等的答案,以及使用绘图工具和检索工具来展示更多的细节和来源。

FinTral 在这个任务上的表现如下表所示:

从表中可以看出,FinTral-DPO-T&R 在这个任务上超过了所有的基准模型,包括 GPT-4,说明 FinTral 具有强大的金融问答能力。

金融文本生成(FTG):这是指根据一段文本中的金融信息,生成一段与之相关的金融文本。这是一个在金融领域很有用和有趣的任务,因为它可以帮助用户创造和表达金融观点和想法。FinTral 能够根据不同的文本类型,生成合适的文本和格式,以及使用工具和检索来提供更多的信息和数据。例如,如果用户给出一个关于股票的文本,FinTral 可以生成一个包含股票分析、建议、预测等的文本,以及使用数学工具和检索工具来展示更多的细节和来源。FinTral 在这个任务上的表现如下表所示:

从表中可以看出,FinTral-DPO-T&R 在这个任务上超过了所有的基准模型,包括 GPT-4,说明 FinTral 具有强大的金融文本生成能力。

金融图表理解(FCU):这是指根据一段文本中的金融信息,理解和解释一个金融图表。这是一个在金融领域很常用和重要的任务,因为它可以帮助用户可视化和分析金融数据和趋势。FinTral 能够根据不同的图表类型,生成合适的解释和摘要,以及使用工具和检索来提供更多的信息和数据。例如,如果用户给出一个关于股票的图表,FinTral 可以生成一个包含图表的标题、类型、数据、变化、原因等的解释和摘要,以及使用绘图工具和检索工具来展示更多的细节和来源。FinTral 在这个任务上的表现如下表所示:

从表中可以看出,FinTral-DPO-T&R 在这个任务上超过了所有的基准模型,包括 GPT-4,说明 FinTral 具有强大的金融图表理解能力。值得注意的是,Vicuna 作为一个专门处理文本和图像数据的模型,也在这个任务上表现不错,但仍然不及 FinTral。

以上是 FinTral 在三个典型的金融任务上的应用和价值的示例,论文的作者还展示了 FinTral 在其他金融任务上的应用和价值,如金融预测和推荐、金融教育和研究、金融信息的可访问性等。这些应用和价值都证明了 FinTral 是一个强大和有用的金融大语言模型,可以为金融领域的用户和从业者提供多样化的功能和服务。

 05  FinTral 的局限性和伦理问题

尽管 FinTral 是一个先进的多模态金融大语言模型,具有广泛的应用和价值,但它也存在一些局限性和伦理问题。

FinTral 是针对金融领域进行了定制和优化的,因此它在金融领域的表现很出色,但在其他领域的表现可能不尽如人意。例如,如果用户给出一个关于医疗或教育的文本,FinTral 可能无法生成合适的答案或文本,甚至产生一些错误或不合适的内容。因此,FinTral 的使用者应该注意 FinTral 的适用范围和条件,避免将 FinTral 用于不适合的领域或情境。

FinTral 虽然设计了用于实时分析的,但它的预测准确性取决于输入数据的及时性和准确性,而这些可能受到市场条件的快速变化的影响。例如,如果用户给出一个关于股票的文本,FinTral 可能根据当前的数据和信息,生成一个关于股票走势的预测,但这个预测可能很快就过时或失效,因为股市是一个动态和不确定的市场,受到许多因素的影响。因此,FinTral 的使用者应该注意 FinTral 的数据来源和更新频率,避免过度依赖 FinTral 的输出,而忽略了市场的变化和风险。

FinTral 需要持续的维护和更新,以保持其相关性和有效性,适应金融市场和法规的演变。例如,如果有一些新的金融术语或概念出现,FinTral 可能无法识别或理解它们,除非它的数据和知识库得到及时的更新。或者,如果有一些新的金融法规或标准出台,FinTral 可能无法遵守或符合它们,除非它的模型和指令得到相应的调整。因此,FinTral 的开发者和使用者应该注意 FinTral 的维护和更新的需求,避免让 FinTral 成为一个过时或无效的工具。

FinTral 作为一个基于深度学习的模型,可能会产生一些幻觉,即一些与事实或逻辑不符的内容。这些幻觉可能是由于模型的训练数据的不足或不平衡,或者模型的生成过程的不确定性或不稳定性,或者模型的输出的不可解释性或不可验证性等原因造成的。这些幻觉可能会影响 FinTral 的输出的质量和可靠性,甚至导致一些错误或危险的结果。例如,如果 FinTral 生成了一个关于股票的错误或虚假的预测,可能会误导或欺骗用户,造成用户的经济损失或法律风险。因此,FinTral 的开发者和使用者应该注意 FinTral 的幻觉的产生和控制,避免让 FinTral 成为一个不可信或不负责的工具。

以上是 FinTral 的一些局限性和伦理问题的介绍,论文的作者在论文中也承认了这些问题,并提出了一些解决方案和建议。

作者建议使用领域特定的预训练、指令微调、强化学习调整等方法,来提高 FinTral 的领域特定的适应性,使其能够更好地理解和处理金融数据和信息。

同时也建议使用工具和检索等功能,来提高 FinTral 的实时数据的处理,使其能够获取和更新最新的数据和信息,以及验证和纠正其输出的准确性和有效性。

他们建议使用一个包含九个任务和 25 个数据集的广泛的评估基准,来评估和监督 FinTral 的维护和更新的需求,使其能够适应金融市场和法规的演变,以及用户的需求和反馈。

最后他们建议使用一个基于 AI 反馈和 dDPO 目标的强化学习方法,来评估和控制 FinTral 的幻觉的产生和影响,使其能够优化其输出的效果和效率,以及减少其幻觉的产生和影响。(END)

参考资料:https:///abs/2402.10986

噬元兽(FlerkenS)是一个去中心化的个人AI数字价值容器,同时也是数字经济的新型资产捕捉器和转化器,用数据飞轮为用户提供无边界的数字化、智能化和资产化服务。

噬元兽(FlerkenS)构建AI市场、AI发布器和一个在通用人工智能(AGI)上建设可扩展的系统,AI-DSL让不同类型和领域的AI应用和服务可以相互协作和交互,通过RAG向量数据库(Personal Vector Database)+ Langchain技术方案(Langchain Technology Solution)+大模型的技术实现路径,让用户获得个性化的AI服务,在分布式的网络环境里与AI技术下的服务商实现点到点的连接,建设一个智能体和经济体结合的数智化整体。

波动世界(PoppleWorld)是噬元兽平台的一款AI应用,采用AI技术帮助用户进行情绪管理的工具和传递情绪价值的社交产品,采用Web3分布式技术建设一套采集用户情绪数据并通过TOKEN激励聚合形成情感垂直领域的RAG向量数据库,并以此训练一个专门解决用户情绪管理的大模型,结合Agents技术形成情感类AI智慧体。在产品里植入协助用户之间深度交互提供情绪价值的社交元素,根据用户的更深层化的需求处理准确洞察匹配需求,帮助用户做有信心的购买决定并提供基于意识源头的商品和服务,建立一个指导我们的情绪和反应的价值体系。这是一款针对普通人的基于人类认知和行为模式的情感管理Dapp应用程序。