金融领域FinBERT、BloombergGPT以及法律领域微调模型LawGPT_zh

来自:老刘说NLP

进NLP群—>加入NLP交流群

本文继续介绍金融领域大模型FinBERT、金融领域大模型BloombergGPT以及法律领域微调模型LawGPT_zh三个垂域模型。

一、金融领域大模型FinBERT

熵简FinBERT在网络结构上采用与 Google 发布的原生BERT 相同的架构,包含了 FinBERT-Base 和 FinBERT-Large 两个版本,其中前者采用了 12 层 Transformer 结构,后者采用了 24 层 Transformer 结构。

FinBERT 采用了两大类预训练任务,分别是字词级别的预训练和任务级别的预训练。

d188d38fc2bd65f04448d3f280f2118c.png

其中,在任务级别的预训练上,

为了让模型更好地学习到语义层的金融领域知识,更全面地学习到金融领域词句的特征分布,我们同时引入了两类有监督学习任务,分别是研报行业分类和财经新闻的金融实体识别任务,具体如下:

1)研报行业分类

对于公司点评、行业点评类的研报,天然具有很好的行业属性,因此我们利用这类研报自动生成了大量带有行业标签的语料。并据此构建了行业分类的文档级有监督任务,各行业类别语料在 5k~20k 之间,共计约40万条文档级语料。

2)财经新闻的金融实体识别

与研报行业分类任务类似,我们利用已有的企业工商信息库以及公开可查的上市公司董监高信息,基于金融财经新闻构建了命名实体识别类的任务语料,共包含有 50 万条的有监督语料。

整体而言,为使 FinBERT 1.0 模型可以更充分学习到金融领域内的语义知识,我们在原生 BERT 模型预训练基础上做了如下改进:

其一,训练时间更长,训练过程更充分。为了取得更好的模型学习效果,我们延长模型第二阶段预训练时间至与第一阶段的tokens总量一致;

其二,融合金融领域内知识。引入词组和语义级别任务,并提取领域内的专有名词或词组,采用全词 Mask的掩盖方式以及两类有监督任务进行预训练;

其三,为了更充分的利用预训练语料,采用类似Roberta模型的动态掩盖mask机制,将dupe-factor参数设置为10。

地址:https://github.com/valuesimplex/FinBERT

1、训练数据

FinBERT 1.0 所采用的预训练语料主要包含三大类金融领域的语料,分别如下:

金融财经类新闻:从公开渠道采集的最近十年的金融财经类新闻资讯,约 100 万篇;

研报/上市公司公告:从公开渠道收集的各类研报和公司公告,来自 500 多家境内外研究机构,涉及 9000 家上市公司,包含 150 多种不同类型的研报,共约 200 万篇;

金融类百科词条:从 Wiki 等渠道收集的金融类中文百科词条,约 100 万条。

对于上述三类语料,在金融业务专家的指导下,对于各类语料的重要部分进行筛选、预处理之后得到最终用于模型训练的语料,共包含 30亿 Tokens,这一数量超过了原生中文BERT的训练规模。

2、模型效果

以金融场景中所遇到四类实际业务问题和数据入手进行对比实验,包括金融类短讯类型分类任务、金融文本行业分类、金融情绪分析任务以及金融类实体识别任务。对比 FinBERT 和 Google 原生中文BERT、 BERT-wwm、RoBERTa-wwm-ext 这三种通用领域的预训练模型

可知,FinBERT 效果提升显著,在 F1-score 上平均可以提升 2~5.7 个百分点。

其中:

1)金融短讯类型分类效果:其核心任务是对金融类短文本按照文本内容进行类型分类,从原始的 15个类别中抽离出难度最大的 6个类别进行实验。

634385c6d6d8e9dc0282ca677f54dfc5.png

2)金融短讯行业分类:以中信一级行业分类作为分类基准,包括餐饮旅游、商贸零售、纺织服装、农林牧渔、建筑、石油石化、通信、计算机等 29 个行业类别。

e0ff0bf0cbe36e92267855aee5797465.png

3)金融情绪分类:核心任务是针对金融事件或标的的评述性文本按照文本内容进行金融情感分类,共有4个类别,对应不同的情绪极性和强度。

628da140e9ae212d5ea338174c0f3de0.png

4)金融领域的命名实体识别:核心任务是对金融类文本中出现的实体(公司或人名)进行实体识别和提取

e9ff1077b28837b63b0d1df8541584f3.png

二、金融领域大模型BloombergGPT

