[控场AI]
· 4 分钟阅读· 2,145 字

字节跳动USDB:为下一代推荐系统扩展存储能力

字节跳动USDB:为下一代推荐系统扩展存储能力

字节跳动USDB为下一代推荐系统提供可扩展存储支撑,解决超大规模特征读写瓶颈。

字节跳动推出自研存储系统USDB,定位为下一代推荐系统提供可扩展的存储支撑。文章指出,推荐系统模型参数已达千亿级,特征访问呈现高并发随机读和实时读写混合的特点,传统键值存储和参数服务器架构在吞吐、延迟和扩展性上接近极限。USDB代表了一种思路转变:将存储问题从训练框架中解耦,交给专用存储系统做针对性优化,如更高效的分片、缓存和预取机制。这反映出推荐系统的竞争正从模型层延伸到基础设施层。不过原始素材信息有限,USDB的具体架构、性能数据和部署规模尚待披露。

推荐系统存储的瓶颈与USDB的定位

推荐系统正变得越来越大、越来越复杂。模型参数从早期的百万级膨胀到千亿级,特征数量也从稀疏的ID类特征扩展到稠密的向量表示。这种规模的增长给底层存储系统带来了巨大压力——传统的键值存储和参数服务器架构在吞吐、延迟和扩展性上都开始接近极限。

据Hacker News社区讨论,字节跳动分享了其自研的USDB系统,定位是为下一代推荐系统提供可扩展的存储支撑。虽然原文没有披露具体的性能数据和架构细节,但从问题域来看,USDB要解决的正是推荐系统在训练与推理阶段面临的存储瓶颈:如何以足够低的延迟和足够高的吞吐,服务超大规模的特征读取与更新。

为什么推荐系统需要新的存储抽象

推荐系统的存储负载与通用Web应用有本质区别。特征读取通常是高并发的随机读,单次请求可能涉及成百上千个特征键;同时在线学习场景要求特征能够被实时写入和更新,读写混合的模式对一致性提出了不同于传统数据库的要求。

更深层的变化来自模型架构的演进。随着推荐模型引入注意力机制和序列建模,特征不再只是静态的查表操作,而是需要支持更复杂的访问模式。这意味着存储层不能只做简单的键值映射,还要适应上层模型对特征组织方式的重新定义。字节跳动提出USDB,本质是在为这类新需求设计一套专用的存储系统,而不是把通用存储硬套到推荐场景上。

参数服务器(Parameter Server) 是一种为分布式机器学习设计的编程框架,最早由卡内基梅隆大学的研究者提出,后被工业界广泛采用。其核心思想是将模型参数划分为多个分片,分散存储在一组服务器节点上,训练节点(worker)通过拉取(pull)和推送(push)操作与参数服务器交互,从而并行地更新和读取参数。这一架构的优势在于能够支撑超大规模模型的训练,但缺点也很明显:当模型参数达到千亿级时,worker与参数服务器之间的通信量巨大,网络带宽成为瓶颈;同时,热门参数容易集中在少数节点上形成热点,导致负载不均衡。此外,参数服务器通常与训练框架紧耦合,难以针对特定访问模式做底层优化。USDB所代表的专用存储思路,正是试图将这些存储职责从训练框架中剥离出来,以更灵活地应对推荐系统特有的读写模式。

在线学习(Online Learning) 在推荐系统中指模型能够随着用户行为的实时反馈持续更新,而无需等待全量数据重新训练。与之相对的是离线批量训练:后者通常每天或每小时用固定数据集训练一次模型,更新延迟较大。在线学习要求特征和模型参数能够被实时写入,并且新写入的数据要尽快对后续预测生效,这就对存储系统提出了读写混合、低延迟、强一致性的要求。例如,用户刚刚点击了某个商品,这一行为特征需要立即写入存储,并在下一次推荐请求中被读取使用。传统键值存储往往针对读多写少的场景优化,难以同时满足高并发随机读和实时写入的需求,这也是推荐系统需要专用存储抽象的重要原因之一。

从参数服务器到专用存储的演进逻辑

大规模推荐系统的经典方案是参数服务器(Parameter Server),将模型参数分片存储在多个节点上,由训练任务并行拉取和更新。这一架构在工业界被广泛采用,但随着规模扩大,其通信开销和热点问题逐渐暴露。

USDB代表了一种思路转变:把存储问题从训练框架中解耦出来,交给专门的存储系统处理。这样做的好处是存储层可以针对推荐负载做独立优化,例如更高效的分片策略、更贴近硬件的缓存设计,以及针对特征访问模式的预取机制。代价则是系统复杂度上升,需要解决存储与计算之间的接口标准化问题。

Hacker News上这条讨论仅获得13个点和1条评论,说明该话题在社区中尚未充分展开。一个合理的判断是,此类系统论文的价值往往在于揭示问题域和设计取舍,而非提供可直接复用的开源实现。

特征访问模式 指的是上层模型在训练和推理过程中读取特征时表现出的规律性。在推荐系统中,常见的访问模式包括:按用户ID批量拉取该用户的历史行为序列、按物品ID查询 embedding 向量、以及按时间窗口读取近期的上下文特征。这些访问往往具有高并发、随机性强、单次请求涉及大量键的特点。针对这些模式,专用存储系统可以设计更高效的分片策略(如按用户ID哈希分片以保证同一用户的特征落在同一节点)、多级缓存(将热点特征放在内存或近存计算单元中)、以及预取机制(根据模型请求的顺序提前加载可能用到的特征)。通用存储系统通常不具备这些针对性优化,因此难以在超大规模推荐场景下同时保证低延迟和高吞吐。

对行业的意义与待观察的问题

字节跳动的推荐系统规模在业内处于前列,其存储系统的设计选择对同行有参考价值。USDB的出现说明,推荐系统的竞争已经从模型层面延伸到基础设施层面——当模型架构趋同时,谁能更高效地存储和访问特征,谁就能在训练速度和推理成本上占据优势。

不过,由于原始素材信息有限,USDB的具体架构、性能指标和部署规模尚不清楚。对于关注推荐系统基础设施的工程师来说,值得进一步追踪该系统的技术细节,尤其是它如何处理特征更新的实时性与一致性、如何在扩展节点时保持延迟稳定,以及它与现有参数服务器方案的实际对比数据。

#USDB#字节跳动#推荐系统存储#参数服务器#特征存储#推荐系统基础设施#大规模机器学习系统
分享:

相关推荐