PIXIU

GitHub
848 114 中等 3 次阅读 3天前MIT开发框架语言模型
AI 解读 由 AI 自动生成,仅供参考

PIXIU 是一个开源项目,专注于金融领域的人工智能技术,提供了首个金融大语言模型、指令调优数据集以及评估基准,旨在全面评估金融领域的语言模型。它解决了金融领域AI模型缺乏统一标准和高质量训练数据的问题,帮助研究人员和开发者提升模型在金融场景中的表现。适合金融研究者、AI开发者以及对金融科技感兴趣的专业人士使用。PIXIU 在金融文本理解、数据分析和自动化处理等方面具有独特优势,是推动金融AI开放发展的有力工具。

使用场景

某金融科技公司正在开发一款智能投顾系统,需要对大量金融文本进行理解和分析,以提供个性化的投资建议。团队在训练和评估金融大模型时面临诸多挑战。

没有 PIXIU 时

  • 缺乏专门针对金融领域的大型语言模型,导致模型理解能力有限
  • 没有统一的指令调优数据集,难以有效提升模型在具体任务上的表现
  • 评估标准不明确,无法准确衡量模型在金融场景中的实际效果
  • 数据和模型资源分散,团队需要花费大量时间自行收集和整理

使用 PIXIU 后

  • 直接使用 PIXIU 提供的金融大模型,显著提升对金融文本的理解和生成能力
  • 利用内置的指令调优数据集,快速优化模型在投资建议等任务上的表现
  • 通过标准化的评估基准,精准衡量模型在不同金融场景下的性能
  • 节省大量数据准备时间,使团队能够更专注于算法优化和产品开发

PIXIU 为金融 AI 开发者提供了从模型、数据到评估的一站式解决方案,极大提升了研发效率和模型质量。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

需要 NVIDIA GPU,显存 8GB+,CUDA 11.7+

内存

16GB+

依赖
notes建议使用 conda 管理环境,首次运行需下载约 5GB 模型文件
python3.8+
torch>=2.0
transformers>=4.30
accelerate
datasets
sentencepiece
peft
bitsandbytes
evaluate
deepspeed
wandb
PIXIU hero image

快速开始


1Fin AI  2武汉大学  3曼彻斯特大学  4佛罗里达大学  5哥伦比亚大学  6香港中文大学(深圳)  7四川大学  8云南大学  9史蒂文斯理工学院  10石溪大学  11南京审计大学  12江西师范大学  13西南交通大学

武汉大学 Logo曼彻斯特大学 Logo佛罗里达大学 Logo哥伦比亚大学 Logo香港中文大学(深圳) Logo四川大学 Logo云南大学 Logo史蒂文斯理工学院 Logo石溪大学 Logo南京审计大学 Logo江西师范大学 Logo西南交通大学 Logo

Discord

Pixiu论文 | FinBen排行榜

免责声明

本仓库及其内容仅用于学术和教育目的。其中任何材料均不构成财务、法律或投资建议。对于内容的准确性、完整性或实用性,不提供任何明示或暗示的保证。作者及贡献者对因使用本仓库信息而产生的任何错误、遗漏或后果概不负责。用户在做出任何财务、法律或投资决策前,应自行判断并咨询专业人士。使用本仓库中的软件和信息,完全由用户自行承担风险。

通过使用或访问本仓库中的信息,您即表示同意赔偿、保护并使作者、贡献者以及任何关联组织或人员免受任何索赔或损害的影响。

📢 更新(日期:2023年9月22日)

🚀 我们非常高兴地宣布,我们的论文《PIXIU:面向金融领域的综合基准、指令数据集与大型语言模型》已被NeurIPS 2023数据集与基准赛道接收!

📢 更新(日期:2023年10月8日)

🌏 我们自豪地宣布,FinBen的增强版本现已支持中文和西班牙语!

📢 更新(日期:2024年2月20日)

🌏 我们很高兴地宣布,我们的论文《The FinBen:大型语言模型的综合性金融基准》现已发表在FinBen上。

📢 更新(日期:2024年5月2日)

🌏 我们诚挚邀请您参加IJCAI2024挑战赛“大型语言模型中的金融挑战——FinLLM”,入门指南可在Starter-kit中找到。

检查点:

语言

论文

评估

情感分析

分类

知识抽取

数字理解

文本摘要

信用评分

预测

概述

欢迎来到PIXIU项目!本项目旨在支持金融领域大型语言模型(LLMs)的开发、微调及评估。PIXIU是迈向理解和利用LLMs在金融领域潜力的重要一步。

仓库结构

