【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云服务器-火山引擎

国外主流

  • AWS:https://aws.amazon.com
  • Vultr:https://www.vultr.com
  • TPU:https://cloud.google.com/tpu

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

它的优点和应用场景:

  1. 高性能和能效: TPU 可以更快地完成任务,同时消耗较少的能源,降低成本。

  2. 大规模训练: TPU 适用于大规模深度学习训练,能够高效地处理大量数据。

  3. 实时推理: 适合需要快速响应的任务,如实时图像识别和文本分析。

  4. 云端使用: Google Cloud 提供 TPU 服务,允许用户根据需求使用,无需购买硬件。

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

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

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

算力平台

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

  • Colab:谷歌出品,升级服务仅需 9 美金。https://colab.google.com
  • Kaggle:免费,每周 30 小时 T4,P100 可用。https://www.kaggle.com
  • AutoDL:价格亲民,支持 Jupyter Notebook 及 ssh,国内首选。https://www.autodl.com

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

根据场景选择 GPU

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/386301.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CATIA V5R21安装包下载及图文安装教程

大家好,今天给大家分享下catia安装教程 注意安装前请退出杀毒软件,防止误报影响安装进程 下载链接:百度网盘 请输入提取码 提取码:ypc6 01 在电脑D盘新建文件夹命名为CATIA,将下载的软件压缩包放置在该文件夹。 鼠标右击【C…

淘宝测试环境治理实践

去年之前,阿里巴巴的淘天集团测试环境是以领域方式运作:不局限测试环境治理本身,从测试模式方法论及用好测试环境思路引领集团测试环境治理。领域运作最难的是“统一思想”。业务进一步细分调整后,测试环境治理策略理应由业务方自…

【MetaGPT系列】【MetaGPT完全实践宝典——多智能体实践】

目录 前言一、智能体1-1、Agent概述1-2、Agent与ChatGPT的区别 二、多智能体框架MetaGPT2-1、安装&配置2-2、使用已有的Agent(ProductManager)2-3、多智能体系统介绍2-4、多智能体案例分析2-4-1、构建智能体团队2-4-2、动作/行为 定义2-4-3、角色/智…

若能重回白宫,特朗普称将把比特币列为美国战略储备资产!

KlipC报道:当地时间7月29日,美国前总统特朗普参加比特币2024大会,并在会上宣布称,如果重返白宫,他将把比特币列为美国战略储备资产。讲话期间,比特币价格一度上涨到6.9万美元大关。 特朗普表示&#xff1a…

Photos框架 - 自定义媒体选择器(UI预览)

引言 在前面的博客中我们已经介绍了使用媒体资源数据的获取,以及自定义的媒体资源选择列表页。在一个功能完整的媒体选择器中,预览自然是必不可少的,本篇博客我们就来实现一个资源的预览功能,并且实现列表和预览的数据联动效果。…

前端基于 axios 实现批量任务调度管理器 demo

一、背景介绍 这是一个基于 axios 实现的批量任务调度管理器的 demo。它使用了axios、promise 等多种技术和原理来实现批量处理多个异步请求,并确保所有请求都能正确处理并报告其状态。 假设有一个场景:有一个任务列表,有单个任务的处理功能…

PyQt ERROR:ModuleNotFoundError: No module named ‘matplotlib‘

Solution:打开cmd输入指令下载malplotlib pip install matplotlib

2024-07-27 Unity Excel —— 使用 EPPlus 插件读取 Excel 文件

文章目录 1 前言2 项目地址3 使用方法3.1 写入 Excel3.2 读取 Excel3.3 读写 csv 文件 4 ExcelSheet 代码 1 前言 ​ 前几日,一直被如何在 Unity 中读取 Excel 的问题给困扰,网上搜索相关教程相对古老(4、5 年以前了)。之前想用 …

力扣高频SQL 50题(基础版)第二十五题

文章目录 力扣高频SQL 50题(基础版)第二十五题619.只出现一次的最大数字题目说明实现过程准备数据实现方式结果截图 力扣高频SQL 50题(基础版)第二十五题 619.只出现一次的最大数字 题目说明 MyNumbers 表: ------…

wpf中轮询显示图片

本文的需求是,在一个文件夹中,放一堆图片的集合,然后在wpf程序中,按照定时的方式,循序显示照片。 全部代码 1.声明一个PictureInfo类 namespace WpfApp1 {public class PictureInfo{public string? FileName { get; …

【计算机网络】三次握手、四次挥手

问:三次握手 四次挥手 TCP 连接过程是 3 次握手,终止过程是 4 次挥手 3次握手 第一步:客户端向服务器发送一个带有 SYN(同步)标志的包,指示客户端要建立连接。 第二步:服务器收到客户端的请求…

Java设计模式—单例模式(Singleton Pattern)

目录 一、定义 二、应用场景 三、具体实现 示例一 示例二 四、懒汉与饿汉 饿汉模式 懒汉模式 五、总结 六、说明 一、定义 二、应用场景 ‌单例模式的应用场景主要包括以下几个方面: ‌日志系统:在应用程序中,通常只需要一个日…

Spring之Spring Bean的生命周期

Spring Bean的生命周期 通过BeanDefinition获取bean的定义信息调用构造函数实例化beanBean的依赖注入处理Aware接口(BeanNameAware、BeanFactoryAware、ApplicationContextAware)Bean的后置处理器BeanPostProcessor-前置初始化方法(Initiali…

关于@JsonSerialize序列化与@JsonDeserialize反序列化注解的使用(密码加密与解密举例)

注:另一种方式参考 关于TableField中TypeHandler属性,自定义的类型处理器的使用(密码加密与解密举例)http://t.csdnimg.cn/NZy4G 1.简介 1.1 序列化与反序列化 学习注解之前,我们可以先了解一下什么是序列化与反序列…

115. 不同的子序列 dp入门(一)详细推导dp转移方程式

目录 1. 题目引入: 2. 动态规划解法 2.1 动态dp表示 2.2 动态方程推导: 2.3 具体分析 2.4 初始化 3. 代码如下 java版 c版 Python版 1. 题目引入: 给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果…

计算机基础(day1)

1.什么是内存泄漏?什么是内存溢出?二者有什么区别? 2.了解的操作系统有哪些? Windows,Unix,Linux,Mac 3. 什么是局域网,广域网? 4.10M 兆宽带是什么意思?理论…

OAK-FFC 分体式相机使用入门介绍

概述 OAK FFC 主控板和多种可选配镜头模组非常适合灵活的搭建您的3D人工智能产品原型。由于镜头是分体式的,因此你可以根据需要测量的距离,自定义深度相机安装基线,并根据你的项目要求(分辨率、快门类型、FPS、光学元件&#xff…

项目风险管理:从理论到实践的探索

项目风险管理:从理论到实践的探索 前言一、项目风险识别二、项目风险应对策略三、综合应对策略结语 前言 在当今快速变化的商业环境中,项目管理已成为组织实现目标的关键工具。然而,项目的成功往往伴随着各种不确定性和潜在风险。有效的风险管…

【Git-驯化】一文搞懂git中rm命令的使用技巧

【Git-驯化】一文搞懂git中rm命令的使用技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注:微信公…

五、Spring Boot - 上手篇(1)

🌻🌻目录 一、快速入门:创建第一个SpringBoot 工程1.1 点击File--->New--->Project...1.2 选择版本和依赖的相关骨架包1.3 设置项目保存目录1.4 项目创建完成,工程主界面如下1.5 项目说明1.6 启动项目1.7 编写 HelloControl…