Fileset:小米AI数据管理平台落地AI数据管理小米

按照存储格式分类,AI数据可分为表格数据和非表格数据。按照数据格式分类,则包括结构化数据、半结构化数据和非结构化数据。

2.非结构化数据

在开源社区中,AI数据中的非结构化数据已使用“非表格数据”来描述。以往在大数据领域的处理对象一般都是指表格数据,其数据量仅占整个数据体量的20%。剩余的非表格数据(包括音频、视频、TXT等非结构化数据)的预计体量将达到80%。

非表格数据具有三个特点:一是数据体量大,企业级一般达到PB级别,甚至EB级别,文件数量可达亿级、十亿级,这个体量在表格数据中较少见;二是价值密度大,因其包含音频、视频等,能承载的信息量更多;三是处理难度大,表格数据可通过SQL进行处理和分析,而对于非表格数据,需要用到自然语言处理或其他机器学习方法,对技术人员的要求更高。

02

平台建设背景

2022年AI的大爆发为AI基建的发展带来了机遇和挑战。数据作为AI基建的三要素之一,其高效、安全和智能成为AI基建发展的重要模块。这一外部趋势是促使我们进行AI数据建设的背景之一。

以上是两个背景,外部AI的发展以及内部AI数据管理存在的诸多问题和痛点,这促使我们需要在降低成本、进行AI数据治理、提高算法开发流程效率以及挖掘数据价值方面提供相应的能力。

03

平台方案设计

首先,看一下AI数据管理的业界趋势。在项目启动前,我们调研了许多平台,如Databricks和Snowflake。Databricks很早就使用了UnityCatalog的概念,将表格数据和非表格数据在统一的Catalog下进行管理。同样Snowflake也使用了Fileset的概念。如图所示,Databricks有统一的Metastore存储,通过统一的Catalog管理表和Volume等文件数据,表格数据和非表格数据在一个体系下进行管理,这是业界关于AI数据管理或Data与AI在数据上融合的趋势。

小米的现状是,此前在做表格数据治理时,内部有许多存储系统,如Hive、Iceberg、Doris、MySQL等,不同存储系统存在难以审计、追查,权限割裂不统一等问题。当时提出的方案是用统一的目录名MetaCat,将所有表(如Hive表、Iceberg表等)用三元组的形式进行统一,由三元组在数据管理平台上进行管理,再与上层引擎(如Spark、Flink等)进行数据运算处理。有了统一Catalog后,能够进行各种权限审计和跨数据源的数据治理。

对于AI数据管理,我们结合业界趋势,将Data与AI进行融合,数据与算法流程进行融合,实现非表格数据或AI数据的可追溯,知道每个文件的使用情况、管理方式以及如何进行数据治理,联通整个AI与Data的开发链路。基于这四个点,我们提出了小米的存算管治方案,即Fileset。

我们有四个设计原则:

第一,方案要满足业务现有降低存储成本和提高算法流程的需求;

第二,兼容业务已有的用法,避免提供与现有用法割裂的方案,导致使用或迁移成本过高,难以推动新方案;

第三,能够快速落地,考虑使用哪些引擎的能力以及与开源社区的协作方式;

第四,方案要具有先进性,能满足长期业务发展,包括表格数据和非表格数据的协同发展。

基于这四个设计原则,最终Fileset的方案有两个关键点:

首先,我们在现有的大数据开发平台中引入了Fileset,对数据进行封装,而不是创建一个新的平台。在现有的表格数据管理系统中,我们融入了Fileset的非表格数据管理能力,实现数据的统一治理和追溯,从而建立数据的连通性。那么,如何实现这种统一呢?如左侧下方图示所示,我们将所有数据纳入一个统一的元数据系统。原有的表格数据通过一个三元组的目录(Catalog)进行管理,现在我们也将Fileset的数据整合进来,涵盖HDFS、JuiceFS、FDS等各种存储系统。用户无需了解底层的复杂性,只需知道Fileset本质上是一种特殊的表,它兼具了表和文件的属性。