仓库被组织成几个关键组件,每个组件都在金融NLP流程中发挥独特作用:

  • FinBen:我们的金融语言理解与预测评估基准。FinBen作为金融LLMs的评估套件,专注于各类金融情境下的理解和预测任务。

  • FIT:我们的金融指令数据集。FIT是一个多任务、多模态的指令数据集,专为金融任务设计,是微调LLMs以完成这些任务的训练基础。

  • FinMA:我们的金融大型语言模型(LLM)。FinMA是我们项目的核心,为各项金融任务提供学习与预测能力。

主要特点

  • 开放资源:PIXIU公开提供金融LLM、指令微调数据以及评估基准中包含的数据集,以促进开放研究与透明度。

  • 多任务性:PIXIU中的指令微调数据和基准涵盖了多样化的金融任务,包括四项金融NLP任务和一项金融预测任务。

  • 多模态性:PIXIU的指令微调数据和基准由多模态金融数据组成,其中包括用于股票走势预测任务的时间序列数据。它覆盖了各种类型的金融文本,如报告、新闻文章、推文和监管文件。

  • 多样性:与以往主要关注金融NLP任务的基准不同,PIXIU的评估基准包含了与现实场景紧密相关的关键金融预测任务,使其更具挑战性。


FinBen 2.0:金融语言理解与预测评估基准

在这一部分,我们提供了FinMA与其他领先模型(包括ChatGPT、GPT-4、BloombergGPT等)的详细性能对比分析。为了进行这项分析,我们选取了一系列涵盖金融自然语言处理和金融预测各个方面的任务和指标。FinBen的所有模型结果都可以在我们的排行榜上找到!

任务

数据集 任务 样本数量 数据类型 模态 许可证 论文
FPB 情感分析 4,845 新闻 文本 CC BY-SA 3.0 [1]
FiQA-SA 情感分析 1,173 新闻标题、推文 文本 公开 [2]
TSA 情感分析 561 新闻标题 文本 CC BY-NC-SA 4.0 [3]
FOMC 鹰派-鸽派分类 496 FOMC会议记录 文本 CC BY-NC 4.0 [4]
Headlines 新闻标题分类 11,412 新闻标题 文本 CC BY-SA 3.0 [5]
FinArg-ECC-Task1 论证单元分类 969 盈利电话会议 文本 CC BY-NC-SA 4.0 [6]
FinArg-ECC-Task2 论证关系分类 690 盈利电话会议 文本 CC BY-NC-SA 4.0 [6]
Multifin EN 多分类 546 文章标题 文本 公开 [7]
M&A 交易完整性分类 500 新闻文章、推文 文本 公开 [8]
MLESG EN ESG议题识别 300 新闻文章 文本 CC BY-NC-ND [9]
NER 命名实体识别 1,366 金融协议 文本 CC BY-SA 3.0 [10]
Finer Ord 命名实体识别 1,080 新闻文章 文本 CC BY-NC 4.0 [11]
FinRED 关系抽取 1,070 盈利电话会议记录 文本 公开 [12]
FinCausual 2020 Task1 因果分类 8,630 新闻文章、SEC文件 文本 CC BY 4.0 [13]
FinCausual 2020 Task2 因果检测 226 新闻文章、SEC文件 文本 CC BY 4.0 [13]
FinQA 问答 8,281 盈利报告 文本、表格 MIT许可证 [14]
TatQA 问答 1,670 财务报告 文本、表格 MIT许可证 [15]
FNXL 数值标注 318 SEC文件 文本 公开 [16]
FSRL 分词分类 97 新闻文章 文本 MIT许可证 [17]
ECTSUM 文本摘要 495 盈利电话会议记录 文本 公开 [18]
EDTSUM 文本摘要 2000 新闻文章 文本 公开 [19]
German 信用评分 1000 信用记录 表格 CC BY 4.0 [20]
Australian 信用评分 690 信用记录 表格 CC BY 4.0 [21]
Lending Club 信用评分 1,3453 财务信息 表格 CC0 1.0 [22]
BigData22 股票走势预测 7,164 推文、历史价格 文本、时间序列 公开 [23]
ACL18 股票走势预测 27,053 推文、历史价格 文本、时间序列 MIT许可证 [24]
CIKM18 股票走势预测 4,967 推文、历史价格 文本、时间序列 公开 [25]
ConvFinQA 多轮问答 1,490 盈利报告 文本、表格 MIT许可证 [26]
信用卡欺诈 欺诈检测 11,392 财务信息 表格 (DbCL) v1.0 [22]
ccFraud 欺诈检测 10,485 财务信息 表格 公开 [22]
Polish 财务困境识别 8,681 财务状况特征 表格 CC BY 4.0 [22]
台湾经济期刊 财务困境识别 6,819 财务状况特征 表格 CC BY 4.0 [22]
PortoSeguro 理赔分析 11,904 理赔及财务信息 表格 公开 [22]
旅行保险 理赔分析 12,665 理赔及财务信息 表格 (ODbL) v1.0 [22]

