BloombergGPT: 首个金融垂直领域大语言模型

news2024/11/16 0:38:03

BloombergGPT: 首个金融垂直领域大语言模型

Bloomberg 刚刚发布了一篇研究论文,详细介绍了他们最新的突破性技术 BloombergGPT。BloombergGPT是一个大型生成式人工智能模型,专门使用大量金融数据进行了训练,以支持金融行业自然语言处理 (NLP) 任务。

随着ChatGPT的发布,人工智能取得了长足进步。但金融领域相当复杂且独特的领域,它往往受着严厉的合规监管,对事实正确性要求极高。这就是 BloombergGPT 诞生的原因——它是第一个专门为金融行业设计的大型语言模型。该模型将帮助Bloomberg在内的众多金融企业改进现有的金融 NLP 任务,如情绪分析、命名实体识别、新闻分类和问答等。 此外,Bloomberg计划将来将BloombergGPT嵌入自家终端中,以利用Bloomberg终端上可用的大量数据更好地为客户服务。

本文将对BloombergGPT做一个摘要性解读

img

文章目录

    • 论文摘要
    • 数据来源
    • 模型效果
      • Bloomberg-GPT 的性能指标
      • 使用的评估基准
      • 用于评估金融任务的模板
    • 金融领域任务的表现(通用任务、NER 和情绪分析)
      • 使用 BIG-Bench(3 shot)标准进行知识评估
      • 知识评估(1 shot 和 5 shot)
      • 效果总结
    • 总结

论文摘要

NLP 在金融技术领域的应用广泛且复杂,主要应用场景包括情感分析、命名实体识别到问答等。 大语言模型 (LLM) 已被证明可以有效处理上述任务;但是,鲜少没有报道过有专门针对金融领域的文献。本作中,我们展示了 BloombergGPT 这个拥有 500 亿参数的语言模型,它采用大量金融数据训练而来。我们基于 Bloomberg 大量的数据源构建了一个 3630 亿个token数据集,这可能是迄今为止最大的特定领域数据集,并增加了来自通用数据集的 3450 亿个token。我们在标准 LLM 基准、开放金融基准和一套最能准确反映我们预期用途的内部基准上验证了 BloombergGPT。我们的混合数据集训练得到的模型表现出在不牺牲一般 LLM 基准测试性能的情况下,在金融任务上的性能明显优于现有模型。此外,我们还解释了我们的建模选择、训练过程和评估方法。 下一步,我们计划发布训练日志,详细说明我们在训练 BloombergGPT 方面的经验。

数据来源

**十多年来,Bloomberg一直是人工智能、机器学习和金融 NLP 领域的领导者。**他们开发了一种混合方法,将金融数据与通用数据集相结合,从而训练出一个既能在通用 LLM 基准测试中表现出色,同时又能输出一流的金融相关结果的模型。

为了开发 BloombergGPT,机器学习产品和研究小组与 AI 工程团队合作创建了(可能是)迄今为止最大的特定领域数据集。 他们利用Bloomberg现有的数据创建、收集和资源工具,利用其海量的金融数据文档创建了一个由英文金融文件组成的 3630 亿token的综合数据集。 然后,他们使用 3450 亿个token的公共数据集扩充此数据,创建了一个包含超过 7000 亿个token的训练语料库。

img

数据的年代分布

img

模型效果

使用上述语料库的一部分,Bloomberg团队训练了一个 500 亿参数的仅包含解码器的因果语言模型。由此产生的模型在现有的特定金融领域 NLP 基准、Bloomberg内部基准以及大量流行通用 NLP 任务基准上得到了验证。BloombergGPT 在金融任务上的表现明显优于现有的类似规模的开放模型,同时在一般 NLP 基准测试中的表现与其他模型持平或更好。

Bloomberg-GPT 的性能指标

img

使用的评估基准

img

用于评估金融任务的模板

img

金融领域任务的表现(通用任务、NER 和情绪分析)

img

img

img

使用 BIG-Bench(3 shot)标准进行知识评估

img

知识评估(1 shot 和 5 shot)

img

效果总结

在许多基准测试的数十项任务中,与其他数百亿参数的模型相比,BloombergGPT的表现是最好。此外,在某些情况下,BloombergGPT的性能可以媲美甚至超越更大规模(数千亿参数)的模型。虽然 BloombergGPT 的目标是成为金融领域的一流模型,并且包含了通用训练数据以支持特定领域的训练,但该模型在通用数据上的能力仍然超过类似规模的模型,并且在某些情况下,媲美甚至优于更大规模的模型。

