存储优化是AI算力瓶颈的破局之道吗?

B站影视 欧美电影 2025-04-03 17:43 1

摘要:大数据技术的飞速发展,揭开了基于海量数据实现深度分析与科学决策的新篇章,而以大语言模型为代表的人工智能技术的崛起,正以前所未有的速度推动大数据分析变得更具洞察力。那么,大模型训练中数据存储 IO 的瓶颈问题应该如何突破?数据智能新范式又是什么样的呢?

大数据技术的飞速发展,揭开了基于海量数据实现深度分析与科学决策的新篇章,而以大语言模型为代表的人工智能技术的崛起,正以前所未有的速度推动大数据分析变得更具洞察力。那么,大模型训练中数据存储 IO 的瓶颈问题应该如何突破?数据智能新范式又是什么样的呢?

近日 InfoQ《极客有约》X QCon 直播栏目特别邀请了 大数据技术领域的资深专家 赵健博 担任主持人,和 北银金科大数据开发部总经理助理 李俊 焱融科技 CTO 张文涛 数势科技 AI 负责人李飞 一起 Qcon 全球软件开发大会 2025 北京站 即将召开之际,共同探讨 AI 算力瓶颈如何破局。

部分精彩观点如下:

大模型的出现,让人和机器之间的交互界面逐渐消失,并使得 AI 应用呈现井喷式增长。

固定的计算任务适合下沉到存储层,而对于更复杂通用的计算任务,下沉可能会带来复杂性和稳定性问题。

AI 训练中的存储需求需要实现的目标是,高吞吐和低延迟的数据访问,同时确保 GPU 的算力得到充分利用。

分布式存储在架构设计上更灵活,而集中存储在不同知识库之间数据共享更便捷。

AI 的到来是为了提升我们的工作效率,而不是取代人。

在 4 月 10-12 日将于北京举办的 Qcon 全球软件开发大会 上,我们特别设置了【AI 引领数据分析进化】专题。该专题将探讨 AI 赋能大数据分析与决策的核心技术,以及各行业领先企业的创新实践。期待听众能够洞悉 AI 在数据分析领域的前沿动态,并将这些新技术化为推动自身企业发展的强大助力。
查看大会日程解锁更多精彩内容:https://qcon.infoq.cn/2025/beijing/track

以下内容基于直播速记整理,经 InfoQ 删减。

赵健博: AI 赋能的数据分析在多个领域不断取得突破。那么, AI 给哪些具体场景下带来了变化,以及 AI 究竟是如何实现这些变革的呢?它又为我们带来了哪些新的机遇和挑战?

李俊: 随着人工智能,尤其是今年以来 DeepSeek 技术的发展,银行从业者的工作效率和能力得到了显著提升。首先是信贷审批,利用大模型撰写尽调报告,节省了至少 30% 的人工时间。其次是智能客服,通过大模型生成对话话术并结合情感分析,优化客户体验。第三是在合同审查,AI 自动识别合同条款,结合外部数据防范信贷风险,提升了 20% 以上的预警响应速度。最后是数据分析,我们推出了水晶球 Chat BI 工具,与指标引擎结合,降低了数据分析门槛,让每个人都能轻松使用。

然而,我们也面临一些挑战。首先是数据安全,大模型可能绕过权限,访问敏感数据。其次是大模型的“幻觉”问题,生成虚假信息可能导致用户信任危机。最后是人才转型的压力,需要培养既懂业务又懂 AI 的复合型人才,同时帮助传统员工适应新技术。

张文涛: 第一个是自动驾驶,尤其是在 2022 年,自动驾驶技术蓬勃发展,AI 在其中的应用逐渐成熟。到了 2023 年和 2024 年,许多自动驾驶车型已经变得相对成熟,效果也越来越好。另一个是私募量化,这个行业对 AI 的应用非常广泛,特别是通过 AI 根据特定算法进行训练和模拟交易。其效果已逐渐显现,许多股民在这个过程中被“割了韭菜”,这正是 AI 在小型量化投资领域的体现。

