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

从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 引擎来处理一系列工作负载,但这通常是不够的,因为某些应用程序需要更高的性能,而另一些应用程序则需要更大的语言灵活性。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/777343.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【React】React18 Hooks 之 useReducer

目录 useReducer案例1:useReducer不带初始化函数案例2:useReducer带初始化函数注意事项1:dispatch函数不会改变正在运行的代码的状态注意事项2:获取dispatch函数触发后 JavaScript 变量的值注意事项3:触发了reducer&am…

【MotionCap】pycharm 远程在wsl2 ubuntu20.04中root的miniconda3环境

pycharm wsl2 链接到pycharmsbin 都能看到内容,/root 下内容赋予了zhangbin 所有,pycharm还是看不到/root 下内容。sudo 安装了miniconda3 引发了这些问题 由于是在 root 用户安装的miniconda3 所以安装路径在/root/miniconda3 里 这导致了环境也是root用户的,会触发告警 WA…

Xilinx原语

1. 原语介绍 原语是 Xilinx 器件底层硬件中的功能模块,它使用专用的资源来实现一系列的功能。相比于 IP 核,原语的调用方法更简单,但是一般只用于实现一些简单的功能。本章主要用到了 BUFG、 BUFIO、 IDDR、 ODDR、IDELAYE2 和 IDELAYCTRL。…

14-29 剑和诗人3 – 利用知识图谱增强 LLM 推理能力

知识图谱提供了一种结构化的方式来表示现实世界的事实及其关系。通过将知识图谱整合到大型语言模型中,我们可以增强它们的事实知识和推理能力。让我们探索如何实现这一点。 知识图谱构建 在利用知识图谱进行语言模型增强之前,我们需要从可靠的来源构建…

AIGC | 为机器学习工作站安装NVIDIA 4070 Ti Super显卡驱动

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x00 前言简述 话接上篇《AIGC | Ubuntu24.04桌面版安装后必要配置》文章,作为作者进行机器学习的基础篇(筑基期),后续将主要介绍机器学习环境之如何…

springboot+vue+mybatis图书馆借阅管理系统+PPT+论文+讲解+售后

21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到…

项目实战--Spring Boot与PageHelper的集成及线程污染解决

一、PageHelper使用背景 公司要做个简单管理系统,要我搭建Spring BootMyBatisPageHelperRedis的项目框架然后交i给实习生来开发。这个其实很简单,但是遇到搭建和使用过程中PageHelper有好多小坑,就记录一下,避免再踩。 版本选择&…

hdu物联网硬件实验2 GPIO亮灯

学院 班级 学号 姓名 日期 成绩 实验题目 GPIO亮灯 实验目的 点亮三个灯闪烁频率为一秒 硬件原理 无 关键代码及注释 const int ledPin1 GREEN_LED; // the number of the LED pin const int ledPin2 YELLOW_LED; const int ledPin3 RED…

Java - JDK17语法新增特性(如果想知道Java - JDK17语法新增常见的特性的知识点,那么只看这一篇就足够了!)

前言:Java在2021年发布了最新的长期支持版本:JDK 17。这个版本引入了许多新的语法特性,提升了开发效率和代码可读性。本文将简要介绍一些常见的新特性,帮助开发者快速掌握并应用于实际开发中。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨…

Mysql笔记-v2【7月5日更新】

零、 help、\h、? 调出帮助 mysql> \hFor information about MySQL products and services, visit:http://www.mysql.com/ For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/ To buy MySQL Enterprise support, training, …

深入分析 Android BroadcastReceiver (八)

文章目录 深入分析 Android BroadcastReceiver (八)1. 系统与自定义实现1.1 系统广播机制1.1.1 系统广播的实现原理1.1.2 系统广播的源码分析 1.2 自定义广播机制1.2.1 自定义广播的实现步骤1.2.2 自定义广播的源码分析 2. 广播机制设计的初衷与优势2.1 设计初衷2.2 优势 3. 总…

一文读懂轻量日志收集系统Loki工作原理

Loki 是由 Grafana Labs 开发的日志聚合系统,设计目标是提供一种高效、低成本的日志收集和查询解决方案。与传统的日志系统(如 ELK Stack)不同,Loki 不会对日志内容进行索引,而是仅对日志的元数据进行索引,…

Python数据分析案例49——基于机器学习的垃圾邮件分类系统构建(朴素贝叶斯,支持向量机)

案例背景 trec06c是非常经典的邮件分类的数据,还是难能可贵的中文数据集。 这个数据集从一堆txt压缩包里面提取出来整理为excel文件还真不容不易,肯定要做一下文本分类。 虽然现在文本分类基本都是深度学习了,但是传统的机器学习也能做。本案…

Lunaproxy与711Proxy的对比与优劣分析

今天我们来深入对比两款在市场上备受关注的代理IP服务:Lunaproxy和711Proxy。接下来,我们将从多个角度对这两款服务进行详细分析,帮助大家做出明智的选择。 优势分析 711Proxy的优势 1. 性价比高:711Proxy提供多种灵活的套餐选…

【电商干货分享】干货速看!电商数据集大全!

数据分析——深入探索中小企业数字化转型,专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板,为钻研于数据分析的朋友们加油充电。 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中&#xff0…

C# Application.DoEvents()的作用

文章目录 1、详解 Application.DoEvents()2、示例处理用户事件响应系统事件控制台输出游戏和多媒体应用与操作系统的交互 3、注意事项总结 Application.DoEvents() 是 .NET 框架中的一个方法,它主要用于处理消息队列中的事件。在 Windows 应用程序中,当一…

芯片基识 | 掰开揉碎讲 FIFO(同步FIFO和异步FIFO)

文章目录 一、什么是FIFO二、为什么要用FIFO三、什么时候用FIFO四、FIFO分类五、同步FIFO1. 同步FIFO电路框图2. 同步FIFO空满判断3. 同步FIFO设计代码4. 同步FIFO仿真结果 六、异步FIFO1、异步FIFO的电路框图2 、亚稳态3、打两拍4、格雷码5、如何判断异步FIFO的空满&#xff0…

3D Web轻量化平台HOOPS Web Platform的功能与应用分析

随着3D技术在多个行业的广泛应用,对于3D模型轻量化的需求日益增长。HOOPS Web Platform作为一个先进的3D模型轻量化平台,为开发人员提供了一整套工具来构建和部署基于Web的工程应用程序。本文将分析HOOPS Web Platform的核心功能和它在不同领域的应用情况…

VBA初学:零件成本统计之一(任务汇总)

经过前期一年多对金蝶K3生产任务流程和操作的改造和优化,现在总算可以将零件加工各个环节的成本进行归集了。 原本想写存储过程,通过直接SQL报表做到K3中去的,但财务原本就是用EXCEL,可以方便调整和保存,加上还有一部分…

破解在制品管理不透明难题

在快节奏的现代工业浪潮中,每一个细微的管理环节都直接关系到企业的竞争力与盈利能力。在车间生产中,在制品管理流程不透明是一个常见问题,它可能导致生产效率低下、成本增加、库存积压以及沟通障碍等负面影响。 在制品管理流程不透明&#x…