一个500亿参数的语言模型,采用GPT架构,在广泛的金融数据上进行训练。根据彭博社广泛的数据来源构建了一个3630亿个token的数据集,这也许是迄今为止最大的特定领域的数据集,并从通用数据集中增加了3450亿token。

136fb5bd7d8f2d95a84cfee82f15a812.png

在模型训练上,基于BLOOM模型的自回归结构,具体包含了70层transformer decoder,并在前馈层(FFN)中的非线性函数采用GELU。位置编码采用ALiBi编码,最后模型在第一层多了一个layer normalization。该工作认为,BloombergGPT之所以好,得益于精心清洗的内部数据集、tokenizer的选择以及流行的模型结构三个因素。

bc1fab2608a408c9690529f7839924f6.png

论文地址:https://arxiv.org/abs/2303.17564

文章《https://zhuanlan.zhihu.com/p/619444812》对该工作做了仔细分析,下面对其文章进行介绍。

1、训练数据

训练数据包括金融领域数据集以及通用数据集两个组成部分

6af8d2ebdf6417b2f6447e4c547cad33.png

1)金融领域数据集

金融领域数据集共包含了3630亿个token,占总数据集token量的54.2%,具体由以下几个部分构成:

金融领域相关网页,2980亿token,占比42.01%;

金融领域知名新闻源,380亿token,占比5.31%;

公司财报,140亿token,占比2.04%;

金融相关公司的出版物,90亿token,占比1.21%;

bloomberg,50亿token,占比0.7%;

因为包含一部分收费和私有数据,所以这份数据集不会被公开,但是文章中公开了模型训练方法。

2)通用数据集

通用数据集共包含了3450亿个token,占总数据集token量的48.73%,具体分为如下几个部分:

The Pile数据集,1840亿token,占比25.9%;

C4数据集,1380亿token,占比19.48%;

Wikipedia数据集,240亿token,占比3.35%;

数据集使用Unigram tokenizer对原始文本进行tokenize,不过该工作在pretokenization这一步,将数字视为单个token,并且允许词组的存在,以提高信息密度减少句子长度,使用分治的思想优化Unigram tokenizer在大数据集上的实现,并对最终词表大小控制在13万这个数量级上。

2、模型效果

文章中对BloombergGPT的评估分成金融领域任务与通用任务两个部分,旨在验证在特定领域预训练后的模型能够在特定领域表现好,同时在通用领域的表现也不会差太多这一观点。

ad848e08453c4933383178cf9e44112c.png

如上图所示:

BloombergGPT在金融语料上的bits per byte均好于其他模型,并且在财报(Filings)这个类别上表现尤其突出。其中,bits per byte指标是评估语言模型的一种常见指标,类似于perplexity,取值越小,模型越好。

888df5eeab160a0735ec4aed7c6c9fc3.png

此外,在垂直任务:

ConvFinQA,标普500收益报告问答推理;FiQA SA,金融新闻和微博客标题基于方面的情感三分类(正负中);FPB,金融新闻句子级别情感三分类(正负中);Headline,新闻标题在预定义标签下的二分类以及NER,信用风险评估数据的命名实体识别上,也表现出了较好的性能。

其中,BloombergGPT在上述5个任务中的4个都取得了最好效果,在另外一个取得了第二名;并且在模型两两结果对比的胜率最高,同时在ConvFinQA这个任务上遥遥领先。

三、法律领域微调模型LawGPT_zh

中文法律大模型(獬豸),中文法律对话语言模型。该项目开源的中文法律通用模型由ChatGLM-6B LoRA 16-bit指令微调得到。数据集包括现有的法律问答数据集和基于法条和真实案例指导的self-Instruct构建的高质量法律文本问答。

1、训练数据

训练数据主要分为两个部分:1.律师和用户之间的情景对话 2.对特定法律知识的问答

53f6e24e2d09292a1e31d25b20adf478.png

其中,律师和用户之间的情景对话来自于刘焕勇的开源项目:https://github.com/liuhuanyong/CrimeKgAssitant

