AI大模型时代的存储发展趋势

人工智能
从2022年下半年,大模型和AIGC这两个词变得极其火热,而GPU的市场也是一卡难求。对于这种迷乱和火热,让我想起了当年的比特币挖矿和IPFS。似乎世界一年一个新风口,比特币、元宇宙、NFT、AIGC,金钱永不眠,IT炒作永不停歇。

从2022年下半年,大模型和AIGC这两个词变得极其火热,而GPU的市场也是一卡难求。对于这种迷乱和火热,让我想起了当年的比特币挖矿和IPFS。似乎世界一年一个新风口,比特币、元宇宙、NFT、AIGC,金钱永不眠,IT炒作永不停歇。

其实,每一个新的风口出现,总有两拨势力在冲突,保守派不断探索业务的真实价值,通过价值投资试图证明这又是一个新的庞氏骗局;另一波则是来势汹汹,集结一切可团结的力量,证明新时代已经来临。

对于这一个个的风口,AIGC和大模型似乎与前几年的风口不一样,让我们看到了一丝真正的未来科技,在这篇文章,主要分享我对大模型&AIGC的看法,以及从存储的视角思索,在大模型时代存储的发展趋势。

一、大模型和AIGC到底指的什么

AIGC:继专业生产内容(PGC,professional-generated content)、用户生产内容(UGC,User-generated content)之后的新型内容创作方式,主要是基于生成对抗网络GAN、大型预训练模型等人工智能技术,自动生成图像、视频、文本 、音频等作品。

AIGC的炒作来自于2022年9月,太空歌剧院获得美国科罗拉多州举办艺术博览会一等奖,熟悉的套路,熟悉的配方,是不是跟NFT炒作一模一样(据佳士得拍卖行官方报道,数码艺术家Beeple的NFT作品《每一天:前5000天》以约合人民币4.51亿元的高价成交,刷新了数码艺术拍品的最高成交价等纪录。)。

AIGC与以前的不同在于,在AI领域有ANI弱人工智能(Artificial Narrow Intelligence)、AGI强人工智能(Artificial General Intelligence)、ASI超人工智能(Super Artificial Intelligence),大模型的出现,让人兴奋的是看到了AGI的希望,而不是所谓的生成一句话或者问答机器人或者AI作画;因为AI初步具备了理解和创造的能力,为了将这种能力通俗的展示给业界和投资界,大家才轰轰烈烈的创造了各种AIGC的应用。

2021年8月份,李飞飞和100多位学者联名发表一份200多页的研究报告《On the Opportunities and Risk of Foundation Models》,在文章中,AI专家将大模型统一命名为Foundation Models,可以翻译为基础模型或者是基石模型,论文肯定了Foundation Models对智能体基本认知能力的推动作用,同时也指出大模型呈现出「涌现」与「同质化」的特性。人工智能-》机器学习-》深度学习-》大模型这条演进之路反映了我们人工智能的发展历史。

从人工智能到机器学习,将计算解耦交给了机器;从机器学习到深度学习,我们把函数架构同质化到了神经网络,只需要提取模型特征;从深度学习到基础模型,我们连特征也放弃了,世界的知识模型走了同质化,相应的也获取了泛化能力。

而涌现能力则是另一个在生物学和自然领域常见的能力,在大模型领域也出现了对应的特征。比如说,上下文学习(In-Context Learning)、思维链(Chain of Thought,CoT)等,基于现有仅有的几个大模型架构来说,业界认知:>100B 出现涌现能力。

最近几年大语言模型(LLM) 获得了越来越多的关注,其中最知名的当属 GPT-3[6] 模型。GPT-3 模型展现了一些大模型才具备的突现能力(就是模型规模必须得增大到一定程度才会显现的能力,比如至少百亿级),其中一项能力就是上下文学习(In-Context Learning)。该能力简单来说就是,对于一个预训练好的大语言模型,迁移到新任务上的时候,只需要给模型输入几个示例(示例输入和示例输出对),模型就能为新输入生成正确输出而不需要对模型做 fine-tuning。

上下文学习(In-Context Learning)CoT本质上是一种特殊的few shot prompt,就是说对于某个复杂的比如推理问题,用户把一步一步的推导过程写出来,并提供给大语言模型(如下图蓝色文字内容所示),这样大语言模型就能做一些相对复杂的推理任务。

思维链(Chain of Thought,CoT)思维链(Chain of Thought,CoT)

二、大模型产业链的一些影响

大模型不仅仅改变了AI研发模式,也对整个AI的商业链条做了重构,以前每个公司根据自己的业务都会发展自己的模型,公安的人脸识别、淘宝的推荐系统、字节的内容推荐等等,但是在大模型出现后,业界出现了分化:

1、基础层(模型服务)基础层为采用预训练大模型搭建的基础设施。由于开发预训练大模型技术门槛高、投入成本高,因此,该层主要由少数头部企业或研发机构主导。如谷歌、微软、Meta、OpenAI、DeepMind、Stability.ai等。基础层的产品形态主要包括两种:一种为通过受控的api接口收取调用费;另一种为基于基础设施开发专业的软件平台收取费用。

2、中间层(2B)该层与基础层的最主要区别在于,中间层不具备开发大模型的能力,但是可基于开源大模型等开源技术进行改进、抽取或模型二次开发。该层为在大模型的基础上开发的场景化、垂直化、定制化的应用模型或工具。在AIGC的应用场景中基于大模型抽取出个性化、定制化的应用模型或工具满足行业需求。如基于开源的Stable Diffusion大模型所开发的二次元风格图像生成器,满足特定行业场景需求。中间层的产品形态、商业模式与基础层保持一致,分别为接口调用费与平台软件费。

3、应用层(2C)应用层主要基于基础层与中间层开发,面向C端的场景化工具或软件产品。应用层更加关注用户的需求,将AIGC技术切实融入用户需求,实现不同形态、不同功能的产品落地。可以通过网页、小程序、群聊、app等不同的载体呈现。以数据流的视角看,大模型的业务研发和业务流程也发生了不同的变化:

三、大模型的主要技术门槛

回顾ChatGPT的发展历程,我们可以总结出大语言模型(LLM)取得惊艳效果的要点(重要性从高到低排序):
• 愿意烧钱,且接受“烧钱 != 好模型”的现实
• 高质量的训练语料
• 高效的分布式训练框架和充沛优质的硬件资源
• 算法的迭代创新

大模型的技术门槛很高,但是从IT的视角来看,还是因为模型太大带来了不可解决的一些问题。以GPT-3训练为例,我们可以看到,训练过程中基础模型的加载和存储GPT3模型训练内存需求= 参数+梯度+优化器+其他 >2800GB >> 80GB(A100显存大小)。大概需要35张A100卡才能完整加载模型训练过程中的数据,还不包括其他的冗余等信息。

因此,大模型的训练从原来的单卡演进到了多机多卡,多机多卡必然带来资源利用率的下降,GPT-3的计算资源利用率至于大概21.3%。所以这几年大家努力的方向主要是如何提升资源利用率。片上内存(on-chip memory)、芯片间互连的带宽(英伟达的NVlink)、多机多卡的调度是主要的努力方向。

其中片上内存(on-chip memory)、芯片间互连的带宽(英伟达的NVlink)主要是GPU厂商提供的,作为云基础设施厂商主要努力只能发力集群的多机多卡调度。

大部分的大模型训练都走向了并行化,业界几种经典的分布式并行范式,包括流水线并行(Pipeline Parallelism),数据并行(Data Parallelism)和张量并行(Tensor Parallesim)。在并行训练中,主要要解决如下的问题:
• 大模型内存墙:以GPT3为例,模型参数+梯度参数+优化器需要内存2.8TB(175B参数)
• 训练效率:多机并行训练情况下,训练效率下降;单个模型的训练时长可控
• 训练稳定性:训练时长较长,经常出现硬件错误或者网络错误;收敛失败,遇到bug

解决的方式是融合了网络、并行框架、存储。在这篇文章中,我们重点关注存储的需求。

四、大模型训练的数据流以及IO瓶颈

先介绍几个训练相关的概念:单个epoch的阶段:全量样本训练一次, shuffle、读 batch、存checkpoint等。

整个训练数据流如下:

  • 数据打散:遍历样本数据,进行文件的shuffle
  • 数据加载:海量小文件元数据操作(ImageNet 1~100KB,蚂蚁 500KB,文件数量1100亿),定长的文件数据读取(128K256K)
  • Checkpoint存储(原子操作):顺序大 I/O写(模型checkpoint),单个GPU状态checkpoint(单卡一路大块顺序写),时间敏感(30S~5分钟)

根据一些统计的结果,可以发现很多训练的样本集面临的情况是,样本数量非常大,但样本的平均大小又很小。以 ImageNet 数据集为例,整个数据集包含几百万(ImageNet 1K)、上千万(ImageNet 22k)的图片,平均一个图片大小仅为一百多 KB。这个大小对存储系统来说是非常小的。训练存储的IO特征主要是海量小文件管理及元数据高QPS,总结来说:

  • 小IO时延敏感、元数据QPS密集(大量小文件读)
  • 线程固定(硬件相关),单流性能对带宽影响较大
  • 高QPS(定长读取,QPS放大)
  • 预取友好(定长读取,全量单次读LRU缓存无效)