总结

Bloomberg 的首席技术官 Shawn Edwards 看到了新模型的很多价值:“BloombergGPT 将使我们能够处理许多新型应用,同时它为每个应用提供了比自定义模型更高的开箱即用性能 ,从而换取更快的上市时间。”

Bloomberg 机器学习产品和研究团队负责人 Gideon Mann 解释说,机器学习和 NLP 模型的质量取决于你输入的数据。 得益于 Bloomberg 四十多年来精心策划收集的金融数据,他们能够精心创建一个庞大而干净的特定领域数据集,以训练最适合金融用例的 LLM。 他们很高兴使用 BloombergGPT 来改进现有的 NLP 工作流程,同时也想出新的方法来使用这种模型来服务他们的客户。

我个人认为这种模式可能会增加金融 LLM 的价值。 但是,必须注意到这只是同类领域中的第一个模型。 随着我们对金融数据的训练和调优,预计会有更多进步。 所以,我们可以把它看成是第一代硬件,用欣赏和测试的眼光去看待它,用于商用可能还为时过早。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ORACLE EBS 系统架构与应用实践(一)

一、从ERP到EBS 从上世纪70年代晚期的物料需求计划MRP(Material Requirements Planning)到80年代的MRP II,再到90年代的企业资源计划ERP(Enterprise Resource Planning),企业管理软件(或曰应用…

直播|StarRocks 3.0 极速统一的湖仓新范式

近期,StarRocks V3.0 RC 版本发布。自此,StarRocks 开启了从 OLAP 到 Lakehouse 演进的新篇章。 全新升级的 StarRocks 3.0: 通过存算分离架构,帮助用户降低存储成本、提升计算弹性 通过数据湖分析、物化视图等特性简化湖仓融合…

从“高内聚,低耦合”说起

从“高内聚,低耦合”说起 记得在上学的时候,⽼师就说过“⾼内聚,低耦合”,但当初对这句话的理解⽐较浅显。⼯作之后,为了说服别⼈采⽤⾃⼰设计的⽅案,常常说“……这样就做到了⾼内聚,低耦合……

【C语言 - 初阶指针 概念、类型、野指针、指针运算】

C语言 - 初阶指针一 指针概念注意:指针变量的大小:(与指向的数据类型无关)二 指针类型2.1指针类型的含义:2.1.1 不同指针类型决定解引用时候权限不同:总结:2.1.2 任何类型的指针变量都能存放地址…

10 个高级 Python 面试问题

随着 Python 最近变得越来越流行,你们中的许多人可能正在接受与 Python 打交道的技术面试。在这篇文章中,我将列出十个高级 Python 面试问题和答案。 这些内容可能会令人困惑,并且针对的是中级开发人员,他们需要对 Python 作为一…

RB-PEG-COOH,罗丹明聚乙二醇羧基化学试剂简介;RhodamineB-PEG-acid

RB-PG-COOH, 罗丹明聚乙二醇羧基 中文名称:罗丹明-聚乙二醇-羧基 英文名称:RhodamineB-PEG-acid RB-PEG-COOH 性状:固体或粘性液体,取决于分子量 溶剂:溶于水和DCM、DMF、DMSO等常规性有机溶剂 分子量&#xff1…

归排、计排深度理解

归并排序:是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法&#…

ICMP隧道技术实现防火墙穿透

1.在mac os的虚拟机里准备三台kali 三台主机ip地址分别是 192.168.1.15,192.168.1.16,192.168.1.17, 为方便描述 依次把他们暂且命名为主机A,主机B,主机C 2.在主机C 上打开终端,输入 cd /usr/local/src 然后新建一个hello.txt 文…

最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到

技术选型 1,前端 小程序原生MINA框架 css JavaScript Wxml 2,管理后台 云开发Cms内容管理系统 web网页 3,数据后台 小程序云开发 云函数 云开发数据库(基于MongoDB) 云存储 4,人脸识别算法 基于百度…

xxl-job定时任务调度中心的配置以及整合到自己的项目中实现远程调用

目录 前言: xxl-job配置与启动: xxl-job-admin: xxl-job-execultor--sample-springboot: 启动任务调度中心: ​编辑 调用定时任务: ​编辑 在自己的项目中配置xxl-job: 项目结构: ​编辑 AdUp…

【CSS】更改用户界面样式 ② ( 取消轮廓线 outline | 取消轮廓线设置方式 outline: 0; | 代码示例 )

文章目录一、更改轮廓线 outline二、轮廓线代码示例三、取消轮廓线代码示例一、更改轮廓线 outline 轮廓线 是 元素 边框 外面 的一条线 , 其作用是 选中后突出元素 ; 一般情况下都会去掉 轮廓线 显示 ; outline 样式后可设置 1 ~ 3 个参数 , 按照顺序分别是 : outline-color…

JavaScript-DOM基础

DOM介绍 事件介绍 文档加载 DOM查询 DOM介绍 DOM&#xff0c;全称Document Object Model文档对象模型。浏览器已经提供了文档节点对象 时window属性&#xff0c;可以在页面中直接使用&#xff08;document文档节点代表整个网页&#xff09; <button id "btn&qu…

【Linux 裸机篇(三)】I.MX6ULL 启动方式

目录一、启动方式选择1. 串行下载2. 内部 BOOT 模式2.1 BOOT ROM 初始化内容2.2 启动设备二、镜像烧写1. IVT2. Boot data3. DCD数据一、启动方式选择 I.MX6ULL 芯片上电后&#xff0c;芯片会根据 BOOT_MODE[1:0]的设置来选择 BOOT 方式。BOOT_MODE[1:0]的值是可以改变的&#…

【ONE·C++ || list (一)】

总言 主要介绍list的基本函数使用及部分函数接口模拟实现(搭框架)。 文章目录总言1、常用接口与举例演示1.1、接口总览1.2、部分例子1.2.1、头删、头插、尾删、尾插、遍历1.2.2、pos插入删除、迭代器失效问题1.2.3、一些相对陌生接口简介&#xff08;std::sort和list::sort比较…

D. Captain Flint and Treasure(拓扑排序 + 贪心)

Problem - D - Codeforces 芬特队长参与了另一个寻宝活动&#xff0c;但只发现了一个奇怪的问题。这个问题可能与宝藏的位置有关&#xff0c;也可能不是。这就是为什么弗林特船长决定把解决问题的工作交给他的船员&#xff0c;并提供了一个高得离谱的奖励:休息一天。问题本身听…

【日常】我的扬马最后一小时

文章目录1 Approxmation, Regularization and Relaxation赛前风波惨痛的主场之战释然的痛苦之路后记1 Approxmation, Regularization and Relaxation 在算法理论研究中&#xff0c;为了使得降低问题的求解复杂度&#xff0c;常常会选择牺牲算法的选择求解精度&#xff0c;这种…

Redis-----什么是Redis?

什么是Redis&#xff1f; redis是一个基于内存的key-value结构数据库。 基于内存存储&#xff0c;读写性能高适合存储热点数据&#xff08;热点商品、资讯、新闻&#xff09;企业应用广泛 Redis入门 redis简介 redis是一个开源的内存中的数据结构存储系统&#xff0c;数据库…

ASP宿舍管理系统设计与实现

学生宿舍的管理工作也将成为一项十分繁重的工作&#xff0c;建立一个学生宿舍管理系统是非常必要的&#xff0c;可行的。计算机能够极大地提高学生宿舍管理的办事效率&#xff0c;学校要想与先进科学技术接轨&#xff0c;就得科学化、正规化的进行管理。随着社会信息化步伐的加…

使用Unity模拟人群疏散的资料整理

本文地址&#xff1a;https://blog.csdn.net/t163361/article/details/130136283 UnityDemo Evacuation Simulator Unity_EvacuationSimulator Crowd-Simulation-and-Visualization-in-Unity Multi-agent-simulation-program-for-evacuation Crowd-Evacuation-Simulatio…

Android SQLite插入float类型浮点数小数位数异常(四舍五入过的两位小数变成13位小数)的原因和解决方法

浮点数异常截图&#xff1a; 说明&#xff1a; 正常保留两位小数并正确插入的记录是通过db.execSQL(sql);方法插入的&#xff0c;而浮点数异常的是通过ContentValues db.insert() 方式插入的,可以发现问题出在db.insert()方法上&#xff0c;我又试过在put的时候直接输入类似16…