当前位置: 首页 > news >正文

Magnus:面向大规模机器学习工作负载的综合数据管理方法

总览

Magnus,一个专为解决大规模机器学习(ML)工作负载中数据管理挑战而设计的综合性系统。针对传统数据湖表格式(如Iceberg)在处理海量数据、多模态数据、频繁更新和大模型训练时面临的存储效率低、元数据开销大、读写性能差等问题,Magnus提出了多项创新。其核心包括:为宽表和多模态数据设计的高效Krypton和Blob存储格式;通过消除冗余和索引优化来提升元数据管理效率;支持列级更新和主键Upsert的轻量级MOR机制;以及为大型语言模型(LLM)和长序列推荐模型(LRM) 训练优化的双表设计和分片机制。实验证明,Magnus在存储、读写性能和训练效率上均显著优于现有方案。

1. 背景与挑战

随着机器学习模型规模和数据量的激增,传统的数据湖表格式(如Apache Iceberg, Hudi, Delta Lake)在以下方面表现出局限性:

  • 存储效率低:Parquet等格式在处理宽表或多模态数据时效率不高。
  • 元数据开销大:海量文件导致元数据(特别是Iceberg中冗余的min-max统计信息)管理成本高昂,规划延迟严重。
  • 更新效率差:缺乏高效的列级更新和Upsert能力,难以满足特征工程等需要频繁修改数据的场景。
  • 训练支持不足:现有系统未针对LLM和LRM等特定大模型训练的数据访问模式进行优化。
2. Magnus的主要贡献与设计
  1. 高效的数据布局与存储格式

    • Krypton格式:一种自主设计的列式存储格式,通过减少冗余元数据和优化内存使用,相比Parquet节省超30%的存储空间,并提升读写吞吐量。
    • Blob格式:针对多模态二进制数据(如视频帧)。采用“行列混合”存储:将大二进制对象(Blob)以行式存入独立文件,仅在列式文件中存储其大小和偏移量的元数据。这极大地减轻了读取部分元素时的“读放大”问题
  2. 高效的元数据管理

    • 消除冗余:识别并移除Iceberg清单文件中占70%-80%开销的冗余统计信息。
    • 优化结构:按分区值对数据进行排序,并构建索引文件,使元数据规划(解析)效率比Iceberg快5到26倍
  3. 灵活的更新与插入机制

    • 实现了基于MOR(Merge-on-Read)策略的列级更新主键驱动的Upsert,满足了机器学习场景下频繁数据变更的需求。
  4. 大规模模型训练支持

    • 针对LRM(长序列推荐模型):采用双表设计
      • 主表:存储变化频繁的实时行为特征(如点击、转化)。
      • 附加表:存储稳定、冗长的用户行为序列,每个用户仅保留最新一份完整序列。
    • 针对LMM(大型语言模型):应用分片机制来优化数据管理和训练效率。
3. 实验效果
  • 存储:Krypton格式比Parquet节省30%以上存储。
  • 元数据:元数据解析效率比Iceberg快5-26倍。
  • 更新:写入性能显著优于Iceberg。
  • 训练:在LRM/LMM场景下,优化后的Magnus减少40%内存消耗启动时间从30分钟缩短至15分钟,并缩短了20分钟的训练时长

结论:Magnus通过一系列针对大规模ML工作负载的系统性优化,在存储、元数据管理、数据更新和模型训练支持方面均取得了显著进步,为下一代机器学习数据平台提供了重要的实践参考。

详细介绍:

图片

00 简介

本篇文章旨在解决大规模机器学习(ML)工作负载中的数据管理挑战,特别是随着模型复杂性和数据量的增加,传统数据管理方法在存储效率、元数据可扩展性、更新机制和与ML框架的集成方面存在局限性。

01 背景和问题

该问题的研究难点在于如何有效地管理海量训练数据,特别是在处理大规模数据和复杂模型时,传统的数据湖表格式(如Apache Hudi、Apache Iceberg和Delta Lake)在资源利用、元数据管理、读写性能和与训练框架的集成方面仍存在不足。

主要包括以下几个方面的挑战:

  • 资源友好的存储格式。在字节跳动中,其管理的巨大的数据量,每天有大量的计算资源投入到数据的读取和写入中,用于数据处理和训练。然而,Parquet在处理具有大量列或多模态数据时,面临存储和计算效率问题。

  • 高效的元数据管理。随着数据量的增长,元数据自然也变成了海量元数据,现有的元数据规划方法如Iceberg在处理如此大量的元数据时就会遇到困难,特别是当元数据包含冗余信息时。

  • 轻量级的MOR更新和插入。许多机器学习场景涉及频繁的数据修改,例如在特征工程中添加新列、从回传中更新广告转化数据或刷新多模态注释数据。然而,像Iceberg这样的开源数据湖的MOR策略通常难以满足这些机器学习用例下的读写效率要求。

  • 大型模型训练支持。日益多样化的大规模机器学习场景对数据管理和模型训练提出了独特的要求。例如,在LRM训练中,训练样本从按时间顺序排列转变为按用户行为分组。同样,大型语言模型(LMM)训练由于其依赖众多多模态数据源而涉及额外的复杂性。针对大型模型训练的数据管理优化对于降低资源消耗和最大化训练吞吐量至关重要。

