经典论文概览:大模型系列论文_BloombergGPT

BloombergGPT是一个500亿参数的金融领域语言模型,训练自一个3630亿标记的金融数据集。模型在金融任务上表现出色,同时在通用LLM基准测试中保持竞争力。训练涉及混合数据集,结合公共数据和专有金融数据,使用独特的分块和合并的Tokenization方法。模型经过优化,在多个金融任务和标准NLP基准测试中表现出色,适用于金融查询、新闻标题建议和问答等应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文的中文翻译和原始文件:

链接: https://pan.baidu.com/s/1jZqBoujugCdYHr3db4LbcA 提取码: kr3r 
 

一、BloombergGPT简介

1、模型规模

BloombergGPT是一个由彭博社创建的模型,这是一个500亿个参数的语言模型,在广泛的金融数据范围内进行训练。我们根据Bloomberg的广泛的数据源构建了一个3630亿个标记的数据集,这可能是目前为止最大的特定领域数据集,并从通用数据集中增加了345个亿个标记。

2、模型类型

BloombergGPT在标准的LLM基准测试、开放的金融基准测试和一套内部基准测试上验证了BloombergGPT,这些基准测试最准确地反映了我们的预期使用。我们的混合数据集训练导致了一个模型,在金融任务上比现有的模型有明显的优势,而不牺牲在一般LLM基准测试上的性能。

3、模型构建方法

没有建立一个通用的LLM,也没有建立一个专门针对特定领域数据的小型LLM,而是采取了一种混合方法。通用模型涵盖了许多领域,能够在各种任务中发挥高水平的作用,并且在训练时避免了专业化的需要。然而,现有的特定领域模型的结果表明,通用模型不能取代它们。在彭博社,我们支持一个非常大的、多样化的任务集,通用模型可以很好地满足这些任务,但是我们绝大多数的应用都在金融领域,特定的模型可以更好地满足这些应用。出于这个原因,我们着手建立一个模型,在金融基准测试上取得一流的结果,同时在通用的LLM基准测试上也保持有竞争力的性能

二、模型数据集

为了训练BLOOMBERGGPT,我们构建了 "FINPILE",这是一个全面的数据集,由一系列英 文金融文件组成,包括新闻、文件、新闻稿、网络抓取的金融文件,以及从彭博档案中提取 的社交媒体。这些文件是在过去20年里通过我们的商业流程获得的。我们用广泛用于训练 LLM的公共数据来充实FINPILE。结果是一个训练语料库,大约一半是特定领域的文本,一 半是通用文本。  

1、金融数据集 3630亿tokens,占比54.2%

FINPILE中包括的一些文件,如公司文件,可供人们使用。 虽然收集这些文件并对其进行预处理,以用于法律的训练,但对一般公众来说,这是不可能的。 训练是一项非艰巨的任务。其他文件,如(一个子集的)彭博新闻,必须购买。其余的文件是私有的,除其他来源外,可以通过彭博终端获得。最后,我们对这些数据进行清理, 以剥离标记、特殊格式化和模板。  

2、公共数据集 3450亿tokens,占比48.73%

训练语料库包含三个广为人知且可用的公共数据集。

The Pile 1840亿tokens-占比25.9% 

The Pile(Gao等人,2021)是GPT-Neo(Black等人,2021)、GPT- J(Wang和 Komatsuzaki,2021)和GPT-NeoX(20B)(Black等人,2022)中使用的数据集。我 们将The Pile纳入我们的训练数据,原因如下。首先,它已经被用来成功地训练一个LLM。 第二,它已经进行了大量的数据清理和预处理。第三,它包括多个领域,我们相信这种多 样化的数据将有助于推广到新的领域,甚至可能支持金融数据的训练。  

C4 1380亿tokens -占比19.48%

The Colossal Clean Crawled Corpus (C4)是一个常用于训练LLM的数据集,并被引入以支 持训练T5(Raffel等人,2020)。虽然它与Pile-CC重叠,但C4的清理和处理方式不同; 因此,我们觉得在The Pile之外包括C4比重复的文档更能增加价值。  

维基百科 240亿tokens-占比3.35%

因此包括最新的维基百科页面可能对模型的事实性有益。因此,我们包括了2022年7月1日的英文维基百科的转储。  

三、Tokenization

