再看金融领域FinanceRAG竞赛获奖思路及20250414技术进展早报

今天是2025年4月15日,星期二,北京,晴。

今天,我们说两件事,一个是做老刘说NLP社区20250414技术进展早报回顾,阶段性看看进展,最近开源的工作越来越多了

另一个是继续看金融RAG竞赛之FinanceRAG获奖思路,跟前几天的金融年报问答,多模态问答方案相呼应

抓住根本问题,做根因,专题化,体系化,会有更多深度思考。大家一起加油。

一、老刘说NLP社区20250414技术进展早报 

我们先来回顾下昨日大模型进展早报,看看最近的一些进展,围绕RAG中表格序列化思路,Agent memory解读,Openai新发布,口语语言模型,多模态大模型Minimind-V开源实操项目,Deepseek推理引擎发布预告等话题,这是社区的每日活动,欢迎加入社区,一同跟进前沿进展以及一些落地项目。

1、技术总结

RAG中的表格数据序列化思路及R1类推理大模型训练实证分析

https://mp.weixin.qq.com/s/OANQwtL1ayYr8REdL-5yvQ

2、产业进展

OpenAI正式在API中推出全新的GPT-4.1系列模型。此次发布包括三款新模型,分别是GPT-4.1、GPT-4.1mini和GPT-4.1nano三个新成员。其中,OpenAI声称GPT-4.1nano是其迄今最快、最便宜的模型。

这些模型在各项指标上全面优于GPT-4o和GPT-4omini,特别是在编程、指令遵循以及上下文理解方面表现突出。还支持更长的上下文窗口,最大可达100万个Token,知识更新日期为2024年6月。

3、关于Agentmemory进展

文章https://github.com/ALucek/agentic-memory这篇智能体记忆探索写得挺好。

Rules就是程序记忆,然后我们手动组织的Context算是语义记忆,在文中还比较详实的说明了情景记忆,或者说时空记忆,挺有道理的。

4、产业进展

DeepSeek宣布将开源内部推理引擎,由于代码库的分歧、基础设施依赖以及团队维护的能力有限,团队选择与现有的开源项目合作,而不是直接开源整个推理引擎,计划与现有开源项目合作,并提取可复用组件。

https://github.com/deepseek-ai/open-infra-index/blob/main/OpenSourcing_DeepSeek_Inference_Engine/README.md

5、技术总结

口语语言模型(SLM)领域发现综述,《On The Landscape of Spoken Language Models: A Comprehensive Survey》,https://arxiv.org/pdf/2504.08528

AI用于电影制作的技术总结,Generative AI for Film Creation: A Survey of Recent Advances ,https://arxiv.org/pdf/2504.08296

6、多模态开源项目

MiniMind-V,以26M参数的超轻量设计,提供从数据处理到指令微调的全流程代码,开源VLM模型的最小实现,入门视觉语言模型的简明教程。仅26M参数(0.026B),约为GPT-3的1/7000,单卡3090即可训练。

支持单图和多图输入,结合文本进行对话。包含数据处理、预训练、SFT和推理完整代码,支持数据集清洗和自定义配置。采用简单线性变换,将CLIP的768维视觉token对齐到LLM空间。提供OpenAI兼容API,可接入FastGPT、OpenWebUI等。 地址在:https://github.com/jingyaogong/minimind-v

二、继续看金融RAG竞赛之FinanceRAG获奖思路 

继续看RAG相关竞赛,来看ACM-ICAIF ’24 FinanceRAG竞赛,https://github.com/cv-lee/FinanceRAG,https://www.kaggle.com/competitions/icaif-24-finance-rag-challenge/overview。

在任务1中,*需要从大型文档语料库中检索与给定查询最相关的文档块(上下文),最大化检索准确率 (nDCG@10)  。该过程首先将查询转换为嵌入,然后使用该嵌入在包含文档嵌入的预索引向量数据库中进行搜索。需要实现一个有效的检索和重排序系统,该系统可以根据与查询的相似度,对文档语料库中最相关的上下文进行优先排序

本来呢,有第二个任务,就是生成任务,通过评估生成的答案与查询的相关性以及与真实答案相比的正确性。但考虑到大模型 (LLM) 固有的随机性以及保持比赛透明度的重要性,最后取消了此任务

数据集在https://huggingface.co/datasets/Linq-AI-Research/FinanceRAG。