02 主要贡献

  • 引入了列式Krypton格式和Blob格式,以增强存储效率,特别是在处理宽表和多模态数据时。Krypton格式通过减少冗余元数据结构和优化内存使用,显著提高了存储和读取效率。Blob格式则通过行式存储多模态二进制数据,并使用列式存储格式仅存储引用元数据,从而提高了存储效率。

  • 通过消除冗余字段、按分区排序和构建清单文件索引,显著提高了大数据规划效率。此外,Magnus增强了Iceberg的分支和标记功能,支持合并和变基操作,提供了灵活的版本控制,便于特征分析。

  • 实现了基于MOR策略的列级更新和主键驱动的Upsert,同时通过原生引擎增强和数据重组技术优化了读取性能。

  • 针对LRM和LMM训练场景,分别应用了双表设计和分片机制,优化了数据管理和模型训练效率。

图片

03 设计

3.1 数据布局

数据布局也就是Magnus的表格式,集成了了自主设计的Krypton列式格式,包含4个组成部分,数据目录、元数据目录、索引目录、元数据缓存。

图片

3.2 多模态数据的Bolb格式

为了应对多模态数据中的大型二进制对象存储,导致的单个列庞大,以及在读取视频帧(常常是List<Binary>格式存储)时导致的严重读放大问题。

图片

如图所示,将多模态二进制数据使用基于行的存储格式分别存储在blob文件中,然后将数据大小和偏移量使用列式存储存储在列式文件中,取数据时,只需要从列式文件中获取数据的精确位置信息,对于List<Binary>数据,还可以快速过滤,精确定位子项,减轻读放大。实际上,这是一种行列混合的存储方式。

3.3 索引机制

设计了主键索引和搜索索引(包括倒排索引和向量索引),以实现高效的数据扫描和检索。主键索引通过哈希索引和HFile索引确保数据的唯一性和高效更新。

图片

3.4 元数据管理

通过消除冗余字段、按分区排序和构建索引文件,显著提高了大数据规划的效率。此外,增强了Iceberg的分支和标签功能,支持灵活的版本控制和特征分析。

图片

Iceberg 默认在每个数据文件的每个列的清单文件中保留最小-最大统计信息。这种冗余的统计数据占清单文件存储空间和解析开销的70%-80%,导致元数据规划延迟过高。Magnus优化了清单文件结构,在写入清单文件前,按分区值进行排序,这大大降低了元数据规划开销。

3.5 更新和插入操作

实现了基于MOR策略的列级更新和主键驱动的插入操作,同时通过原生引擎增强和数据重组优化了读取性能。

图片

3.6 大规模模型训练支持

针对LRM和LMM训练场景进行了有针对性的适配,分别采用了双表设计和分片机制。

图片

主表:存储数值型行为特征,如点击、点赞、转化等实时性较强的信号。这些特征变化频繁。

附加表:存储相对稳定且冗长的用户行为序列特征。每个用户在此表中仅保留最新的一份完整序列数据。

04 实验

(1)存储格式性能:

图片

Krypton格式在存储大小上比Parquet格式节省了超过30%,并且在内存使用和读写吞吐量上表现更优。

(2)Bolb格式性能

图片

Blob格式在读取部分元素时显著优于Parquet格式,特别是在处理视频帧提取等任务时。

(3)元数据规划性能

图片

优化后的Magnus在解析效率上比Iceberg快5倍到26倍,特别是在处理大量文件时。

(4)更新和Upset性能

图片

Magnus在写入性能上显著优于Iceberg,同时在读取性能上也保持了竞争力,特别是在处理频繁更新的工作负载时。

(5)LRM和LMM训练性能

图片

优化后的Magnus减少了40%的内存消耗,将启动时间从30分钟缩短至15分钟,并略微缩短了20分钟的训练时长。

http://www.dtcms.com/a/495159.html

相关文章:

  • 【知识科普】 RTO与RPO:业务连续性管理的核心指标详解
  • Transformer 面试题及详细答案120道(91-100)-- 理论与扩展
  • 汕头哪里建网站iis 网站建设中
  • 海南网站建设哪家专业如何用普通电脑做网站服务器
  • Android多进程通信机制
  • 整体设计 逻辑系统程序 之32 程序定稿 从三对核心概念到三大中台架构的完整设计演进(含全套程序)
  • Android基础入门教程(视频教程)
  • 艺术网站建设公司有哪些好的网站模版
  • 笔记本电脑如何连接打印机?完整连接教程送上
  • IDEA开发JAVA项目
  • 常州模板建站定制网站亚马逊雨林是怎么形成的
  • app怎么防止被攻击被打有多少种防护方式?
  • FFmpeg 基本API avformat_open_input函数内部调用流程分析
  • h5游戏免费下载:进击的方块
  • 修电脑日志--电脑开机黑屏只有光标闪
  • LLaVA-OV:开源多模态的“可复现”革命,不只是又一个模型
  • 网站建设与管理视频教程建设招标网 手机官方网站
  • 快手官方网站音乐人怎么做公司网站模板免费版
  • LeetCode——滑动窗口(进阶)
  • 顺序表算法题(LeetCode)
  • Leetcode每日一练--37
  • F029 vue游戏推荐大数据可视化系统vue+flask+mysql|steam游戏平台可视化
  • leetCode第33题
  • 永久免费搭建网站网页设计与网站建设选择题
  • 【Spring AI】MCP Server 从 sse 升级到 streamableHttp
  • 如何基于Deepseek进行文本章节结构恢复
  • 颠覆传统测试范式:Keploy 如何用 eBPF 技术让测试“偷懒“却更高效?
  • 设计网站推荐html代码全媒体广告策划与营销
  • 企业服务网站开发简要说明网站制作的基本步骤
  • 伊萨推出升级版SUPRAREX™ PRO自动化切割设备:更大尺寸、更强结构、更高安全性、更易维护