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