采用了分割和合并的方法。我们将Pile中的22个领域分别拆分为256个大小基 本相同的块。然后,我们在22个⇥256个(共2个16 )中的每一个上训练一个词汇量为65,536 的Unigram tokenizer。 = 5, 632)块。我们分层合并各个标记器,首先合并每个领域的256个标记器,然后合并得 到的22个标记器,得到最终的标记器。  

四、超参

五、模型选择

模型选择是基于BLOOM(Scao等人,2022)的纯解码器因果语言模型  。

六、模型缩放

根据模型的参数和规模与先验模型的对比蚕蛹了Hoffmann的方法

我们模型的规模是基于Chinchilla的扩展规律(Hoffmann等人,2022),特别是他 们的方法1和方法2。我们从40GB A100 GPU的130万GPU小时的总计算预算开始。由于 我们采用了激活检查点来减少我们的内存占用,由于重复的前向传递,这使我们每次迭代 的成本增加了0.33倍TFLOPs。为了考虑这个额外的成本,我们将0.75×1.3M插入 Chinchilla方程中,而不是全部。  

七、模型训练

1、训练

BloombergGPT是一个用标准的从左到右的PyTorch模型训练出来的。 因果语言建模的目标。继Brown等人(2020)之后,我们希望我们所有的训练 训练序列的长度完全相同,在我们的例子中是2,048个标记,以最大化GPU的利用率。为 了达到这个目的,我们将所有标记化的训练文件与一个 "小 "字连接起来。 <|endoftext|>标记作为文件分隔符。然后,我们把这个标记序列分成2,048个标记的小 块。请注意,使用这种方法,每个训练序列可能包含来自不同领域的多个文件。还要注意 的是,由于我们使用的是ALiBi位置编码,BLOOMBERGGPT在推理时可以应用于长于 2,048的序列。  

2、优化

我们使用AdamW优化器(Loshchilov和Hutter,2019)。我们将β1 设为0.9,β2 设为0.95,权重衰减为0.1。按照Brown等人(2020)的做法,我们将最大的学习率设置 为6e-5,并使用线性预热的余弦衰变学习率调度器。我们在前1800步对学习率进行预热。 按照Hoffmann等人(2022)的做法,最终的学习率是最大学习率的0.1倍,即6e-6。我们 还采用了批量预热(Brown等人,2020):在前7200步中,我们使用1024个批量(210万 个代币),然后在剩余的训练中改用2048个批量(420万个代币)。  

3、硬件情况

我们使用AWS提供的Amazon SageMaker服务来训练和评估BLOOMBERGGPT。 我们使用训练时的最新版本,在总共64个p4d.24xlarge实例上训练。每个p4d.24xlarge实 例有8个英伟达40GB A100 GPU,采用英伟达NVSwitch节点内连接(600 GB/s)和英伟 达GPUDirect使用AWS Elastic Fabric Adapter(EFA)节点间连接(400 Gb/s)。这就产 生了总共512个40GB的A100 GPU。为了快速访问数据,我们使用亚马逊FSX for Lustre, 它支持每TiB存储单元高达1000 MB/s的读写吞吐量。  

八、模型优化

为训练BloombergGPT,我们利用AWS SageMaker模型并行化库在多GPU上自动分配这个大模型。实验各种技术后,训练速度达102  TFLOPs,每个步长32.5秒。以下设置效果最好:ZeRO优化的第三阶段将训练状态分散在128个GPU上,训练时有4个模型副本。MiCS降低了云训练集群的通信和内存需求,具有分层通信、两跳梯度更新和规模感知模型分区等功能。激活检查点通过移除激活来最小化内存,代价是额外计算。只有层的输入和输出在前向传递后保留在内存,中间张量从内存丢弃。在后向传递中,这些中间张量被重新计算。我们将激活检查点应用于每个转化器层。 

九、模型评价

1、选择模型对比

我们根据模型的大小、训练数据的类型、整体性能以及最重要的访问量,将 BLOOMBERGGPT与§7中描述的三个最接近的模型进行比较。表6中提供了模型大小和计算 的概述。 

GPT-NeoX(Black等人,2022):根据Liang等人(2022)的研究,该模型是50B 参数下性能最好的可用模型。 

OPT66B (Zhang等人,2022a):我们选择与OPT66B 进行比较,因为我们的模型大 小和结构大致相同,尽管我们的模型更小。 

BLOOM176B (Scao等人,2022):虽然这个模型比BLOOMBERGGPT大得多,但我们使用相 同的模型架构和软件栈。我们注意到,BLOOM176B 是多语言的,所以虽然它的规模大得多, 但它也是在更多语言的数据上训练出来的。 

