阅读收获
AI存储与传统存储的区别在于AI工作负载通常是多阶段的,且每个阶段的需求和模式不同。AI优化目标也与传统存储不同,更关注GPU的利用率和数据科学家的工作效率。此外,AI的任务往往涉及高度并行的操作,且不同的AI任务对性能和容量的要求差异较大。
图片中描述了AI处理的不同阶段,主要包括以下几个部分:
Cite
整个工作流拆分的比较细,旨在让读者更全面的了解AI数据价值生产流的全过程,在之前的文章中,Solidigm围绕数据管道的IO特征给出了较为落地的存储选型方案,可以结合起来一起看看。
作者强调对于AI行业来说,核心注意力和资源投入是在模型构建阶段,这主要涉及上图的前5个步骤。
在这个过程中:
目标:
注意:
Note
在SDC24会议召开之际,当时DeepSeek还尚未迭代出如今 V3/R1 版本,推理需求并没有完全打开,站在今天看昨天,DS的开源能否促进国内乃至国外新一轮产业投资,还不可知;站在今天看明天,企业生产数据的保留和持久化是后续洞察生产规律必不可少的环节。在产业都在炒着要用大模型提高生产力的喧嚣中,需要更冷静的思考,企业的数据在哪?该以什么样的方式投喂给大模型?
图片讨论了数据摄取的过程,并提出了AI如何影响企业在捕获、存储和访问业务数据的各个方面。尽管企业已经在收集数据,AI的应用可能会改变数据的处理和存储方式,影响数据的利用效率。
==
业务数据已经在被捕获,但是:
公司在使用AI之前,其数据摄取主要依赖顺序写入,并且大量生成的数据会被丢弃。只有少部分数据被随机读取和保存。这种处理方式随着AI的应用可能会发生改变,AI有助于更有效地利用这些数据。
图片展示了通过AI技术从数据中挖掘出价值。
数据生成通过业务逻辑和AI增强业务逻辑来处理,最终产生数据洞察。保存的数据为未来提供可能的业务洞察,同时也反映了数据读写的特点。
Note
最近不少需求都在讨论:DS这么好,能不能帮我查XXX数据?大家目光都齐刷刷放在全参数模型推理上,无形中拉动了对算力的需求,与全参模型推理相比,小模型在生产过程做数据过滤和洞察其实也是个巨大的市场,模型将成为日志、过程数据的吞吐机。
左侧图例表示,数据清洗过程对存储系统的要求是:大容量,写入过程顺序为主,读取过程随机为主。
图片介绍了特征工程的主要步骤。数据科学家在这个过程中扮演着翻译者的角色,将原始数据转化为AI可以处理的数字。特征工程包括探索数据、提取特征、转换数据类型等多个步骤。这个过程通常需要大量的计算,且具有高度并行性。
===
左侧图例示意:特征工程过程对存储系统的要求:大容量,读写过程以随机为主。
讨论了与 GPU 和存储规划相关的几个方面,强调了平衡存储和 GPU 性能、理解数据源以及如何根据已知工作负载进行优化的重要性。同时还提到了一些具体的 GPU 基准测试工具和训练要求。
===
模型训练 —— 一般存储规划
这里的训练样本大小是参数规模还是原始数据?如何确定样本大小?
训练样本的大小通常指的是原始数据的大小,而不是参数规模。这里的“样本”指的是用于训练的数据实例,通常是输入数据(如图像、文本、声音等)以及其对应的标签或目标。
确定训练样本的大小,可以通过以下几个方面来考虑:
如何确定模型参数的数量:
举例说明:
假设一个模型有3层,每层有1000个神经元,且每个神经元都与前一层的每个神经元相连,那么模型的参数数量大概是:
对于更复杂的模型,例如GPT-3(有1750亿个参数),其参数数量的增长主要是通过加深层数和增加每层的神经元数量来实现的。
讨论了在模型训练过程中可能会出现的问题,尤其是涉及到检查点机制时的存储性能。
检查点用于保存模型的状态(如权重和偏置),以便在训练过程中发生错误时能够恢复。文件的写入通常是顺序进行的,可能会有多个顺序写入并行。
训练暂停会影响性能,而恢复过程通常需要高顺序读取和并行读取来恢复到多个GPU。存储系统的性能直接影响到检查点的保存和恢复效率,从而影响训练的整体效率。
===
模型训练 —— 出错时可能发生的情况
左侧图例表示,检查点过程对存储系统的要求是:容量不是主要矛盾,对系统的读写性能要求比较高,且都是顺序读写。
讨论了模型评估和调优的关键方面。评估主要衡量模型的正确性(准确率)和在处理错误与正确结果时的表现(精确率/召回率)。
此外,还介绍了其他常用的评估指标,如F1分数和AUC-ROC。调优部分强调了调整模型的超参数来改善评估效果,并提到通过调优可以生成一个包含模型参数的数据集。最后,模型的参数数量是固定的,取决于模型的权重数量,这在神经网络中是关键的。
左侧图例表示,模型评估与调优过程对存储系统的要求,与检查点环节类似。
===
Cite
模型评估与调优
F1 分数和AUC-ROC是评估机器学习模型表现的两个重要指标。下面是对这两个指标的详细介绍:
F1 分数是精确率(Precision)和召回率(Recall)的调和平均数。它是一个综合考虑模型精确性与全面性的指标,特别适用于类别不均衡的情况。
F1 分数的特点:
适用场景:
AUC(Area Under the Curve)是接收者操作特性曲线(ROC,Receiver Operating Characteristic Curve)下的面积,它用于评估二分类模型的性能。
AUC-ROC 的特点:
适用场景:
总结:
幻灯片讨论了推理的概念及其在业务中的应用。推理是指在完成模型训练后,使用该模型对生产数据进行推断和处理,从而生成业务价值。
它包括多种类型,如基于大语言模型的检索增强生成(RAG)、预测分析、计算机视觉以及异常检测等(如用于检测恶意软件或欺诈行为)。访问模式的变化也与推理类型有关,尤其是RAG,可能会生成类似数据库的随机工作负载。这些内容对于理解模型在生产环境中的应用和优化推理过程非常重要。
左侧图例表示,模型推理过程对存储系统的要求是:容量要求不高,写入性能要求不高,主要都是随机写;读性能要求很高(主要从模型中快速检索),且都是随机读取。
讨论了归档在 AI 中的重要性。尽管归档通常不是 AI 的核心部分,但它对于 AI 存储非常重要,尤其是在一些 AI 应用中,归档数据可能是有法律或监管要求的。
与传统的“归档”概念不同,这里提到的归档数据可能需要在以后被提取出来,用于后续的训练或分析。归档存储的性能需求不高,但需要“足够快”以便在需要时能迅速恢复。通常,归档数据会被称为“冷存储”,并且随着数据集的不断增长,归档存储也在不断扩展。此类存储需要低成本和低碳足迹,甚至提供零功耗的存储解决方案,如 DNA 存储和光学存储技术。
左侧图例表示,数据归档阶段对存储系统的要求是:海量存储。
重点介绍了几种常用的基准测试工具,特别是MLCommons提供的MLPerf基准测试。
MLPerf有多个类别,涵盖了训练、推理、存储等多个方面。推理部分还细分为不同的场景,如移动设备、微型设备、数据中心和边缘设备。此外,还提到了一些训练算法的基准结果(AlgoPerf),用于评估不同训练算法的性能。这些基准测试可以帮助评估不同硬件和模型在特定任务中的表现。
关于 MLPerf 基准测试
SDXI 是由 SNIA(存储网络行业协会)开发的标准数据传输接口,旨在简化数据的移动和处理。
未来版本的 SDXI 将支持更多功能,如加密/解密和压缩/解压缩,进一步提升其在数据处理过程中的应用。通过这些附加功能,SDXI 可以优化数据的传输效率和安全性,帮助提升存储和计算任务的整体性能。
Cite
更多关于SDXI的技术报道,可参考:
计算存储技术,它由 SNIA(存储网络行业协会)和 NVMe(非易失性内存接口)定义。
计算存储提供了一个开放的平台,允许将计算功能直接集成到存储设备中,使得计算操作能够在靠近数据的位置进行,从而减少数据传输的延迟并提高效率。常见的功能包括加密/解密、压缩/解压缩、数据过滤以及训练数据的准备。这些功能为数据处理提供了更高效的计算支持,尤其在机器学习等应用中具有显著的优势。
Cite
关于 计算型存储 更细致的报道可参考阅读:
讨论了 GPU 在 并行计算 中的优势,特别是在 AI 计算任务中。
GPU 能够高效地处理矩阵中的多个相似计算,这是其大规模并行计算能力的核心。与 CPU 相比,GPU 可以同时进行多个计算,从而大幅度降低计算时间,同时提高能源效率。此外,数据中心 GPU 通常配备 高速内存(HBM),以满足大规模数据处理的需求。
===
加速器 —— GPU
尽管 GPU 在 训练 中具有极高的效率,但其在使用时也存在一些挑战。
首先,GPU 编程比 CPU 更复杂,需要更多的技术能力。其次,GPU 的电力消耗通常较高,这也导致了更高的 成本和冷却需求,增加了使用的复杂性。此外,GPU 硬件成本较高,且 数据传输到 GPU 中以及从 GPU 读取数据时可能会引入延迟,这可能影响计算性能。
Note
这里介绍到的三种加速器,唯一比较成熟的就是 GPUs,SDXI 和 计算型存储因为软件和生态需要大量投入,而暂时为进入大众视野,但随着AI场景的不断成熟,另两个加速器在数据传输效率上的优势将在推理场景大放异彩。
由于存储设备和网络在处理数据时通常具有较高的延迟,整个系统的速度通常会被这些组件的性能所限制。尤其在高性能计算和AI任务中,存储和网络瓶颈可能会影响数据传输和处理速度。为了优化GPU的性能,**保持GPU持续获得数据(保持“供给”)是非常重要的。
图片展示了加速计算数据中心的网络设计,通过颜色区分了不同的网络层次。
介绍了 超以太网(Ultra Ethernet),这是一个由 Linux 基金会 开发的开放项目,旨在提供一种高度可扩展、低延迟、高度可靠的网络解决方案,能够支持高达百万节点的网络拓扑。
超以太网集成了最新的拥塞管理技术和低延迟协议,并且从设计之初就融入了安全性。该项目结合了多个专家的知识和技术,推动网络技术的发展,并将在年底公开其规范。
介绍了 UALink,它是一种用于加速器间通信的技术,专为大规模扩展而设计。初始的焦点是实现加速器之间(如 GPU)内存共享,特别是 DDR 和 HBM 内存。
同时,UALink 提供了低延迟和高带宽的网络,支持数百个加速器在单个节点中的操作,并保证了简单的加载/存储操作和软件一致性。UALink 支持的传输速率高达 200Gbps,并与 Infinity Fabric 协议兼容,能够支持大规模加速器网络的部署。该技术与其他扩展方法,如 超以太网(UEC),可以互补应用,进一步提升系统性能。
讨论了与存储相关的几大挑战。
首先,性能问题要求存储系统尽可能减少对 GPU 的干扰,以提高计算效率。其次,随着 模型规模的持续扩展,存储解决方案需要具备更强的 可扩展性,以应对庞大的数据量。第三,可靠性是关键,尤其在进行训练时,若检查点数据丢失,将导致巨大的数据损失。
最后,幻灯片提出了一个问题:如何通过 SNIA(存储网络行业协会)帮助解决这些挑战,暗示可能有相关技术或标准可以提供支持。
延伸思考
这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~
原文标题:A Primer on AI Workloads and Their Storage Requirements
---【本文完】---