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

AI时代的数据底座:火山引擎多模态数据湖的设计与实践

资料来源:火山引擎-开发者社区

随着大模型的发展和应用,文本的边界被拓宽,图像、视频、语音各种模态涌现,并给数据管理、检索、计算带来巨大挑战。 火山引擎多模态数据湖 解决方案则可实现海量结构化、半结构化及非结构化数据的统一精细化管理,全方位兼容各类数据格式,为LLM预训练、持续训练和微调全程各个环节提供更好的数据支持。


本文主要包括以下三个章节:
·数据湖在AI时代下的难点和挑战
· 火山引擎多模态数据湖介绍
· 未来演进和思考
数据湖
在AI时代下的难点和挑战
/ 计算资源从CPU扩展到GPU


AI时代带来的变化之一,是非结构化数据处理占比变大。
传统数据湖聚焦于处理结构化数据,而AI时代下需要对图像、音视频等非结构化数据进行处理。 非结构化数据使用CPU算力处理效率不高,因此需要 借助GPU算力资源 来提高处理效率。
传统数据湖常使用基于BSP架构的Spark引擎,在调度、数据传输、资源利用率上对GPU不够友好。如上图所示,多个data partition 在不同阶段使用CPU和GPU计算时,容易出现资源空闲,造成较大的成本浪费。
/ 数据处理任务对效率、稳定性和灵活性要求高


基模用户和领域大模型用户,在做数据准备中常常会遇到以下问题:
一、 存储带宽瓶颈
·模型训练前的数据准备阶段,单次任务处理数据多,耗时长。一份数据在任务中会被多次读取加工。
·任务直接读写对象存储Bucket 数据,会产生很大的带宽和QPS压力。
· 单次任务的耗时、多任务并发时整体任务的吞吐量都受限于带宽和QPS,会成为数据准备任务的瓶颈。
二、高负载和小文件
·相对传统数仓而言,高负载和小文件问题呈指数级放大,模型训练场景下会产生百万级的Spark partition shuffle压力,原生Shuffle、开源集中式Shuffle如celeborn,均无法稳定高效处理。
· 高负载和高并发下,原生的Spark history server容易出现崩溃或者页面无法打开等问题。
· 任务失败后的重试成本高。
三、自定义运行环境
· 数据准备阶段的不同任务,往往需要一些第三方的库包,比如算法函数、硬件加速相关包等,不同任务依赖的库包甚至会是互相冲突。
· 传统大规模计算集群,在运行节点上预先安装好各种依赖包,提供环境级别的隔离,已无法满足需求,当下需要的是提供任务级别的自定义运行环境。
因此在AI时代下,为保障数据处理任务高效运行,急需对平台进行升级。火山引擎给出的解决方案是多模态数据湖。接下来,我将介绍火山引擎多模态数据湖的架构设计,以及对上述问题的解决方案。
火山引擎
多模态数据湖介绍
/ 多模态数据湖架构

火山引擎多模态数据湖 可以支持数据从数据源到Data Agent、商业智能等数据应用全流程。

一、** 数据源:** 与传统数据库相比,除了结构化数据,还支持半结构化数据,以及非结构化数据,比如文本、图片、音频和视频。

二、数据应用: 可以承接传统的数仓任务,比如报表业务、实时数据仓库等;还可以支持模型训练、训练数据准备,以及快速搭建AI应用(如RAG应用)。

三、多模态数据湖架构: 包括湖管理、湖计算、湖存储。

—湖管理:

·全域数据集成DataSail:数据入湖。

·AI数据湖服务(Lake AI Service,LAS):提供了统一元数据及权限管理的能力。这一层之下需要接入不同的数据源,之上需要对接不同的计算引擎,要使一份数据可以被多个引擎处理,则需统一元数据管理,LAS即为这样的平台。

· 大数据研发治理套件DataLeap:提供了Data+AI的统一数据开发平台,具有找数助手、开发助手、运维助手等功能,例如可以通过自然语言生成SQL并检索展示数据。