1. 佩卡·马洛、安库尔·辛哈、佩卡·科尔霍宁、于尔基·瓦莱纽斯和皮里·塔卡拉。2014年。好债务还是坏债务:检测经济文本中的语义倾向。信息科学与技术协会期刊,第65卷,第4期(2014年),782–796页。

2. 马塞多·迈亚、西格弗里德·汉德舒、安德烈·弗雷塔斯、布莱恩·戴维斯、罗斯·麦克德莫特、马内尔·扎鲁克和亚历山德拉·巴拉胡尔。2018年。Www’18开放挑战:金融观点挖掘与问答。载于2018年万维网大会配套论文集。1941–1942页。

3. 凯斯·科蒂斯、安德烈·弗雷塔斯、托比亚斯·道尔特、曼努埃拉·许尔利曼、马内尔·扎鲁克、西格弗里德·汉德舒和布莱恩·戴维斯。2017年。SemEval-2017任务5:金融微博和新闻的细粒度情感分析。载于《第11届国际语义评估研讨会(SemEval-2017)论文集》,第519–535页,加拿大温哥华。计算语言学协会出版。

4. 阿甘·沙阿、苏万·帕图里和苏迪尔·查瓦。2023年。万亿美元之词:一个新的金融数据集、任务与市场分析。载于《第61届计算语言学协会年会论文集(第一卷:长篇论文)》,第6664–6679页,加拿大多伦多。计算语言学协会出版。

5. 安库尔·辛哈和坦迈·坎代特。2021年。新闻对商品市场的影响:数据集与结果。载于《信息与通信进展:2021未来信息与通信大会(FICC)论文集》,第二卷。施普林格出版社,589–601页。

6. 陈昌成、林承毅、邱崇杰等。NTCIR-17 FinArg-1 任务概述:金融分析中的细粒度论点理解[C]//第17届NTCIR信息获取技术评估会议论文集,日本东京,2023年。

7. 拉斯穆斯·约根森、奥利弗·布兰特、马赖克·哈特曼、戴翔、克里斯蒂安·伊格尔和德斯蒙德·埃利奥特。2023年。MultiFin:多语言金融NLP数据集。载于《计算语言学协会成果:EACL 2023》,第894–909页,克罗地亚杜布罗夫尼克。计算语言学协会。

8. 杨、肯尼、吴、杨、史密斯和董。(2020)。为金融文本分类中的深度变换器生成合理反事实解释。 国际计算语言学会议

9. 陈中奇、曾宇民、姜柔妍、安娜伊斯·吕西耶、戴敏育、涂腾蔡和陈信希。2023年。多语言ESG议题识别。载于《第五届金融科技与自然语言处理研讨会(FinNLP)及第二届多模态人工智能金融预测研讨会(Muffin)》论文集。

10. 胡里奥·塞萨尔·萨利纳斯·阿尔瓦拉多、卡琳·韦尔斯普尔和蒂莫西·鲍德温。2015年。命名实体识别的领域适应,以支持信用风险评估。载于2015年澳大拉西亚语言技术协会研讨会论文集,第84–90页。

11. 沙阿、维塔尼、古拉帕利等。Finer:金融命名实体识别数据集及弱监督模型[J]。arXiv预印本arXiv:2302.11157,2023年。

12. 沙尔马、索米娅等。“FinRED:金融领域关系抽取数据集。” 2022年网络大会配套论文集(2022):无页码。

13. 多米尼克·马里科、汉娜·阿比-阿克尔、埃斯特尔·拉比迪里、斯蒂芬·杜福尔、于格·德·马赞库尔和马哈茂德·埃尔-哈吉。2020年。金融文档因果关系检测共享任务(FinCausal 2020)。载于《第一届金融叙事处理与多语言金融摘要联合研讨会》论文集,第23–32页,西班牙巴塞罗那(线上)。COLING。

14. 陈志宇、陈文虎、查瑞丝·斯迈利、萨米娜·沙赫、伊安娜·博罗娃、迪伦·兰登、丽玛·穆萨、马特·比恩、黄廷浩、布莱恩·R·鲁特莱奇等。2021年。FinQA:金融数据上的数值推理数据集。载于2021年自然语言处理经验方法会议论文集,第3697–3711页。

