《胡争-下一代多模数据湖Lance的设计和实践0327.pdf》由会员分享,可在线阅读,更多相关《胡争-下一代多模数据湖Lance的设计和实践0327.pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、Lance的设计和实践演讲人:黄昭伟 火山引擎 EMR Lance 引擎研发(Lance Committer)下一代多模数据湖演讲人:杨华华 火山引擎 EMR Lance 引擎研发(Lance Committer)多模数据处理挑战01Lance数据湖介绍02Lance核心技术特点03Lance数据湖演示04目 录CONTENTSLance数据湖优化05多模数据处理挑战The changeswithdealingmulti-modal data多模态数据特点多模多模态数据态数据多模态数据(Multimodal Data)是指由多种不同类型或形式的数据(模态)组合而成的信息集合。这些模态可以包括文
2、本、图像、音频、视频、传感器信号、结构化数据等。行业场景 大模型,正在转向多模模型的场景,而非单一文本模型 自动驾驶,天生多模态场景,融合传感器和图片输入Yin,Shukang,et al.A survey on multimodal large language models.arXiv:2306.13549数据特点 单值巨大单值巨大,例如图片数据,数据大小会比文本大很多 结构多列结构多列,例如传感器数据,字段个数会多很多 处理复杂处理复杂,例如混合GPU|CPU对数据处理,如打标操作维度特点分离式(数据库+对象数据)ParquetWebDatasetLMDB数据存储存储介质数据库+对象存储
3、对象存储对象存储本地存储数据管理管理成本两份数据时刻保持一致统一存储统一存储统一存储大宽表取决于数据库能力列字段数限制列字段不限通过Key名字模拟列数据读取全列读取2次读取一行数据,小IO顺序读取顺序迭代顺序读读和随机读取部分列取决于数据库能力支持部分列必须全部读取,才能完成过滤和部分列读取不支持key前缀过滤,只能全部读取数据过滤取决于数据库能力支持过滤数据处理更新数据取决于数据库能力读取全部,再全部修改回去必须全部读取,处理完,再重新全部写回支持修改Value数据删除取决于数据库能力支持删除Key结构变化取决于数据库能力通过Key名字模拟列模型训练全局混洗通过表混洗,用的时候读取先加载内存
4、,在内存完成混洗先加载内存,在内存完成混洗通过key混洗,用时再读取value常见多模存储方案对比多模态的业务中,经常会用模型对数据集打标,会不定期加列或者更新列。支持结构变更多模态训练的时候,全局shuffle已经无法在内存中完成,因此需要随机点查支持随机点查多模态数据的列数可能比较多,因此存储结构需要支持上百以上的列数支持大宽表多模态数据单值比较大,因此存储结构能够高效的存储大列支持大小列多模存储要求满足数据探索需求,能够很方便完成过滤,读取部分列的能力列式存储Lance数据湖介绍Introduce of lance data lake什么是LanceLance是一种列式数据集格式,可轻松
5、快速地进行版本控制、查询和训练。它旨在用于图像、视频、3D 点云、音频,当然还有表格数据。它支持任何 POSIX 文件系统和云存储,如 AWS S3 和 Google Cloud Storage。Lance 的主要功能包括:高性能随机访问:比比 Parquet 快快 100 倍倍。向量搜索向量搜索:在 1 毫秒内找到最近邻居,并将 OLAP 查询与向量搜索相结合。零拷贝、自动版本控制:自动管理数据版本,并使用内置的零拷贝逻辑减少冗余。生态系统集成:Apache-Arrow、DuckDB 以及Spark/Ray等。Lance数据湖介绍多模数据处理场景Lance支持binary或者large_bi
6、nary 类型,可以把多模数据按照二进制数据存储。生态集成高效存储Lance集成Arrow生态,因此它能够很方便的集成Duckdb、Spark,Ray等分布式计算引擎,并完成数据操作。数据变更Lance支持结构变更,支持加列、删列操作,支持对于多模数据进行GPU打标操作。数据探索Lance提供随机点查和二级索引能力,在进行可视化探索的时候,能够快速完成查询多模模型训练场景Lance拥有全局随机点查能力,可以全局Shuffle出来一个Int类型的ID,通过ID就直接找到训练需要的整行数据,用于GPU的模型计算任务。云