字节跳动与浙江大学联合团队于2025年在《PVLDB》(Proceedings of the VLDB Endowment)期刊发表了题为《Magnus: A Holistic Approach to Data Management for Large-Scale Machine Learning Workloads》的研究论文。该研究针对大规模机器学习(ML)工作负载中的数据管理挑战,提出了一套基于Apache Iceberg构建的完整解决方案——Magnus系统。以下从七个方面对这项原创性研究进行详细报告。
一、作者团队与发表信息
该研究由字节跳动公司的Jun Song、Irshad Kandy等16位研究人员与浙江大学的Jingyi Ding、Xiuqi Huang等4位学者共同完成,其中Jun Song和Jingyi Ding为共同第一作者,Xiuqi Huang为通讯作者。研究团队来自字节跳动基础架构部门与浙江大学计算机辅助设计与图形学国家重点实验室,成果发表于数据库领域顶级期刊《PVLDB》第18卷第12期(2025年)。
二、学术背景与研究目标
随着推荐大模型(LRM)和多模态大模型(LMM)的发展,字节跳动EB级训练数据面临四大核心挑战:(1)宽表(wide tables)和多模态数据的存储效率低下;(2)元数据(metadata)规划性能瓶颈;(3)更新/upsert操作的高延迟;(4)大模型训练的特殊需求。传统数据湖方案(如Apache Iceberg)在存储格式、索引支持、版本控制等方面存在不足。Magnus旨在构建统一的ML数据管理系统,通过创新存储格式、高效元数据管理、轻量级合并读取(Merge-on-Read, MOR)策略及大模型优化适配,提升ML工作流的整体效率。
三、技术方法与实施流程
1. 存储格式与索引设计
- 列式存储优化:开发Krypton格式替代Parquet,通过三级结构(数据区/索引区/文件尾部)将元数据内存占用从O(N²)降至O(N),实验显示其存储空间节省30%,读取内存降低40%。
- 多模态Blob格式:将二进制数据(如图像/视频)分离存储,仅保存引用元数据。测试表明,对于1024元素的list,部分读取耗时从9秒降至0.6秒。
- 混合索引:采用哈希索引(固定分区)和HFile索引(动态分区)实现主键唯一性;内置倒排索引(inverted index)和向量索引(vector index),支持直接在数据湖中执行语义搜索。
2. 元数据管理
- 规划优化:通过消除冗余统计字段(如min/max)、按分区排序清单文件(manifest file)、构建稀疏索引,使单分区查询速度提升5-26倍。
- Git式版本控制:扩展Iceberg的快照机制,支持分支合并(merge)与变基(rebase)操作。如图7所示,实验分支可通过新快照(如s4)集成到主分支,或基于主分支重置基址。
3. 高性能读写
- 列级更新:实现基于位置(position update)和等值条件(equality update)的MOR策略。在15,471列的9.4TB生产表中,Magnus的写入速度比Iceberg的写时复制(Copy-on-Write)快20倍。
- 主键Upsert:通过双层分区(用户分区+哈希分桶)和序列号冲突解决机制,支持每秒百万级记录更新。全局唯一性通过HFile索引保证,避免了传统方案的全局锁竞争。
4. 大模型训练适配
- LRM双表结构:主表(monthly)存储数值特征,附加表(extra)保存用户序列特征,存储需求减少50倍。训练时通过UID关联两表,实现用户级样本组织。
- LMM分片优化:开发轻量级规划器(Lite Planner)将元数据压缩90%,支持行范围(row-range)细粒度分片,使300个数据集的训练启动时间从30分钟缩短至15分钟。
四、核心实验结果
- 存储效率:在51,548列的宽表测试中,Krypton格式的存储空间(2,500GB)比Parquet(3,500GB)减少28.6%,内存占用下降42%。
- 元数据性能:337M文件的清单解析时间从6,111秒优化至234秒(26倍提升)。
- 更新吞吐:对9.4TB表的列更新测试显示,Magnus MOR策略的写入延迟(137秒/次)显著低于Iceberg COW(611秒/次)。
- 训练优化:LRM双表结构使GPU内存占用从160GB降至70GB,吞吐量提升70%(306k样本/秒);LMM训练的内存消耗降低40%。
五、研究结论与价值
Magnus通过体系化创新实现了EB级ML数据的高效管理:(1)科学价值上,提出列式存储的层次化元数据模型和轻量级MOR理论框架;(2)工程价值上,已在字节跳动部署5年,支持搜索/广告/推荐等核心业务,日均处理PB级数据增长。系统开源组件与Apache Iceberg兼容,可推广至其他大数据场景。
六、研究亮点
- 方法论创新:首次将Git分支模型引入数据版本控制,支持实验数据的隔离与协同开发。
- 性能突破:Krypton格式通过FlatBuffers序列化,实现宽表场景下亚秒级元数据解析。
- 应用创新:针对LRM/LMM的专属优化(如双表结构、行范围分片)填补了行业空白。
七、其他贡献
研究获得国家自然科学基金(62132017)和浙江省”领雁”计划(2024C01167)支持,相关技术已申请多项专利。团队开发的Krypton引擎(§3.2)和Primus训练框架(§6.1)形成完整技术生态,相关代码计划逐步开源。