15. 朱峰斌、雷文强、黄友诚、王超、张硕、吕建程、冯福利和蔡达生。“TAT-QA:金融领域表格与文本混合内容上的问答基准。” ArXiv abs/2105.07624(2021):无页码。

16. 索米娅·沙尔马、苏班杜·卡图亚、曼朱纳特·黑格德、阿芙琳·谢赫、考斯图夫·达斯古普塔、帕万·戈亚尔和尼洛伊·甘古利。2023年。金融数值极端标注:数据集与基准测试。载于《计算语言学协会成果:ACL 2023》,第3550–3561页,加拿大多伦多。计算语言学协会。

17. 马修·拉姆、阿伦·查甘蒂、克里斯托弗·D·曼宁、丹·朱拉夫斯基和珀西·梁。2018年。文本类比解析:类比事实中哪些是共有的,哪些是被比较的。载于《2018年自然语言处理经验方法会议论文集》,第82–92页,比利时布鲁塞尔。计算语言学协会。

18. 拉杰迪普·穆克吉、阿比纳夫·博拉、阿卡什·班纳吉、索米娅·沙尔马、曼朱纳特·黑格德、阿芙琳·谢赫、希瓦尼·施里瓦斯塔瓦、考斯图夫·达斯古普塔、尼洛伊·甘古利、萨普塔尔希·戈什和帕万·戈亚尔。2022年。ECTSum:长篇财报电话会议记录要点摘要的新基准数据集。载于《2022年自然语言处理经验方法会议论文集》,第10893–10906页,阿拉伯联合酋长国阿布扎比。计算语言学协会。

19. 周志涵、马立谦和刘瀚。2021年。交易事件:基于新闻的事件驱动交易中的企业事件检测。载于《计算语言学协会成果:ACL-IJCNLP 2021》,第2114–2124页,线上。计算语言学协会。

20. 霍夫曼,汉斯。(1994)。Statlog(德国信用数据)。UCI机器学习资源库。https://doi.org/10.24432/C5NC77。

21. 昆兰,罗斯。Statlog(澳大利亚信贷审批)。UCI机器学习资源库。https://doi.org/10.24432/C59012。

22. 冯端宇、戴永富、黄继明、张怡芳、谢倩倩、韩伟光、亚历杭德罗·洛佩斯-利拉和王浩。2023年。赋能多数,偏袒少数:通过大型语言模型进行通用信用评分。ArXiv abs/2310.00566(2023):无页码。

23. 孙艺俊、柳在民、赵珉勇、全智亨和姜宇。2022年。利用自监督学习从稀疏且嘈杂的推文中准确预测股票走势。载于2022年IEEE大数据国际会议(Big Data)。IEEE,第1691–1700页。

24. 徐宇墨和谢伊·B·科恩。2018年。根据推文和历史价格预测股票走势。载于《第56届计算语言学协会年会论文集》(第1卷:长篇论文),第1970–1979页。

25. 吴慧哲、张伟、沈伟伟和王军。2018年。社交文本驱动的混合深度序列建模用于股票预测。载于《第27届ACM国际信息与知识管理会议论文集》,第1627–1630页。

26. 陈志宇、李世扬、查瑞丝·斯迈利、马志强、萨米娜·沙赫和威廉·杨旺。2022年。ConvFinQA:探索对话式金融问答中的数值推理链。载于《2022年自然语言处理经验方法会议论文集》,第6279–6292页,阿拉伯联合酋长国阿布扎比。计算语言学协会。

评估

准备工作

本地安装
git clone https://github.com/The-FinAI/PIXIU.git --recursive
cd PIXIU
pip install -r requirements.txt
cd src/financial-evaluation
pip install -e .[multilingual]
Docker 镜像
sudo bash scripts/docker_run.sh

上述命令会启动一个 Docker 容器,您可以根据自己的环境修改 docker_run.sh。我们还提供了预构建的镜像,运行以下命令即可拉取最新版本:sudo docker pull tothemoon/pixiu:latest

docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
    --network host \
    --env https_proxy=$https_proxy \
    --env http_proxy=$http_proxy \
    --env all_proxy=$all_proxy \
    --env HF_HOME=$hf_home \
    -it [--rm] \
    --name pixiu \
    -v $pixiu_path:$pixiu_path \
    -v $hf_home:$hf_home \
    -v $ssh_pub_key:/root/.ssh/authorized_keys \
    -w $workdir \
    $docker_user/pixiu:$tag \
    [--sshd_port 2201 --cmd "echo 'Hello, world!' && /bin/bash"]

