深度解读AIGC存储解决方案
5月26日,2023数据基础设施技术峰会在苏州举办,腾讯云首席存储技术专家温涛受邀出席并分享了腾讯云领先的存储技术在AIGC场景中的应用,通过对AIGC业务流程和场景的提炼,从内容生成、内容审核和内容智理三要素介绍了如何智能的存储和管理数据。下面我们一起回顾下温涛的精彩分享。
从去年年底到今年年初,由新版本的ChatGPT发布开始,全球掀起了一股AIGC的话题狂潮。AIGC触发了内容生成的革命,也引爆了众多行业颠覆式的创新。人工智能突然就从高科技研究课题,演进为渗透到我们每个人生活中的商业产品。
AIGC是使用人工智能技术生成内容的工具,它包含了文本、音频、图像、视频的生成,以及这几者之间的跨模态生成。我认为AIGC的商业化落地节奏,大致可以分为三个阶段:
通用场景的应用落地
垂直行业的应用落地
创新型综合场景的应用落地
通用场景是基于单纯的文本、图片、音视频的AI生产内容技术,提供给设计、媒体、娱乐、客服咨询等没有太强行业属性的企业和个人,解决相对基础的AI市场需求。代表性的应用包括了ChatGPT和Midjourney。这个场景依赖的技术相对比较成熟,已经具有很多实际的商业化落地。
垂直行业是进一步把AIGC的能力和具体行业特点相结合,提供给强行业属性的企业,来提升技术和服务水平,提高行业生产效率。比如自动驾驶和医疗生物基因。这类应用目前还处于商业化前的基于预训练基础之上的Fine Tuning阶段,技术方面的问题基本上能够得到解决,商业模式也比较明确,商业化落地节奏属于正在进行时。
创新型综合场景所对应的行业,是比较新兴的具有前瞻性和实验性的场景,以机器人和元宇宙为代表。在这类场景,AIGC只是核心技术的一部分,还依赖硬件和商业模式等方案的创新。这类场景还处于技术储备和商业落地探索阶段。
目前腾讯云AIGC存储解决方案,聚焦在通用场景和垂直行业这两类AIGC应用的支持。尤其是在图片、音视频和自动驾驶领域有了很多尝试、验证和落地。
我们在实际项目中对AIGC业务处理流程进行了梳理。按照顺序,流程主要分为数据收集、数据预处理、特征工程、模型训练、应用推理这几个环节,也可以聚合为模型训练和应用推理两个阶段。
在实际的项目中,我们了解到客户对训练场景的存储能力有几个要求:
- 由于在每一个环节的前后,都涉及对数据的存储、加工、管理和流动,所以需要一种数据湖形态的统一存储来简化对数据的管理,提高数据流动的效率,并减低数据流动所带来的成本
- 大模型训练需要极高的算力,算力越大,训练速度越快,综合成本越优。训练过程中需要对数据进行读取和写入,需要存储性能和算力形成匹配,否则容易成为整个处理流程的短木板。
- 鉴于对AIGC生成物的侵权和合规性要求,在推理阶段需要对生产的内容进行审核和治理。
通过对业务流程和场景诉求的总结提炼,AIGC的核心要素,可以归结为内容生成、内容审核和内容智理三个要素。其中内容生成包括大模型训练和推理平台构建;内容审核包括对图片、文本和音视频等生成物的内容审核和数据处理;内容智理包括对生成物的内容分类、标注、内容特征的生产和查询...腾讯云在AIGC场景的存储解决方案,就是依据这三个核心要素来进行设计的。
接下来,我会围绕这三个核心要素,从数据存储与管理的角度,分别介绍腾讯云的解决之道。
内容生成之道
我们使用了数据湖存储来满足场景的要求,利用对象存储COS实现了通过一种存储类型,来满足各个环节对存储的需求,无需数据迁移,即可实现数据的统一接入,和数据的自由流动。同时利用数据加速器GooseFS的缓存加速能力,大幅度提升了数据处理和训练性能。使用COS+GooseFS的数据湖存储方案,也大大降低了AIGC系统的存储成本。
什么是GooseFS?
GooseFS是一种利用计算侧资源实现数据缓存加速的存储服务,适用于大数据分析、AI、HPC、基因测序、渲染等多种场景,配合COS对象存储,为客户提供低成本高性能的存储能力。
GooseFS有以下几个特点:
- 多协议支持:可以对接HDFS、FUSE和S3等多种协议;
- 支持云原生部署:可以通过容器化部署,也可以和Hadoop进行集成;
- 可以使用内存和SSD等不同性能的介质作为缓存介质,实现多级缓存,根据不同的缓存介质,GooseFS可以提供2~10倍的性能提升。
如何实现多级缓存加速?
面向不同的业务场景,会有不同的数据量和不同的性能要求。以AIGC场景为例,对于NLP和GPT场景,训练所需的数据量通常在10100TB,所需的存储空间不大,但是IO模型属于每次字节级的读操作,对时延要求很高。使用GPU节点自带内存的剩余空间作为缓存的存储介质比较合适,不需要额外配置SSD。而对于ViT和Diffusion这类图片模型训练场景,数据量通常在100T1PB,就不适合放在内存里,选用本地的SSD介质可以达到更优的性价比。对于需要长期存放的原始数据,就可以放在COS里做持久化,从而降低成本。通过GooseFS多级缓存加速机制,就能够精细化的满足各种不同场景的性能要求。
因为训练场景需要读取海量文件,就需要缓存系统支持对海量文件规模的管理能力。我们来看看GooseFS在水平和垂直两个方向分别是如何实现的。
水平方向上,也就是在跨节点方向上,GooseFS 采用分布式元数据架构,通过分布式KV管理元数据,元数据规模可以按需横向线性扩展。
垂直方向上,也就是在节点内部,GooseFS利用Numa绑核绑内存来部署KV进程,从而使单节点可以部署多个分布式KV进程。
通过上述两个方向上的技术,GooseFS可以支持管理百亿文件规模的元数据,满足单集群管理海量训练数据集的需求。
AIGC训练时到底能够支持多大的体量的文件数?如何保障存储系统性能?关键的点就是元数据管理。
GooseFS支持Master的多机并发读,元数据服务由一个Leader Master和若干Follower Master构成,Follower Master承载跟Leader一样的读流量,元数据QPS性能随着Master节点的数量呈线性增加。从而可以提供百万级QPS的元数据访问能力。
GooseFS也支持私有化部署,来构建混合云缓存方案。基于数据湖搭建混合云大模型训练平台,做到一份Dataset,多地训练。通过这个方案,在数据湖上保存一份数据,可以通过缓存的机制把数据带到任何计算相关的地点去。
除了数据加速以外,腾讯云面向AIGC训练场景提供了端到端的解决方案。基于腾讯云高性能计算集群HCC、TACO训练加速、TCCL网络加速、GooseFS数据加速,构建了AIGC大模型训练和推理应用平台。
存储方面,依靠COS的海量存储能力+GooseFS的数据加速能力,提供高性能低成本的存储,可为AI集群训练快速提供数据。
计算方面,高性能计算集群HCC通过自研服务器提供最新代次A800、H800实例。通过TACO Train加速套件,提供软硬件协同优化,支持训练性能提升30%以上。
网络方面,基于自研星脉网络架构,提供最高3.2Tbps RDMA网络,结合自研拥塞控制算法及TCCL集合通信库加速分布式训练通信效率。
内容审核之道
腾讯云数据万象CI基于深度学习的文本、图片、音视频检测技术,结合腾讯深耕内容领域积累的海量训练数据,可以精准高效识别出生成数据中的敏感信息。提供包括色情、涉政、暴恐、广告等多种合规问题的审核能力。对AIGC的输入和输出环节进行把控,帮助客户规避运营风险。
CI整合了腾讯多个前沿实验室的技术能力,包括了AI实验室的基础算法能量流、优图实验室的图像识别能力、多媒体实验室对编解码的研究,以及天御实验室的安全风控算法。同时具备腾讯多年在泛互行业的实践经验。此外CI还打造了无代码,0基础入门,无需下载,省时好用的智能处理工具-智能工具箱,降低技术接入门槛。
内容智理之道
AIGC存储解决方案复用了腾讯企业网盘的一些能力,可以对AI生成物提供权限划分、在线编辑、协同办公等企业化文件管理能力,助力终端用户和企业客户更好的对AI生成物进行管理,提升工作效率。
总结
腾讯云存储解决方案,围绕AIGC,提供了涵盖内容生成、内容审核和内容智理的全生命周期的数据存储与管理解决方案,很好的做到了高性能和低成本两个目标方向的兼顾,为基于海量数据的AI训练提供了坚实的存储与管理的数据底座。
深度解读AIGC存储解决方案的更多相关文章
- AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 张钦坤 腾讯研究院秘书长蔡雄山 腾讯研究院法律研究中心副主任祝林华 腾讯研究院法律研究中心助理研究员曹建峰 腾讯研究院法律研究中心高级研究员 ...
- 如何用区块链技术解决信任问题?Fabric 架构深度解读
阿里妹导读:区块链技术,随着比特币的兴起而为大家所知.但是具体到技术本身,大家相对熟悉的几个词可能是“数据不可篡改”.“公开链”.“分布式数据”.“共识机制”等. 这篇文章将抛砖引玉,通过深度解读Hy ...
- 重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源
今天这篇文章我们打算来深度解读一下equal方法以及其关联方法hashCode(),我们准备从以下几点入手分析: 1.equals()的所属以及内部原理(即Object中equals方法的实现原理) ...
- SQL Server 2019 深度解读:微软数据平台的野望
本文为笔者在InfoQ首发的原创文章,主要利用周末时间陆续写成,也算近期用心之作.现转载回自己的公众号,请大家多多指教. 11 月 4 日,微软正式发布了其新一代数据库产品 SQL Server 20 ...
- 【转载】深度解读 java 线程池设计思想及源码实现
总览 开篇来一些废话.下图是 java 线程池几个相关类的继承结构: 先简单说说这个继承结构,Executor 位于最顶层,也是最简单的,就一个 execute(Runnable runnable) ...
- 深度解读Facebook刚开源的beringei时序数据库——数据压缩delta of delta+充分利用内存以提高性能
转自:https://yq.aliyun.com/topic/58?spm=5176.100239.blogcont69354.9.MLtp4T 摘要: Facebook最近开源了beringei时序 ...
- Java并发指南12:深度解读 java 线程池设计思想及源码实现
深度解读 java 线程池设计思想及源码实现 转自 https://javadoop.com/2017/09/05/java-thread-pool/hmsr=toutiao.io&utm_ ...
- 干货来了!2019阿里云合作伙伴峰会SaaS加速器专场回顾合集:嘉宾分享、深度解读
2019年7月26日,在上海举办的阿里云合作伙伴峰会上,阿里云正式发布SaaS生态战略,计划用阿里云的品牌.渠道.资本.方法论.技术加持伙伴,成就亿级营收独角兽. 该生态战略计划招募10家一级SaaS ...
- Atitit。数据库 安全性 重要敏感数据加密存储解决方案
Atitit.数据库 安全性 重要敏感数据加密存储解决方案 1.1. 加密存储的重要性1 1.2. 使用的加密算法aes1 1.3. 数据加密以后会有一些问题.1 1.3.1. 一个是统计,比如统计资 ...
- 我就是认真:Linux SWAP 深度解读(必须收藏)
我就是认真:Linux SWAP 深度解读(必须收藏) http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651660097& ...
随机推荐
- [bx] 和 Loop指令
在masm编译器中不同于debug的命令 如:在debug中 mov ax,[0] --> 是说将 偏移地址为 0 中的数据送入ax中 而在汇编语言中 mov ax,[0] --> 是说将 ...
- 安装Zookeeper和Kafka集群
安装Zookeeper和Kafka集群 本文介绍如何安装Zookeeper和Kafka集群.为了方便,介绍的是在一台服务器上的安装,实际应该安装在多台服务器上,但步骤是一样的. 安装Zookeeper ...
- 理解Linux系统: 进程
Linux内核版本: 2.6.11.12 编写代码: 创建进程 创建进程使用fork系统调用,官方文档对于fork的描述: fork() creates a new process by duplic ...
- #Powerbi 利用视觉对象着色地图,制作数据地图
日常工作中,有时我们会遇到需要地图来展示我们的数据场景,利用POWERBI,我们可以快速的制作自己的业务地图. Powerbi自带了三大地图,今天我们用到的是形状地图. 步骤讲解: 第一步:下载对应的 ...
- 【python爬虫】对于微博用户发表文章内容和评论的爬取
此博客仅作为交流学习 对于喜爱的微博用户文章内容进行爬取 (此部分在于app页面进行爬取,比较方便) 分析页面 在这里进行json方法进行,点击Network进行抓包 发现数据加载是由这个页面发出的, ...
- 2020-08-11:一颗现代处理器,每秒大概可以执行多少条简单的MOV指令,有哪些主要的影响因素?
福哥答案2020-08-11: [知乎答案](https://www.zhihu.com/question/413389230)MOV 指令将源操作数复制到目的操作数,是最基本的指令.首先就和CPU主 ...
- 2022-09-23:整数数组 stations 表示 水平数轴 上各个加油站的位置。给你一个整数 k 。 请你在数轴上增设 k 个加油站, 新增加油站可以位于 水平数轴 上的任意位置,而不必放在整数
2022-09-23:整数数组 stations 表示 水平数轴 上各个加油站的位置.给你一个整数 k . 请你在数轴上增设 k 个加油站, 新增加油站可以位于 水平数轴 上的任意位置,而不必放在整数 ...
- 2022-08-04:输入:去重数组arr,里面的数只包含0~9。limit,一个数字。 返回:要求比limit小的情况下,能够用arr拼出来的最大数字。 来自字节。
2022-08-04:输入:去重数组arr,里面的数只包含0~9.limit,一个数字. 返回:要求比limit小的情况下,能够用arr拼出来的最大数字. 来自字节. 答案2022-08-04: 从左 ...
- 2020-11-25:go中,map的底层数据结构是什么?
福哥答案2020-11-25: 简单回答:hmap映射头.bmap桶.mapextra溢出额外信息 中级回答: // 映射头 type hmap struct { // Note: the forma ...
- 2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大。返回这个最大结果。时间复杂度O(N),额外空间复杂度O(1)。
2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大.返回这个最大结果.时间复杂度O(N),额外空间复杂度O(1). 福大大 答案2021-05-1 ...