多智能体系统工作前沿汇总
多智能体系统工作前沿汇总 https://zhuanlan.zhihu.com/p/1950212759796049358 AgentDropout:Dynamic Agent Elimination for Token-Efficient, High-Performance Collaboration(ACL 2025) 这篇论文提出在多轮对话与推理过程中动态“淘汰”冗余 agent 与通信边,从而压缩推理成本。该机制在不同任务中节省了约 20% 以上的 token 使用,同时保持甚至提升性能,并展现良好的迁移性。 链接:https://arxiv.org/abs/2503.18891 。 上面这篇还挺有意思 Chain of Agents: Large Language Models Collaborating on Long-Context Tasks(2025) 这篇论文提出了 Chain-of-Agents (CoA) 框架,把长文本任务拆分给一系列顺序衔接的智能体处理,每个智能体只需关注自己的一小块内容,并通过通信单元传递关键信息,最后由管理智能体整合输出。这样既能避...
多模态RAG检索
多模态RAG检索 ColPali和DSE解读:https://zhuanlan.zhihu.com/p/826088920 colbert模型(ColPali):在视觉encoder,也是利用多模态的视觉大模型来生成图片端的向量,但不仅仅只生成单个向量。而是利用VIT的patch embedding,来生成多个向量。直觉上确实是会有收益,因为一整页的pdf,你就压缩在一个固定维度的向量中,那肯定有信息损失,而且以patch为单位生成embedding,真的很make sensen,比文本的colbert都make sense。 实践:https://zhuanlan.zhihu.com/p/1975243477060167021 加载所有文档,使用 http://unstructured.io 等文档加载器(document loader)提取文本块、图像和表格。 如需转换,*将 HTML 表格转为 Markdown 格式* —— 这种格式对大型语言模型(LLM)通常非常有效。 将每个文本块、图像和表格传入 GPT-4o 等多模态大型语言模型(multimodal LLM)...
深入理解Megatron-LM
深入理解Megatron-LM 基础知识:https://zhuanlan.zhihu.com/p/650234985 原理介绍:https://zhuanlan.zhihu.com/p/650383289 megatron中的pipeline并行https://zhuanlan.zhihu.com/p/432969288 代码结构:https://zhuanlan.zhihu.com/p/650237820 并行设置:https://zhuanlan.zhihu.com/p/650500590 张量并行:https://zhuanlan.zhihu.com/p/650237833 流水线刷新机制:https://zhuanlan.zhihu.com/p/651341660 1F1B流水线并行负载不均衡:https://zhuanlan.zhihu.com/p/693425934 进程模型: 当你使用 torch.distributed.launch 或 torchrun 启动训练时,会启动 N 个独立的 Python 进程(N = GPU 数量),每个进程绑定到一个 GPU,...
verl框架学习
verl框架学习 https://zhuanlan.zhihu.com/p/24682036412 https://zhuanlan.zhihu.com/p/27676081245 verl资源管理:https://zhuanlan.zhihu.com/p/1943781624954192493 核心概念: Ray: Ray 是一个分布式计算框架,现在流行的RL框架如VeRL和OpenRLHF都依托Ray管理RL中复杂的Roles(比如PPO需要四个模型)和分配资源。以下是一些核心的概念: Ray Actor:有状态的远程计算任务,一般是被ray.remote装饰器装饰的Python类,运行时是一个进程(和PPO等Actor-Critic算法的Actor不要混淆了); Ray Task:无状态的远程计算任务,一般是被ray.remote装饰器装饰的Python函数,创建的局部变量仅在当前可见,对于任务的提交者不可见,因此可以视作无状态; 资源管理:Ray可以自动管理CPU、GPU、Mem等资源的分配(通过ray.remote装饰器或者启动的options参数可以指定指定的ray...
Agent框架集成多模态能力底层实现
Agent框架集成多模态能力底层实现 该项目处理多模态RAG返回图片的完整流程: 架构概述 该项目采用分层架构处理多模态RAG: 前端接口层:通过schema.py中的ImageContent和ImageUrl模型支持base64和HTTPS两种图片URL格式 RAG核心层:rag.py中的RagClient提供统一的向量检索接口 多模态嵌入层:multi_model.py中的AliyunEmbeddings使用阿里云DashScope的多模态嵌入API 数据存储层:使用Qdrant向量数据库存储图片和文本的嵌入向量 图片处理流程 1. 图片存储阶段 在feishu-crawler子项目中,图片处理流程如下: 图片下载:DownloadImageTransform从飞书下载图片到本地文件系统 图片摘要生成:GenerateImageSummaryTransform使用VLLM模型为图片生成文字描述 多模态嵌入:EmbedImageTransform调用MultiModelEmbedder生成图片+文字的联合嵌入向量 向量存储:将base64编码的图片数据、文字描述和嵌入向量...
多路召回+Graph RAG调研和实践
多路召回+Graph RAG调研和实践 简介 多路召回简单来说就是指的通过多种途径——包括从已有的Qdrant、Memgraph甚至是web上等去拿到与query相关的上下文信息的过程。 Graph RAG这里有一些文档可以看看: memgraph+spacy构建知识图谱:https://memgraph.com/blog/extract-entities-build-knowledge-graph-memgraph-spacy 从知识图谱到 GraphRAG:探索属性图的构建和复杂的数据检索实践:https://cloud.tencent.com/developer/article/2441475 利用 LlamaIndex 和 Memgraph 构建知识图谱并查询:https://www.llamaindex.ai/blog/constructing-a-knowledge-graph-with-llamaindex-and-memgraph 一篇RAG+知识图谱的博客:https://qiankunli.github.io/2024/07/12/llm_graph.htm...
LangGraph 中 checkpoint_id 的更新时机:每个对话轮次还是每个节点流转?
LangGraph 中 checkpoint_id 的更新时机:每个对话轮次还是每个节点流转? 在使用 LangGraph 构建多轮对话或工作流时,我们经常会遇到 checkpoint(检查点)的概念。每个检查点都有一个唯一的 checkpoint_id,用于标识该次状态快照。一个常见的问题是:checkpoint_id 是在每个对话轮次更新一次,还是在节点(node)之间流转时就会更新一次? 本文将通过分析 LangGraph 源码(基于 langgraph==0.2.0 左右版本)来回答这个问题,并解释其背后的设计逻辑。 1. checkpoint_id 是如何生成的? 首先,我们来看 checkpoint_id 的生成方式。在 langgraph/checkpoint/base/__init__.py 中,有一个 create_checkpoint 函数: 12345678910111213141516171819def create_checkpoint( checkpoint: Checkpoint, channels: Mapping[str, BaseC...
从知识图谱到 GraphRAG:探索属性图的构建和复杂的数据检索实践
从知识图谱到 GraphRAG:探索属性图的构建和复杂的数据检索实践 为什么知识图谱+RAG>RAG:https://mp.weixin.qq.com/s?__biz=MzIyOTkzNDczMw==&mid=2247508213&idx=1&sn=a1d3505a55ef8456cdceaea64fb66091&chksm=e8b9f317dfce7a01be4827a834d09141608762ad7109d79a05ae3bf82ebfaf130cfd46df0b6e&scene=21#wechat_redirect 比如query:感冒了吃什么?db:1、感冒了可能会发烧和头痛。2、对乙酰氨基酚是一种退烧和止疼药物。相似度搜索极难查询到第2个结果,而Graph方法可以将对1和2连接在一起,从而在检索到1结点的时候将相邻结点一起检索出来。 当你问:“这个数据集的主题是什么?”这类高级别、概括性的问题时,传统的RAG可能就会束手无策。为什么呢?那是因为这本质上是一个聚焦于查询的总结性任务(Query-Focused Summa...
深入 KV Cache 的运作过程
深入 KV Cache 的运作过程 KV Cache 的工作主要发生在 Transformer 模型的 Decoder Block 中,特别是其多头自注意力(Multi-Head Self-Attention)层。 整个推理过程通常分为两个阶段:预填充阶段 (Pre-fill) 和 解码阶段 (Decoding)。 1. 预填充阶段 (Pre-fill / Prompt Encoding) 这个阶段处理用户的整个输入 Prompt(比如 100 个 token)。 步骤详解: 输入与投影: 完整的输入序列 [t1,t2,…,t100][t_1, t_2, \dots, t_{100}][t1,t2,…,t100] 进入 Transformer 的每一层。 计算 Q,K,VQ, K, VQ,K,V: 在自注意力层中,模型使用权重矩阵 WQ,WK,WVW_Q, W_K, W_VWQ,WK,WV 对输入向量进行投影,一次性计算出所有 token 的 QQQ、 KKK 和 VVV 矩阵: Kfull=[K1,K2,…,K100]K_{\text{full}} = ...
高性能网络InfiniBand & ROCE学习
高性能网络InfiniBand & ROCE学习 第一章:导论 - 为什么标准以太网(TCP/IP)“喂不饱” GPU?: https://blog.csdn.net/qq_38334677/article/details/154359174 这篇文章的核心是解释为什么传统TCP/IP网络无法满足大规模AI训练的需求,并引入RDMA技术作为解决方案。文章逻辑清晰,层层递进: 一、核心问题:TCP/IP在AI训练中的瓶颈 1.1 AI训练对网络的极端要求 分布式训练:尤其是AllReduce操作,需要频繁同步梯度 三大核心需求: 极低延迟:GPU集群计算步伐受最慢网络节点制约 高带宽:需要匹配GPU间的高速通信(如NVLink的数百GB/s) 低CPU开销:CPU应专注于数据处理,而非网络任务 1.2 TCP/IP的根本缺陷 缺陷一:高昂的CPU开销与内核干预 123TCP/IP数据发送流程:应用数据 → 系统调用 → 用户空间到内核空间拷贝 → TCP/IP协议栈处理 → 内核到网卡驱动拷贝 → 网卡发送 性能杀手: 系统调用:用户态/内核态切换(0.5-2微...