— 湖存储: 存储结构化和非结构化数据,支持开发的湖格式(Iceberg、Hudi、Paimon),以及湖存储加速引擎Proton。

— 湖计算: 支持火山引擎多款数据产品,包括大数据平台E-MapReduce、流计算Flink、自研支持向量化读写的OLAP引擎ByteHouse。


/ 多模态数据湖设计理念


· 开箱即用(进得来): 在传统企业上云场景下,已经有多云部署的趋势,在AI时代下,特别是模型算法公司,需要数据湖是透明、数据Open。
· 开源兼容(出得去): 与开源技术栈完全兼容,可无缝多环境迁移部署,不Lock In用户。
· 轻量运维(管得住): 垂直类模型公司的工程师以算法为主,不擅长底层设施的维护,需要尽可能降低运维的门槛。
· 成本优化(用得省): 通过全托管、弹性伸缩、冷存归档等手段,结合预约按量付费实例等计费方式,降低用户的使用成本。
· 极致性能(算得快): 通过优化计算引擎内核、计算链路,实现实质性提效。
· AI云原生(做得强): 专为多模态数据设计,与AI混合大数据协同发展,以适应各种场景需求。
/ 多模态数据湖方案产品


以上是火山引擎多模态数据湖方案涉及的产品。
/ EMR多产品形态提供Data和AI计算引擎


上图中展示了EMR产品架构。
2024年 EMR扩充了很多Data for AI相关能力, 正式商业化了Serverless和容器形态,提供Spark和Ray两套AI引擎,支持CPU+GPU异构计算架构,具备以下特点:
· 允许用户 基于EMR基础镜像,灵活打入第三方包。 通过自定义镜像方式实现任务级别的运行环境自定义。
· 针对高负载和小文件等问题,进行了性能优化。 基于原生Celeborn实现优化,支持500万级别的Partition Shuffle,远超传统数仓容量规模,并提高了Spark History Server的稳定性。
· 抖音集团内部孵化 Spark Native Engine, 相比Spark开源版本,性能提升达到了2.5倍以上。
· 此外, 针对用户体验进行了优化, 提供了丰富的弹性伸缩类型和付费方式,满足各种场景需求。
· EMR产品可以与其它云产品,如数据集成DataSail、大数据研发治理套件DataLeap等高度适配,提供 一站式Data+AI开发、调试、运行和诊断平台。
/ 使用Ray对多模态数据做高效处理


相比Spark BSP架构, Ray的Pipeline模式能更充分地利用资源, 同时减少数据落磁盘IO操作,在内存中处理数据,提高整体性能。
EMR 针对性地结合Ray的autoscale能力, 灵活伸缩保证资源利用率,还丰富了监控指标, 在原有Ray Dashboard的基础上,通过Ray History Server提供持久化的任务日志,并且集成了各种湖格式,提供开箱即用的数据读写。
/ 使用Proton实现数据湖加速


Proton是一款EMR团队自研的数据湖加速引擎, 旨在消除不同负载和存储间的GAP。
Proton的核心特性包括:兼容Hadoop FileSystem语义;数据加速功能与引擎组件解耦,对存储透明,非Proton写入的数据也可在读取时加速;
提供了元数据加速的能力,可大幅减少对象存储QPS需求;提供了灵活的淘汰机制,如白名单、黑名单、关键字匹配,用户可自定义缓存策略以满足不同需求。
未来展望与思考


横向看,我们将进一步拓展应用场景, 将数据湖能力从数据准备阶段,扩展到离线推理、模型部署阶段; 同时,支持用户快速构建
AI应用。
垂直看,我们将增强现有能力, 提高GPU链路产品能力, 包括可观测性和资源效率的提升;另外,提升产品易用性,持续降低数据处理功能的使用门槛。

相关文章:

AI时代的数据底座:火山引擎多模态数据湖的设计与实践

资料来源:火山引擎-开发者社区 随着大模型的发展和应用,文本的边界被拓宽,图像、视频、语音各种模态涌现,并给数据管理、检索、计算带来巨大挑战。 火山引擎多模态数据湖 解决方案则可实现海量结构化、半结构化及非结构化数据的统…...