这三个模型都使用了一些与我们在训练中使用的通用数据集。我们还报告了原始GPT-3( Brown等人,2020年)的结果,只要外部可用。

2、金融专用任务评价

(1)外部金融数据验证

评价任务

FPB(Malo等人,2014):金融短语库数据集包括对金融新闻句子的情感分类任务 。任何可能对投资者有利/不利的新闻都被认为是积极/消极的,否则就是中性的。我 们创建了我们自己的分类,并在5次拍摄中报告了由支持度加权的F1得分。 

FiQA SA(Maia等人,2018):第二个情感分析任务是预测英语财经新闻和微博头 条中特定方面的情感,这些新闻和微博头条是作为2018年金融问题回答和意见挖掘 挑战的一部分发布的。虽然原始数据集是在一个连续的尺度上注释的,但我们将数 据离散成一个具有消极、中立和积极类别的分类设置。与FPB一样,我们创建了自 己的分割,包括微博和新闻,并使用5次拍摄设置,报告加权的F1。  

标题(Sinha和Khandait,2020):这是一个二元分类任务,即黄金商品领域的新闻 头条是否包括某些信息。这个由人类注释的数据集包括关于 "黄金 "的英文新闻标题。 每篇新闻都带有以下标签的一个子集:"价格或不"、"价格上涨"、"价格下跌"、"价格 稳定"、"过去的价格"、"未来的价格"、"过去的一般"、"未来的一般"、"资产比较"。 我们用官方文件将每个标签口述成一个问题,使用5个镜头,并报告所有类别的平均 加权F1得分。 

• NER(Salinas Alvarado等人,2015):这是一项针对金融数据的命名实体识别任 务,这些数据来自于提交给SEC的金融协议,用于信用风险评估。被注释的实体类 型遵循标准的CoNLL格式(Tjong Kim Sang和De Meulder,2003),并被注释为 PER、LOC、ORG和MISC。由于在少量的设置中学习预测空的输出是不可行的, 我们放弃了不包含任何实体的句子。由于MISC标签的定义不明确,我们进一步删除 了它。所有的模型都需要更多的镜头才能表现良好,因此我们选择了20个镜头,并 报告实体级的F1得分。 

• ConvFinQA(Chen等人,2022):给定来自标准普尔500指数收益报告的输入,包 括文本和至少一个包含财务数据的表格,任务是回答需要对输入进行数字推理的转 换问题。这项任务需要数字推理、对结构化数据和财务概念的理解,并且需要一个模 型来将后续问题与对话转折联系起来。 

对于ConvFinQA,我们使用整个黄金对话,其背景被用作模型的输入。当对话的每 个 "回合 "结束时,"回合 "与该回合的答案一起被附加为未来回合的背景。我们报告 了公共开发集上的精确匹配精度。  

评价结果

在所有模型中,BloombergGPT在五项任务中的四项表现最好(ConvFinQA、FiQA SA、FPB和Headline),在NER中排名第二(表8)。因此、 在我们测试的所有模型中,BloombergGPT的获胜率也是最高的。与同等规模模型的差距 在ConvFinQA中尤为明显,由于要求使用对话输入来推理表格并生成答案,所以 ConvFinQA具有挑战性。  

(2)彭博社内部数据评价

评价任务

股票新闻情绪:这项任务是预测新闻故事中对一个公司的特定情感。该数据集由彭 博社的英文新闻故事、高级内容和网络内容组成。对 "正面"、"负面 "或 "中性 "的注 释表明,该新闻故事可能会增加、减少或不改变投资者对该公司的长期信心。 

股票社会媒体情绪:该任务类似于 "股票新闻情绪",但我们使用与金融相关的英 文社交媒体内容,而不是新闻。 

股票记录的情绪:这项任务也类似于 "股票新闻情绪",但我们使用的不是新闻,而 是公司新闻发布会的文字记录。这些文字记录是通过使用语音识别,有时是人工编 辑来实现的。长的文字记录是分块处理的,在我们的数据集中,每个块通常包含70 到80个标记。  

ES新闻情绪:虽然这项任务是预测新闻报道中对某一公司(方面)所表达的特定方 面的情绪,但其目的不是为了表明对投资者信心的影响。如果新闻故事中包含反映 公司环境和社会政策的好的、坏的或中性的新闻内容,那么这些故事将被注释为 "正 面"、"负面 "或 "中性"。 