其次,我们需要提供相应的开发能力。在传统的表格数据管理过程中,无论是数据出仓还是数据处理,我们通常只需使用SQL语言。然而,在涉及算法流程时,仅使用SQL语言是不足够的,我们还需要更多的编程语言支持,如Python和Scala。在底层数据层面,我们不仅需要处理表格数据(Table),还需要处理Fileset(即非表格数据)。这些数据都需要在统一的数据管理平台中进行管理,并通过SQL、Python、Scala等语言进行处理,从而支持模型训练。因此,我们建立了一个综合的开发能力体系。

以上就是关于Fileset方案的整体概述。

04

平台落地实践

Fileset在小米内部是如何落地的呢?其中涉及四项核心能力。

其次,我们提供了Notebook的在线开发能力,以前使用SQL,现在提供Python、Scala等开发语言的能力,Notebook的交互式开发产品已在内部平台落地,其价值在于提供算法开发的调试环境,后续还将提供GPU资源,用户无需在本地使用其他机器或跳板机进行算法处理,可直接在平台上进行算法开发。

最后一个核心能力是非表格数据的资产管理,包括成本管理、权限管理和生命周期管理等。有了这些能力后,我们能够对用户的文件进行统一而全面的管理。对于闲置的资产(例如存储了多天的大量文件),我们可以采用类似于表格数据的管理方式,例如TTL生命周期管理和TTV来完成数据的冷备和热备管理。总体而言,我们的思路是基于表格数据治理的经验,进一步扩展到非表格数据的管理能力。

功能落地后,在业务上取得了以下收益:

一是链路减少,效率提高。通过提供Fileset和Notebook的方案,原链路较长,需要多次在本地和线上之间跨平台操作,每个跨平台流程都需要单独进行认证。在线化后,所有东西都在一个管理平台上完成,除了特征平台可能有单独平台外,所有AI数据处理流程都在一个平台上,统一用Fileset进行对接和权限空间权限的对接。用户无需直接对接存储系统,只需要知道Fileset这个类似表格的概念,无需跳板机和本地开发环境,可在开发平台线上完成。

二是成本降低。如图所示,某内部业务中,在有了血缘和审计能力后,能明确哪些PB的数据可以删除,哪些可以冷备,哪些需要转移到另一个存储系统(如小米自研的LavaFS存储系统)。经过内部算法处理,LavaFS存储系统的存储成本理论上比HDFS降低80%。用户只需要知道Fileset,无需知道其下面存储的数据和存储系统,就能大大降低存储成本。通过Fileset概念,查找数据的访问情况、数据血缘情况和使用情况,才能对非表格数据进行各种数据治理。

05

总结与未来规划

接下来,我们的工作重点有以下几个方向:

首先,目前Fileset主要对接的是HDFS,未来我们计划逐步接入更多的数据源,例如JuiceFS等。我们会基于调研和用户使用情况,将这些数据源逐步纳入Fileset,实现各种存储系统的统一,从而构建一个以Fileset为特殊表概念的统一存储系统。

其次,我们将提供一个基于线上的框架,包括对PyTorch、TensorFlow等用户常用框架的支持。我们的目标是在平台上逐步替代本地平台,形成一个统一的开发平台。

第三,我们将打通上下游的开发链路,实现AI应用平台、资源平台等多种平台之间的无缝衔接,避免用户在不同平台间频繁切换,并简化使用过程。

最后,我们将不断改进和提升产品体验。

以上是对小米Fileset的整体介绍。谢谢。

06

Q&A

Q1:小米在进行项目或平台优化设计时,有哪些推动因素?在设计过程中是否对外界有参考,还是基于内部问题进行的设计和探索?

Q2:非表格数据是指研发写的研发代码文档吗?能否具体举几个例子?

A2:在最开始介绍概念时,提到了AI数据和非表格数据。非表格数据主要指一些音频、视频数据。例如小米的车有影像数据,小爱有许多语音数据等。在原来的大数据体系中,更多对接的是业务系统的数据,如研产供销服务等数据,而像这种音频视频文件的数据,虽然有大量价值,但此前未进行处理。这里的非表格数据主要指此类数据。

