一、简介

金融科技(FinTech)是一个庞大且不断增长的领域,NLP技术在其中扮演着越来越重要的角色。金融NLP任务包括情感分析、命名实体识别、新闻分类以及问答。虽然这些任务与一般NLP基准中的任务相似,但金融领域的复杂性和术语保证了一个特定领域的系统是有价值的。生成式LLM通常是有吸引力的,因为它能够进行少样本学习、文本生成和会话系统等。虽然有针对金融领域调优的掩码语言模型,但还没有针对该领域的任务进行调优或评估的LLM。

BloombergGPT 是彭博社在2023年3月发布的一个 500 亿参数的大型语言模型,专门为金融领域从头构建。它是一个大规模生成人工智能模型,专门针对金融数据进行训练,以支持金融行业内多种自然语言处理任务。彭博社通过构建这个模型,将帮助公司改进现有的金融 NLP 任务,如情感分析、命名实体识别、新闻分类和问答等。

二、特点

BloombergGPT采用了混合方法,结合了通用 LLM 和特定领域 LLM 的优点。通用模型能够在多种任务中执行良好,并在训练期间避免了专业化的需求。然而,现有的特定领域模型的结果表明,它们无法被通用模型所取代。BloombergGPT支持一组庞大且多样化的任务,通用模型能够很好地为我们服务,但绝大多数应用都在金融领域内,由特定模型更好地服务。因此,构建了一个模型,在金融基准上取得了同类中最好的结果,同时也在通用 LLM 基准上保持有竞争力的表现。

Bloomberg 的 ML 产品和研究小组与公司的 AI 工程团队合作,利用公司现有的数据创建、收集和整理资源,构建了一个大型特定领域数据集。作为一家金融数据公司,Bloomberg 的数据分析师已经收集和整理了超过 40 年的金融语言文档,拥有广泛的金融数据档案,涵盖了多种主题,并对数据来源和使用权进行了仔细跟踪。该团队从这个庞大的金融数据档案中提取出了一个包含 3630 亿个令牌的英文金融文档的综合数据集。这些数据与一个 3450 亿令牌的公共数据集结合在一起,形成了一个包含超过 7000 亿个令牌的大型训练语料库。使用这个训练语料库的一部分,该团队训练了一个 500 亿参数的解码器仅因果语言模型。最终得到的模型在现有的金融特定 NLP 基准测试、一套 Bloomberg 内部基准测试和流行基准测试中广泛类别的通用 NLP 任务(例如 BIG-bench Hard、知识评估、阅读理解和语言任务)上进行了验证。结果表明,混合训练方法产生了的模型,在域内金融任务上大大超过现有模型,在三个测试的 AI 模型中表现最佳,得分为 62.51,OPT-66B 的得分为 53.01,GPT-NeoX 的得分为 51.90,同时在通用 NLP 基准上持平或更好。

三、数据集

BloombergGPT 的数据集是基于 Bloomberg 公司广泛的数据来源构建的,可能是迄今为止最大的特定领域数据集,包含 3630 亿个token(51.27%),还增加了来自通用数据集的 3450 亿个token(48.73%),也就是用一半的公用数据打底,再加上一半的领域数据。这些数据来自 Bloomberg 公司过去四十年收集和维护的金融语言文档,包括英文金融文档。

ChatGPT:金融行业大模型BloombergGPT

四、模型

BLOOM 是一个 1760 亿参数的开放式多语言语言模型,由数百名研究人员合作设计和构建。BLOOM 是一个仅解码器的 Transformer 语言模型,它在 ROOTS 语料库上进行了训练,该数据集包括 46 种自然语言和 13 种编程语言(共 59 种)的数百个来源。研究人员发现,BLOOM 在各种基准测试中都取得了有竞争力的表现,在经过多任务提示微调后,其结果更加强大。BLOOM为了促进未来使用 LLM 进行研究和应用,公开发布了相关的模型和代码,遵循负责任的 AI 许可证。

BloombergGPT 基于BLOOM进行了改造,采用具有70层的transformer架构,模型参数达到500亿。

ChatGPT:金融行业大模型BloombergGPT

五、训练