从存储的角度来看,这两个行业的挑战在于对算法和数据的高要求,特别是数据质量。在私募量化领域,历史数据至关重要,只有通过高质量的历史数据,才能进行模拟分析并预测未来市场趋势。因此,如何处理原始数据并从中提取有效因子,成为关键。最终,AI 模型的训练对存储提出了更高要求。

李飞: 前段时间,谷歌刚开源了 AlexNet 的代码,我相信大部分人其实都挺有感慨的,因为 AlexNex 对深度学习的发展具有里程碑意义。其实,深度学习很早就被提出来了,但直到 2006 年,通过反向传播算法的提出,才逐渐让落地成为可能性。在大模型出现之前,AI 虽然发展迅速,但多聚焦于小场景应用,如自然语言处理使用 RNN、LSTM,图像识别用 CNN 等。然而,AI 的泛化能力一直未得到充分保障,也缺乏与人类最自然的交互方式。

大模型的出现,让人和机器之间的交互障碍逐渐消失,变得更加自然和流畅,并使得 AI 应用呈现井喷式增长。交互界面的简化降低了理解和使用成本,极大扩展了应用场景。近两年,AI 在编程和分析等领域的应用广泛,尤其是 AI 编程,它降低了用户写代码的门槛,可以通过自然语言生成代码,减少了人与机器之间的复杂交互。智能分析作为一个高门槛的应用,过去我们需要用 Excel 或专业软件进行数据分析,技术要求较高,但现在,借助 AI,只需简单的指令就能完成复杂的任务。这将大大降低分析的门槛,使得更多人能够轻松完成高阶分析任务。

赵健博:传统的数据预处理通常在计算层完成,但随着分布式存储技术的发展,越来越多的声音开始探讨将数据预处理下沉到存储层的可能性。那么,这种做法究竟是性能提升的捷径,还是架构复杂性的陷阱呢?

李飞: 将数据预处理和计算下放到存储层,实际上是实现存算一体化或者说存算协同。传统模式下,数据需要从存储层传输到计算层,然后进行处理,这会涉及大量的网络 I/O、序列化和反序列化操作。如果计算下放到存储层,数据移动的开销将大大减少。存储层本身具备分布式特性,能够增强并行处理能力,例如通过分片策略实现并行预处理,从而提升性能。此外,新型存储系统和硬件,如全闪存分布式存储,能够提供较高带宽,进一步加速计算过程。

但也有弊端,首先,存储层同时承担存取和计算任务,可能导致资源竞争,如何设计有效的路由和调度策略是一个挑战。其次,数据一致性问题。存储层缺乏像传统计算层中的容错机制,可能导致数据丢失或重复,这对分布式事务处理构成挑战。此外,将计算和存储能力下放到同一层,可能会增加开发和运维的复杂度和成本。

所以,必须根据场景进行权衡。例如,在 AI 高频场景中,像 KB 缓存管理等,存储层能够直接过滤无效数据,减轻计算层负担。此外,对于实时性要求较高的场景,比如银行的交易数据预处理,存算一体化也是一种有效的解决方案。对于结果一致性要求极高的场景,或是涉及复杂计算任务的场景,如多表关联和 ETL 等,存储层的计算能力可能无法满足需求。这类场景下,我们应根据具体需求谨慎选择是否下放计算到存储层。

李俊: 将数据预处理下放到存储层,可以提高性能,但也会带来架构上的复杂性挑战。首先,这种方式可以在数据读取时直接获取预处理后的数据,减少传输到应用层或计算层的延迟,是一种“以空间换时间”的方法。例如,在进行多维分析时,可能采用这种技术。

然而,这也增加了系统设计的复杂性,尤其是在硬件和数据链路设计方面。数据预处理下沉到存储层要求系统具备强大的计算能力,并支持预处理操作。同时,数据链路需要加入处理调度、校验、备份和恢复机制,这对系统设计提出了更高要求。

适合下沉存储层的数据预处理的场景需要灵活处理和优化的数据分析,尤其是多维分析和热点数据访问。例如,使用维度减少技术处理频繁访问的热点数据。在这些场景下,存储层处理可以有效提高效率。

张文涛: 将存储分为专有存储和通用存储两类,对于专有存储,卸载计算任务到存储层是可行的,在提升性能的同时还不会增加架构复杂度。在专有存储中,我们可以构建极简架构,专注于 AI 训练和推理的存储功能。DeepSeek 开源的 3FS 就是一个典型的专有存储案例。