question:朋友欠钱不还咋办
answers: ['欠款金额是多少 ', '多少钱呢', '律师费诉讼费都非常少都很合理,一定要起诉。', '大概金额多少?', '需要看标的额和案情复杂程度,建议细致面谈']
*******************************************************
question:昨天把人家车刮了,要赔多少
answers: ['您好,建议协商处理,如果对方告了你们,就只能积极应诉了。', '您好,建议尽量协商处理,协商不成可起诉']
*******************************************************
question:最近丈夫经常家暴,我受不了了
answers: ['报警要求追究刑事责任。', '您好,建议起诉离婚并请求补偿。', '你好!可以起诉离婚,并主张精神损害赔偿。']
*******************************************************
question:毕业生拿了户口就跑路可以吗
answers: 您好,对于此类问题,您可以咨询公安部门
*******************************************************
question:孩子离家出走,怎么找回来
answers: ['孩子父母没有结婚,孩子母亲把孩子带走了?这样的话可以起诉要求抚养权的。毕竟母亲也是孩子的合法监护人,报警警察一般不受理。']

知识问答数据集包括针对Self-Instruct的可靠性和安全性漏洞,使用了基于特定知识的Reliable-Self-Instruction:通过提供具体的法律知识文本,先让ChatGPT生成与该段法律知识内容与逻辑关系相关的若干问题,再通过“文本段-问题”对的方式让ChatGPT回答问题,从而使ChatGPT能够生成含有法律信息的回答,保证回答的准确性。

e07382ba7573d64adc02e21284759c90.png

2、模型效果

{"问题": "遭遇强制拆迁 如何用法律保护自己?","ChatGLM": "遇到强制拆迁,可以通过以下方式来保护权益:\n\n1.了解法律法规:在面临强制拆迁时,应该尽快阅读相关法规和政策文件,了解自己的权利和义务。同时,要了解当地的实际情况,以便制定合理的应对措施。\n\n2.保留证据:在遇到强制拆迁之前,可以尽可能地收集相关的证据,例如现场照片、录音、录像等,以备日后维权使用。如果可能的话,最好与相关部门保持沟通,及时了解进展情况。\n\n3.寻求法律援助:如果遇到强制拆迁,可以考虑聘请律师代表自己,向法院提起诉讼,维护自己的权益。律师可以根据案件的具体情况提供合法的建议和代理服务。\n\n4.协商解决:如果发现强制拆迁存在违法行为,可以尝试通过协商解决问题。可以向当地政府或相关部门提出异议,要求其停止违法行动,并协助自己寻找更好的解决方案。\n\n5.关注媒体报道:媒体的报道可能会引起公众的关注和重视,如果遇到强拆事件被公开报道,可以联系媒体并积极参与炒作,以提高知名度和影响力,从而获得更多的利益。\n\n遇到强制拆迁时,需要冷静应对,尽可能收集证据,及时咨询法律专业人士的意见,并与当地的政府部门保持良好的沟通。","LawGPT_zh": "在遭遇强制拆迁时,可以通过以下方式来保护权益:\n1.了解法律法规。了解自己所在地的《土地管理法》、《城市房屋管理规定》等相关法律法规可以帮助自己更好地理解当地的政策;\n2.找到合法维权途径。如果认为当地有关部门的行为违法,可以向上级政府部门或法院提起诉讼或者申请仲裁以维护合法权益;3.寻求法律援助。如果自己的合法权益受到了侵犯,可以聘请律师帮助自己处理此事,通过律协、法律服务所、法律援助中心等部门寻求帮助;4.保持冷静。尽管被强制拆迁会给人很大的压力和不安,但是一定要保持冷静不要冲动,避免产生不必要的矛盾和冲突,以免事情变得更加复杂。"},{"问题": "债务纠纷中物保与人保的责任顺序?","ChatGLM": "在涉及的债务纠纷中,物保和人保通常会在保护财产和维护公共安全方面承担不同的角色和责任。\n\n如果因债务问题导致物品或财物受损,通常情况下物的保险会赔偿损失。这是因为根据保险合同,保险公司在出险时有权向被保险人支付相应的保险金来补偿其遭受的损失。因此,当物品受损时,物的保险将会为被保险人提供经济支持。\n\n另一方面,如果是由于犯罪行为或其他违法行为导致的人身伤害或财产损失,则人保可能会承担责任。这是因为人保通常会与雇主、企业和其他机构合作,为客户提供必要的安全保障措施,包括员工福利保障和交通事故责任强制保险等。在这种情况下,人保将负责为受害者提供必要的保护和救助,并承担相应的法律责任。\n\n在一般情况下,物保和人保的主要职责是确保财产和人身安全得到保护。如果遇到复杂的债务纠纷和财产保赔问题,建议咨询专业人士的意见,以确定具体的保险方案和承担责任的顺序。","LawGPT_zh": "在财产保险和人身保险领域中,责任顺序通常按照以下几种方式确定:\n\n1. 如果因一方的行为导致另一方的财产或人身受到损害的,由受损方向有责任方索赔;如果受益方可要求第三方赔偿损失或者需要对损害进行修复、修理等后续服务时,该方向保险公司提出索赔。\n2. 如果因共同行为导致的损害,如共有关系中的侵权行为造成财产损失或人身伤害,则由所有共有人一起向侵权人索赔,并向对应的财产/身体受伤者提供意外伤害险保障;如果受害人不能独立获得赔偿,则可以考虑通过团体意外保险或其他形式的组合保险来得到补偿。\n3. 如果在发生灾害事故等情况下造成的损害,例如火灾、地震、洪水等等,一般是由当地的政府部门作为主体进行调查并作出结论,然后向相应的责任人追偿;如果当地没有这样的机构,那么可以直接向保险公司申请理赔。"},

