人工智能的迅速发展有助于人类实现梦想,而系统所需的算力也必须随之增长。在高吞吐量、低延迟网络和深度学习模型的推动下,成千上万的 GPU 集群得到了普遍应用。这一不断发展的市场引发了 AI 架构师的深思。其中一个最重要的问题是:什么样的 AI 存储基础设施可以实现 AI 加速器(GPU、CPU 等)和网络设备满负载运行,且不会出现闲置时间?
对行业实践的分析显示,典型的 AI 项目周期由五个主要阶段组成:
要理解 AI 的存储需求,需要了解各阶段主要输入/输出 (I/O) 操作的本质,并对其进行综合考量,以获得全面的了解。
图 1. 典型 AI 数据管道概览
数据管道的第一步流程是获取最终用于训练模型的原始数据。根据模型的目标,这些数据可能有多种形式。对于大语言模型 (LLM) 而言,可能是一大批公共网站数据,例如由 Common Crawl 维护和更新信息的语料库。对于其他应用,可能是来自自动驾驶汽车的光学雷达 (LIDAR) 数据、医学成像记录或鲸声录音。原始数据的性质完全取决于开发人员的目标。
在本阶段中,当原始数据写入磁盘时,往往会在存储子系统引发大量顺序写入活动。
在开始训练之前,彻底准备好将输入训练集群的数据至关重要。
用于 AI 建模的原始数据继承了传统大数据的经典“3V”特征:大小、速度和种类。数据源的范围从事件日志、交易记录和物联网输入到 CRM、ERP、社交媒体、卫星图像、经济学和股票交易。有必要从这些不同来源中提取数据,并将其集成到数据管道中的临时存储区域中。这一步通常被称为“提取”。 然后将数据转换为合适的格式,以供进一步分析。在最初的源系统中,数据通常是混乱的,因此难以解读。转换的部分目的是提高数据质量。其中包括:
1. 清理无效数据
2. 删除重复项
3. 标准化测量单位
4. 根据数据类型组织数据
在转换阶段,还要对数据进行结构化和重新格式化,以符合其特定的业务目的。
数据分析师使用可视化和统计技术来描述数据集的特征,例如其规模、数量和准确性。通过对数据进行探索,他们可识别并检查不同变量之间的关系、数据集的结构、异常情况以及值的分布。数据探索使分析师能够更深入地研究原始数据。 数据探索有助于识别明显的错误,更好地了解数据中的模式,检测异常值或异常事件,并揭示变量之间的有趣关系。数据探索完成后,数据集通常会分为训练和测试子集。这些子集在模型开发过程中分别用于训练和测试目的。
AI 模型的成功取决于所选特征是否能够有效地表示所研究的分类问题。例如,考虑合唱团的个体成员:特征可以包括性别、身高、肤色和教育水平,或者他们可以仅仅关注音域。 相对于前面的四个维度,使用音域作为特征会将维度降低到四分之一(意味着数据量大大减少),但它可能会更好地概括合唱团成员的相关本质。 为了避免高维性的危害并降低计算复杂度,识别最有效的特征以降低特征维度的过程称为特征选择。在一系列特征中,揭示它们的内在关系和逻辑,例如哪些是互斥的,或者哪些是共存的,这被称为模式挖掘。
出于各种原因,可能需要转换数据。这可能是由于希望将某些数据与其他数据保持一致、促进兼容性、将部分数据迁移到另一个系统、与其他数据集建立连接或汇总数据中的信息所致。
数据转换的常见方面包括转换类型、改变语义、调整值范围、改变粒度、拆分表或数据集、转换行和列等。
得益于成熟的开源项目社区,我们在数据摄取和准备阶段拥有大量可靠的工具可供使用。这些工具使我们能够完成 ETL(提取、转换、加载)或 ELT(提取、加载、转换)任务。示例包括:
此外,对于创建大量特征集之类的任务,我们还可以依靠以下工具:
在数据准备阶段,典型的工作流程包括随机读取数据并按顺序写入已处理的数据。存储基础设施必须为小规模随机读取提供低延迟,同时提供高顺序写入吞吐量。
在训练数据集准备完成之后,下一阶段涉及模型开发、训练和超参数调整。算法的选择由用例的特点决定,并使用数据集训练模型。
根据测试数据集评估模型效率,根据需要进行调整,最终部署。AI 框架不断发展,流行的框架包括:
这个阶段对计算资源提出了极高的要求。存储至关重要,因为更快、更有效地向这些资源提供数据成为消除资源闲置的首要任务。
在模型开发过程中,数据集不断扩展,通常有许多数据科学家需要从不同的工作站同时访问。他们在成千上万的变化中动态增加条目,以防止过度拟合。
在这个阶段,存储容量开始变得至关重要,但随着并发数据访问操作的数量不断增加,可扩展的性能才是成功的真正关键。工作站和服务器之间的数据共享,以及快速、无缝的容量扩展,都是至关重要的存储能力。 随着训练的进行,数据集的大小会成倍增加,通常会达到数 PB。每个训练任务通常涉及随机读取,整个过程由访问同一数据集的多个并发任务组成。多个任务竞相进行数据访问,加剧了整体随机 I/O 工作负载。 从模型开发到训练的过渡需要能够不间断扩展的存储设备,以容纳数十亿个数据项。它还需要快速的多主机随机访问,特别是高随机读取性能。
训练任务通常会解压缩输入数据、增强或扰乱数据、随机化输入顺序,并需要数据项枚举,以查询训练数据项列表的存储空间,尤其是在多达数十亿个参数的情况下。
庞大的训练规模提出了新的要求。如今的训练任务可能要运行数天甚至数月的时间。因此,大多数任务都会定期写入检查点,以便从故障中快速恢复,最大限度地减少从头开始的需要。 因此,训练期间的主要工作负载由随机读取组成,偶尔在检查点期间被大量连续写入打断。存储系统应该能够维持并发训练任务所需的密集随机访问,即使在检查点期间出现大量连续写入时也是如此。
完成模型训练后,在部署之前,仍需执行几个重要步骤。
在验证期间,开发人员会使用单独的数据集(或未用于训练的部分原始数据)对模型进行测试,以确保模型按照预期运行,并产生合理的输出。如果没有,则表明训练流程需要重新审视和改进。 另一项重要活动是模型量化,包括降低单个模型参数的精度。例如,训练流程的结果通常是 16 位的参数,而 4 位就够了。通过量化,模型变得更小,推理速度加快。 值得注意的是,量化可以发生在模型开发过程中的几个节点。最常见的两种情况是:训练后量化 (PTQ),它发生在部署之前;以及量化感知训练 (QAT) 方法,即在训练阶段实时缩减参数。
总之,AI 模型开发是一个高度迭代的过程,其中连续的实验会证实或反驳假设。随着模型的发展,数据科学家使用样本数据集对它们进行训练,通常要经过数万次迭代。 每次迭代时,他们都会扩充数据项并稍微随机化,以防止过度拟合,从而创建既准确又适用于训练数据集的模型,同时也适用于实时数据。随着训练的推进,数据集不断增长,这会导致从数据科学家的工作站过渡到具有更强大计算和存储能力的数据中心服务器。
倾听 Solidigm 合作伙伴 VAST Data 介绍 AI 数据管道的各个阶段,并了解它们如何影响整个管道对存储的需求
模型开发完成后,就可以部署并上线服务了。在这个推理阶段,现实世界的数据被输入到模型中,理想情况下,输出结果会提供有价值的见解。通常,模型会不断进行微调。在推理阶段输入到模型中的全新真实数据会被纳入再训练过程,从而提高其性能。
AI 存储基础设施必须在整个项目生命周期内全天候无缝运行。它应该具备自我修复能力,以处理组件故障并实现无中断扩展和升级。 数据科学家需要生产数据来微调模型,并探索不断变化的模式和目标,这凸显了统一平台(服务于所有项目阶段的单一存储系统)的重要性。这样的系统允许开发、训练和生产部门轻松访问动态变化的数据。
当模型持续生成准确的结果时,它就会被部署到生产中。然后重点从完善模型转移到维护强大的 IT 环境。生产可以采用各种形式,无论是交互式还是批量式。持续使用新数据有助于完善模型以提高准确性,数据科学家在分析模型输出的同时定期更新训练数据集。
对于生成式 AI 模型而言,重要性与日俱增的一项发展是检索增强型生成 (RAG),该技术可为经过训练的模型提供一种机制,供其在推理过程中连接到额外的资源库。
例如,有一个在 6 个月前使用当时最新公共数据集进行训练,但不具备 RAG 功能的 LLM。它将具有几个显而易见的缺点:
开发人员可以通过对模型进行频繁(且成本高昂)的重新训练,或将私有数据添加到训练数据集中(这可能会引入风险,或不可行),来解决这些问题。他们也可以利用 RAG,将预先训练好的模型与公共搜索引擎、新闻网站、公司电子邮件服务器等连接起来。
在使用 RAG 的情景下,我们的示例 LLM 会接收到来自用户的输入,能够将提示语路由至其他资源库,并将原始输入和添加的情境资讯都回传用于推理,从而生成更有用的答案。
一旦您的推理输入和输出反馈到管道中,用于对模型进行微调,就可以进行该流程的最后一步操作。监管部门对 AI 热潮的关注日益增加,数据保留要求也随之不断提高。出于合规和审计目的,对来自整条 AI 管道的数据进行存储的需求,使人们对存储的写入性能和容量要求有所上升。
表 1 对 AI 项目周期的各个阶段、各自的 I/O 特征以及由此产生的存储要求进行了总结。
AI 阶段 | I/O 特性 | 存储要求 | 影响 | 数据摄取 | 海量顺序写入 | 高顺序写入吞吐量 | 优化的存储意味着可以更快地进行摄取流程 | 数据准备 | 随机读取数据;按顺序写入预处理项 | 小规模随机读取的低延迟;高顺序写入吞吐量 | 优化的存储意味着管道可以提供更多的数据用于训练,从而建立更准确的模型 | 模型开发(训练) | 随机读取数据 | 多任务性能和容量的可扩展性;优化随机读取;检查点的高顺序写入性能 | 优化的存储可提高昂贵的训练资源(GPU、TPU、CPU)的利用率 | 模型部署(推理) | 混合随机读写 | 处理组件故障的自我修复能力;无中断扩展和升级;模型进行微调时具备与训练阶段相同的功能 | 业务需要高可用性、可服务性和可靠性 | 归档 | 以批量(顺序)或实时(随机)方式进行写入 | 高写入性能,特别是在生成式 AI 模型中 | 为满足合规性和审计要求,企业需要更好地保留数据 |
---|
表 1. AI 项目周期、I/O 特征和后续存储要求
在初始模型开发期间从单机箱系统开始的 AI 项目,需要随着训练期间数据需求的增长以及生产中积累更多实时数据而灵活地扩展。为了实现更大的容量,在基础设施层面采用了两个关键策略:增加单个磁盘容量,以及扩大存储机箱的集群规模。
提升单个磁盘的容量以及提高存储节点的横向扩展能力是至关重要的因素。在磁盘级别,Solidigm D5-P5336 QLC SSD 等产品的容量目前至高可达 61.44 TB。 在存储机箱级别,EDSFF(企业和数据中心标准外形)展现了无与伦比的存储密度。 对于 U.2 15 毫米外形驱动器,典型的 2U 机柜可容纳 24 至 26 个磁盘,原始容量至高可达 1.44 PB。升级到 E1.L 9.5 毫米外形磁盘,如图 1 所示,1U 机箱支持 32 个磁盘。使用 2U 时,存储密度大约比 2U U.2 机箱高 2.6 倍。比较如表 2 所示。
外形 | 2U 机架空间中 60 TB 驱动器的数量 | 每个 2U 机架空间的容量 | 传统 U.2 15 毫米 | 24 | 1.47 PB | E1.L 9.5 毫米 | 64 | 3.93 PB |
---|
表 2. 基于驱动器外形的 2U 机架单元容量
值得注意的是,单个机箱中存储密度越高,存储节点占用的机架空间、所需的网络端口数量以及运行所需的功耗、散热和备件就越少。
图 2. 面向 E1.L 设计的系统
考虑到前面提到的多团队的协作并行工作以及在交付之前训练更多数据的需要,存储的数据共享能力至关重要。这体现在存储网络的高 IOPS、低延迟和带宽上。此外,对多路径的支持至关重要,以便在网络组件发生故障时,网络服务仍能继续运行。 随着时间的推移,现成的网络现已整合为以太网和 InfiniBand。InfiniBand 具有较高的数据传输速率、领先的带宽和低延迟性能以及 RDMA 本机支持。因此,InfiniBand 是支持 AI 存储的强大网络。目前最流行的以太网带宽为 25Gbps、40Gbps 和 100Gbps。最近的 AI 部署采用 200Gbps 和 400Gbps 网络。
对于所有类型的 I/O 操作,AI 存储性能都应保持一致。无论是 1KB 的小项目标签还是 50MB 的大图像,每个文件和对象都应能在大致相同的时间内被访问,确保首字节访问时间保持一致。
在 AI 项目中,批量复制、枚举、更改属性等常见任务需要高效的并行网络文件操作。这些操作大大加快了 AI 模型的发展。NFS(网络文件系统)最初由 Sun Microsystems 于 1984 年开发,至今仍然是最主要的网络文件系统协议。基于远程直接内存访问的 NFS (NFSoRDMA) 特别适合涉及传输大量数据的计算密集型工作负载。RDMA 的数据移动卸载功能减少了不必要的数据复制,从而提高了效率。
AI 存储解决方案应提供充足的容量、强大的数据共享功能、面向不同 I/O 类型的一致性能以及对并行网络文件操作的支持。这些要求确保 AI 项目能够有效地管理其不断增长的数据集,并满足 AI 模型开发和部署的性能需求。
AI 的发展不断超出我们的预期。由于迫切需要以更快的速度向计算“巨兽”提供更多数据,因此处理时间和处理能力都不能闲置。Solidigm 提供具备不同外形、密度和价位的解决方案,可满足各种 AI 部署的需求。高密度 QLC SSD 在性能、容量、可靠性和成本方面均已得到验证。
图 3. 纯 TLC 解决方案过渡到 SLC/TLC+QLC
借助 CSAL、Solidigm D7-P5810 SLC SSD 和 D5-P5336 SSD,客户可以在性能、成本和容量方面调整部署。1 显然,凭借创新的完整堆栈和开源存储解决方案,Solidigm SSD 在推动 AI 存储发展方面具有独特的优势。
图 4. 使用 CSAL 的写入整形缓存
Sarika Mehta 是 Solidigm 的高级存储解决方案架构师,在存储行业拥有 15 年以上的丰富经验。她致力于与 Solidigm 客户和合作伙伴密切合作,以优化其存储解决方案的成本和性能。
Wayne Gao 是 Soldigm 的首席工程师,担任存储解决方案架构师。Wayne 曾参与 CSAL 从 Pathfinding 到阿里巴巴商业发布的相关工作。作为 Dell EMC ECS 全闪存对象存储团队的成员,Wayne 拥有超过 20 年的存储开发经验,拥有 4 项美国专利申请/授权,并且发表过 EuroSys 论文。
Yi Wang 是 Solidigm 的现场应用工程师。在加入 Solidigm 之前,他曾在英特尔、Cloudera 和 NCR 担任技术职务。他拥有“思科认证网络专家”、“微软认证解决方案专家”和“Cloudera 数据平台管理员”认证。
Ace Stryker 是 Solidigm 的市场开发总监,他主要负责公司数据中心存储解决方案产品组合中的各种新应用。
[1] CSAL 简介:https://www.solidigm.com/products/technology/cloud-storage-acceleration-layer-write-shaping-csal.html