然而,如果是面向通用存储的厂商,比如我们这样的第三方存储公司,情况就不同了。我们服务的用户涉及多种业务,不仅限于某一特定业务。此时将计算下沉到存储层会增加架构复杂度,因为存储协议通常是通用的,我们需要在专有协议和通用协议之间找到平衡。

此外,存储中的计算资源原本是为了应对峰值负载而预留的。如果将计算任务卸载到存储层,可能会影响存储性能。不过,解决方案也是存在的。比如,存储设备可以将计算任务转移到硬件中处理,如通过读卡或专用的计算单元(DPU)来加速计算。尽管如此,如果存储厂商不做这些工作,其他厂商就会先行一步,可能会形成行业壁垒。

因此,我们在设计架构时,必须谨慎考虑如何解耦专有计算能力。虽然不可能一个存储架构解决所有问题,但我们必须在架构设计上做出选择,这些选择通常是为了实现战略目标而做出的妥协。因此,是否进行计算下沉,如何选择架构设计,最终取决于用户的战略方向。

赵健博: 技术设计的最终决定往往依赖于业务需求发展的方向。关于计算下沉的技术已经提出一段时间了,并非特别新的概念。在大数据实时处理业务中,通常是从 Kafka 中获取数据进行处理,然而受限于 kafka 的行存储模式,在某些场景中不得不在客户端进行过滤,这不仅浪费计资源还带来了延迟的代价,所以针对这样的场景,计算(过滤)下沉到 kafka 通常是比较好的选择。

从通用方面看,我认为一些固定的计算任务,如压缩、加密、过滤等,适合下沉到存储层处理。而对于更复杂、更通用的计算,通常还是保持在计算层比较合适。此外,计算下沉到存储层,但还可能会带来稳定性问题。例如,大规模的数据扫描如果下沉到存储层,可能会导致存储服务节点过载;而同样的作业在计算层,可以做到隔离,且随时可以取消任务,这样可以更灵活地进行控制。

赵健博: 在深度学习领域中,数据是基础,算力是引擎。训练一个模型需要大量的数据和算力,并且需要反复迭代和验证才能得到想要的模型。为了提升训练效率,缩短训练时间,所有组件之间都需要快速响应,这其中就包括了计算和存储之间的交互。对于一个 AI 系统而言,模型的能力随着模型尺寸和训练数据的增加而显著提升,但随着数据集和模型规模不断增加,训练任务加载训练数据所消耗的时间越来越长,进而影响了训练效率,缓慢的 IO 严重拖累了 GPU 的强大算力。那么,在这样的背景下, 大模型训练场景对分布式存储提出了哪些新的性能挑战?

张文涛: 在多模态场景下,文件的数量急剧增加,面临的挑战主要是存储系统能否容纳如此大量的文件。因此,存储的访问性能也是一个挑战,尤其是当文件较小时,数据访问的开销会显著增加。第二种挑战是数据集的随机访问。数据集的访问通常是随机的,且需要读取整个数据集,这种访问方式打破了缓存,导致缓存效率低下。

第三个挑战是 checkpoint 操作。每隔一段时间,训练模型会进行 checkpoint 保存,这个过程涉及同步写操作,GPU 会暂停,直到写入完成。这会增加存储的开销,并导致 GPU 空闲时间过长,降低计算效率。尽管异步写操作能在一定程度上解决这个问题,但依然是存储的挑战。

还有计算节点方面,数据通常从 GPU 显存传输到 CPU 内存,再到存储,这个数据链路在数据量较小的情况下,内存拷贝问题不会凸显,但数据量较大时,内存拷贝的开销非常明显,成为性能瓶颈。当单节点的数据需求很大时,例如每秒传输 80GB 或 150GB 数据,内存带宽的限制会非常明显。此外,大数据集的访问容易导致缓存击穿,缓存失效时,延迟会急剧增加,影响性能。

最后是网络层面。传统以太网的延迟较高,相比于 RDMA 网络,延迟可能大两到三倍。由于计算集群的规模通常大于存储集群,计算节点可能同时向多个存储节点请求数据,这种情况可能会导致网络拥塞,尤其是在高速无损网络环境下,这个问题更加明显。