1、多精排方案Multi-Reranker

多精排方案在Multi-Reranker: Maximizing performance of retrieval-augmented generation in the FinanceRAG challenge,https://github.com/cv-lee/FinanceRAG,https://arxiv.org/pdf/2411.16732,思路三个阶段。

1)预检索阶段。首先,对查询进行扩展和优化,以提高检索效果。使用了多种查询扩展方法,包括同义替换、关键词提取和假设文档的创建。其中,同义替换通过将查询中的术语替换为它们的同义词,以扩大检索范围;关键词提取从查询中提取出最重要的关键词,并在检索时使用这些关键词来提高相关性;假设文档的创建生成包含查询术语的假设性文档,以增加检索的相关性。

这些方法通过澄清句子含义、解释缩写和分解复杂查询,提高了检索过程的有效性。特别是对于包含金融特定术语和缩写的复杂查询,这些方法能够显著提升检索的准确性和召回率。

2)检索阶段。使用多个重排模型来提取和精化相关语料库。初始重排模型使用一个轻量级的重排模型(如jina-reranker-v2-base-multilingual)提取前200个最相关的语料库;二次重排模型使用更精确的重排模型(如gte-multilingual-reranker-base和bge-reranker-v2-m3)对初始提取的语料库进行二次重排,最终选择前10个最相关的语料库;

3)生成阶段:设计了一种有效的方法来管理长上下文大小,以确保模型在处理非常长的输入时仍能保持高性能。一个是上下文大小限制,如果输入的token数量(查询加上前1-20个语料库)超过32k tokens,则将语料库分成两部分,分别通过LLM处理后再融合结果。一个是提示工程,通过提示工程确保LLM专注于提供查询中请求的关键信息和数值。具体来说,设计提示时要求LLM生成简洁的数值答案,而不是冗长的解释。

2、混合搜索方案

混合搜索的方案在:Contextual RAG System with Hybrid Search and Reranking,https://github.com/chatterjeesaurabh/Contextual-RAG-System-with-Hybrid-Search-and-Reranking,LLM模型使用(GPT 4o-mini 或 Llama 3.2),嵌入模型使用OpenAI 嵌入(text-embedding-3-small)或 Ollama 嵌入。Chroma向量存储用于存储嵌入并进行向量语义搜索。BM25索引用于存储TF-IDF向量以进行基于关键词的检索。集成检索器用于混合搜索。重新排序模型用BAAI/bge-reranker-v2-m3。

核心实现步骤如下:

1)文档预处理,加载带有元数据的JSON和PDF文档;使用标准方法(如递归字符文本拆分器)为PDF文档创建带有元数据(如页码和来源标题)的文档片段;

2)生成片段上下文并附加:使用LLM模型(例如GPT4o-mini或Llama3.2)为每个片段添加与源文档相关的上下文信息;使用提示让模型为该片段提供一个关于源文档的简洁上下文(最多3-4句话);将上下文添加到片段文本的开头,以增强检索效果;

3)在向量数据库中索引文档片段嵌入以进行语义搜索,使用嵌入模型(例如OpenAI的text-embedding-3-small模型或任何开源模型)为带有上下文的片段创建向量表示;将嵌入存储在Chroma向量存储中,使用余弦相似度作为搜索度量;

4)BM25索引用于基于关键词的检索,将每个片段的TF-IDF向量存储到BM25索引中。

5)使用倒数排名融合RRF的集成检索器,通过混合搜索(向量语义相似度搜索+BM25关键词搜索)改进相关片段检索;从每种方法中获取排名前5的结果;将两种方法的分数归一化到一个共同的范围(0-1);使用权重参数对两种结果集中都出现的文档进行加权组合,并聚合分数。

6)重新排序,使用BAAI/bge-reranker-v2-m3模型对集成检索器之前的检索结果进行重新排序,以提高检索质量;

7)文档对由重新排序器打分,最终排名基于重新排序器的分数;在重新排序后返回排名前k(默认为5)的文档;

8)构建RAG流程,{问题}+{上下文}->rag_prompt_template->llm。

总结 

本文主要回顾了昨日大模型相关技术进展,并且再次跟进了下大模型做RAG的竞赛思路,比赛常有,思路通常很类似。大家可以多体会。

(文:老刘说NLP)

发表评论