项目地址:github.com/LiuHC0428/LAW-GPT

总结

本文主要介绍了金融领域大模型FinBERT、金融领域大模型BloombergGPT以及法律领域微调模型LawGPT_zh三个垂域模型。

大模型动向每日速递

最后,对今日更新的几个大模型动向进行汇总,供大家参考:

1、Lorax: JAX实现的LoRA,用于用于实现大型语言模型的参数高效微调: github.com/davisyoshida/lorax

2、huggingface-vscode:在VSCode中测试开源代码补全模型的项目,使用Hugging Face推理API进行推理,安装方式类似于其他VSCode扩展: github.com/huggingface/huggingface-vscode

3、Panda: 海外中文开源大语言模型,基于 Llama-7B, -13B, -33B, -65B 进行中文领域上的持续预训练,使用了接近15M条数据,并针对推理能力在中文benchmark上进行了评测:github.com/dandelionsllm/pandallm

4、LLM Zoo:收集了各种开源和闭源语言模型的信息,包括发行时间、模型大小、支持的语言、领域、训练数据以及相关资源链接。旨在为自然语言处理(NLP)领域的研究人员提供参考,以帮助其选择适合其需求的模型: github.com/DAMO-NLP-SG/LLM-Zoo

5、Chrome-GPT: 一个强大的AutoGPT智能体程序,利用Langchain和Selenium实现对整个Chrome会话的控制。AutoGPT代理可以交互式地滚动、点击和输入文本,以浏览和操作Web内容。支持Google搜索、长期和短期记忆管理、Chrome动作(描述网页、滚动到元素、单击按钮/链接、输入表单、切换选项卡)等多种特性,并支持多种智能体类型,如Zero-shot、BabyAGI和Auto-GPT: github.com/richardyc/Chrome-GPT

参考文献

1、https://arxiv.org/abs/2303.17564

2、https://zhuanlan.zhihu.com/p/619444812

3、https://github.com/valuesimplex/FinBERT

关于我们

老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。

进NLP群—>加入NLP交流群

NLP、CV、推荐等方向需要有偿解决问题的快到这边来~

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

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

相关文章

LaWGPT基于中文法律知识的大语言模型

向AI转型的程序员都关注了这个号👇👇👇 LaWGPT 是一系列基于中文法律知识的开源大语言模型。 该系列模型在通用中文基座模型(如 Chinese-LLaMA、ChatGLM 等)的基础上扩充法律领域专有词表、大规模中文法律语料预训练&a…

必不可少的Firefox插件(一)

1. FireBug 在众多插件中Firebug无疑是大家最熟悉用的最多的了。Firebug集成在Firefox中,提供了一套开发辅助工具,诸如页面HTML、CSS、Javascript的浏览、编辑、调试、网络监控等等…… 2. FireShot FireShot是一款具有完备功能的屏幕截图插件。除了传统…

火狐安卓版支持油猴了!后面将支持更多扩展插件

日前火狐浏览器每夜构建版的安卓版已经带来了更多扩展程序支持,这其中就包括大名鼎鼎的油猴扩展程序。本次火狐浏览器每夜构建版更新新增五款扩展程序支持,并且按照谋智基金会说法还会支持更多的扩展程序。 下载地址:https://ftp.mozilla.org…

火狐浏览器自带抓包插件及httpWatch9.1安装软件+教程

火狐浏览器自带抓包插件及httpWatch9.1安装软件教程 [复制链接] httpWatch9.1不支持 火狐40 httpwatch9.4 破J版 语言:英文 支持最新版的火狐浏览器.35版 以前用9.1的 支持27的火狐浏览器.但是第二天就自动更新了.设置了不更新也给我更新了. 9.1的httpwatch就不…

