CESD 是一个基于推测解码技术的云边协同推理系统,旨在通过云端和边缘端设备的协作来实现高效的AI模型推理。
CESD采用客户端-服务器架构,由两个主要组件构成:
- Cloud API (cloud_api.py): 运行在云端服务器上,负责加载大型目标模型并执行验证步骤。
- Edge API (edge_api.py): 运行在边缘设备上,负责加载小型近似模型并执行草稿生成。
cesd/
├── cloud_api.py # 云端服务入口
├── edge_api.py # 边缘端服务入口
├── data/ # 数据集处理模块
├── methods/ # 核心算法实现
├── net/ # 网络通信模块
└── output/ # 输出结果目录
├── inference/ # 推理结果
└── logs/ # 性能日志
- Python 3.8+
- PyTorch 2.4+
- CUDA
- 克隆项目代码:
git clone https://github.com/weilaiwlai/cesd.git cd cesd - 安装依赖包:
pip install torch transformers tqdm colorama datasets apscheduler
- 模型: 更新 MODELZOO 字典中的路径以指向您的模型文件位置
在本地测试环境中启动完整系统:
- 终端1 - 启动云端服务:
python cloud_api.py -i 0.0.0.0 -p 9999 -pp 8090 -d cuda --approx_model_name /path/to/approx/model --target_model_name /path/to/target/model
- 终端2 - 启动边缘端:
python edge_api.py -i 127.0.0.1 -p 9999 -pp 8090
- mbpp: Mostly Basic Python Problems
- cnn_dailymail: CNN/Daily Mail news summarization
- alpaca: Alpaca instruction-following dataset
- openai_humaneval: HumanEval code generation benchmark