- 博客(199)
- 收藏
- 关注
原创 DeepSearchAcademic-基于舆情中文核心论文的deepsearch的个人项目
2024年12月份,RAG的范式基本差不多了,纯文本的RAG已经非常成熟了,多模态RAG也在迅速兴起。博主的硕士毕业论文写的就是多模态舆情分析,但是苦于自己创造的新定义、理论找不到支撑文献,于是做了一个多模态的RAG系统,旨在搜集20年以来的中文舆情分析期刊论文,试图结合最新的信息检索技术,给论文找到合适的方法和理论。这样的方法对于很多大学生都是适用的。在博主看来,RAG是信息检索,LLM同样也是信息检索,只不过前者的知识在数据库,后者的知识在FFN上的区别。
2025-03-04 21:02:25
331
原创 olmOCR:使用VLM解析PDF
在PDF解析中,目前主流的开源工具包括Minuer、GOT OCR等。主要都是通过飞桨等OCR套件组装的一套pipeline,或者直接通过VLM解析图像。#一、 olmOCR是使用VLM进行的端到端的PDF文档解析。
2025-02-27 15:50:54
961
原创 deepseek-R1架构和训练流程总结
deepseek-R1是对open ai o1的开源复现路径之一,非常火热,实际使用也是碾压o1。这带来了新的用户使用范式,以往用户都期望大模型能够快速返回结果,超过十几秒就无法忍受。但R1的到来使得普通用户都非常乐意看到大模型等待几分钟再回答的情况。记得o1刚出来时,都再猜是怎么实现的,我接触到的观点是将COT数据放在了模型内部的强化学习上,使用强化学习迫使模型内部产生思考。本文将介绍训练和测试的scaling laws,奖励学习的两种reward方式,deepseek-r1的实现流程等。
2025-02-27 00:28:48
531
原创 MOE结构解读和deepseek的MoE结构
MoE将dense的FFN层修改为了一个门控网络和多个小型FFN,在处理输入时,由门控网络选择激活最相关的top_k个FFN,将输出进行加权求和,得到MoE层的输出。目的是通过多个专家网络来提高模型的表达能力和性能。
2025-02-26 00:16:36
575
原创 LLM/VLM进行票据识别工作
票据识别任务的需求是给定不同类型的票据图像,提取出指定的字段值,以json格式给出结构化信息。提取结果示例:来自智能结构化 - 文字识别OCR目前的范式包括OCR,OCR+LLM, OCR+VLM,VLM四种方法。
2025-02-25 16:13:04
967
原创 BERT的改进:ModernBERT
BERT还在更新!因为上下文窗口限制,BERT只能处理512个token。为了更长,可以抽取,或者修改但现在,ModernBERT来了,使用了最新的技术架构,支持8192的context length。
2024-12-22 19:00:27
599
原创 InternLM-XComposer2.5-OmniLive解读:语音和视频实时交互的新方向
该系统为实时处理多模态信息提供了新的思路,至少可行性没问题。但是看文章显示延迟是个问题,因为里面涉及到很多模块交互。未来的改进点:1.编码器优化:选择垂直领域的编码器,提升视频和音频理解能力。2.多模态的长期记忆模块:这方面是核心。可以参考mem0将视频和音频记忆存储到多模态知识图谱中,还有针对每个用户的键值数据库,向量数据库,图形数据库等。这样才能更为个性化,增强可用性。
2024-12-22 16:41:25
733
原创 RAG给回复加上引用
我们希望RAG的幻觉减少,最有力的证明就是关键句子参考的某篇文献或报告。然而,大模型的随机性导致提供的引文可能都不存在,所以直接让大模型输出的方式目前是不可靠的。下面总结下添加引文的常见方法。:有效果图片展示。
2024-12-06 20:09:38
921
原创 hugo+github个人博客网站建立教程
选择了好几个,总是有废弃的属性,找半天也没找到在哪。换了个最新的主题,没这些烦心事了。在网站文件夹下,新建一个md,就会在content/post文件夹下新增一个md。按钮,粘贴你复制的公钥,填写标题(例如 “My Macbook”),点击。首先在桌面新建一个文件夹,用于存储所有网站的内容,例如Website。如果你没有 SSH 密钥,可以生成一个新的密钥。如果你希望保存到默认位置,可以按 Enter 键。提交修改推送到远程库,这里是第一次提交,直接强制。建立一个名为blog的网站,建立同名本地文件夹。
2024-12-05 15:37:50
1137
原创 LLM:一个小型搜索agent的实现
agent就是给大模型加上外部系统,能跟环境交互。所以叫智能体,能够根据外部系统的输入修改自身状态。3.大模型参考提示词给出符合模版的回复,比如action是什么,目标函数所需的参数等。本文实现了基于deepspeek大模型的谷歌搜索agent。5.上述结果就是观察到的结果,作为助手消息添加到消息记录中。4.从回复中解析出这些,定位到特定工具函数,执行得到结果。1.前置准备:谷歌搜索工具函数,系统提示词模版。6.再次调用大模型,得到生成后的结果。2.用户输入query。
2024-12-03 22:54:58
1076
原创 LLM:模拟o1的思维链实现
4.将回复追加到消息列表,继续发送,拿到第二次思考结果。如此反复,直到生成最终答案,或者达到迭代次数。2.组装消息列表,包括系统提示词(关键),用户消息,助手消息(模拟回应的格式,引导后续正常生成)3.将消息列表发送给大模型,拿到回复,这时是第一次思考,大概率是解析写纲要的阶段,可以参考上述项目的提示词,是精心迭代后的,大部分情况都能适应。再看原生模型的回答,没有从数学逻辑上来计算,得到了错误的答案。5.让大模型根据上述思维链结果总结,生成最终的回复。OK,可以看到,思维链推导后是正确的。
2024-12-03 22:19:30
471
原创 多模态RAG的几种思路-langchain
流程二:使用VLM对图片做文本摘要描述。得到的文本chunk送给大模型。流程一:多模态嵌入,对文本和图片分布做嵌入。使用query嵌入进行向量检索,使用得到的图片和文本送给VLM。流程三:使用VLM对图片做文本摘要描述。根据检索到的图像摘要的文本,得到原始图片。数据对象:表格,文本,图片。表格和文本视作一个模态,下述把二者统称为文本。流程:分别做摘要,做摘要嵌入,检索摘要,那对应的原文或表格送给大模型。数据对象:表格和文本。
2024-11-28 13:45:00
326
原创 RAG:RAPTOR文档树形解析方法
RAPTOR是一种通过递归嵌入、聚类和总结文本块来构建树形结构的新方法,从而在不同层次上对长文档进行信息检索。
2024-11-14 14:59:23
363
1
原创 大模型应用于推荐系统:《Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond》
假设我们有一个电子商务网站,需要为用户推荐商品。传统的推荐系统可能会依赖于用户的历史购买记录和商品的属性(如价格、类别等)。然而,这些信息可能不足以捕捉到用户的深层次偏好。假设我们正在开发一个新闻推荐应用,目标是向用户推荐他们可能感兴趣的新闻文章。
2024-11-14 12:29:22
440
原创 RAG综述:《A Comprehensive Survey of Retrieval-Augmented Generation (RAG)》
来源于《A Comprehensive Survey of Retrieval-Augmented Generation (RAG): Evolution, Current Landscape and Future Directions》
2024-11-12 19:18:13
1174
原创 关于transformers的八股
RLHF是最大化sample出来的整个序列在奖励模型(reward model)上的得分,最终会落到字粒度的调节(也就是优化每个单个时间步的决策),在每个时间步追求的是后续n步期望回报的最大化,每个时间步的loss有不同的权重。(是指如果两个token在句子1中的相对距离为k,在句子2中的相对距离也是k,那么这两个句子中,两个token之间的相关性应该是一致的)1.策略模型:策略网络是需要优化的目标模型,它通过增加偏好样本的概率和减少非偏好样本的概率,直接对齐人类偏好。,从而保证模型在训练时的稳定性。
2024-11-07 15:54:45
1031
原创 RAG:BM25算法
BM25(Best Matching 25)是一种基于词频和逆文档频率的排名函数,用于衡量文档与查询之间的相关性。在检索阶段,BM25 算法根据查询计算每个文档与查询的相关性得分,并排序返回相关文档。通过上述流程,BM25 可以有效地衡量文档与查询之间的相关性,为信息检索提供可靠的排序机制。:对所有文档计算与查询的 BM25 得分,形成一个文档得分列表。:根据得分从高到低排序文档,得分越高,文档与查询的相关性越强。:将每个查询词的得分累加,得到文档与查询的总相关性得分。:将用户的查询文本分割成词语列表。
2024-10-21 19:49:12
1207
原创 LLM:badcase分析
bad case分析是了解业务、了解场景的重要途径,知道当前研究、实践中容易出现的问题,往通俗的说,吸收经验的重要途径。分析badcase必须要先了解目前模型的效果,也就是baseline,知道该往哪个方向努力。
2024-10-21 19:12:31
555
原创 LLM:reward-model-deberta-v3-large-v2模型结构
https://hf-mirror.com/OpenAssistant/reward-model-deberta-v3-large-v2是在做合成数据的质量打分时的奖励模型。模型依托deberta-v3-large-v2编码模型,给定一个qa对,能够给出一个分数来衡量qa对的质量。没有公开训练细节,由于模型的输出层是一个线性层且没有激活函数,输出的 原始分数(logits) 可以是任何实数,范围从负无穷到正无穷。一般删掉小于0的样本。
2024-10-21 18:36:02
905
原创 LLM:向量索引类型
做RAG时,要进行向量索引,下面是一些常用的索引类型图检索:NSW、HNSW、NSG;聚类中心:K-Means;乘积量化:PQ、IVFPQ;
2024-10-20 13:32:49
780
原创 LLM:deepspeed zero-2时模型训练所占显存分析
LoRA 增量参数:fp16的参数:87.36 M×2 字节≈174.72 MB;fp32的参数(:87.36 M×4 字节≈349.44 MB。lora参数的优化器状态:87.36 M×4 字节 + 87.36 M×4 字节 ≈ 698.88 MB。换算就是1B的参数量,以fp16表示,占2G的内存。模型参数:fp16的模型前向传播副本。fp32的模型的优化参数副本。LoRA 参数的梯度(FP16):87.36 M×2 字节≈174.72 MB。冻结的模型参数(FP16):32*2=64 GB。
2024-10-18 15:33:39
428
原创 大模型进行Query改写时如何提升性能
大模型的指令遵循需要大参数量级的模型,但是推理成本高。更合适的方法是训练一个小模型。一般先进行SFT,再进行离线的DPO微调。:从提示的角度解决,方便。给一个系统提示词,再加上几个会话,都遵循输入一个用户Query,输出一个改写后的Query。在实际改写的时候,大模型会出现各种问题:不听指令、改写后的查询和数据库内容无关等。Query改写方法有子问题拆解、短语提取、回溯检索、虚拟文档等方法。
2024-09-14 12:14:59
1035
原创 回文子串问题梳理
也就是说对于区间s[i:j]是否是个回文,就要看这区间里面的s[i+1:j-1]是不是回文,还有s[i]和s[j]是否相等。但是本题的推导是从dp[i+1][j-1]开始的,如果先计算dp[i][j]就会得不到正确的基准推导。条件2.3.1:如果"xx"是回文子串,反映到状态上是dp[i+1][j-1]是true,那当前状态也是true。条件1:s[i]和s[j]是否相等。dp[i][j]代表s[i:j]是否为回文子串,值是true或false。条件2.1:如果i==j,说明是单个字符,肯定是回文子串。
2024-08-23 00:27:05
494
原创 ELO评分机制公式
ELO评分是一种常用于棋类等竞技游戏中的评分系统,用来衡量玩家(或模型)的相对技能水平。在大模型竞技场中,ELO评分可以用来比较不同模型的表现。ELO评分系统的核心是根据比赛结果调整模型的评分。
2024-08-18 17:56:04
832
原创 RAG:系统评估,以RAGAS为例
面试的时候经常会问到,模型和系统是怎么评估的,尤其是RAG,这么多组件,还有端到端,每部分有哪些指标评估,怎么实现的。今天整理下目前最通用的是RAGAS框架,已经在langchain集成了。在看它之前,首先要了解整个业界是怎么做的。
2024-08-15 20:35:33
1946
原创 DPO原理及训练经验
它针对与RLHF相同的目标,但提供了一种更简单、更直接的培训方法。DPO的工作原理是增加偏好样本的对数概率与减小非偏好样本响应的对数概率。它结合了动态加权机制,以避免仅使用概率比目标时遇到的模型退化问题。DPO直接根据策略定义偏好损失。给定一个关于模型响应的人类偏好数据集,DPO可以使用简单的二元交叉熵目标来优化策略.
2024-08-14 23:37:29
3115
原创 合成数据的新方法-RAG
本文提出了一个利用LLM和检索-增强生成相关框架的力量来生成特定领域指令数据集以进行微调的新颖管道。1.合成数据的质量打分:可以先人工标注,微调一个7B的小模型,专门给条目赋分。2.合成数据的多样性:首先是生成的时候要多样性,就是取一个个小主题概念去生成,引导大模型在局部思考(这个论文做得很好);然后是后处理,可以采用rougl-l分数排除掉太相似的条目;最后可以用t-sne或者umap的方法观察语义聚类情况,如果都在一起,分不开,那就没有多样性。3.高级RAG。
2024-08-14 16:20:08
1336
原创 合成数据的pipline
来源ROUGE是一种广泛使用的自动文本评估指标,用于比较生成文本和参考文本之间的相似度。ROUGE可以看做是BLEU 的改进版,专注于召回率而非精度。换句话说,它会查看有多少个参考译句中的 n 元词组出现在了输出之中。生成文本C和参考文本S。L代表LCS,最长公共子序列。R LCS 表示召回率,表示参考文本中有多少内容被生成文本所覆盖。P LCS 表示精确率,表示生成文本中有多少内容与参考文本匹配。F LCS 是 ROUGE-L。取值区间:通常在 0 到 1 之间。
2024-08-12 22:55:16
1102
原创 动态规划的基本思路
指的是在求解子问题的过程中,有大量的子问题是重复的,一个子问题在下一阶段的决策中可能会被多次用到。:指的是子问题的解(状态值)只与之前阶段有关,而与后面阶段无关。:指的是一个问题的最优解包含其子问题的最优解。4.确定遍历顺序,手动推理看是否满足结果。1.确定dp数组和dp[i]的含义。2.确定状态转移方程。
2024-08-10 17:28:44
142
原创 linux挂载服务器本机的硬盘
完成以上步骤后,你应该能够看到两个 NVMe 磁盘已经挂载到指定的挂载点。如果在执行过程中遇到任何问题,请提供详细的错误信息,我会进一步帮助你排查和解决。文件,确保在系统重启后磁盘仍然挂载。好的,我们可以分别为两个 NVMe 硬盘。中,使用相同的步骤创建一个新的分区。
2024-08-08 15:35:30
686
原创 MM-LLM:使用swift进行客观评测
司南是目前国内主流的(我觉得)评测框架,包含LLM的客观评测,VLM的客观评测(移动到vlmevalkit),长文本评测。这里以本地部署的VLM的OpenAI格式接口为例,只需要配置好evalscope环境,然后遵循下述代码。Swift(阿里的)集成了司南的,使得评测更为简单。
2024-08-07 16:31:02
530
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人