参数说明:

  • [] 表示可选参数
  • HF_HOME:Hugging Face 缓存目录
  • sshd_port:容器内的 SSH 服务端口,默认为 22001,可通过 ssh -i private_key -p $sshd_port root@$ip 连接到容器
  • --rm:退出容器时(如按 CTRL + D)自动删除容器

自动化任务评估

在进行评估之前,请先下载 BART 检查点 并放置到 src/metrics/BARTScore/bart_score.pth

自动化评估步骤如下:

  1. Hugging Face Transformer

若要评估托管在 Hugging Face Hub 上的模型(例如 finma-7b-full),可使用以下命令:

python eval.py \
    --model "hf-causal-llama" \
    --model_args "use_accelerate=True,pretrained=TheFinAI/finma-7b-full,tokenizer=TheFinAI/finma-7b-full,use_fast=False" \
    --tasks "flare_ner,flare_sm_acl,flare_fpb"

更多详细信息请参阅 lm_eval 文档。

  1. 商业 API

请注意,对于 NER 等任务,自动化评估基于特定模式,这可能导致在零样本场景下无法提取相关信息,从而使得评估结果相对低于人工标注的结果。

export OPENAI_API_SECRET_KEY=YOUR_KEY_HERE
python eval.py \
    --model gpt-4 \
    --tasks flare_ner,flare_sm_acl,flare_fpb
  1. 自行部署评估

运行推理后端:

bash scripts/run_interface.sh

请根据您的环境需求调整 run_interface.sh

进行评估:

python data/*/evaluate.py

创建新任务

为 FinBen 创建新任务需要先创建一个 Hugging Face 数据集,并在 Python 文件中实现该任务。本指南将引导您逐步完成使用 FinBen 框架设置新任务的过程。

在 Hugging Face 上创建数据集

您的数据集应按照以下格式创建:

{
    "query": "...",
    "answer": "...",
    "text": "..."
}

其中:

  • query:提示与文本的组合
  • answer:标签

对于多轮对话任务(如 )

对于分类任务(如 FPB (FinBen_fpb)),还需定义以下键值:

  • choices:标签集合
  • gold:正确标签在 choices 中的索引(从 0 开始)

对于序列标注任务(如 Finer Ord (FinBen_finer_ord)),还需定义以下键值:

  • label:标记标签列表
  • token:标记列表

对于抽取式摘要任务(如 ECTSUM (FinBen_ectsum)),还需定义以下键值:

  • label:句子标签列表

对于生成式摘要问答任务(如 EDTSUM (FinBen_edtsum)),则无需额外定义键值。

实现任务

数据集准备好后,即可开始实现任务。您的任务应在 flare.py 或任务目录下的其他 Python 文件中定义在一个新类中。

为了支持多种任务类型,我们提供了多个专用基类,包括 ClassificationSequentialLabelingRelationExtractionExtractiveSummarizationAbstractiveSummarizationQA

例如,如果您正在开发一个分类任务,可以直接使用我们的 Classification 基类。该基类能够帮助您高效且直观地创建任务。下面以使用 Classification 基类创建名为 FinBen-FPB 的任务为例:

class flareFPB(Classification):
    DATASET_PATH = "flare-fpb"

仅此而已!创建好任务类后,下一步是在 src/tasks/__init__.py 文件中注册该任务。添加一行,格式为 "task_name": module.ClassName。例如:

TASK_REGISTRY = {
    "flare_fpb": flare.FPB,
    "your_new_task": your_module.YourTask,  # 在此处添加您的任务
}

预定义的任务指标

任务 指标 说明
分类 准确率 该指标表示正确预测的样本数占总样本数的比例。计算公式为:(真正例 + 真负例) / 总样本数。
分类 F1 分数 F1 分数是精确率和召回率的调和平均值,能够在两者之间取得平衡。在某一指标比另一指标更重要的场景中尤为有用。分数范围为0到1,1表示精确率和召回率都达到完美,0则表示最差情况。此外,我们还提供加权和宏平均两种版本的F1分数。
分类 缺失率 该指标计算的是在任务中给出的选项均未被返回的响应所占比例。
分类 马修斯相关系数 (MCC) MCC是一种用于评估二分类质量的指标,取值范围为-1到+1。+1表示完美预测,0表示预测效果与随机猜测无异,-1则表示完全相反的预测。
序列标注 F1 分数 在序列标注任务中,我们使用由 seqeval 库计算的F1分数,这是一种强大的实体级评估指标。该指标要求预测实体与真实实体在实体范围和类型上完全匹配才能算作正确。真正例 (TP) 表示正确预测的实体,假正例 (FP) 表示错误预测的实体或实体范围/类型不匹配的情况,假负例 (FN) 则表示遗漏了真实实体。基于这些量,可以计算出精确率、召回率和F1分数,其中F1分数是精确率和召回率的调和平均值。
序列标注 标签 F1 分数 该指标仅根据预测标签的正确性来评估模型性能,而不考虑实体范围。
关系抽取 精确率 精确率衡量的是所有预测关系中正确预测的关系所占比例。计算公式为:真正例 (TP) 数量除以真正例与假正例 (FP) 数量之和。
关系抽取 召回率 召回率衡量的是所有实际关系中正确预测的关系所占比例。计算公式为:真正例 (TP) 数量除以真正例与假负例 (FN) 数量之和。
关系抽取 F1 分数 F1 分数是精确率和召回率的调和平均值,能够在两者之间取得平衡。F1分数的最佳值为1(精确率和召回率都达到完美),最差值为0。
抽取式与摘要式文本摘要 Rouge-N 该指标衡量系统生成摘要与参考摘要之间N-gram(文本中连续的N个词)的重叠程度。“N”可以是1、2或更多,其中ROUGE-1和ROUGE-2常用于分别评估一元组和二元组的重叠情况。
抽取式与摘要式文本摘要 Rouge-L 该指标评估系统摘要与参考摘要之间的最长公共子序列 (LCS)。LCS能够自然地考虑句子层面的结构相似性,并自动识别最长的连续共现N-gram。
问答 EmACC EmACC评估模型生成的回答与参考答案是否完全一致。换言之,只有当模型生成的答案与参考答案逐字逐句完全匹配时,才被视为正确。

此外,您可以通过在类定义中指定 LOWER_CASE 来决定匹配过程中是否应将标签转换为小写。这一点很重要,因为标签是根据其在生成输出中的形式进行匹配的。对于考试等任务,如果标签是一组特定的大写字母,如“A”、“B”、“C”,通常应将其设置为False。


FIT:金融指令数据集

我们的指令数据集专为领域特定的大语言模型 FinMA 定制。该数据集经过精心构建,旨在对我们的模型进行多样的金融任务微调。它包含了来自多个公开发布的金融数据集的多任务、多模态公开数据。

该数据集内容丰富,涵盖情感分析、新闻标题分类、命名实体识别、问答以及股票走势预测等多种任务。数据模态既包括文本数据,也包括时间序列数据,提供了丰富的金融数据资源。每个任务的具体指令提示均由领域专家精心设计。

模态与提示

下表总结了不同任务、其对应的模态、文本类型以及每项任务所使用的指令示例:

任务 模态 文本类型 指令示例
情感分析 文本 新闻标题、推文 “请分析这段摘自财经新闻的语句的情感倾向。请以‘负面’、‘正面’或‘中性’作答。例如,‘该公司股票在丑闻曝光后暴跌。’应被归类为负面。”
新闻标题分类 文本 新闻标题 “请判断该标题是否提及黄金价格。新闻标题中是否暗示了黄金商品市场的价格变动?请回答‘是’或‘否’。”
命名实体识别 文本 金融协议 “请从美国证券交易委员会文件中的金融协议段落中,识别出代表人物(‘PER’)、组织(‘ORG’)或地点(‘LOC’)的命名实体。答案格式为:‘实体名称, 实体类型’。例如,在‘SpaceX首席执行官埃隆·马斯克宣布从卡纳维拉尔角发射’这句话中,实体应为:‘埃隆·马斯克, PER;SpaceX, ORG;卡纳维拉尔角, LOC’。”
问答任务 文本 盈利报告 “基于这一系列相互关联的金融相关问题,以及前置文本、表格数据和公司财务报表中的附加信息,请回答最后一个问题。这可能需要从上下文中提取信息并进行数学计算。请在作答时考虑前面问题及其答案所提供的信息:”
股票走势预测 文本、时间序列 推文、股票价格 “请分析相关信息和社交媒体帖子,判断*{tid}的收盘价将在{point}*时上涨还是下跌。请以‘上涨’或‘下跌’作答。”

数据集统计信息

该数据集包含大量指令数据样本(136K),使FinMA能够捕捉到多样化金融任务的细微差别。下表提供了指令数据集的统计详情:

数据 任务 原始 指令 数据类型 模态 许可证 原始论文
FPB 情感分析 4,845 48,450 新闻 文本 CC BY-SA 3.0 [1]
FiQA-SA 情感分析 1,173 11,730 新闻标题、推文 文本 公有领域 [2]
Headline 新闻标题分类 11,412 11,412 新闻标题 文本 CC BY-SA 3.0 [3]
NER 命名实体识别 1,366 13,660 金融协议 文本 CC BY-SA 3.0 [4]
FinQA 问答任务 8,281 8,281 盈利报告 文本、表格 MIT许可证 [5]
ConvFinQA 问答任务 3,892 3,892 盈利报告 文本、表格 MIT许可证 [6]
BigData22 股票走势预测 7,164 7,164 推文、历史价格 文本、时间序列 公有领域 [7]
ACL18 股票走势预测 27,053 27,053 推文、历史价格 文本、时间序列 MIT许可证 [8]
CIKM18 股票走势预测 4,967 4,967 推文、历史价格 文本、时间序列 公有领域 [9]
  1. 佩卡·马洛、安库尔·辛哈、佩卡·科尔霍宁、于尔基·瓦莱纽斯和皮里·塔卡拉。2014年。好债务还是坏债务:检测经济文本中的语义倾向。信息科学与技术协会期刊,第65卷第4期(2014年),782–796页。
  2. 马塞多·迈亚、西格弗里德·汉施胡、安德烈·弗雷塔斯、布莱恩·戴维斯、罗斯·麦克德莫特、马内尔·扎鲁克和亚历山德拉·巴拉胡尔。2018年。Www’18开放挑战:金融观点挖掘与问答。2018年网络大会配套论文集,1941–1942页。
  3. 安库尔·辛哈和坦迈·坎代特。2021年。新闻对商品市场的影响:数据集与结果。信息与通信进展:2021年信息与通信未来大会(FICC)论文集,第2卷。施普林格出版社,589–601页。
  4. 胡里奥·塞萨尔·萨利纳斯·阿尔瓦拉多、卡琳·费尔斯波尔和蒂莫西·鲍德温。2015年。用于支持信用风险评估的命名实体识别领域适应。2015年澳大利亚语言技术协会研讨会论文集,84–90页。
  5. 陈志宇、陈文虎、查瑞丝·斯迈利、萨米娜·沙赫、伊安娜·博罗娃、迪伦·兰登、丽玛·穆萨、马特·比恩、黄廷浩、布莱恩·R·劳特利奇等。2021年。FinQA:金融数据上的数值推理数据集。2021年自然语言处理经验方法会议论文集,3697–3711页。
  6. 陈志宇、李世阳、查瑞丝·斯迈利、智强·马、萨米娜·沙赫和威廉·杨·王。2022年。Convfinqa:探索会话式金融问答中的数值推理链条。arXiv预印本arXiv:2210.03849(2022年)。
  7. 叶俊·孙、赵在民、曹敏勇、全智亨和U·康。2022年。利用来自稀疏且嘈杂推文的自监督学习实现精准的股票走势预测。2022年IEEE国际大数据会议(Big Data)。IEEE出版,1691–1700页。
  8. 徐宇墨和谢伊·B·科恩。2018年。基于推文和历史价格的股票走势预测。第56届计算语言学协会年会论文集(第1卷:长篇论文),1970–1979页。
  9. 吴慧哲、张伟、沈伟伟和王军。2018年。结合深度序列模型的社会文本驱动股票预测。第27届ACM国际信息与知识管理会议论文集,1627–1630页。

为 FIT 生成数据集

在使用金融指令数据集(FIT)时,遵循规定的格式来训练和测试模型至关重要。

格式应如下所示:

{
    "id": "唯一标识符",
    "conversations": [
        {
            "from": "human",
            "value": "您的提示和文本"
        },
        {
            "from": "agent",
            "value": "您的回答"
        }
    ],
    "text": "待分类的文本",
    "label": "您的标签"
}

各字段含义如下:

  • “id”:数据集中每个样本的唯一标识符。
  • “conversations”:对话轮次列表。每一轮次用一个字典表示,其中“from”表示发言者,“value”表示该轮次中的文本。
  • “text”:待分类的文本。
  • “label”:该文本的真实标签。

“conversations”列表中的第一轮必须来自“human”,包含您的提示和文本。第二轮则应来自“agent”,包含您的答案。


FinMA v0.1:金融大型语言模型

我们很高兴推出 FinMA 的第一个版本,包括三个模型:FinMA-7B、FinMA-7B-full 和 FinMA-30B,它们分别基于 LLaMA 7B 和 LLaMA-30B 进行微调。FinMA-7B 和 FinMA-30B 使用 NLP 指令数据进行训练,而 FinMA-7B-full 则使用涵盖 NLP 和预测任务的完整 FIT 指令数据进行训练。

FinMA v0.1 现已在 Huggingface 上公开发布,供公众使用。我们期待这一初始版本能为金融 NLP 领域带来宝贵贡献,并鼓励用户将其应用于各种金融任务和场景。我们也欢迎反馈和经验分享,以帮助改进未来的版本。

如何基于 FIT 使用 PIXIU 微调一个新的大型语言模型?

敬请期待。


FinMem:性能增强型 LLM 交易代理

FinMem 是一种新颖的基于 LLM 的代理框架,专为金融决策设计,包含三个核心模块:Profile 模块,用于描绘代理的特征;Memory 模块,采用分层处理方式,帮助代理吸收真实的分层金融数据;以及 Decision-making 模块,将从记忆中获得的洞察转化为投资决策。目前,经过简单的模式预热后,FinMem 已能实现高收益的单只股票交易。以下是基于 Docker 的快速入门框架,以 TSLA 作为示例输入。

步骤 1:设置环境变量
.env 文件中根据需要添加 HUGGINGFACE TOKEN 和 OPENAI API KEY。

OPENAI_API_KEY = "<您的 OpenAI 密钥>"
HF_TOKEN = "<您的 HF 令牌>"

步骤 2:在 config.toml 中设置端点 URL
根据所选模型(OPENAI、Gemini、HuggingFace 上的开源模型等)使用端点 URL 部署模型。对于 HuggingFace 上的开源模型,可以通过 RunPod 生成 TGI 端点。

[chat]
model = "tgi"
end_point = "<设置您的端点地址>"
tokenization_model_name = "<模型名称>"
...

步骤 3:构建 Docker 镜像和容器

docker build -t test-finmem .devcontainer/. 

启动容器:

docker run -it --rm -v $(pwd):/finmem test-finmem bash

步骤 4:开始模拟!

用法:run.py sim [选项]                                                                                                                
                                                                                                                                            
 开始模拟                                                                                                                           
                                                                                                                                            
╭─ 选项 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --market-data-path    -mdp      TEXT  环境数据 pickle 路径 [默认:data/06_input/subset_symbols.pkl]                       │
│ --start-time          -st       TEXT  训练或测试开始时间 [默认:2022-06-30 对于 Ticker 'TSLA']                                                               │
│ --end-time            -et       TEXT  训练或测试结束时间 [默认:2022-10-11]                                                                 │
│ --run-model           -rm       TEXT  运行模式:train 或 test [默认:train]                                                           │
│ --config-path         -cp       TEXT  配置文件路径 [默认:config/config.toml]                                                     │
│ --checkpoint-path     -ckp      TEXT  检查点保存路径 [默认:data/10_checkpoint_test]                                             │
│ --result-path         -rp       TEXT  结果保存路径 [默认:data/11_train_result]                                               │
│ --trained-agent-path  -tap      TEXT  仅在测试模式下使用,已训练代理的路径 [默认:无。可更改为 data/05_train_model_output 或 data/06_train_checkpoint]                                  │
│ --help                                显示此消息并退出。                                                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
                              

使用示例:

python run.py sim --market-data-path data/03_model_input/tsla.pkl --start-time 2022-06-30 --end-time 2022-10-11 --run-model train --config-path config/tsla_tgi_config.toml --checkpoint-path data/06_train_checkpoint --result-path data/05_train_model_output

此外,还提供了检查点功能。更多详情请直接访问 FinMem 仓库


引用

如果您在工作中使用了 PIXIU,请引用我们的论文。

@misc{xie2023pixiu,
      title={PIXIU:面向金融领域的大型语言模型、指令数据集及评估基准}, 
      author={谢倩倩、韩伟光、张晓、赖延昭、彭敏、亚历杭德罗·洛佩斯-利拉、黄继民},
      year={2023},
      eprint={2306.05443},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

@misc{xie2024FinBen,
      title={FinBen:面向大型语言模型的综合性金融基准测试集}, 
      author={谢倩倩、韩伟光、陈正宇、向若愚、张晓、何悦如、肖梦溪、李东、戴永福、冯端宇、徐艺静、康浩强、匡子言、袁晨瀚、杨凯来、罗哲恒、张天林、刘志伟、熊国俊、邓志阳、蒋岳辰、姚志远、李浩航、于洋洋、胡刚、黄佳佳、刘晓阳、亚历杭德罗·洛佩斯-利拉、王本友、赖延昭、王浩、彭敏、索菲娅·阿纳尼亚杜、黄继民},
      year={2024},
      eprint={2402.12659},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

许可协议

PIXIU 采用 [MIT] 许可协议授权。更多详情请参阅 MIT 文件。

星标历史

星标历史图表

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|5天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|6天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

150k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|昨天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|4天前
插件开发框架