Numpy用法(二)

一.数组变维 1.1 reshape reshape() 可以改变数组维度,但是返回的是一个新的数组,原数组的形状不会被修改.reshape后产生的新数组是原数组的一个视图,即它与原数组共享相同的数据,但可以有不同的形状或维度,且对视图…...

STM32 IIC通信

目录 IIC简介硬件电路连接I2C时序基本单元IIC完整数据帧MPU6050封装硬件IIC内部电路 IIC简介 IIC(Inter-Integrated Circuit)是 IIC Bus 简称,中文叫集成电路总线。它是一种串行通信总线,使用多主从架构,由飞利浦公司…...

快速入门 JSON 数据格式

引言 JSON,全称 JavaScript Object Notion,类似于XML,YAML,Properties等,是一种数据交换格式,相比于XML,更简单,更轻量,更容易理解。 JSON vs XML 使用 JSON 目前被广…...

FFmpeg —— 中标麒麟系统下使用FFmpeg内核+Qt界面,制作完整功能音视频播放器(附:源码)

🔔 FFmpeg 相关音视频技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 程序运行效果...

硬件测试工装设计不合理的补救措施

硬件测试工装设计不合理的补救措施主要包括重新评估设计需求、优化工装结构、强化工装校准与验证。其中,优化工装结构尤其重要,通过结构优化能够有效解决因设计不合理导致的测试准确性下降和可靠性不足的问题。根据工程实践数据,经过优化结构…...

任意文件读取漏洞

fofa语句:body"/vite/client" /fs/etc/passwd?import&raw?? https://35.175.173.157/fs/etc/passwd?import&raw?? http://geometer.dev.mvergely.com/fs/etc/passwd?import&raw??...

如何使用RK平台的spi驱动 spidev

RK平台spidev驱动读取RC522版本号示例 1. 硬件与驱动确认 确认SPI接口连接:RC522的SPI引脚与RK开发板的对应SPI控制器正确连接(CS、CLK、MOSI、MISO)检查内核配置: Bash # 内核需启用以下配置 CONFIG_SPIy CONFIG_SPI_MASTERy…...

网路传输层UDP/TCP

一、端口号 1.端口号 1.1 五元组 端口号(port)标识了一个主机上进行通信的不同的应用程序. 如图所示, 在一个机器上运行着许多进程, 每个进程使用的应用层协议都不一样, 比如FTP, SSH, SMTP, HTTP等. 当主机接收到一个报文中, 网络层一定封装了一个目的ip标识我这台主机, …...

1.2-WAF\CDN\OSS\反向代理\负载均衡

WAF:就是网站应用防火墙,有硬件类、软件类、云WAF; 还有网站内置的WAF,内置的WAF就是直接嵌在代码中的安全防护代码 硬件类:Imperva、天清WAG 软件:安全狗、D盾、云锁 云:阿里云盾、腾讯云WA…...

Dify 服务器部署指南

1. 系统要求 在开始部署之前,请确保你的服务器满足以下要求: 操作系统:Linux(推荐使用 Ubuntu 20.04 或更高版本)内存:至少 4GB RAM存储:至少 20GB 可用空间网络:稳定的互联网连接…...

从车间到数字生态:MES如何引领制造业智能化革命‌

在全球制造业加速迈向工业4.0的浪潮中,传统生产模式正经历颠覆性变革。制造执行系统(MES)作为连接物理车间与数字世界的核心纽带,正从“生产辅助工具”升级为“智能决策大脑”,推动制造业向数据驱动、柔性化与可持续化…...

Error:Flash Download failed

出现这个就是编译器要换...

Spring容器生命周期详解

Spring容器生命周期详解 Spring容器的生命周期从启动到关闭分为多个阶段,包括Bean的加载、实例化、初始化、使用和销毁。以下是详细流程和关键点: 1. 容器启动阶段 1.1 容器实例化 核心接口:BeanFactory(基础容器)或…...

革新测试管理 2.0丨Storm UTP统一测试管理平台智能化升级与全流程优化

