Efficiently serving embedding-based recommendation (EMR) models remains a significant challenge due to their increasingly large memory requirements. Today's practice splits the model across many monolithic servers, where a mix of GPUs, CPUs, and DRAM is provisioned in fixed proportions. This approach leads to suboptimal resource utilization and increased costs. Disaggregating embedding operations from neural network inference is a promising solution but raises novel networking challenges. In this paper, we discuss the design of FlexEMR for optimized EMR disaggregation. FlexEMR proposes two sets of techniques to tackle the networking challenges: Leveraging the temporal and spatial locality of embedding lookups to reduce data movement over the network, and designing an optimized multi-threaded RDMA engine for concurrent lookup subrequests. We outline the design space for each technique and present initial results from our early prototype.
academic- 论文ID: 2410.12794
- 标题: A Disaggregation Approach to Embedding Recommendation Systems
- 作者: Yibo Huang, Zhenning Yang, Jiarong Xing, Yi Dai, Yiming Qiu, Dingming Wu, Fan Lai, Ang Chen
- 分类: cs.IR cs.AI
- 发表时间/会议: arXiv 2024 (工作进展论文)
- 论文链接: https://arxiv.org/abs/2410.12794
高效服务基于嵌入的推荐(EMR)模型由于其日益增长的内存需求仍然是一个重大挑战。当前的做法是将模型分布在多个单体服务器上,其中GPU、CPU和DRAM按固定比例配置。这种方法导致次优的资源利用率和增加的成本。将嵌入操作从神经网络推理中分离是一个有前景的解决方案,但提出了新的网络挑战。本文讨论了FlexEMR的设计,用于优化EMR分离。FlexEMR提出了两套技术来解决网络挑战:利用嵌入查找的时间和空间局部性来减少网络上的数据移动,以及设计优化的多线程RDMA引擎用于并发查找子请求。
- 内存需求巨大: 生产级EMR模型的嵌入表可达TB级别(如Meta使用的50TB DLRM模型),占模型参数的99%以上
- 资源配置僵化: 现有单体服务器将GPU、CPU、DRAM按固定比例配置,无法适应不同模型和时期的资源需求变化
- 成本效率低: 固定资源配置导致资源浪费,研究显示可造成高达23.1%的成本浪费
- EMR模型在生产数据中心的AI推理周期中占主导地位(如Meta的数据中心)
- 广泛应用于电商、搜索引擎、短视频服务等互联网核心业务
- 内存瓶颈已成为EMR模型部署的主要限制因素
- 单体服务器架构: 资源按固定比例配置,难以独立扩展
- GPU内存竞争: 嵌入缓存与神经网络计算争夺有限的GPU内存
- 网络优化不足: 现有RDMA系统未针对EMR分离场景优化
- 提出FlexEMR分离架构: 将嵌入存储和神经网络计算完全分离到独立的服务器上
- 设计局部性增强优化: 利用时间和空间局部性减少网络数据传输
- 开发多线程RDMA引擎: 针对EMR场景优化的并发查找引擎
- 实现自适应缓存策略: 动态调整缓存大小避免GPU内存竞争
- 提出分层池化机制: 将部分池化操作下推到嵌入服务器
输入: 包含分类特征(稀疏)和连续特征(稠密)的用户查询
输出: 候选物品的Top-K排序结果
约束: 在满足服务级别目标(SLO)的前提下最小化总拥有成本(TCO)
FlexEMR采用分离式架构,主要包含:
- Ranker节点: 配备GPU,负责神经网络推理计算
- 嵌入服务器: 配备CPU和大内存,存储嵌入表并处理查找请求
- 高速网络: 通过RDMA等技术连接两类节点
1. 自适应嵌入缓存(§3.1.1)
- 动态负载监测: 使用滑动窗口算法监测任务队列大小
- 内存分配策略: 根据NN计算需求动态调整缓存大小
- 异步数据交换: 透明地进行热嵌入的换入换出操作
2. 分层嵌入池化(§3.1.2)
- 空间局部性利用: 识别同一嵌入服务器上的多个向量
- 分布式池化: 嵌入服务器执行局部池化,Ranker执行全局池化
- 路由表优化: 基于范围的路由表减少内存占用
3. 多线程RDMA引擎(§3.2)
- 映射感知设计: 消除RNIC并行单元间的竞争
- 连接动态迁移: 应对倾斜访问模式的负载均衡
- 信用流控: 基于QoS的快速信用控制通道
- 传统方法: 固定大小GPU缓存,与NN计算竞争内存
- FlexEMR: 动态调整缓存大小,平衡延迟和吞吐量
- 传统方法: 所有嵌入向量传输到Ranker进行池化
- FlexEMR: 利用嵌入服务器CPU资源进行预聚合
- 传统方法: 多线程竞争RNIC资源,性能下降62%
- FlexEMR: 一对一映射消除竞争,性能提升2.3倍
- MLPerf框架: 标准化推荐系统基准测试
- Meta生产traces: 来自Meta发布的生产级嵌入查找轨迹
- RMC2模型: 代表性推荐模型用于性能评估
- 吞吐量: 每秒处理的请求数(rps)
- 延迟: 包括中位数和P99延迟
- GPU内存利用率: 最大支持批处理大小
- 网络传输效率: 数据传输量和带宽利用率
- 硬件配置: Intel Xeon服务器(32核,128GB内存),Nvidia A100 GPU(80GB)
- 网络: 100Gbps Mellanox RDMA NIC
- 对比方法: 单线程RDMA基线,固定缓存策略
- 使用resource domain特性实现RDMA映射感知
- 滑动窗口大小根据工作负载动态调整
- 信用流控基于连接级QoS实现
1. GPU内存竞争分析(图7)
- 无缓存: 支持最大批处理大小约2000
- 大缓存(75GB): 最大批处理大小降至约500
- FlexEMR自适应缓存: 在保持延迟优势的同时维持高吞吐量
2. 多线程RDMA性能(图8左)
- 基线方法: 随线程数增加性能下降
- FlexEMR: 8个RDMA引擎时吞吐量提升2.3倍,达到15M rps
3. 信用流控效果(图8右)
- 中位延迟: FlexEMR比基线降低约35%
- P99延迟: 显著改善尾延迟表现
论文展示了各组件的独立贡献:
- 映射感知多线程: 解决RNIC资源竞争问题
- 自适应缓存: 平衡内存使用和性能
- 分层池化: 减少网络传输开销
- 内存竞争是关键瓶颈: GPU缓存与NN计算的内存竞争显著影响性能
- 网络优化效果显著: 优化的RDMA引擎可大幅提升并发查找性能
- 局部性利用有效: 时间和空间局部性的利用能有效减少网络开销
- GPU中心化方法: 将EMR视为通用深度学习模型,主要使用GPU资源
- 缓存优化: 各种嵌入缓存机制加速查找操作
- 专用硬件: FPGA等专用硬件加速推荐系统
- 压缩和分片: 嵌入表压缩和分片优化技术
- 系统性分离方案: 首个全面的EMR分离架构设计
- 网络优化重点: 深入解决分离带来的网络挑战
- 动态适应能力: 相比DisaggRec的静态资源分配,提供动态优化
- EMR分离架构能显著提高资源利用率和成本效率
- 局部性感知优化可有效减少网络开销
- 针对性的RDMA优化对分离架构性能至关重要
- 自适应策略比静态配置更适合动态工作负载
- 原型阶段: 目前仍为早期原型,缺乏大规模部署验证
- 网络依赖: 性能高度依赖高速网络,增加基础设施成本
- 复杂性增加: 分离架构增加了系统复杂性和运维难度
- 延迟开销: 网络通信不可避免地增加了延迟
- 扩展到其他模型: 应用于LLM、多模态模型、MoE等
- 更智能的调度: 开发更sophisticated的资源调度算法
- 硬件协同设计: 与网络硬件厂商合作优化
- 容错机制: 增强系统鲁棒性和故障恢复能力
- 问题识别准确: 准确识别了EMR服务的核心挑战和瓶颈
- 方案设计合理: 分离架构设计符合数据中心分离化趋势
- 技术创新有效: 多个技术创新点都有实验验证支持
- 实用价值高: 解决了实际生产环境中的重要问题
- 评估范围有限: 仅在小规模环境中测试,缺乏大规模验证
- 成本分析不足: 未提供详细的成本效益分析
- 故障处理缺失: 未充分讨论分离架构的故障处理机制
- 与现有系统集成: 缺乏与现有推荐系统集成的讨论
- 学术贡献: 为EMR系统分离提供了全面的技术框架
- 工业价值: 对大规模推荐系统部署具有重要指导意义
- 技术推动: 推动了分离式架构在AI服务中的应用
- 标准化潜力: 可能成为EMR分离部署的参考标准
- 大规模推荐系统: 适合Meta、阿里巴巴等大型互联网公司
- 资源受限环境: 需要优化资源利用率的数据中心
- 动态负载场景: 工作负载变化较大的推荐服务
- 成本敏感应用: 对TCO有严格要求的商业场景
论文引用了61篇相关文献,主要包括:
- EMR系统优化相关工作(如AdaEmbed, RecSSD等)
- 分离式系统架构研究(如LegoOS, DxPU等)
- RDMA网络优化技术(如FaRM, Aeolus等)
- 推荐系统基准测试(MLPerf, Meta DLRM数据集等)
总体评价: 这是一篇高质量的系统研究论文,针对EMR服务的实际挑战提出了创新的分离架构解决方案。虽然目前仍处于原型阶段,但其技术方案具有很强的实用价值和推广潜力,对推荐系统基础设施的发展具有重要意义。