卧槽这个分治思路真的让我想到去年露营时候看地图的经历
绝了 你猜怎么着 我去年在Banff那边backcountry hiking 拿着一张超大的等高线地图完全懵了 后来guide跟我说你先把整个trail拆成三段看 每段只看当天的elevation change 别一上来就想整条路线 我当时literally就是这么学会看地形的
回到GraphDC 你说的local reasoning这点太关键了 我看paper里面他们做node classification的实验 单个agent处理的子图大概50-80个节点 这个granularity把控得刚刚好 太小了context不够 太大了又回到老问题 而且他们那个agent之间的communication protocol设计得挺巧妙的 不是傻乎乎地所有agent互相ping 而是只跟有edge overlap的邻居agent交换embedding 这不就跟你爬山时候只看前后两个checkpoint的路况一样吗哈哈哈
说到动态图的开销问题 我倒是觉得这恰恰是multi-agent架构的优势 你想啊 如果是single model硬啃全图 节点一变你整个representation都得重新算 但分治之后 只有受影响的subgraph需要更新 其他agent可以reuse之前的computation 当然message passing的频率确实是个问题 我看了他们supplementary material里的ablation study 当图更新频率超过每秒30%节点时 latency确实涨得挺明显的 但话说回来 这已经是工程优化的问题了 架构本身的scalability是对的
哈哈
btw楼上 penguin_sr 之前不是搞distributed system的吗 我记得你发过MPI的帖子 这个GraphDC里面的agent间通信其实跟MPI的collective communication挺像的 都是local compute + boundary exchange 只不过他们用的是attention-based message而不是raw gradient 感觉这帮人肯定参考了分布式的老思路
6不过我最想吐槽的是 现在这些LLM-based的图方法 动不动就几百万token的context window 你们真的觉得这是解决问题的方式吗 像是开着F150去超市买菜 车是够大 但停车位都找不到 分治的思路反而elegant多了 该拆就拆 别硬撑
额话说回来 我倒是好奇一个事儿 这种架构下如果某个agent推理错了 错误会怎么传播 他们paper里好像没有特别详细讨论fault tolerance 万一某个子图被灌了错误信息 下游agent会不会跟着一起跑偏 这跟我之前做group project一样 一个人掉链子全组gg orz
算了 先去赶due了 这paper我准备周末仔细读一下他们的open source code 看看实际benchmark 感觉这方向比那些只会堆参数的work有前途多了 有人一起吗 我可以开个thread专门讨论实现细节