前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Micron:推荐系统的数据平台设计

Micron:推荐系统的数据平台设计

作者头像
数据存储前沿技术
发布2025-02-11 19:53:36
发布2025-02-11 19:53:36
1110
举报

全文概览

HDD 作为传统硬件基础设施,一直支持着数据湖中的对象存储。然而,随着 AI 解决方案的生产规模不断增大(如 Meta 的 Tectonic-Shift 平台),对数据存储摄取管道提出了新要求。以深度学习推荐模型(DLRM)训练为例,首先介绍对象存储在 AI 扩展时可能面临的挑战,包括数据规模、训练 GPU 和 AI/ML 运营部署的增长。然后,我们将解释闪存存储如何满足这些系统的带宽和功率需求,分享 MLPerf DLRM 预处理和训练中存储跟踪分析的观察结果。最后,呼吁在标准化基准方面开展更多工作,以描述数据摄取性能和能效。

问题意识

  • 深入理解数据摄取在人工智能管道中的关键作用
  • 以 Meta 的推荐系统为例,了解互联网巨头推荐业务工作流
  • 探索闪存存储如何助力解决这些挑战,并思考还需要哪些其他要素?

深度学习推荐模型(DLRM)—数据规模意识

图片介绍了深度学习推荐模型(DLRM)的规模和重要性。重点强调了模型参数、嵌入表的大小以及 Meta 模型的巨大规模。特别提到数据存储和传输对于处理如此庞大的模型和数据至关重要。

  • 推荐模型是 Meta、Netflix、Google 等公司的核心。
  • 维护多个 DLRM 模型,且不断有新模型在训练和开发中。
  • 模型参数:
    • MLP(多层感知器)
    • 嵌入表(embedding tables)
  • Meta 的一个模型有 12 万亿个参数。
  • 嵌入表的大小是一个关键瓶颈,通常存储在主内存(DRAM)中。
  • Meta 的模型嵌入表为 96 TB(或 24 TB 压缩版)。
  • 模型在数 PB(千万 GB)级别的数据上进行训练。
  • 可扩展的 DSI 在传输 PB 级数据到加速器中至关重要。

推荐模型的训练过程

图片展示了 DLRM 训练管道的流程,从记录用户交互开始,通过分布式存储、数据预处理,最后使用 GPU 进行模型训练,并定期生成检查点。重点强调了数据存储、预处理以及训练所需的功率消耗。

Note

与当前热议的LLM不同,互联网巨头的推荐模型(系统)是具备更高价值的实时反馈系统,需要不断的收集用户的交互数据,并抽取成价值信息,这对基础设施层提出了更大挑战。


审视存储在 DLRM 管道中的作用

  • 用户交互被记录并存储在数据库中。
  • 记录的数据经过清理和结构化,存储为数据仓库表。
  • 表格通常以压缩格式存储在分布式存储湖中——这些存储通常是 EB(艾字节)级别。
  • 训练期间的定期检查点对于从失败中恢复至关重要。
  • 存储和 I/O 带宽需求通过合理配置硬盘(HDD)和固态硬盘(SSD)来满足 —— 这是一个扩展性挑战。

Meta 为 AI 训练设计的存储系统

左图显示:数据集大小与存储系统带宽的同期对比

  • 数据集存储大小在两年内增长了 2 倍。
  • I/O 带宽需求在两年内增长了 4 倍。
  • 一个可扩展的架构应该满足存储和 I/O 需求。

右图显示:不同业务场景中,存储、预处理和训练 三项的能耗对比

  • 超过 40% 的电力用于存储 + 预处理。
  • 更少的电力用于训练器 —— 计算资源利用效率低。

Meta 的解决方案:

  • Meta 通过在 Tectonic(基于 HDD 的)上增加一个 SSD 缓存层来解决 I/O 扩展问题,称为 Shift
  • Shift 中的数据不是持久化的,它利用了 Meta 基础的 CacheLib
  • Tectonic-Shift 相较于单独使用 HDD,节省了 29% 的电力。

Cite

更多关于 Tectonic + Shift 的分布式文件系统设计背景和行业知识,可参考阅读:

DLRM 管道的关键特性-1

  • 用户交互被记录训练数据集的增长 这一部分说明,用户交互数据会被记录下来,并用于训练数据集的增长。这些记录的数据有助于模型的不断优化和改进,从而生成更多、更精准的推荐。
  • 数据被压缩并存储在块存储中 这些数据被压缩并存储在 块存储 中。使用 SSD 缓存 提供加速,可以利用数据局部性来支持 AI 数据流动,这有助于解决扩展性问题。数据的局部性意味着将相关数据放在离计算更近的地方,提高数据的存取速度。
  • 预处理是内联的 在数据预处理阶段,数据被划分成独立且自包含的工作项,并由预处理工人节点管理。这种方式的好处是可以并行处理大量数据,且每个数据片段可以独立地进行处理,从而提高效率。
  • 管道的目标是确保训练集群无中断地工作 DLRM 管道的目标是保证 训练集群 在训练过程中始终保持“喂养”状态,不出现停滞。通过高效的存储、预处理和数据传输,确保训练过程没有延迟,从而实现快速的模型训练。

DLRM 管道的关键特性-2

  • 数据以列式格式存储在分布式文件系统中 数据以高效的列式存储格式被管理和存储,适合进行大规模数据的处理和分析。
  • DLRM 数据的大部分从 SSD 缓存层中读取 DLRM 使用 SSD 缓存层 来提高数据读取的速度。SSD 缓存帮助加速数据存取,优化存储效能,处理大规模数据时能解决扩展性挑战。
  • 数据的内联预处理包括解压、解密、转换和数据过滤 数据在进入训练阶段之前,会进行一系列的预处理操作,包括数据的解压、解密、转换及数据过滤,确保数据以合适的格式供训练使用。
  • 预处理在由 DPP 工作者操作的小批次中进行,确保自包含 每个预处理任务都在自包含的最小批次中完成,由 DPP 工作者 节点负责,这有助于实现高度并行和分布式处理。

DLRM 基准测试

DLRM 模型

  • 大型 DLRM 模型

包含 13 个数值特征,26 个类别特征和 1 个真实标签特征。 模型需要约 132 GB 的 VRAM 存储在 GPU HBM 中,这大约是 4 块 A100 GPU 的 HBM 容量。

数据集

  • 1 TB 原始数据(使用 Criteo 点击 1 TB 数据集)。
  • 预处理

离线对数据集进行预处理。 原始数据转换为列式压缩的 Parquet 格式。 类别数据转换为连续整数表示。 缺失的数值会被归零,特征值会进行标准化。

系统与追踪

  • 系统配置

使用 AMD EPYC 7742 128 核处理器(2x64)。 NVIDIA A100 GPU(8 个 40 GB 显存)。 使用 NVMe 追踪,通过 libbpf 工具进行追踪。


预处理测试数据 (GPU 与 CPU 对比)

重要发现

  • 预处理是一个离线任务预处理数据集时,写操作的顺序性较强。
  • 读写负载较大读写操作的负载比较大,特别是在训练和预处理阶段。
  • 预处理中的写操作是顺序性的预处理过程中的写操作多为顺序写入。
  • 某些工作负载的读取是高度顺序的在某些工作负载部分,读取操作呈现高度顺序模式。
  • 存储性能需求随时间变化存储性能需求随着训练的不同阶段而有所变化。

基准测试系统与Meta 生产系统对比

图片展示了 Meta 的 DLRM 管道与 DLRM 基准测试之间的不同,特别是在数据处理、存储格式和训练过程中对数据的使用上,并提出了针对基准测试的改进建议。


  • 数据存储和摄取(DSI)是 AI 管道的关键部分 数据的存储和摄取在 AI 系统中至关重要,影响模型训练的效率。
  • 闪存存储对于解决存储容量与 I/O 带宽的扩展性挑战至关重要 大型数据集通常存储在闪存中,用于训练。闪存的使用帮助解决了存储容量和 I/O 带宽之间的扩展性问题。
  • MLPerf 训练基准捕捉了模型训练部分的情况 MLPerf 训练基准主要关注模型训练过程中的性能,评估不同系统的训练能力。
  • 作为行动建议,强调需要扩展基准测试以涵盖 DLRM 训练中的 DSI 部分 为了更全面地评估系统的性能,提出需要将 DSI(数据存储和摄取)部分纳入基准测试。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 深度学习推荐模型(DLRM)—数据规模意识
  • 推荐模型的训练过程
  • 审视存储在 DLRM 管道中的作用
  • Meta 为 AI 训练设计的存储系统
  • DLRM 管道的关键特性-1
  • DLRM 管道的关键特性-2
  • DLRM 基准测试
  • 预处理测试数据 (GPU 与 CPU 对比)
  • 基准测试系统与Meta 生产系统对比
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档