李俊: 金融行业,在构建知识库时面临类似的取舍问题。分布式存储虽然在架构设计上更灵活,但确实也面临性能上的挑战。而集中存储的优势在于不同知识库之间数据共享更便捷。如何在这两者之间找到平衡,是我们面临的一个难题。

零售数据训练时,我们会处理 PB 级别的数据集。数据读取的吞吐量要求非常高,因此分布式存储系统必须进行横向扩展,通过多节点来提升带宽。在大规模的分布式训练中,数百甚至数千个计算节点可能同时访问存储系统,这会极大增加源数据服务的压力。面对高并发,我们需要将源数据服务进行分布式化,避免单点瓶颈。

此外,训练数据通常包含大量的小文件,如文本、图片等样本数据。传统的分布式文件系统在处理小文件的读写时效率较低,因此我们需要对这些小文件进行合并处理,将其转化为较大的对象。这一过程带来了额外的工作负担,进一步增加了性能挑战。

李飞: 大模型训练的特性对训练数据,尤其是海量数据,有着高要求。现在的大模型多采用自回归的网络结构,这对海量数据集有频繁的顺序读取需求。尽管单次读取的数据量较大,但在千卡或万卡集群规模下,集群扩大将增加对 IOPS(每秒输入输出操作)的需求。

在大模型训练中,checkpoint 保存是必须的,它可以在训练出错时进行回滚,确保模型的持续训练。这一过程需要显存到存储系统的高带宽写入。特别是现在模型的参数量越来越大,甚至达到万亿级别,对存储系统的写缓存容量和吞吐量提出了更高要求。如果存储系统无法提供足够的提升,可能会导致训练时间延长,从而增加训练中断的时间。

在推理阶段,我们需要高效地将模型分发到 GPU 资源池。这要求存储系统具有较强的高读取缓存能力,并且网络带宽的性能要求也相对较高。为了优化这一过程,可以采用显存、内存和存储的分层缓存策略,减少数据访问延迟,提高推理效率。

赵健博: 针对 AI 训练中的存储需求,我认为需要实现的目标是高吞吐和低延迟的数据访问,同时确保 GPU 的算力得到充分利用。GPU 算力停顿的几个问题点如下:首先,在模型训练中,checkpoint 的保存过程会导致计算停顿,直接影响 GPU 算力的释放时间。其次,训练过程中涉及大量小文件的加载,频繁且大规模小文件访问会导致 IO 路径上出现瓶颈,导致计算停顿。第三,训练过程中还会有大量的网络交互,特别是在训练作业进行参数同步时,网络的 IO 瓶颈也会导致计算停顿。因此,如何从这些问题入手,解决瓶颈,优化存储系统的整体性能,是我们面临的核心挑战。

赵健博: 大模型训练需要大量的数据和强大的算力,而存储系统在其中扮演着至关重要的角色。随着数据集和模型规模的不断增加,训练任务加载训练数据所消耗的时间越来越长,进而影响了训练效率。那么, 如何优化计算和存储之间的交互,以提升训练效率和缩短训练时间呢?

李俊: 第一,利用分布式存储系统。通过将数据分布在多个节点上,这种系统能够提供高并发、高存储量的访问,同时具备数据冗余和容错能力,从而增强系统的可靠性。第二,采用数据预取技术。这基于大模型训练的数据访问模式,通过智能预测算法,提前加载数据,减少 IO 等待时间。第三,采用数据并行和模型并行。在大模型训练中,我们将训练数据和模型分布到不同的计算节点,实现数据和模型的并行。这不仅提升计算效率,还优化存储交互,从而减轻单个节点的存储压力。

李飞: 对于 AI,特别是算法来说,训练数据的预处理非常关键。例如,将训练数据转换为像 TF record 这样的格式,是为了将多个小文件聚合成一个大的顺序文件。这样做的目的是优化数据的读取方式,将随机读取转化为顺序读取,从而减轻存储系统的压力。