火狐浏览器必备的一些Hack插件

1.HackBar 小工具包,包含一些常用的工具。(SQL injection,XSS,加密等) 点击安装、安装之后大概是这个样子 2.User Agent Switcher 修改浏览器的User Agent,可以用来XSS。 点击安装、安装好后 3.Firebug是网页浏览器 Mozilla Firefox 下的一款开发类扩展&#xff0c…

火狐浏览器上类似HTTPWATCH的插件

在IE下我们可以用httpwatch来抓取http请求的包信息,这对我们分析自己开发程序的执行效率是非常有帮助的。 而火狐强大的JS调试功能,使我已经养成用firefox来查看调试JS的习惯。那么有没有一款插件可以让火狐也有http的抓包功能而不用让在两个浏览器之间…

[开发浏览器实战]关于Firefox火狐浏览器的说明一二(国内版 国际版区别 账号切换 插件-恢复关闭的标签页 插件-tempermonkey油猴)

[开发浏览器实战]关于Firefox火狐浏览器的说明一二 1.下载地址2.同步账号不一样国内版 3.浏览器关于内容不同:国内版国际版![在这里插入图片描述](https://img-blog.csdnimg.cn/8ca563d2aa2d43b0b52b6cf50bbffa0c.png) 灵活使用firefox推荐插件1.tempermonkey油猴2.恢复关闭的标…

好用的5款火狐浏览器必备插件,每一款都很实用

火狐浏览器是非常好用的浏览器,很多年轻人都很喜欢用。火狐浏览器虽然好用,但是如果没有安装插件,那么上网冲浪就感觉没有那么方便了。因此,给大家分享5款好用的火狐浏览器必备插件,这些都经过实际测试使用&#xff0c…

微软为ChatGPT打造专用超算!

来源:量子位 微软砸下大几亿美元,专门为训练ChatGPT打造了一台超算——上万张英伟达A100芯片打造,甚至专门为此调整了服务器架构,只为给ChatGPT和新必应AI提供更好的算力。 △图源:微软 不仅如此,微软还在A…

AotucCrawler 快速爬取美女图片

今天介绍一款自动化爬取图片项目。 GitHub: https://github.com/YoongiKim/AutoCrawler Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver (美、韩两大搜索引擎) 运行方式:Multiprocess…

爬取单张图片(简单版)

一.创建Python项目 (1)创建CrawlerDemo爬虫项目 二、安装所需要的库 (1)安装requests库在终端执行命令语句:pip install requests (2)安装lxml库-解析网页在终端执行命令语句:pip …

python爬虫爬取网上图片

爬虫原理爬虫需要遵守的规则实际操作 爬虫 其实通俗点来讲爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来,(切记是安全的数据,允许爬的范围…

Python——爬取图片

大家好,我是xiaomeng 小孟 您好 欢迎大家阅读今天的文章————Python爬取图片(爬虫) 最近爬虫挺火的,所以我今天也来一个爬虫! 正文: 首先,我们先下载模块,pip install requests…

爬取谷歌图片

python爬虫:爬取谷歌图片 前言涉及到的库需要使用的插件实现过程 前言 由于工作需要,需要从网上获取大量图片。(使用谷歌图片需自备梯子)涉及到的库 pip 安装 from selenium import webdriver from selenium.webdriver.chrome.…

python 爬取图片

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、爬虫是什么?二、编写网络爬虫要用到的python库(常用)代码实现导入所需模块:对网站发起请求并转化为text格式…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver &…

Python爬取图片

爬取网站 https://image.baidu.com/ 先打开页面 然后点击动物图片 当然选择哪个都可以我这里只是喜欢动物的所以选择这个分类 爬取任何数据 第一步就是先确定数据来源 先打开 f12 来看一下 先点击随便一个图片右键 然后点击检查 就会跳到那个图片所在的位置 如下&#xff1a…

(三)爬取一些网页图片

爬取一些网页图片 1、随机爬取一个网页: import requests# 1、获取图片网页源码 def Get_Source_Page():url https://pic.netbian.com/index.html# 当爬虫程序运行爬网站,若不设置header为任意一个名字,会被有些网站检查出是python爬虫&…

模拟双色球

投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1 - 33选择;蓝色球号码从1 - 16中选择。 package com;import java.util.Random; import java.util.Scanner;public class Test {public static void main(String[] args) {// 1.随机一组中奖号码,6个红球号码不重复(1…