承接上篇:从基础架构到深度协同 在首篇文章《革新测试管理 | 统一测试管理平台如何实现远程、协同、自动化?》中,我们探讨了Storm UTP如何通过云端协作、自动化测试框架和分布式执行能力打破传统测试壁垒。经过一年多的客户实践与技术迭代&a…...

将 char [] str = “hello,you,world” 改为 “world,you,hello“,要求空间复杂度为1

题目: 将 char [] str “hello,you,world” 改为 "world,you,hello",要求空间复杂度为1 (也就是使用的变量只能是单个字符或者常数,不能使用数组!!!!!) 解…...

运维规则之总结(Summary of Operation and Maintenance Rules)

运维规则之总结 在运维领域,经验和流程往往决定了系统的稳定性与可靠性。一个运维人,总结出了以下10条运维规则,涵盖了从基础管理到高级策略的全面内容,旨在帮助运维人员更好地应对各种挑战,确保系统的平稳运行。 1.…...

MongoDB 创建数据库

MongoDB 创建数据库 引言 MongoDB 是一款高性能、可扩展的 NoSQL 数据库,广泛应用于大数据领域。在 MongoDB 中,创建数据库是进行数据存储的第一步。本文将详细介绍 MongoDB 数据库的创建方法,包括手动创建和自动创建两种方式。 MongoDB 数…...

SpringSecurity OAuth2:授权服务器与资源服务器配置

文章目录 引言一、OAuth2基础概念与架构二、授权服务器配置三、令牌策略与存储方式四、资源服务器配置五、远程令牌验证与内省总结 引言 在现代分布式应用架构中,OAuth2已成为实现安全授权与认证的事实标准。Spring Security对OAuth2提供了全面支持,使开…...

Vue 2 探秘:visible 和 append-to-body 是谁的小秘密?

🚀 Vue 2 探秘:visible 和 append-to-body 是谁的小秘密?🤔 父组件:identify-list.vue子组件:fake-clue-list.vue 嘿,各位前端探险家!👋 今天我们要在 Vue 2 的代码丛林…...

C#高级:启动、中止一个指定路径的exe程序

