0


【AI大模型】-- 应用部署

一、GPU价格参考

  • 有些在京东就能买到:https://item.jd.com/10065826100148.html
  • 美国商务部限制 GPU 对华出口的算力不超过 4800 TOPS 和带宽不超过 600 GB/s,导致最强的 H100 和 A100 禁售。英伟达随后推出针对中国市场的 A800 和 H800。
H100 与 A100:H100 比 A100 快多少?

16-bit 推理快约 3.5 倍,16-bit 训练快约 2.3 倍。

二、部署大模型的最低和最佳配置

以 llama3::70B大模型为例

GPU要求

模型参数内存需求

一般显存需求为参数规模的两倍。

  • 模型参数:70B(700亿)个参数
  • 内存需求:70B参数 * 2字节 = 140GB
额外内存需求

额外内存需求是模型参数内存的0.5到1倍:

  • 最小额外内存需求:140GB * 0.5 = 70GB
  • 最大额外内存需求:140GB * 1 = 140GB
总内存需求
  • 最小总内存需求 = 模型参数内存 + 最小额外内存 = 140GB + 70GB = 210GB
  • 最大总内存需求 = 模型参数内存 + 最大额外内存 = 140GB + 140GB = 280GB
计算所需GPU数量

NVIDIA RTX 4090(24GB)

  • 每块显存:24GB
  • 最小所需块数:210GB / 24GB ≈ 8.75块,约9块
  • 最大所需块数:280GB / 24GB ≈ 11.67块,约12块
调整配置建议
最低要求
  • NVIDIA RTX 4090(24GB):12块(考虑到实际部署中的冗余)
最佳配置
  • NVIDIA RTX 4090(24GB):14块(更多的冗余和性能优化)

内存需求分析

1. 模型参数加载
  • 参数数量:Llama 3: 70B模型有70亿个参数。
  • 模型参数内存需求:每个参数假设为2字节(FP16格式),因此模型参数占用的显存为140GB。
2. 数据预处理和加载
  • 数据预处理:处理输入数据(如文本分词、特征提取等)需要一定的系统内存。
  • 数据加载:将数据从存储设备加载到GPU显存中,通常在系统内存中进行缓冲和管理。
3. 中间结果存储
  • 激活值和中间结果:前向传播和反向传播(如果进行训练)会产生大量的中间结果,这些中间结果会占用系统内存。
4. 操作系统和应用程序
  • 操作系统:操作系统本身和后台服务需要一定的内存。
  • 并行处理:多线程或多进程计算也会占用系统内存。
计算系统内存需求
内存分配比例
  1. 模型参数加载(总内存需求的40%)
  2. 数据预处理和加载(总内存需求的20%)
  3. 中间结果存储(总内存需求的20%)
  4. 操作系统和应用程序(总内存需求的20%)
最低和最佳内存要求
最低要求

系统内存需求:考虑到实际操作中的冗余和性能优化,最低要求如下:

  • 模型参数加载:140GB
  • 数据预处理和加载:70GB(假设模型参数内存的50%)
  • 中间结果存储:70GB(假设模型参数内存的50%)
  • 操作系统和应用程序:50GB(一般需求)

总最低内存要求:140GB + 70GB + 70GB + 50GB = 330GB

最佳配置

系统内存需求:为了更高效地运行和处理大模型,最佳配置考虑了更多的冗余和计算需求:

  • 模型参数加载:140GB
  • 数据预处理和加载:140GB(假设模型参数内存的100%)
  • 中间结果存储:140GB(假设模型参数内存的100%)
  • 操作系统和应用程序:100GB(更高的需求以保证系统稳定性)

总最佳内存要求:140GB + 140GB + 140GB + 100GB = 520GB

内存分配比例

在部署大模型时,各部分内存的分配比例如下:

  1. 模型参数加载:40%
  2. 数据预处理和加载:20%
  3. 中间结果存储:20%
  4. 操作系统和应用程序:20%
结论
  • 最低内存要求:约330GB
  • 最佳内存配置:约520GB

这个数据可以有点偏大,我在实测过程中,部署llama3:14b的大模型,占用了仅16G内存,触发推理时会多一些,这个数据可作为参考。

云服务厂商对比

国内主流

  • 阿里云:GPU云服务器_GPU云计算_异构计算_弹性计算-阿里云 (可申请免费试用)
  • 腾讯云:腾讯云最新活动_腾讯云促销优惠_代金券-腾讯云官网入口
  • 火山引擎:GPU云服务器-火山引擎

国外主流

TPU 是 Google 专门用于加速机器学习的硬件。它特别适合大规模深度学习任务,通过高效的架构在性能和能源消耗上表现出色。

它的优点和应用场景:

  1. 高性能和能效: TPU 可以更快地完成任务,同时消耗较少的能源,降低成本。
  2. 大规模训练: TPU 适用于大规模深度学习训练,能够高效地处理大量数据。
  3. 实时推理: 适合需要快速响应的任务,如实时图像识别和文本分析。
  4. 云端使用: Google Cloud 提供 TPU 服务,允许用户根据需求使用,无需购买硬件。

适用于图像处理、自然语言处理、推荐系统等多个领域。

在国外,科研机构、大公司和初创企业普遍使用 TPU。

下面是对两款 NVIDIA GPU 在他主流厂商的价格进行对比:
  • A100:在云服务中,A100 是顶级的企业级 GPU,适用于高性能计算需求。
  • T4:相比之下,T4 更为经济,适合日常模型微调和推理任务。

算力平台

主要用于学习和训练,不适合提供服务。

建议:若需高速下载,尤其依赖于 GitHub 或 Docker 官方镜像,建议选择国外服务器。

根据场景选择 GPU

以下是基于显卡 4090 上的 chatglm 和 chatglm2 模型的 Fine tuning 实验数据概览:


本文转载自: https://blog.csdn.net/lmj3732018/article/details/140653847
版权归原作者 季风泯灭的季节 所有, 如有侵权,请联系我们删除。

“【AI大模型】-- 应用部署”的评论:

还没有评论