再看金融领域FinanceRAG竞赛获奖思路及20250414技术进展早报
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
今天是2025年4月15日,星期二,北京,晴。
今天,我们说两件事,一个是做老刘说NLP社区20250414技术进展早报回顾,阶段性看看进展,最近开源的工作越来越多了。
另一个是继续看金融RAG竞赛之FinanceRAG获奖思路,跟前几天的金融年报问答,多模态问答方案相呼应。
抓住根本问题,做根因,专题化,体系化,会有更多深度思考。大家一起加油。
我们先来回顾下昨日大模型进展早报,看看最近的一些进展,围绕RAG中表格序列化思路,Agentmemory解读,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宣布将开源内部推理引擎,由于代码库的分歧、基础设施依赖以及团队维护的能力有限,团队选择与现有的开源项目合作,而不是直接开源整个推理引擎,计划与现有开源项目合作,并提取可复用组件。
5、技术总结
AI用于电影制作的技术总结,GenerativeAIforFilmCreation:ASurveyofRecentAdvances,https ://arxiv.org/pdf/2504.08296
6、多模态开源项目
MiniMind-V,以26M参数的超轻量设计,提供从数据处理到指令微调的全流程代码,开源VLM模型的最小实现,入门视觉语言模型的简明教程。仅26M参数(0.026B),约为GPT-3的1/7000,单卡3090即可训练。
在任务1中,*需要从大型文档语料库中检索与给定查询最相关的文档块(上下文),最大化检索准确率(nDCG@10)。该过程首先将查询转换为嵌入,然后使用该嵌入在包含文档嵌入的预索引向量数据库中进行搜索。需要实现一个有效的检索和重排序系统,该系统可以根据与查询的相似度,对文档语料库中最相关的上下文进行优先排序。
本来呢,有第二个任务,就是生成任务,通过评估生成的答案与查询的相关性以及与真实答案相比的正确性。但考虑到大模型(LLM)固有的随机性以及保持比赛透明度的重要性,最后取消了此任务
数据集在https ://huggingface.co/datasets/Linq-AI-Research/FinanceRAG。
1、多精排方案Multi-Reranker
1)预检索阶段。首先,对查询进行扩展和优化,以提高检索效果。使用了多种查询扩展方法,包括同义替换、关键词提取和假设文档的创建。其中,同义替换通过将查询中的术语替换为它们的同义词,以扩大检索范围;关键词提取从查询中提取出最重要的关键词,并在检索时使用这些关键词来提高相关性;假设文档的创建生成包含查询术语的假设性文档,以增加检索的相关性。
这些方法通过澄清句子含义、解释缩写和分解复杂查询,提高了检索过程的有效性。特别是对于包含金融特定术语和缩写的复杂查询,这些方法能够显著提升检索的准确性和召回率。
2)检索阶段。使用多个重排模型来提取和精化相关语料库。初始重排模型使用一个轻量级的重排模型(如jina-reranker-v2-base-multilingual)提取前200个最相关的语料库;二次重排模型使用更精确的重排模型(如gte-multilingual-reranker-base和bge-reranker-v2-m3)对初始提取的语料库进行二次重排,最终选择前10个最相关的语料库;
3)生成阶段:设计了一种有效的方法来管理长上下文大小,以确保模型在处理非常长的输入时仍能保持高性能。一个是上下文大小限制,如果输入的token数量(查询加上前1-20个语料库)超过32ktokens,则将语料库分成两部分,分别通过LLM处理后再融合结果。一个是提示工程,通过提示工程确保LLM专注于提供查询中请求的关键信息和数值。具体来说,设计提示时要求LLM生成简洁的数值答案,而不是冗长的解释。
2、混合搜索方案
核心实现步骤如下:
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开源爱好者与践行者,主页:https ://liuhuanyong.github.io。
对大模型&知识图谱&RAG&文档理解感兴趣,并对每日早报、老刘说NLP历史线上分享、心得交流等感兴趣的,欢迎加入社区,社区持续纳新。
加入社区方式:关注公众号,在后台菜单栏中点击会员社区加入。