一、启动一个exe class Program {static void Main(string[] args){string exePath "D:\测试\Test.exe";// 修改为你要运行的exe路径StartProcess(exePath);}private static bool StartProcess(string exePath){// 创建一个 ProcessStartInfo 对象来配置进程启动参…...

windows下安装sublime

sublime4 alpha 4098 版本 下载 可以根据待破解的版本选择下载 https://www.sublimetext.com/dev crack alpha4098 的licence 在----- BEGIN LICENSE ----- TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A37081C5 D0316412 4584D…...

Qt 日志输出(重定向)

在软件开发中,日志输出是调试和问题排查的关键手段。Qt框架提供了灵活的日志系统,支持从简单的控制台输出到复杂的自定义日志处理。本文将详细介绍Qt中五种常用的日志输出方法,并附上完整代码示例。 一、使用Qt内置日志函数 Qt提供了五个全局…...

51c嵌入式~MOS~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12074888 一、MOS管:米勒效应、开关损耗以及参数匹配 MOS管即场效应管(MOSFET),属于压控型,是一种应用非常广泛的功率型开关元件,在开关电源、逆变器…...

一文详解k8s体系架构知识

0.云原生 1.k8s概念 1. k8s集群的两种管理角色 Master:集群控制节点,负责具体命令的执行过程。master节点通常会占用一股独立的服务器(高可用部署建议用3台服务器),是整个集群的首脑。 Master节点一组关键进程&#xf…...

Linux内核软中断分析

一、软中断类型 在Linux内核中,中断处理分为上半部(硬中断)和下半部。上半部负责快速响应硬件事件,而下半部用于处理耗时任务,避免阻塞系统。下半部有三种机制:软中断(Softirq)、小任…...

从医疗大模型到综合医疗智能体:算法、架构与路径全流程分析

一、引言 1.1 研究背景与意义 随着信息技术的飞速发展,医疗领域正经历着深刻的变革。医疗智能体作为人工智能技术在医疗行业的重要应用,正逐渐成为提升医疗服务质量、优化医疗流程、促进医疗资源合理分配的关键力量。从最初简单的医疗信息管理系统,到如今能够辅助诊断、制定…...

2025跳槽学习计划

(1)编程基础: 目录学习资料Chttps://www.bilibili.com/video/BV1z64y1U7hs?spm_id_from333.1387.favlist.content.clickLinuxPytorchhttps://www.bilibili.com/video/BV1if4y147hS?spm_id_from333.1387.favlist.content.clickopencv数据结…...

数据库后续

-- 添加作者字段 alter table t_hero add author varchar(100); -- 更新数据 update t_hero set author "曹雪芹" where id 1; update t_hero set author "曹雪芹" where id 2; update t_hero set author "曹雪芹" where id 3; upd…...

程序员软件工具推荐列表

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 程序员软件工具推荐列表1. Snipaste2. VSCod…...

如何在WordPress中限制用户登录到一台设备

在当今的互联网环境下,许多用户习惯共享账户信息,虽然看似无害,却可能对网站运营产生负面影响。尤其是对于那些经营会员网站和在线课程的平台,限制用户同时登录的设备数量显得尤为重要。本文将详细探讨如何在WordPress中限制用户登…...

基于大模型的自发性气胸全方位预测与诊疗方案研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、大模型预测自发性气胸的原理及技术基础 2.1 大模型介绍 2.2 模型构建与训练数据 2.3 模型训练与优化 三、术前风险预测与准备 3.1 术前风险预测指标 3.2 基于预测的术前准备 3.3 手术方案与麻醉方案制定…...

文章记单词 | 第14篇(六级)

一,单词释义 affection:n. 喜爱,钟爱;爱慕之情;感情stream:n. 小河,溪流;一连串,源源不断;水流,气流;vi. 流,流动&#x…...

系统如何查找文件?inode号又是什么?

下面分别详细解释您提到的三个问题: “文件系统怎么定位文件”、“inode 是什么”、“为什么删除后还可能被占用”。 一、文件系统怎么定位文件 1.1 目录与文件名并不直接存储文件数据 在常见的 Unix/Linux 文件系统(如 ext4、xfs)或类似的…...

Uni-app入门到精通:tabBar节点实现多页面的切换

tabBar节点用于实现多页面的切换。对于一个多tabBar应用,可以通过tabBar节点配置项指定一级导航栏,以及tabBar切换时显示的对应页面。在pages.json中提供tabBar节点配置,不仅是为了方便快速开发导航,更重要的是提示App平台和小程序…...

torchvision中数据集的使用

1、torchvision及其数据集的介绍 1.1 torchvision介绍 torchvision 是 PyTorch 的一个官方库,专门用于计算机视觉任务。它提供了以下核心功能: 预训练模型:如 ResNet、VGG、EfficientNet 等。数据集:内置常用视觉数据集&#xf…...

uniapp开发实战自定义组件形式实现自定义海报功能

在 UniApp 中实现自定义海报功能,可以通过 Canvas 来绘制海报。Canvas 提供了丰富的绘图 API,可以精确控制文字、图片和二维码的位置。下面是一个完整的示例,展示如何创建一个自定义海报组件。 项目结构 假设你的项目结构如下: project-root/ ├── pages/ │ └──…...

Java EE 进阶:MyBatis-plus

MyBatis-plus的介绍 MyBatis-plus是MyBatis的增强工具,在MyBatis的基础上做出加强,只要MyBatis有的功能MyBatis-plus都有。 MyBatis-plus的上手 添加依赖 在我们创建项目的时候,我们需要添加MyBatis-plus和mysql的依赖 MyBatis-plus的依赖…...

信息学奥赛一本通 1514:【例 2】最大半连通子图 | 洛谷 P2272 [ZJOI2007] 最大半连通子图

【题目链接】 ybt 1514:【例 2】最大半连通子图 洛谷 P2272 [ZJOI2007] 最大半连通子图 【题目考点】 1. 图论:强连通分量 缩点 2. 图论:拓扑排序 有向无环图动规 【解题思路】 对于图中任意两顶点u、v,满足u到v或v到u有路径…...

正则表达式-笔记

文章目录 一、正则表达式二、正则表达式的基本语法字符类普通字符非打印字符特殊字符 量词限定符锚点修饰符(标记) 三、在 Python 中使用正则表达式简单搜索提取信息替换文本 参考 从验证用户输入,到从大量文本中提取特定信息,再到…...

Linux 练习二 LVS的NAT模式

作业 要求:使用LVS的 NAT 模式实现 3 台 RS 的轮询访问。IP地址和主机自己规划。 节点规划 主机角色系统网络IPclientclientredhat 9.5仅主机192.168.60.100/24lvslvsredhat 9.5仅主机 NAT192.168.60.200/24 VIP 192.168.23.8/24 DIPnginxrs1redhat 9.5NAT192.16…...

以科技赋能,炫我云渲染受邀参加中关村文化科技融合影视精品创作研讨会!

在文化与科技深度融合的时代浪潮下,影视创作行业经历着前所未有的变革。影视创作行业发展态势迅猛, 同时也面临着诸多挑战。为促进影视创作行业的创新发展,加强业内交流与合作, 3月25日下午,海淀区文化创意产业协会举办…...

Matlab2024a免费版下载教程

Matlab是一个高性能的数学计算与仿真软件,广泛应用于科学计算、数据分析、算法开发以及工程绘图等多个领域。它提供了强大的矩阵运算能力、丰富的内置函数库以及灵活的编程环境,使得用户能够高效地解决复杂的数学问题。本文,我将为大家详细介…...

人工智能:officeAI软件,如何调整AI对话界面的字体?

1、首先,随便打开一个excel(使用wps) 依次点击上方的【OfficeAI】—【右侧面板】 2、在弹出的面板中,输入:助手设置 , 然后按【回车】发送出去 3、之后会弹出界面,在【样式设定】中&#xff…...

ARCGIS PRO SDK VB2022 图层要素类类型判断

arcgis pro 常见要素类类型有以下几种: FeatureLayer ——要素图层(矢量数据) RasterLayer ——栅格图层 MapImageLayer ——地图图像图层 VectorTileLayer ——矢量切片图层 SceneLayer …...

一种监控录像视频恢复的高效解决方案,从每一帧中寻找可能性

该软件旨在恢复从监控设备中删除或丢失的视频。该程序经过调整以处理大多数流行供应商的闭路电视系统中使用的专有格式,并通过智能重建引擎进行了增强,能够为监控记录提供任何通用解决方案都无法实现的恢复结果。如果不需要持续使用该软件,则…...

windows安装JDK并配置环境变量

一、JDK安装 1.控制面板-程序有的话,先卸载 2.双击安装 3.下一步 4.选择安装路径 5.下一步,等着安装完成 6.校验安装是否成功,winr,输入“cmd” 疑问:安装17,显示21?? 二、环境变量 1.计算机…...

Web3.0合约安全:重入攻击防御方案

本文深度剖析智能合约重入攻击的13种新型变种及其防御体系,结合EIP-6780标准与Layer2安全方案,系统性阐述从代码层到协议层的立体防护策略。通过解析Uniswap、Compound等顶级项目的安全实践,揭示如何构建零重入风险的智能合约架构。 第一章 重…...

一文详解QT环境搭建:ubuntu20.4安装配置Qt5

随着软件开发技术的不断进步,跨平台应用程序的需求日益增长,开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C框架,在这方面提供了卓越的支持,不仅简化了GUI应用程序的创建过程&#…...

Android开发: Java文件中操作基础UI组件

Android Java文件中基础UI组件操作指南 一、常用UI组件基本操作 1. TextView文本控件 TextView textView findViewById(R.id.textView);// 设置文本内容 textView.setText("欢迎使用Android");// 设置文本颜色 textView.setTextColor(Color.BLUE); // 使用Color…...