我们以估算值估计一下,OSS读取512KB数据通常30~80ms,Nas读取512K 20ms。在一个32核CPU的机器,加载一个100W的文件时,以32个线程执行reader。对于深度学习训练任务,在模型计算前,一般会对数据集做shuffle,打乱数据之间的顺序,让数据随机化,这样可以避免过拟合。数据的shuffle使得一个任务多个epoch间乱序访问数据,造成传统基于LRU替换策略的缓存方式失效。需要下+decode+标准化都完成后才会下载下一个文件。低时延、高QPS能力的文件存储是AI训练场景的优选。

五、存储数据流在云上云下的区别

在传统的架构里,大容量的冷数据存储和高性能存储是分别维护的,对于 AI 训练的部分,数据的存储、生产、消费都发生在高性能存储中,自成体系,只有转冷的数据才会考虑转移到大容量存储中去。比例较小的反向数据流转(从大容量存储到高性能存储)通过工具来解决。

但到了数据湖里,数据湖存储才是最全量、最权威的数据来源,大部分情况下,数据的第一个落脚点是数据湖,然后才会到高性能的加速层。在存算分离架构中,加速层本身都只是临时的存在,其中的数据生命周期和计算资源同步,略早于计算资源的创建而生成,计算资源销毁时同步删除。这就导致数据湖到加速层的数据同步成为一个高频、核心的需求,需要花大力气解决。

传统AI架构

  • 高性能存储和大容量存储分离部署和维护
  • 所有训练数据在高性能存储中清洗、训练、试用数据转冷后流转到冷存储(手动&工具)

云AI架构

  • 数据入湖后第一时间进入对象存储(数据湖存储底座)
  • 数据训练过程需要从对象存储加载需要的数据(自动化)
  • 部分厂商推荐客户使用手动加载(跳板机映射或者开源主机缓存软件)

湖仓一体是实现海量多模态数据统一管理的必要手段。企业在数字化转型过程中更加关心利用数据和信息来创造自身竞争优势,因此,实现底层数据的统一管理是进行上层资产管理和业务决策分析的关键。

湖仓一体与AI大模型的融合表现在两个方面:一是湖仓一体赋能AI大模型,即创新湖仓一体架构来满足大模型生成式AI,如ChatGPT,对于海量数据存储、训练和实时推理的需求,将通用大模型在湖仓一体中的数据进行迁移学习,生成行业/企业专属大模型;二是AI大模型赋能湖仓一体,即企业更希望湖仓一体解决方案融合ChatGPT来实现开发侧的新业务与应用的敏捷开发、数据智能分析、资源统一管理,以及上层业务侧的数据快速查询分析和总结,并创建一个‘所想即所得’的即席交互页面。

尽管湖仓概念提供了很多希望,但仍然面临技术挑战。市场上的大多数供应商都在优化单个 SQL 引擎来处理一系列工作负载,但这通常是不够的,因为某些应用程序需要更高的性能,而另一些应用程序则需要更大的语言灵活性。

湖仓一体正在受到广泛关注,用户希望优化对其业务最关键的组件。湖仓一体架构可以带来现代数据工程、数据科学和分析用例所需的灵活性、模块化和经济高效的可扩展性,并且可以简化对未来增强功能的利用。然而,为了进一步优化并提供更大的开放性和灵活性,仍有很多工作要做—业界正在寻找开放式数据湖仓最佳实践。


责任编辑:华轩 来源: 数字化助推器
相关推荐

2021-04-29 09:04:00

存储技术趋势

2023-09-25 14:11:13

AI

2022-07-22 11:53:29

人工智能AI发展趋势

2023-07-14 13:49:18

OceanStor华为

2014-08-11 16:20:18

数据存储

2017-12-06 08:49:04

数据存储趋势

2019-12-26 09:24:19

数据存储存储

2024-01-29 10:57:52

HBMCXLDNA

2024-01-18 10:32:25

存储2024年预测

2023-12-15 09:00:00

存储安全人工智能

2019-02-01 11:14:34

AI 行业 人工智能

2021-02-09 22:18:02

金融行业数据存储

2016-11-07 20:25:58

2023-12-15 14:56:54

人工智能ChatGPT

2020-06-04 13:55:28

人工智能物联网区块链

2023-05-10 14:40:40

AI模型算力

2020-12-16 10:00:48

AI网络安全人工智能

2021-03-19 08:56:31

分布式存储铁力士分布式

2016-01-21 09:30:56

编程趋势预测

2017-07-05 15:52:19

能源智能电网互联网
点赞
收藏

51CTO技术栈公众号