这个C++项目大家觉得怎么样:分布式大模型基础架构
项目适用岗位:互联网C++后端, 大模型端侧部署 ,自动驾驶/机器人具身智能C++开发
1、底层通信组件方案
通信模式封装
支持兼容多种通信模式
普通消息模式:PUB/SUB(发布订阅)、PUSH/PULL(点对点通信)
RPC 模式:通过ZMQ_REP、ZMQ_REQ 封装 RPC 功能
RPC功能
支持 RPC 方法的动态注册
提供默认的 RPC 方法列表查询
支持 RPC 调用
2、Master模块(实现思路:类似ROS1 Master功能, 更轻量化)
背景:分布式大模型系统中,多个节点(如llm/vlm, asr,tts, camera,yolo)需要动态发现彼此并高效通信,外部用户可以动态管理节点内任务调度
节点注册与发现
实现轻量化内存kv缓存数据库:存储节点元信息;并提高sql查询接口,供节点动态通信
节点启动时向Master模块注册,上报自身元信息;节点通信时自动匹配
动态任务调度分配
设计用户请求-任务匹配机制:外部用户仅封装简易数据包请求,可实现动态控制各个模块(启停/llm推理等)
3、Channel模块
封装上层发布-订阅(PUB/SUB)和点对点通信(PUSH/PULL)混合通信模式
设计闭包,通过闭包将网络层(ZeroMQ)与业务层(用户回调)解耦,同时隐式维护了通信上下文状态。
4、Infra基础架构模块
rpc分布式控制指令下发+异步事件驱动架构
注册rpc_setup/rpc_pause等分布式控制接口->注册eventpp事件监听->上层触发rpc调用 -> 添加eventpp事件队列中-> 异步事件驱动->各子类Setup/Pause等功能接口
标准化控制协议
基于抽象接口(Setup/Pause等)实现跨模块统一管控,支持LLM/ASR/TTS等异构节点无缝集成
5、TASK模块
与Infra模块关系:类似与进程和线程之间关系,Infra模块负责资源分配和流程管控,TASK模块是真正干活的,干的活如下:
各模块中模型生命周期管理(加载/卸载)
infra推理
包装回调输出
等等
#Linux# #实习# #秋招# #项目# #C++要学到什么程度#
1、底层通信组件方案
通信模式封装
支持兼容多种通信模式
普通消息模式:PUB/SUB(发布订阅)、PUSH/PULL(点对点通信)
RPC 模式:通过ZMQ_REP、ZMQ_REQ 封装 RPC 功能
RPC功能
支持 RPC 方法的动态注册
提供默认的 RPC 方法列表查询
支持 RPC 调用
2、Master模块(实现思路:类似ROS1 Master功能, 更轻量化)
背景:分布式大模型系统中,多个节点(如llm/vlm, asr,tts, camera,yolo)需要动态发现彼此并高效通信,外部用户可以动态管理节点内任务调度
节点注册与发现
实现轻量化内存kv缓存数据库:存储节点元信息;并提高sql查询接口,供节点动态通信
节点启动时向Master模块注册,上报自身元信息;节点通信时自动匹配
动态任务调度分配
设计用户请求-任务匹配机制:外部用户仅封装简易数据包请求,可实现动态控制各个模块(启停/llm推理等)
3、Channel模块
封装上层发布-订阅(PUB/SUB)和点对点通信(PUSH/PULL)混合通信模式
设计闭包,通过闭包将网络层(ZeroMQ)与业务层(用户回调)解耦,同时隐式维护了通信上下文状态。
4、Infra基础架构模块
rpc分布式控制指令下发+异步事件驱动架构
注册rpc_setup/rpc_pause等分布式控制接口->注册eventpp事件监听->上层触发rpc调用 -> 添加eventpp事件队列中-> 异步事件驱动->各子类Setup/Pause等功能接口
标准化控制协议
基于抽象接口(Setup/Pause等)实现跨模块统一管控,支持LLM/ASR/TTS等异构节点无缝集成
5、TASK模块
与Infra模块关系:类似与进程和线程之间关系,Infra模块负责资源分配和流程管控,TASK模块是真正干活的,干的活如下:
各模块中模型生命周期管理(加载/卸载)
infra推理
包装回调输出
等等
#Linux# #实习# #秋招# #项目# #C++要学到什么程度#
全部评论
星球内秋招实习项目评价哈
同学,第一版源码视频文档:预计6月15号左右上线哈
项目适用岗位:互联网C++后端, 大模型端侧部署 ,自动驾驶/机器人具身智能C++开发
相关推荐