国家新闻情绪:这项任务与其他情感任务不同,其目标是预测新闻故事中对一个 国家的情感表达。该数据集由彭博社的英文新闻故事、高级内容和网络内容组成。 如果新闻故事涉及到该国经济的增长、萎缩或现状,这些故事将被注释为 "正面"、 "负面 "或 "中性"。  

评价结果 

在四个内部特定方面的情感任务中,BloombergGPT的表现比所有其他测试模型 都要好,而且差距很大。唯一的任务是 在社交媒体情感任务中,这些模型的表现相似,而BloombergGPT过其他模型至少25分,在其他三个模型中最多超过60分。  

(3)探索性任务 NER

评价任务

BN NER:这是对2017年至2020年间彭博社英文长篇新闻内容("BN wire")中出现 的实体进行的命名实体识别任务。 

BFW NER:与 "BN NER "类似,但我们不使用BN的长篇报道,而是使用2018年至 2020年期间 "彭博社第一消息 "的短篇报道。 

文件NER:这项任务的目标是识别公司提交的强制性财务披露中出现的实体。该数 据集包含2016年至2019年之间的采样文件。 

头条新闻NER:这项任务的目标是识别英语彭博新闻内容的头条新闻中出现的实 体。该数据集包含2016年和2020年之间的头条新闻采样。 

Premium NER:这项任务的目标是识别彭博社摄取的第三方英文新闻内容的子集中 出现的实体。该数据集包含2019年和2021年之间采样的故事。 

Transcripts NER:这个任务的目标是识别公司新闻发布会记录中出现的实体。该数 据集包含2019年的成绩单。  

2、通用任务评价

评估一下BloombergGPT在标准的、通用的NLP任务上的表现。虽然我们模型 的重点是金融任务,但我们包含的通用训练数据可能不仅有助于改善金融任务,而且还 能使我们的模型在更多的标准NLP数据集上表现良好。我们从BIG-bench Hard(Suzgun 等人,2022)开始,这是BIG-bench(Srivastava等人,2022)中最具挑战性任务的一个 子集。它只包括在构建时最好的可用模型无法通过标准提示技术实现高于平均人类评分者 的性能的任务。 

每项任务的结果都显示在表13中。总的来说,虽然BloombergGPT下降 排在更大的PaLM540B (10倍参数)和BLOOM176B (3.5倍参数)之后、 它是类似规模的模型中表现最好的。事实上,它的表现比GPT-NeoX或OPT66B 更接近于 BLOOM176B 。它还在日期理解、hyperbaton(形容词排序)和跟踪洗牌对象方面取得了所 有模型中的最佳表现。总之,根据这一基准,我们发现,开发金融专用的 BLOOMBERGGPT并没有以牺牲其通用能力为代价。

(1)知识评估

(2)阅读理解

(3)语言学任务

(4)摘要

在许多基准的几十项任务中,出现了一个清晰的画面。在我们所比较的具有数百亿个参数 的模型中,BLOOMBERGGPT的表现最好。此外,在某些情况下,它的性能具有竞争力, 甚至超过了更大的模型(数千亿的参数)。

4、模型特性

Bloomberg查询语言的生成。 

BLOOMBERGGPT的一个用例是使与金融数据的互动更加自 然。检索数据的一种现有方式是通过彭博查询语言(BQL)。BQL可以用来与不同类别的 证券进行互动,每一类都有自己的字段、函数和参数。BQL是一个令人难以置信的强大但 复杂的工具。正如我们在图4中所示,BLOOMBERGGPT可以通过将自然语言查询转化为有 效的BQL,从而使BQL更易于使用。 

关于新闻标题的建议。

其他得到良好支持的用例是在新闻领域。由于它是在许多新闻文章 上训练出来的,它可以用于许多新闻应用,并协助记者的日常工作。例如,在构建新闻通 讯时,记者可能需要为每个新的部分写出简短的标题。虽然一个专门的模型来帮助完成这 项任务可能过于昂贵,难以维护,但BLOOMBERGGPT开箱即用,表现良好(图5)。 

金融问题的回答。 

由于金融领域的训练数据,我们能够向BLOOMBERGGPT查询与金融 世界相关的知识。例如,它在识别一个公司的CEO方面表现良好。图6显示了几个例子, 其中包括其他模型的输出。虽然BLOOMBERGGPT正确地识别了CEO,但GPT-NeoX却没 有,而FLAN-T5-XXL则完全失败,始终忽略了该公司的CEO。  

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数智笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值