Redian新闻
>
ChatGLM 金融大模型决赛方案总结

ChatGLM 金融大模型决赛方案总结

公众号新闻

编辑:AINLP

作者:王小虎

链接:https://zhuanlan.zhihu.com/p/658373406

进NLP群—>加入NLP交流群

Q: 广新控股集团子公司名称是什么?
ChatGLM: 那要不住哥哥家里吧~

1. 比赛简介

比赛链接:

SMP 2023 ChatGLM金融大模型挑战赛_算法大赛_赛题与数据_天池大赛
https://tianchi.aliyun.com/competition/entrance/532126/information


要求以ChatGLM2-6B模型为中心制作一个问答系统,从约4000家上市公司三年的年报pdf内抽取关键信息回答一些问题。问题举例:

Q: 2019年中国工商银行财务费用是多少元?
A: 2019年中国工商银行财务费用是12345678.9元。

具体来说,问题的类型有
初级:数据基本查询(40分)
参赛者需要利用提供的ChatGLM2-6B开源模型和上市公司年报原始数据,并以此为基础创建信息问答系统。系统需能够解决基本查询,

某公司2021年的研发费用是多少?

这类问题可以直接从pdf抽取得到
中级:数据统计分析查询(30分
在初级阶段的基础上,参赛者需要进行金融数据的统计分析和关联指标查询。系统需基于各类指标,提供问题和答案,

某公司2021年研发费用增长率为多少?

这类问题的解决是多步骤的,例如抽取两年的研发费用,再做一个除法
高级:开放性问题(30分)

某公司2021年主要研发项目是否涉及国家创新领域,如新能源技术、人工智能等?

这类问题比较依赖大模型的泛化能力

年报原文主要分为正文和表格两部分,举例:

2. 决赛方案概览

所有选手的技术方案都可以分为三个阶段:

一个具体的流程图:

一个具体的流程图

2.1 问题分类

不同的问题的解决方式是不同的,因此需要先进行问题分类。需要根据答案抽取步骤的种类来确定类别

问题类型举例

问题类型举例

2.2 答案抽取

对于不同的问题有不同的答案抽取方法。
数据查询问题,大部分选手都使用了SQL查表的方式。
针对某公司的开放性问题,采用文档查询结合Prompt工程的方式来解决。
开放性问题大多数财务专有名词的解释,通常使用LLM直接回答
具体方法在下一节介绍

2.3 答案生成

这一步是将步骤2得到的结构化数据用模板输出。模板数量较多,有手工编写,规则生成,ChatGPT编写等方式。
还有一些后处理操作,例如如果大模型的回答是"我不知道",可以直接retry生成另一个答案,因为LLM的生成具有随机性,这样做可以解决很多问题。
一个具体的数值问题回答过程的例子:

3. 方案详解

3.1 问题分类(意图识别)

这一部分的解决方案也是Model-based和Rule-based相结合的,在分类的同时,也会提取一些关键词供后续处理

3.1.1 文本分类模型

Model-base方面,大部分选手利用了ChatGLM-6B作为一个文本分类器使用。模型使用Lora或P-tuning方式微调成为一个文本分类模型,分类数据集的来源于少量的手动label以及大量的rule做label(和rule-based方法相似)

3.1.2 关键词提取与匹配

rule-base方法,主要是关键词提取和匹配。这一步非常重要,也是决定比赛成绩的关键。

首先需要维护一个关键词库,主要包含问题类型关键词(保留2位小数),年份,公司名称,专有名词(总资产、资产增长率,硕士员工人数)等。

3.1.2.1 关键词词库提取
关键词词库的提取有BM25和ChatGLM模型抽取两种方法,模型抽取需要写一个Prompt

BM25
BM25是一种统计方法,是TF-IDF算法的变体。
在文本分词后,统计一个词在一篇文章(段落也可)的出现次数和全部文章的出现次数,如果一个词在单文章中出现比较多而在全部文章中出现比较少(如公司名字), 则它很有可能是关键词。
算法详见

BM25 相对 TF-IDF 有哪些优势?
https://www.zhihu.com/question/349357370


3.1.2.2 关键词匹配
关键词匹配的难点在于年报中同一名词说法的多样性,如硕士员工人数在年报中可能会以下列形式出现

硕士人数XX人
硕士研究生人数XX人
硕士学历以上XX人
XX人获得硕士以上学历


解决此类问题,有关键词拓展和向量化匹配两种方法

关键词拓展
可以直接使用关键词在语料中搜索,发现一些词组经常成对出现,如"硕士"和"学历"经常伴随出现,因此"硕士"可拓展一个关键词是"硕士学历",可以用规则实现,也可以使用基于概率的算法,具体的计算方法可以参见

新词发现的信息熵方法与实现 - 科学空间|Scientific Spaces
https://spaces.ac.cn/archives/3491


关键词向量化匹配
除了直接使用正则匹配外,许多选手使用了词向量计算词的语义相似度,例如"北京大学"和"北大"语义相似度很高,可以视为同一个关键词。

3.2 答案要素提取

答案的数据来源分为年报表格和年报正文两部分。年报表格都是数值类问题

3.2.1 数值类

数据库构建
年报表格,先将表格解析后存入关系型数据库,是纯纯的dirty work

数据库query
很多选手用了NL2SQL(Natural Language To SQL)任务来生成SQL语句查询。
NL2SQL模型也是一个基于ChatGLM-6B微调得到的模型。选手们使用了开源的DuSQL/NL2SQL/Cspider,以及ChatGPT生成一些NL2SQL数据集,还可以写一些rule生成。然后对ChatGLM做P-Tuning。

关于NL2SQL的prompt优化,要尽量提高prompt的信噪比,去掉信息熵较低的词语,如stopword(的地得、请)、“保留小数”
容易查询错误的关键词,如公司名词,可以在prompt中着重强调
一些复杂的查询,如两年的增长率,可以分为两个问题,分别查询两年的数值,然后使用python函数计算增长率,使得NL2SQL的prompt尽量简单明确。


这一步本质是使用Tool,可以使用Tools learning方法让模型学会SQL查询,选手没有详细介绍。
NL2SQL也可以使用Rule-based方法,这里不赘述。

3.2.2 文本类

大模型可以读完一段文本后回答各种问题。对于年报正文相关的问题,为了降低大模型抽取信息的难度,首先要search得到问题最相关的年报具体句子或段落,提高信噪比。可以直接用向量查询,也可以在文档树上做树的查询。

句子匹配
关键词匹配:由于问题和答案关键词重合度很高,可以使用BM25直接计算句子的相似性,而流行的SentenceBert方法未微调情况下不如BM25
句子向量化匹配:可以使用m3e-base预训练模型或SentenceBert等Text2vec模型
使用向量数据库存储句子以及句子向量,可以加速句向量匹配。关于向量数据库的选取,选手们用faiss比较多

文档树查询
标题和问题的相关性很高。使用各级标题信息,将PDF解析为一颗DocTree,用章节标题和问题做向量化匹配,自顶向下做树的搜索,找到对应的正文。

文本类信息抽取
这一步用模型直接生成即可,需要设计一个Prompt,也需要做些微调

3.3 答案生成

为了获得较高的分数,需要将查询结果按照指定格式输出,例如SQL的格式化查询结果转换为一个自然语言句子,通常使用模板填充实现。模板由手工制作。

也可以使用In-context learning方法利用ChatGLM来生成答案,具体的是给财务分析类问题,每一种问题标注1~2个答案以及提供对应的Json(格式化数据),让模型学会答案生成。

4. 感想

6B模型无法做到端到端的任务能力。6B模型能力有限,无法实现pdf输入->prompt->答案这一简单架构。因此选手们微调了各种sub-model来做各种sub-task,在前大模型时代,NLP系统也是使用各种Bert变种来完成各种任务的。如果能使用更大的模型,也许解决方案也会有变化。

大模型时代数据质量依然尤其重要。从选手介绍技术方案的篇幅可以感觉到,比赛最重要的部分是提高数据质量,主要体现在模型训练时,对关键词的提取/拓展/纠错等部分。Prompt也需要精心构造,提高信噪比。

ChatGLM: 那要不住哥哥家里吧~


加下方微信(id:DLNLPer),

备注:昵称-学校(公司)-方向,进入技术群;

昵称-学校(公司)-会议(eg.ACL),进入投稿群。

方向有很多:LLM、模型评测、CoT、多模态、NLG、强化学习等

记得备注呦


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
LK-99超导机理,类似杨超越,畅通不足突发!知名金融大佬、10万亿金融巨头CEO去世,终年65岁英伟达推出大模型加速包;Meta将训练对标GPT-4的大模型;ChatGPT等成费水大户丨AIGC大事日报金融大模型闯关最后一公里,如何避免"卖家秀"变成"买家秀"?每一刻都是幸福王石辟谣在日本换心脏;蚂蚁发布金融大模型产品;华为Mate60 Pro+、Mate X5开始预定丨大公司动态清华系大模型新秀获20亿投资;AI教父加入初创公司;套壳ChatGPT不是长久之计;百图生科拿下10亿美元大模型订单OpenAI回应ChatGPT服务故障;新研究以99%准确率识别ChatGPT生成化学论文;三星发布自研大模型丨AIGC日报蚂蚁集团发布金融大模型;小米集团科协成立|绿研院日报北京理工大学发布双语轻量级语言模型,明德大模型—MindLLM,看小模型如何比肩大模型金融圈突发!又一金融大佬官宣被查!BELLE-7B-1M逆袭ChatGLM?10B量级开源中文对话LLM,谁成常识问答任务的黑马?清华系ChatGLM3现场怼脸演示!多模态直逼GPT-4V,国产Code Interpreter来了能编程,会搜索,中国原生大模型ChatGLM3发布李开复零一万物发布首款大模型;马斯克xAI发布首个大模型;360、美团、昆仑万维等最新消息;vivo发布蓝心AI大模型红色日记 9.11-20谁干的?咋干的?UC伯克利团队开源MemGPT大模型上下文内存管理方案;AgentLM、多模态Fuyu-8B、数学LLEMMA等专用大模型开源0.2美元微调就能让ChatGPT彻底破防!普林斯顿、斯坦福发布LLM风险预警:普通用户微调也影响LLM安全性金融大模型蓄势待发为什么你的方案总被说“不合理”?开源大模型FLM-101B:训练成本最低的超100B参数大模型免费大模型实战课|首周聚焦百度智能云千帆大模型平台使用,《大模型应用实践》实训营11月16日开讲!突发!知名金融大佬、10万亿金融巨头CEO去世,享年65岁!一个简单模型就让ChatGLM性能大幅提升 | 最“in”大模型直奔价值创造,蚂蚁发布金融大模型及应用使用LLM构建AI Agents的正确姿势!ChatGPT作者博客全面总结智能周报|OpenAI发布ChatGPT企业版,预计今年营收10亿美元;首批11家国产大模型「获批」,不包括阿里巴巴通义大模型庄子与屈原,你会选择谁的人生?腾讯智慧出行解决方案总监潘英超:云端赋智,成就智能驾驶新引擎|甲子引力蚂蚁集团开 “卷” 金融大模型,“四力和一” 解决产业真命题小模型如何比肩大模型,北理工发布明德大模型MindLLM,小模型潜力巨大武汉AI方案出台六大计划;360讯飞WPS大模型面向全民开放;阿里云发布开源LLM开发框架度小满“轩辕70B”金融大模型开源!登顶两大权威测评榜单,所有用户均可下载一周回顾 | 四大行下调存量房贷利率 蚂蚁发布金融大模型产品
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。