BloombergGPT,从 40GB A100 GPU 上 130 万 GPU 小时的总计算预算开始。(AWS费用大约3000万美元,大模型训练费用都不菲!)

总共训练了 139,200 步(~53 天),并在通过训练数据(709B 可用 token 中的 569B token)完成一个 epoch 的 80%后结束了模型训练。提前结束了训练,因为保留的开发集上的损失不再改善,尽管更长时间的训练可能会产生进一步的改进。

ChatGPT:金融行业大模型BloombergGPT

为了训练大型的 BloombergGPT 模型,使用了几种优化技术。例如,使用 ZeRO 优化(第三阶段)将训练状态分片到一组 GPU 上,使用 128 个 GPU 进行分片,并在训练期间使用四个模型副本。

与 BPE 和 Wordpiece 相比,Unigram tokenizer (Kudo, 2018)通过首先初始化一个大词汇 表,并反复丢弃那些损失(例如,训练数据的对数似然)增加最少的词汇表项来学习自上而 下的词汇表。通过构建,Unigram 模型可以以几种不同的方式对输入文本进行 token 化。也就是说,Unigram 模型节省了概率,允许在推理时进行更智能的分词。

六、评价

BloombergGPT 是一个大规模生成人工智能模型,专门针对金融数据进行训练,以支持金融行业内多种自然语言处理任务。这个模型将帮助 Bloomberg 改进现有的金融 NLP 任务,如情感分析、命名实体识别、新闻分类和问答等。此外,它还将支持 Bloomberg 利用 Bloomberg 终端上可用的大量数据,更好地为客户服务。

ChatGPT:金融行业大模型BloombergGPT

BloombergGPT,在金融领域内任务表现出色,在五个任务中的四个(ConvFinQA,FiQA SA,FPB和Headline)中表现最佳,并在NER中排名第二。因此,在测试的所有模型中,BloombergGPT具有最高的胜率。

ChatGPT:金融行业大模型BloombergGPT

BloombergGPT在金融领域的情感分析方面也远超其它模型。

ChatGPT:金融行业大模型BloombergGPT

在知识评估领域,BloombergGPT 在一个任务中在 BLOOM176B、GPT-NeoX 和 OPT66B 中取得了最高的性能, 在其他三个任务中排名第二(表 14)。与上一节类似,它的性能优于类似大小的模型, 同时几乎与大得多的模型持平。

ChatGPT:金融行业大模型BloombergGPT

在许多基准的几十个任务中,对比的具有数百亿参数 的模型中,BloombergGPT 表现最好。此外,在某些情况下,它的性能甚至超过了更大 的模型(数千亿参数)。虽然BloombergGPT 的目标是成为金融任务的一流模型, 并且包括了通用训练数据以支持特定领域的训练,但该模型仍然在通用数据上获得了超过类似规模的模型的能力,并且在某些情况下匹配或优于更大的模型。

七、开放性

Bloomberg 的核心商业主张之一就是提供对过去几十年收集的数据的访问。众所周知, LLM 容易受到数据泄露攻击,在给定模型权重 Carlini et al.(2020, 2022)的情况下,有可能提取出重要的文本片段。此外,即使给予研究人员选择性的访问权限,也不能保证模型不会 被泄露。没有强有力的隐私保证,必须担心提供模型权重的访问需要给予 FinPile 的 访问权限。出于这个原因,彭博社谨慎行事,并遵循其他 LLM 开发者的做法,不发布对应的模型。

八、总结

BloomberGPT新的研究方向:首先,任务微调已经在LLM中产生了显著的改进,计划考虑在金融领域中模型对齐存在哪些独特的机会;第二,通过对 FinPile 中的数据进行训练,选择的数据可能表现出更少的毒性和偏见的语言。这对最终模型的影响目前还不清楚,计划进行测试。第三,进一步了解标记化策略如何改变结果模型。

BloombergGPT取得在LLM任务上取得了优异的结果,并在金融任务上超过了可比的模型,其中的原因按照影响的递减顺序归结为:1、一个精心策划的内部数据集;2、在 tokenizer 中的独特选择;3、最新的模型架构。