Q3:关于整个链路和平台优化的成本投入大概有多少?用户在应用时,是否会因平台更新而出现使用习惯上难以适配的问题?

Q4:AI的模型文件是否有版本管理的考虑?

A4:内部曾讨论过这个需求,但目前没有实施,后续会根据业务迭代情况来决定是否进行。

Q5:非结构数据是如何存储的?

A5:关于非结构化数据的存储,我之前简要提到了LavaFS。原先的数据存储在HDFS中,当然这些数据仍然可以存储在HDFS中,并通过Fileset进行封装。存储系统本身不需要改变,数据依然保存在原处。然而,我们也提供了一个由小米自主研发的存储系统,名为LavaFS。该系统在理论上可以减少80%的存储需求,显著降低存储成本,同时不影响存储和计算效率。

INTRODUCTION

何婵

小米科技

产品经理

现任小米大数据产品经理,武汉大学MEM硕士。加入小米4年,深度参与Mi-DataWorks(小米一站式数据生产平台)产品管理,当前聚焦于集团内AI数据存算管治一体化平台建设工作。

THE END
1.理解数据类型:每个数据科学爱好者都应该知道的数据结构现在的大量数据中,大部分是非结构化的,即没有预定义模型/结构的数据。如图像,是像素的集合,文本数据是没有预定义储存模型的字符序列,以及用户在Web应用程序上操作的点击流。非结构化数据所需要处理的地方在于,需要通过预处理等方法转化为结构化数据,以便对结构化数据应用统计方法获取原始数据中的重要信息。 https://www.528045.com/article/d32b356ce2.html
2.数据分析常用的知识点概括众所周知,统计学是数据分析的基石。学了统计学,你会发现很多时候的分析并不那么准确,比如很多人都喜欢用平均数去分析一个事物的结果,但是这往往是粗糙的。而统计学可以帮助我们以更科学的角度看待数据,逐步接近这个数据背后的“真相”。 大部分的数据分析,都会用到统计方面的https://mp.weixin.qq.com/s?__biz=MzA3NzIxNDQ3MQ==&mid=2650329307&idx=1&sn=a8acceeb61e80f30140e97cb94f5c059&chksm=86fc3b0e8e011cb7b5774fd8ddeac196609601fc74c38130b8619d2c15ef06adc9328cce132c&scene=27
3.四不像正版资料,构建解答解释落实m418.39.40看点在数据分析的世界里,我们经常会遇到各种看似杂乱无章的数据,这些数据就像“四不像”一样,难以直接归类和解释,正是这些“四不像”的数据,往往蕴含着最有价值的信息,本文将深入探讨如何构建、解答和落实这些“四不像”的正版资料,以期为数据分析师提供一套实用的方法论。 https://www.yzcjl.cn/post/5569.html
4.分不清结构化半结构化和非结构化数据?来看这篇!2、针对半结构化、非结构化数据 针对半结构化、非结构化数据,因为数据分散,缺乏统一管理,需要借用专业工具,目前有两种方式来处理半结构、非结构化数据:①提取半结构、非结构化数据中的关键信息,到结构化数据中进行二次利用,比较好处理的是半结构化(json、xml)、excel、csv,因为这种数据的结构比较统一。②向word、https://zhuanlan.zhihu.com/p/6334917409
5.大模型时代企业知识全生命周期管理解决方案比如,集团制订的归档范围未将一些应归档但无法通过系统流转的文档纳入其中,部门相当一部分非结构化文档数据仍保存在个人电脑之中,导致企业文档数据资产存在着流失的风险。2. 失真非结构化数据往往都质量不高,必须进行数据清理才能进行组织。对于公司来说,清理和准备大量数据过程中就会看到很多失真现象。举个例子:https://baijiahao.baidu.com/s?id=1792924033127896800&wfr=spider&for=pc
6.结构化半结构化和非结构化数据都有哪些数据可以根据其格式和可访问性被分类为结构化数据、半结构化数据和非结构化数据。下面是每种数据类型的定义和一些例子: 结构化数据 结构化数据是指遵循固定格式的数据,通常存储在关系数据库中。这种数据类型易于搜索和组织,因为它遵循一定的模式(如表格),每个数据项都有明确的字段。 https://www.jianshu.com/p/7018b1bef624
7.非结构化数据是什么并且有什么例子呢?问答非结构化数据是无法以二维表来逻辑表达实现的数据,主要的示例为网购记录、通讯记录、出行记录等。https://developer.aliyun.com/ask/443233
8.大数据中非结构化数据的挖掘:文本一、 点击流中的非结构化文本数据都有哪些? 首先来定性什么是非结构化文本数据,这里指的是点击流原始数据中以文字形式展现的数据,包括原始LOG日志以及已经被结构化入库中的部分数据,比如Adobe Analytics的Data Feed,Webtrekk中的Raw Data。当然,有些数据虽然是文本或字符串的形式,但并不是真正意义上的非结构化,比如https://www.51cto.com/article/432085.html
9.结构化半结构化和非结构化数据腾讯云开发者社区有些人说半结构化数据是以树或者图的数据结构存储的数据,怎么理解呢?上面的例子中,标签是树的根节点,和标签是子节点。通过这样的数据格式,可以自由地表达很多有用的信息,包括自我描述信息(元数据)。所以,半结构化数据的扩展性是很好的。 三、非结构化数据https://cloud.tencent.com/developer/article/1351609
10.非结构化数据提取技术在统计工作中的应用摘要结构化数据和非结构化数据是大数据的两种类型,目前非结构化数据信息已达信息总量的85%以上,且每年以55%~65%的速度增长,统计工作受到大数据的冲击,日常总会遇到一些非结构化数据提取的难题,导致工作量加大,效率低下。本文对非结构化数据及其提取技术、大数据处理语言——Python语言进行学习研究,解决实际中遇到https://tjj.changzhi.gov.cn/sjfx/202207/t20220704_2588893.html
11.engineering):利用领域知识和现有数据,创造出新的特征,用于具体涵盖了结构化与非结构化、定量与定性数据的区分,数据清洗中的数据对齐、缺失值处理、异常值处理等方法,特征构造中的统计量构造、周期值、数据分桶、特征组合,特征选择的三种形式及多种具体方法,特征变换的标准化、归一化、区间缩放、非线性变换等,还讨论了离散变量处理和降维的多种方法,并在最后进行了总结。https://juejin.cn/post/6874516288149028872
12.取其精华!设计师读书笔记连载系列之《简约至上》优设网5、非结构化数据 系统要求用户输入信息:2016-04-06,当你少输入一个数字或者输入错误时,就会提示你。向用户转移用在这里并不合适,用户非常反感强制性的做法。如果你能仅仅让用户输入:明天,本周五,七天后这些字符便能识别,用户一定更为愉悦 记得最开始使用siri的时,凌晨一点多,我想让Siri明上八点叫醒我,我们的对话https://www.uisdc.com/note-for-simple-and-usable
13.云计算大数据和人工智能结构化的数据:即有固定格式和有限长度的数据。例如填的表格就是结构化的数据,国籍:中华人民共和国,民族:汉,性别:男,这都叫结构化数据。 非结构化的数据:现在非结构化的数据越来越多,就是不定长、无固定格式的数据,例如网页,有时候非常长,有时候几句话就没了;例如语音,视频都是非结构化的数据。 https://dsjzx.scy.cn/info/1041/2192.htm
14.分享关于非结构化Excel表格数据整合,抽取的方案一个SQL在上万个不规范的非结构化Excel文档上运行 导出成结构化数据 下面是一个SQL语法和例子:在SQLhttps://club.excelhome.net/thread-1658916-1-1.html&ordertype=1
15.什么是文本挖掘?IBM半结构化数据:顾名思义,这些数据由结构化和非结构化数据格式混合而成。 虽然这种数据经过了一定的组织,但其结构不足以满足关系数据库的要求。 半结构化数据的例子包括 XML、JSON 和 HTML 文件。 由于世界上约 80% 的数据都属于非结构化格式(链接位于 ibm.com 外部),因此对于组织而言,文本挖掘是一种非常有价值https://www.ibm.com/cn-zh/topics/text-mining