2023-11-16讨论班

An Introduction to LLM-based Multi-Agent System.

Agent:一个综合性系统,能够适应定义好的环境,完成相关的任务

  • 组件:profile,memory(长期,短期),planning,action

Multi-Agent:分割功能,更高内聚=>更高的token效率

两个思路:

  • 每个Agent拥有自己的四个组件,独立完成小任务
  • 每个Agent只负责一个组件的整个或部分功能

实现方式

  • 群聊式:有个群主,协调各个Agent的工作

还挺有趣的,感觉可以一定程度上缓解多轮对话带来的token混淆,区分Agent的角色有助于子任务获得更好的效果。例如Programmer/Executor/Reviewer

Scaling Up Memory Disaggregated Applications with Smart. (ASPLOS 2024)

现有的DM架构在io bound的任务下有一定的问题

Doorbell 寄存器的竞争,任务描述数据放在queue pair中,通过门铃寄存器提醒网卡。由于门铃有限,需要用自旋锁来等待。

如果qp中任务量太大,可能会造成cache thrashing——任务被发送出去后,远端的pair做完了会回一个消息,此时需要根据meta data找这个任务,如果cache miss会有缓慢的PCIe DMA read,所以抖动会造成相当的问题

CAS(compare and switch)太多重试会占满带宽

Design

  • 使用QP池【没太听懂】
  • 动态限制并发数——消耗credit才能send
  • 冲突避免——wait一会再retry