前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AsteraLabs:CXL内存扩展在推理场景的应用

AsteraLabs:CXL内存扩展在推理场景的应用

作者头像
数据存储前沿技术
发布于 2025-02-11 10:28:01
发布于 2025-02-11 10:28:01
2850
举报

关键要点

1. CXL内存优化了AI推理性能和系统性能。

2. AI模型需要大量的内存和网络带宽来存储上下文窗口和键值对缓存。

3. 使用CXL内存可以提高GPU利用率并降低CPU使用率。

4. CXL内存可以帮助缓解内存瓶颈问题。

5. 使用CXL内存可以加速AI推理过程并提高并发实例数。

关于 AsteraLabs [1]

公司专注于为数据密集型系统设计、制造和销售定制化的连接解决方案。Astera Labs的产品组合包括系统感知半导体,旨在提升云和人工智能基础设施的性能。

AsteraLabs:CXL内存扩展在推理场景的应用-Fig-1

AI 推理的内存需求

LLM推理:

  • • 重点是高效解码数据
  • • 更加依赖内存且对网络延迟敏感
  • • 类GPT应用需要更多RAM来处理更大的上下文窗口
  • • 示例:GPT、OPT、LLaMA、Mistral等

关键组成部分:

  • • 上下文窗口:定义了KV缓存的边界
  • • KV缓存:存储所有先前token的键和值
  • • KV缓存消耗大量内存:
    • • 注意力模型可能消耗约1MB/token的内存
    • • KV缓存的大小取决于数据精度,如:FP32、BF16、FP16、INT8、FP8等

KV缓存存储了所有先前token的键和值

附加说明:

  • • 一个大小相当于10本小说的输入,需要大约1000K的上下文窗口,并消耗大约1TB的内存

AsteraLabs:CXL内存扩展在推理场景的应用-Fig-2

左图:配置NVMe-SSD的存储架构

右图:使用CXL扩展主存取代SSD

Note:前两天的材料里主要介绍了SSD厂商在推理场景的创新草图,CXL扩展主存来满足推理需求是容易理解的,存在的问题是:CXL协议自身的延迟能否达到适配主存的要求?否则SSD来做推理存储,天然具备成本优势。

参考阅读:

AsteraLabs:CXL内存扩展在推理场景的应用-Fig-3

基于CXL优化的AI推理服务器性能结果

左侧:四块不带CXL的GPU(24个DIMMs)

  • • 服务器型号:Supermicro AS-4125GS-TNRT
  • • 使用DDR5 4800内存
  • • 配置两块NVIDIA L40S每个Socket

右侧:四块带四个Leo CXL控制器的GPU(40个DIMMs)

  • • 服务器型号:Supermicro AS-4125GS-TNRT,配备Astera Labs的Leo CXL内存
  • • 使用DDR5 5600内存
  • • 配置两块NVIDIA L40S和两个Leo CXL内存每个Socket

使用CXL控制器的系统:

  • • 数据洞察速度快40%
  • • CPU利用率降低40%
  • • 每台服务器支持的LLM实例数是原来的两倍

Note:使用CXL内存扩展效率比SSD高,结果并不让人意外,关键还是成本,成本,成本!

AsteraLabs:CXL内存扩展在推理场景的应用-Fig-4

推理场景实测图-加速推理速度

CXL提高IO效率,从而提升GPU利用率

GPU利用率对比图:显示了OPT-66B模型在NVIDIA L40s GPU上的利用率对比。图表中有两条曲线:

  • • 蓝线:使用CXL
  • • 橙线:未使用CXL 可以看到,使用CXL时,GPU利用率显著提升,推理速度加快了40%。

硬件配置:

  • • 不带CXL的系统配置:
    • • 服务器:Supermicro 4U GPU系统
    • • CPU:第五代AMD EPYC可扩展处理器(9534)
    • • GPU:2块NVIDIA L40S(96GB GDDR6)
    • • 原生内存:12块64GB DDR5-4800(768GB)
    • • 存储:2块2TB PCIe 5.0 SSD(RAID0)
  • • 带CXL的系统配置:
    • • 服务器:Supermicro 4U GPU系统
    • • CPU:第五代AMD EPYC可扩展处理器(9534)
    • • GPU:2块NVIDIA L40S(96GB GDDR6)
    • • CXL:2个Aurora A1000扩展卡
    • • 原生内存:12块64GB DDR5-4800(768GB)
    • • CXL内存:4块64GB DDR5-5600(256GB)

软件配置:

  • • 操作系统:Ubuntu 22.04,内核5.15.0
  • • 大语言模型引擎:FlexGen
  • • 模型大小:122.375GB(OPT-66B)

运行参数:

  • • 提示长度(PROMPT LENGTH):512
  • • 生成长度(GEN_LENGTH):8
  • • GPU批处理大小(GPU_BATCH_SIZE):2
  • • 并发批处理(NUM_BATCHES):12

AsteraLabs:CXL内存扩展在推理场景的应用-Fig-5

减少CPU负载

CPU利用率对比图(左):展示了OPT-66B模型在AMD EPYC 9534 64核处理器上的CPU利用率对比。图表显示了使用CXL(蓝线)与未使用CXL(橙线)之间的区别。使用CXL后,每个查询的CPU利用率降低了40%。

AsteraLabs:CXL内存扩展在推理场景的应用-Fig-6

主要看右侧的图即可,

比较了使用CXL与否的两个测试组,CPU使用率和可支持示例数差异,结论:

单个实例的系统工作负载(约1TB):

  • • 在没有CXL的情况下,OPT-66B和KV缓存无法完全放入RAM(864GB,本地RAM + L40S GPUs)。
  • • CPU利用率:
    • • 没有CXL:65%
    • • 使用CXL:25%

2到4个实例的系统工作负载(约2TB-4TB):

  • • CPU利用率:
    • • 没有CXL(约2TB):2个实例,100%(CPU瓶颈)
    • • 使用CXL(约4TB):4个实例,100%(理论值)

如何理解图中实例的含义,与并发用户数是什么关系?

"LLM实例"指的是大语言模型在推理时的独立运行实例。每个实例独立占用系统资源(如GPU、内存),用于处理推理任务。实例的数量决定了服务器可以同时支持多少推理任务。 与并发用户数的关系在于,一个实例可以通过批处理技术同时处理多个用户的请求,因此实例数并不直接等于并发用户数。例如,批处理技术可以将多个用户请求打包,通过一个实例处理,提升并发能力。

总结

  1. 1. 推理IO行为与数据检索相似,对系统内存带宽、容量及网络实验比较敏感;训练场景对算力和网络带宽敏感,两个场景有显著差异(Fig-1)。
  2. 2. 基于CXL扩展内存,能有效提高推理效率(QPS ↑40%),降低CPU利用率(↓ 40%),从而能在单位硬件系统中提供更密集的推理服务。(Fig4-6)。
  3. 3. CXL扩展内存的方案,是将推理参数、过程数据保留在DRAM的方案,可以和SSD方案对比分析,不同厂商自家核心技术存在差异,故方案上有所取舍,落地应用得具体推动力和成本。
引用链接

[1] 关于 AsteraLabs : https://metaso.cn/s/FjoyBV4

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档