另外,通过多节点并行写入大模型文件,如 checkpoint 数据。清华大学和华为合作开发的高性能存储系统大大降低了 checkpoint 的写入时间,从小时级缩短到了分钟级。这一优化在大模型训练过程中,对存储与计算之间的交互起到了重要作用,有助于提高训练效率。

张文涛: 计算和存储之间的交互本质上是从 A 到 B 的数据传输,关键在于数据传输的速度是否足够快。从存储角度看,网络必须是高速网络。如果网络本身存在瓶颈,那么无论如何优化效果也会受限。目前一般采用 200G 或 400G 的 InfiniBand 网络,或 RoCE 网络,确保网络层面的高速传输。

此外,还需要提升存储集群的整体性能,可以通过两种方式实现:第一是横向扩展(scale-out),通过扩大集群规模,提供更多的性能。第二是提升单节点的吞吐量和 IOPS(每秒操作数)。例如,使用高速磁盘(如 NVMe)代替 SATA 或 HDD,以提供更高带宽,减少性能瓶颈。节点带宽也非常关键,使用多网卡配置(如两张 400G 网卡)可以大幅提升带宽,从而提升数据传输效率。此外,避免跨 NUMA(非统一内存访问)访问内存,优化内存和存储之间的数据传输,也是提升性能的重要措施。软件层面,我们需要优化路由策略,采用并行方式减少串行写入时间。此外,异步队列和协程的应用也能有效减少存储系统的负载。

从业务角度来看,主要是元数据的压力。访问小文件时,需要先查询元数据,再打开文件,且访问完后还需关闭。这些操作消耗了大量时间,因此小文件聚合(如 TFRecord)可以减少元数据访问,提高效率。英伟达推出的 GPU Direct Storage(GDS)技术,通过绕过 CPU 内存来减少内存拷贝,提高数据访问的稳定性和效率。业务上,还可以通过批量发送 IO 请求减少网络连接的负担,提高存储系统处理能力。

对于 Checkpoint 的优化,异步是一个重要方向。例如,先将数据写入 CPU 内存,再异步写入后端存储,减少 GPU 的阻塞时间。最后,数据预读技术也能有效优化 IO 性能。通过预测访问数据并提前加载,后续访问转化为内存访问,从而显著提升整体性能。

赵健博: AI 时代的到来对数据工程师提出了更高的要求。传统的数据处理和分析技能已经不足以应对当前的复杂需求。那么, AI 时代的数据工程师需要哪些新技能?

李飞: 我们常说“AI for data”和“data for AI”。前者是通过 AI 来生产或者清洗数据,后者则是将数据与 AI 结合,推动数据分析的发展。从 AI 开发者的角度来看,“AI for data”可以为数据工程师提供技能支持。例如,传统的数据工程师经常进行数据清洗、ETL(数据提取、转换和加载)和数据建模等工作。过去,数据开发者可能需要通过统计模型来实现这些工作,而现在,大模型可以大大提升在代码能力和数学能力方面的表现,帮助快速发现数据中的问题,数据工程师可以利用大模型来提高数据清洗的效率。

此外,大模型也能帮助数据建模,特别是在表与表之间的关联建模上。传统上,数据工程师需要通过深入了解企业业务场景来建立这些关系,而大模型可以通过技术手段识别潜在的表关联,并初步推荐建模思路。这种方式能大大提升工作效率,让数据工程师能够集中精力处理更复杂的建模和数据治理任务。随着大模型在数学和编码能力上的增强,我们的数据开发者也需要具备相关的思维和技能,更好地将大模型应用于日常工作,从而实现降本增效。

张文涛: 对于我们从事 IT 行业的程序员来说,每个人都应该拥抱 AI,拥抱 AI 意味着充分利用其能力来辅助编程。如果我们不拥抱 AI、不借助 AI 进行辅助编程,那么我们的效率提升将会有限,团队可能会落后。因此,我们要求团队成员都应当使用 AI 来提升工作效率。当我们简化了工作流程后,我们可以将更多时间投入到业务学习和理解上。

我认为大模型未来将成为像操作系统一样的基础设施,每个人都应了解大模型的基本原理,因为我们将基于这一基础设施进行业务开发。我们不仅要知道如何使用它,还需要了解其背后的原理,这是我对未来发展的看法。

