适用于 AI 工作负载的 7 大数据缓存技术
在人工智能中, 数据缓存 通过存储常用数据以便快速访问,可以大幅提高性能并降低成本。这对于处理大型数据集和重复计算至关重要,尤其是在聊天机器人或 AI 驱动的工具等应用中。以下是 7 个关键缓存技术 你应该知道:
- 内存缓存:将数据存储在 RAM 中,以实现超快速访问。非常适合实时 AI 任务。
- 分布式缓存:将数据分散到多个节点,确保可扩展性和 容错. 最适合大型系统。
- 混合缓存:结合内存和分布式缓存,实现速度和可扩展性的平衡。
- 边缘缓存:在用户附近本地处理数据,减少延迟。非常适合物联网和地理分散的设置。
- 联合缓存:跨位置同步缓存,保护隐私和性能。在医疗保健或多方系统中很有用。
- 及时缓存:通过重复使用以前的提示和响应来优化 LLM 性能。减少延迟和成本。
- 自动扩展缓存:根据需求动态调整缓存资源。非常适合波动的工作负载。
快速比较
| 技术 | 主要优势 | 最佳用例 |
|---|---|---|
| 内存中 | 最快的访问速度 | 实时处理 |
| 分布式 | 可扩展性 | 大规模应用 |
| 杂交种 | 均衡的表现 | 混合工作负载 |
| 边缘 | 减少延迟 | 地理分布的系统 |
| 联合 | 隐私与协作 | 多方计算 |
| 迅速的 | LLM 优化 | 自然语言处理 |
| 自动扩展 | 动态资源使用 | 可变的工作量 |
这些技术解决了常见的 AI 挑战,例如响应时间慢、成本高和可扩展性问题。通过选择正确的缓存策略,您可以使 AI 系统更快、更高效且更具成本效益。
数据分析和人工智能的数据缓存策略
1.内存缓存
内存缓存通过将数据直接存储在 RAM 中,跳过速度较慢的磁盘访问,加快了 AI 工作负载的速度。此方法可缩短数据检索时间并提高处理速度,非常适合实时 AI 应用程序。
一个很好的例子是 Nationwide Building Society。2022 年 5 月,他们使用 RedisGears 和 RedisAI 以及内存缓存来增强他们的 BERT 大型问答 Transformer 模型。通过预先标记潜在答案并将模型加载到 Redis Cluster 分片中,他们将推理时间从 10 秒缩短到 1 秒以下。
“借助 Redis,我们有机会预先计算所有内容并将其存储在内存中,但我们该怎么做呢?” – Nationwide Building Society 的 AI/ML 架构师 Alex Mikhalev
内存缓存的结果在很大程度上取决于所选的策略。以下是对常见方法的快速比较:
| 缓存策略 | 性能影响 | 最适合: |
|---|---|---|
| 关键字缓存 | 精确匹配查找 | 简单查询模式 |
| 语义缓存 | 响应速度提高 15 倍 | 复杂的上下文感知查询 |
| 混合方法 | 20-30% 查询卸载 | 平衡工作负载 |
为了充分利用内存缓存,请关注以下关键做法:
- 缓存大小管理:在内存使用和性能之间找到适当的平衡。
- 数据新鲜度:根据数据变化的频率设置缓存过期规则。
- 相似度阈值:调整匹配参数,提高缓存命中率。
对于大型语言模型 (LLM),内存缓存最多可将响应时间缩短 80%,从而彻底改变聊天机器人和问答系统。但是,其成本较高,这意味着您需要仔细评估它是否适合您的特定用例。
接下来,让我们深入研究分布式缓存以及它如何解决大规模 AI 工作负载的可扩展性。
2.分布式缓存
分布式缓存通过将数据分散到多个节点,将内存缓存提升到一个新的水平。与单服务器内存缓存不同,这种方法旨在更有效地处理大规模 AI 任务。
NVIDIA Triton 使用 Redis 进行分布式缓存就是一个很好的例子。在 Google Cloud Platform 上使用 DenseNet 模型进行测试时,Triton 与 Redis 配合使用,管理 每秒 329 次推理 平均延迟为 3,030 微秒。如果没有缓存,系统只能实现 每秒 80 次推理 延迟更高 12,680 微秒.
| 缓存方法 | 推论/秒 | 延迟 (µs) |
|---|---|---|
| 无缓存 | 80 | 12,680 |
| 分布式(Redis) | 329 | 3,030 |
分布式缓存为何有效
以下是一些主要优点:
- 可扩展性:随着数据的增长添加更多节点,确保一致的性能。
- 高可用性:即使某些节点发生故障,系统仍能继续运行。
- 高效利用资源:减少单个服务器的负载,使操作更加顺畅。
- 减少冷启动:重启期间保持性能稳定。
“从根本上讲,通过将缓存卸载到 Redis,Triton 可以将其资源集中在其基本角色上——运行推理。”——Redis 高级现场工程师 Steve Lorello;NVIDIA 高级软件工程师 Ryan McCormick;Redis 首席工程师 Sam Partee
分散式对象存储库架构 (DORA) 是另一个令人印象深刻的例子,它管理多达 1000 亿个对象 在标准存储上。这对于 AI 工作负载尤其重要,因为每个 GPU 的成本可能高达 $30,000。
为了使分布式缓存更加有效,请考虑实施:
- 集群模式具有更好的可扩展性。
- 复制以确保数据可用性。
- 使用驱逐策略来管理内存。
- 节点本地缓存,实现更快的访问。
虽然分布式缓存可能会带来轻微的网络延迟,但扩展内存访问和容错等好处远远超过缺点。AWS Auto Scaling 和 Azure Autoscale 等工具可以帮助动态调整资源,让您的缓存保持响应速度快且经济高效。
接下来,我们将深入研究混合缓存以及它如何平衡不同的工作负载需求。
3.混合缓存
混合缓存将内存缓存的速度与分布式缓存的可扩展性相结合,为要求苛刻的 AI 工作负载提供平衡的解决方案。它解决了分布式系统的延迟问题和内存设置有限的可扩展性,为复杂的 AI 任务提供一致的性能。
性能优势
使用 Redis 混合缓存可以将推理速度提高高达 4X。本地缓存处理经常访问的数据,而分布式缓存管理更大的共享数据集。
| 缓存类型 | 优势 | 最佳用例 |
|---|---|---|
| 本地缓存 | 快速、进程内访问 | 经常访问的模型参数 |
| 分布式缓存 | 可扩展性、高可用性 | 共享数据集、跨实例数据 |
| 混合型 | 平衡速度和可扩展性 | 复杂的人工智能工作负载、大规模部署 |
节省成本
假设一个 AI 聊天机器人每天处理 50,000 个查询。如果没有缓存,每月的处理成本可能会达到 $6,750。通过优化存储和处理资源,混合缓存可显著降低这些费用。
实施策略
尾部机器学习 (MAT) 框架展示了一种复杂的混合缓存方法,将传统缓存与基于机器学习的决策相结合。这种方法带来了:
- 预测数量减少 31 倍 平均需要。
- 特征构建速度提高 21 倍,切割时间从60µs缩短至2.9µs。
- 训练速度提高 9.5 倍,将时间从160µs减少到16.9µs。
例如,使用检索增强生成 (RAG) 的客户服务聊天机器人可以受益匪浅。通过在 RAG 流程之后应用混合缓存,常见查询(如产品详细信息、营业时间或运费)的响应时间从几秒钟缩短到几乎即时。
要有效实现混合缓存:
- 动态调整缓存阈值以适应工作负载的变化。
- 使用语义缓存来处理自然语言查询,根据含义而不是精确匹配来检索信息。
- 将 Redis 服务器放置在靠近处理节点的位置,以减少往返时间 (RTT)。
- 配置最大内存限制并设置适合您的 AI 应用程序需求的驱逐策略。
sbb-itb-59e1987
4.边缘缓存
边缘缓存通过在源头本地处理数据,将混合缓存的概念向前推进了一步。这种方法可以减少延迟并显著提高 AI 性能。
性能影响
边缘缓存为 AI 系统带来了明显的优势。例如,骁龙 8 Gen 3 处理器展示了 能效提高 30 倍 与传统数据中心处理相比,用于图像生成。
| 方面 | 传统云处理 | 边缘缓存 |
|---|---|---|
| 数据传输距离 | 长途跋涉到中央服务器 | 最少——本地处理 |
| 网络依赖性 | 高 – 需要持续连接 | 低 – 离线工作 |
| 响应时间 | 因网络状况而异 | 近乎即时 |
| 功耗 | 由于数据传输量大,因此较高 | 针对本地处理进行了优化 |
实际应用
边缘缓存已被证明在多个 AI 驱动场景中很有用:
- 智能制造:在本地处理数据,无需依赖云即可做出瞬间决策。
- 医疗保健监控:配备边缘缓存的设备可以自动做出决策并持续监控患者。这种设置可以加快响应速度,有可能在保持监督的同时提前让患者出院。
- 智慧城市基础设施:交通管理系统使用边缘缓存 AI 模型实时调整交通流量。通过避免云处理的延迟,这些系统可以快速适应不断变化的情况。
这些示例强调了边缘缓存如何通过关注本地化、即时处理来提高性能。
实施最佳实践
要充分利用边缘缓存,请考虑以下策略:
- 资源管理:使用AI编排动态地协调资源和需求。
- 任务分配:在边缘设备和云之间有效地分配工作负载。
- 模型优化:应用量化和修剪等技术来减小模型尺寸而不牺牲准确性。
例如,Fastly 在纽约大都会艺术博物馆的网站上展示了边缘缓存的潜力。通过预先生成边缘向量嵌入,该系统提供了即时、个性化的艺术推荐。这避免了原始服务器请求的延迟,展示了边缘缓存如何增强 AI 驱动的个性化。
能源考虑
据 Gartner 预测,到 2030 年,人工智能将消耗全球 3.5% 的电力,而边缘缓存则提供了一种减少能源需求的方法。通过最大限度地减少对集中式数据中心的依赖并专注于本地处理,它有助于优化资源使用并减少不必要的能源消耗。
5. 联合缓存
联合缓存可跨全球节点同步缓存,在保持数据隐私的同时提高AI性能。
性能和架构
联合缓存使用各种拓扑来满足不同的操作要求:
| 拓扑类型 | 描述 |
|---|---|
| 双活 | 跨多个位置同时缓存。 |
| 主动-被动 | 通过故障转移机制确保可靠性。 |
| 轮辐式 | 远程节点分布式集中管理。 |
| 中央聯邦 | 统一的全球数据访问。 |
这些灵活的架构使得在实际使用案例中平衡速度和隐私变得更加容易。
实际应用
这种方法在敏感领域取得了成果。例如, 自然医学 研究重点介绍了 20 家医疗机构如何使用联邦学习来预测 COVID-19 患者的氧气需求。该系统提高了预测准确性,同时确保了患者数据在分布式系统中的安全。
跨行业优势
- 制造业:实现实时数据处理,同时确保本地数据控制。
- 自动驾驶汽车:支持跨车队的安全AI模型训练。
- 卫生保健:在不损害患者隐私的情况下促进人工智能的协作发展。
技术性能洞察
最近的测试表明,点对点联邦学习的准确率达到 79.2–83.1%,优于平均约为 65.3% 的中心化系统。
优化技巧
为了充分利用联合缓存,请尝试以下方法:
- 使用局部早期停止来避免过度拟合。
- 申请 联邦国防军 (联合蒸馏)来管理不同的数据分布。
- 利用狄利克雷采样确保跨设备的公平表示。
此外,使用 Jensen-Shannon 散度可以帮助处理设备丢失,保持稳定的性能。
联合缓存通过平衡分布式 AI 系统中的性能和隐私来解决大规模挑战。
6. 及时缓存
提示缓存是一种先进的技术,它基于早期的缓存方法,旨在提高 AI 性能。通过存储常用的提示及其相应的响应,它可以减少延迟、消除冗余处理并有助于降低成本。
绩效指标
下面来看看快速缓存如何影响性能:
| 模型 | 减少延迟 | 节省成本 |
|---|---|---|
| OpenAI GPT-4 | 最高至 80% | 50% |
| 克劳德 3.5 十四行诗 | 最高至 85% | 90% |
实施策略
提示缓存的成功很大程度上取决于提示的结构。为了最大限度地提高缓存效率,请将静态内容放在开头,将动态内容放在结尾。这种方法可以提高缓存命中率,尤其是对于重复查询。
“及时缓存是人工智能优化的基石,可以缩短响应时间、提高效率并节省成本。通过利用这项技术,企业可以扩大运营规模并提高用户满意度。”
- Sahil Nishad,《Future AGI》作者
实际应用
Notion 提供了一个很好的例子,展示了快速缓存如何改变用户体验。通过将缓存整合到其由 Claude 提供支持的功能中,Notion AI 可以在降低成本的同时提供几乎即时的响应。
成本明细
不同的提供商提供不同的即时缓存定价模型:
- 克劳德 3.5 十四行诗: 缓存写入速度为 $3.75/MTok,读取速度为 $0.30/MTok
- 克劳德 3 作品: 缓存写入速度为 $18.75/MTok,读取速度为 $1.50/MTok
- 克劳德 3 首俳句: 缓存写入速度为 $0.30/MTok,读取速度为 $0.03/MTok
技术优化技巧
为了充分利用快速缓存,请考虑以下策略:
- 监控非高峰时段的命中率和延迟以微调性能
- 使用一致的请求模式来最大限度地减少缓存驱逐
- 优先处理长度超过 1024 个令牌的提示,以提高缓存效率
- 设置在 5-10 分钟不活动后自动清除缓存
即时缓存在聊天系统中尤其有效,因为重复使用输出可以缩短响应时间并提高能源效率。接下来,我们将深入探讨自动扩展缓存如何调整资源以处理波动的 AI 工作负载。
7.自动扩展缓存
自动扩展缓存可根据实时需求动态调整缓存资源,将即时缓存的效率提升到一个新的水平。这种方法可确保大型语言模型 (LLM) 和复杂的 AI 系统在需要时快速高效地扩展。
例如,Amazon SageMaker 的容器缓存显著缩短了 Llama3.1 70B 的扩展时间,如下所示:
| 扩展场景 | 预缓存 | 缓存后 | 节省时间 |
|---|---|---|---|
| 可用实例 | 379 秒 | 166 秒 | 56% 更快 |
| 新实例添加 | 580 秒 | 407 秒 | 30% 更快 |
工作原理
自动扩展缓存通常依赖于两种主要方法:
- 反应性扩展:根据 CPU 使用率、内存和延迟等实时指标立即调整缓存资源。
- 预测性扩展:使用历史数据预测需求高峰并提前调整缓存容量。
行业用例
NVIDIA 已集成自动扩展缓存以增强其 AI 部署能力。Eliuth Triana 强调了其影响:
“容器缓存与 SageMaker 上的 NVIDIA Triton 推理服务器的集成代表了大规模机器学习模型服务的重大进步。此功能完美地补充了 Triton 的高级服务功能,减少了部署延迟并优化了扩展事件期间的资源利用率。对于使用 Triton 的多框架支持和动态批处理运行生产工作负载的客户,容器缓存可以更快地响应需求高峰,同时保持 Triton 的性能优化。”
- Eliuth Triana,NVIDIA 亚马逊开发者关系全球负责人
需要考虑的关键技术因素
在实现自动扩展缓存时,需要解决几个重要方面:
- 指标选择:选择正确的指标(例如 CPU 使用率或请求模式)来定义与您的工作负载相匹配的扩展策略。
- 资源限制:为缓存资源设置明确的最小和最大阈值,以避免配置过度或不足。
- 状态管理:确保在缓存扩展事件期间顺利处理有状态的组件。
- 响应时间:持续监控和微调缓存响应时间,以在扩展操作期间保持性能。
节省成本的潜力
自动扩展缓存也有助于控制成本,尤其是与竞价实例等解决方案结合使用时。例如,Google Compute Engine 提供的竞价实例可以将计算成本降低高达 91%。Hugging Face 的 Philipp Schmid 强调了这些好处:
“Hugging Face TGI 容器被 SageMaker 推理客户广泛使用,它提供了针对运行 Hugging Face 中的流行模型而优化的强大解决方案。我们很高兴看到容器缓存加快了用户的自动扩展速度,扩大了 Hugging Face 开放模型的覆盖范围和采用率。”
- Philipp Schmid,Hugging Face 技术主管
结论
有效使用数据缓存可以显著提高 AI 性能,同时降低成本。前面讨论的七种技术强调了战略缓存如何在不花太多钱的情况下提高系统效率和可靠性。
性能提升显而易见。例如,在 ImageNet 分类任务期间,Hoard 的分布式缓存解决方案与 GPU 集群上的传统 NFS 存储系统相比,速度提高了 2.1 倍。这个例子强调了精心规划的缓存可以带来可衡量的差异。
“缓存对于计算而言,与数组、符号或字符串一样重要。” – Steve Lorello,Redis 高级现场工程师
当与强大的硬件搭配使用时,这些策略将变得更加有效。高性能系统,如 服务器的 AI GPU 服务器,使组织能够充分发挥 NVIDIA GPU 的潜力,创建处理复杂 AI 任务的理想设置。
缓存还可以解决阻碍许多 AI 应用程序(约 70%)投入生产的关键挑战。通过采用这些方法,组织可以实现:
| 公制 | 改进 |
|---|---|
| 查询响应时间 | p50 延迟最多可减少 80% |
| 基础设施成本 | 缓存命中率高,减少高达 95% |
| 缓存命中率 | 缓存处理的查询总数为 20-30% |
随着 AI 项目变得越来越复杂,高效的缓存变得越来越重要。结合先进的硬件,这些技术为可扩展、高性能的 AI 系统铺平了道路,这些系统可以在不影响成本或效率的情况下提供结果。