李俊: AI 时代的到来,使得数据的使用更加方便,特别是对于业务人员。比如我们公司得 Chat BI,它通过对话方式让用户直接提取数据并通过图表展示趋势和占比。传统的数据工程师需要写 SQL、调度任务和使用 BI 工具来配报表,而 AI 时代的到来让这一切都简化了。

AI 的到来是为了提升我们的工作效率,而不是取代人。虽然 AI 简化了许多工作,数据工程师并不会被取代,但他们需要转型。首先,数据工程师必须在数据和业务之间架起桥梁,既要懂数据,也要懂业务。其次,数据建模能力依然重要,特别是在业务需求的基础上进行模型设计,AI 短期内仍难以取代这一部分。

其次,随着 AI 的普及,数据标注的需求大幅增加。尤其是在非结构化或半结构化数据的处理上,像风险分析中的客户画像数据,经常是 PDF 或 Excel 文件,需要数据标注师从中提取标签。数据工程师需要使用专业工具,标准化流程,确保标注的一致性和质量,这也是数据治理的一部分。

第三,数据工程师需要理解算法并与算法团队紧密协作,数据工程师与算法工程师需要充分理解对方的工作,并共同推动项目进展。AI 时代要求数据工程师不仅仅具备数据处理能力,还要能理解和支持算法的实施。第四,AI 时代的到来带来了数据权限和安全管理的新挑战,数据访问需要严格的权限隔离,确保不同层级用户只能访问相关数据。因此,数据权限管理和安全问题需要我们在 AI 应用中进一步解决。

最后,未来会使用 AI 的人将会胜过那些不使用 AI 的人。因此,数据工程师需要更多地利用低代码或无代码工具,以更高效地满足业务需求,快速实现业务目标。

赵健博: AI 时代的到来确实给每个工程师带来了很大的变化,无论是数据工程师还是其他工程师,都必须懂 AI,会用 AI,并将 AI 技术应用到工作中。虽然 AI 提高了工作效率,人的产出能力将得到提升,但要创造更高的价值,仍然需要对业务有深刻的理解。只有理解业务,具备业务洞察力和决策能力,才能真正做出有价值的工作。

从数据工程师或数据分析师的角度来看,工作重点也会发生变化。过去,我们更多关注解释发生了什么、进行归因分析,而未来,数据工程师与数据分析师将需要通过预测未来的趋势,辅助业务做出决策,形成完整的业务决策闭环。这个转变是数据工程师与数据分析师未来需要适应和发展的方向。

赵健博: 在大数据分析中,非结构化数据如评论、日志等占据了数据的绝大部分。这些数据蕴含着丰富的信息,但传统的分析方法往往难以高效挖掘其价值。那么, 大模型技术如何帮助我们提升非结构化数据的挖掘与分析效率?

李飞: AI 大模型给我们带来的是一种信息分发的新范式,这个信息包括结构化、非结构化的数据,以及从历史数据中提取的“know-how”知识,大模型的作用在于能够将这些知识进行有效分发。与过去的搜索引擎和推荐系统不同,大模型通过主动推送信息和工具,帮助我们更高效地获取所需的内容。因此,信息和知识的分发已成为 AI 的核心价值之一。

在提升非结构化信息处理效率方面,已有许多技术应用,如 RAG 和视频推荐等。然而,RAG 的实际应用尽管初步落地比较简单,但要做好却非常困难。RAG 的核心技术包括召回、增强生成、排序等技巧,但当处理企业内部复杂的、碎片化的信息时,会导致技术难度大大增加。企业内部的文档可能包含多种形式的数据,如 PDF 文件中的图像和表格。

此外,如何高效地索引文档、去除冗余信息,并确保大模型在生成回答时不受到过多冗余信息的干扰,也是技术上的难题。即使使用现有的组件平台或开源工具,也不能简单地完成企业内部所有非结构化信息的挖掘工作。此外,语音、文本和图像的处理单独进行相对简单,但如何将不同模态的数据进行有效串联并进行联动分析,以满足用户的需求,这是非常复杂的。做得好并不容易,尤其是在将 80 分提升到 95 分时,技术细节和优化过程是非常复杂的。

来源:商财洞察君

相关推荐