AI全栈大模型工程师(二十六)如何选择 GPU 和云服务厂商

news2024/10/7 19:30:32

💡 这节课会带给你

  • 如何选择 GPU 和云服务厂商,追求最高性价比
  • 如何部署自己 fine-tune 的模型,向业务提供高可用推理服务
  • 如何控制内容安全,做好算法备案,确保合规

开始上课!

硬件选型

当我们为模型训练及推理做硬件选型时,NVIDIA 几乎是唯一选择。

这是一家全球知名的图形处理器(GPU)公司,成立于 1993 年。

因为在 GPU 领域,尤其 AI 领域芯片的垄断性优势,其创始人黄仁勋被坊间称为「黄教主」。

huangrenxun
huangrenxun

什么是 GPU?

Graphical Processing Units (GPUs)

  • 图形处理单元(GPU)是一种功能强大的电子芯片,用于在沉浸式视频游戏、电影和其他视觉媒体中呈现丰富的 2D/3D 图形和动画
  • 因其超越 CPU 的并行矩阵运算性能,所以也被广泛应用于人工智能相关的各种系统,包括机器视觉、NLP、语音识别、自动驾驶等
nvidia gpu
nvidia gpu

CUDA 核心和 Tensor 核心

CUDA 核心

  • 是 NVIDIA 开发的并行计算平台和编程模型,用于 GPU 上的通用计算,就像是万能工人,可以做很多不同的工作
  • 适合游戏和图形渲染、天气预测、电影特效等场景

Tensor 核心

  • 中文叫:张量核心
  • 专门设计用于深度学习中的矩阵运算,加速深度学习算法中的关键计算过程
  • 适合语音助手、人脸识别等场景

案例 1:视频渲染 当一个电影制片公司决定制作一部具有高度视觉效果的 3D 电影时,他们需要大量的计算能力来渲染每一帧。这里,CUDA 核心非常有用,因为它们能够处理大量的细节,如光线追踪、纹理和阴影。例如,当一束光从一个光源反射到一个物体上,然后反射到摄像机上,CUDA 核心可以用来计算这个光线路径上的所有细节,确保最终的图像看起来真实并且美观。

案例 2:面部识别 安全系统、智能手机和许多应用程序现在都使用面部识别技术。这需要通过深度学习模型来识别人的面部特征。Tensor 核心在这里发挥关键作用,它们可以迅速地处理神经网络中的大量矩阵乘法和加法,确保面部识别既准确又快速。

AI 领域常用 GPU

这个表格依据价格进行排序,价格从低到高。

显卡目标市场性能应用场景价格
T4企业/AI 推理适中AI 推理, 轻量级训练, 图形渲染7999(14G)
4090消费者非常高通用计算, 图形渲染, 高端游戏, 4K/8K 视频编辑14599(24G)
A10企业/图形适中图形渲染, 轻量级计算18999(24G)
A6000企业/图形适中图形渲染, 轻量级计算32999(48G)
V100数据中心/AI深度学习训练/推理, 高性能计算42999(32G)
A100数据中心/AI深度学习训练/推理, 高性能计算69999(40G)
A800数据中心/AI中等深度学习推理, 高性能计算, 大数据分析110000
H100数据中心/AI深度学习训练/推理, 高性能计算, 大数据分析242000
  • 有些在京东就能买到:https://item.jd.com/10065826100148.html
  • 美国商务部限制 GPU 对华出口的算力不超过 4800 TOPS 和带宽不超过 600 GB/s,导致最强的 H100 和 A100 禁售。黄教主随后推出针对中国市场的 A800 和 H800。

参考:

  • 英伟达 A100 和 H100 已被禁止向中国供货
  • 50 亿美元,算力芯片迎来狂欢,腾讯字节抢购英伟达 A800 订单
H100 与 A100:H100 比 A100 快多少?

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

a100-h100-a
a100-h100-a

参考资料:https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/

物理机 vs. 云服务

划重点:
  • 如果经常做微调实验,有自己的物理机会方便很多很多
  • 提供推理服务,首选云服务
  • 如果有自建机房或 IDC,请随意

云服务厂商对比

国内主流

  • 阿里云:https://www.aliyun.com/product/ecs/gpu (可 申请免费试用)
  • 腾讯云:https://cloud.tencent.com/act/pro/gpu-study
  • 火山引擎:https://www.volcengine.com/product/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 更为经济,适合日常模型微调和推理任务。

NVIDIA A100:

云服务提供商GPU 型号CPU 核心数内存(GiB)价格(元/小时)
火山引擎A10014 核24540.39
阿里云A10016 vCPU12534.742
腾讯云A10016 核9628.64

NVIDIA T4:

云服务提供商CPU 核心数内存(GiB)GPU 型号价格(元/小时)
阿里云4 vCPU15T411.63
火山引擎4 核16T411.28
腾讯云8 核32T48.68

算力平台

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

  • 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 实验数据概览:

模型数据条数时长技术
chatglm99991:42:46pt2
chatglm393336:45:21pt2
chatglm99991:31:05Lora
chatglm393335:40:16Lora
chatglm299991:50:27pt2
chatglm2393337:26:25pt2
chatglm299991:29:08Lora
chatglm2393335:45:08Lora
下面是 llm-utils 上一些选型的建议
  • Falcon 是目前为止huggingface上排行榜第一的模型

根据不同的使用情境,以下是使用的建议GPU:

用例显卡要求推荐显卡
Running Falcon-40B运行 Falcon-40B 所需的显卡应该有 85GB 到 100GB 或更多的显存See Falcon-40B table
Running MPT-30B当运行 MPT-30B 时,显卡应该具有80GB的显存See MPT-30B table
Training LLaMA (65B)对于训练 LLaMA (65B),使用 8000 台 Nvidia A100 显卡。Very large H100 cluster
Training Falcon (40B)训练 Falcon (40B) 需要 384 台具有 40GB 显存的 A100 显卡。Large H100 cluster
Fine tuning an LLM (large scale)大规模微调 LLM 需要 64 台 40GB 显存的 A100 显卡H100 cluster
Fine tuning an LLM (small scale)小规模微调 LLM 则需要 4 台 80GB 显存的 A100 显卡。Multi-H100 instance
划重点:
  • 对于本地个人研发项目,GeForce RTX 4090 等消费级 GPU 足以满足中等规模的需求。
  • 对于公司的大规模数据和复杂模型,推荐使用如 NVIDIA A100 的高性能 GPU。
  • 数据规模小时,可考虑预算内的 A10 或 T4 型号。
  • 如果追求性价比,可以选择把 4090 显卡搭建服务器使用,也可以选择市面的第三方服务,比如:AutoDL 的 4090 服务

参考资料:

  • https://gpus.llm-utils.org/cloud-gpu-guide/
  • https://gpus.llm-utils.org/nvidia-h100-gpus-supply-and-demand/

后记

📢博客主页:https://manor.blog.csdn.net

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📢本文由 Maynor 原创,首发于 CSDN博客🙉

📢不能老盯着手机屏幕,要不时地抬起头,看看老板的位置⭐

📢专栏持续更新,欢迎订阅:https://blog.csdn.net/xianyu120/category_12471942.html

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从传统型数据库到非关系型数据库

一 什么是数据库 数据库顾名思义保存数据的仓库,其本质是一个具有数据存储功能的复杂系统软件,数据库最终把数据保存在计算机硬盘,但数据库并不是直接读写数据在硬盘,而是中间隔了一层操作系统,通过文件系统把数据保存…

挺进云存储,天翼云全新一代XSSD勇立潮头

引言:自研高性能分布式存储引擎LAVA,实现云硬盘持续创新获得新突。 【全球云观察 | 科技热点关注】 作为算力基础设施的基石,云存储的发展一直备受公有云厂商所重视,对拉动云厂商营收规模带来重要价值,就…

用python打印出菱形图案

你可以使用Python编写一个简单的函数来打印菱形图案。下面是一个例子,这个函数接受一个参数n,表示菱形的高度,然后打印出一个菱形图案: def print_diamond(n): # 上半部分 for i in range(n): print(" " …

云智融合浪潮之下,中国操作系统逆势向上

自从2020年12月CentOS项目宣布 CentOS 8于2021年12月31日停止维护和更新,CentOS 7也将于2024年6月30日停服,就掀起了中国操作系统的替换浪潮。作为基于Red Hat Enterprise Linux的开源操作系统,CentOS广泛应用于企业级服务器和云计算平台。而…

Linux——MySQL数据库系统()

一、访问MySQL数据库 MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。 1、登录到MySQL服务器经过安装后的初…

AdobeXD 是什么?你想知道的都在这里!

AdobeXD 是一个功能强大的原型创建工具。使用这个工具,你可以更快地开发你的设计。让你的项目有条不紊,消除拖延工作流程的重复任务和单调任务。快速与开发团队分享详细的设计规范。使用 AdobeXD 能够把创意迅速转化为原型,创建、构建、共享原…

结合eNSP实验讲VLAN,让理论生动

目录 一、VLAN的简介 1、定义 2、产生的原因--解决传统以太网的问题 3、VLAN的作用 4、VLAN数据帧格式--插入VLAN标签 5、VLAN的种类 5.1静态VLAN--常用 5.1.1静态vlan的范围 5.2动态VLAN 6、VLAN的三种端口类型 6.1Access接口 6.2Trunk接口 6.3Hybrid接口 二、配置…

利用机器学习实现客户细分的实战

前言: Hello大家好,我是Dream。 今天来学习一下机器学习实战中的案例:创建客户细分,在此过程中也会补充很多重要的知识点,欢迎大家一起前来探讨学习~ 一、导入数据 在此项目中,我们使用 UCI 机器学习代码库…

MATLAB基础运算

矩阵和数字相乘 就是矩阵里面每个元素跟这个数字乘一遍,无论是点乘还是叉乘,对于这个都一样。 >> Aones(3) A 1 1 11 1 11 1 1 >> 10*A ans 10 10 1010 10 1010 10 10 矩阵和矩阵叉乘 能不能相…

竞赛保研 python 爬虫与协同过滤的新闻推荐系统

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 python 爬虫与协同过滤的新闻推荐系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&…

「C++」内存管理

🎇个人主页:Ice_Sugar_7 🎇所属专栏:C启航 🎇欢迎点赞收藏加关注哦! 文章目录 🍉内存分布🍉关键字new🍉关键字delete🍉new和delete的封装实现🍉总…

kafka 详细介绍

目录 前言 分布式架构: 消息发布-订阅模型: 持久性存储: 分区和副本: 水平扩展: 高性能: 生态系统: 我的其他博客 前言 Kafka 是由 Apache 软件基金会开发的一种开源流处理平台&#xf…

基于Java SSM框架实现沙县小吃门店连锁点餐订餐系统项目【项目源码+论文说明】

基于java的SSM框架实现县小吃门店连锁点餐订餐系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 沙县小吃点餐系统,主要的模块包括实现管理员;个人中心、用户管…

视频推拉流平台EasyDSS点播文件播放请求添加token验证的实现方法

EasyDSS视频直播点播平台可提供一站式的视频推拉流、转码、点播、直播、播放H.265编码视频等服务,搭配RTMP高清摄像头使用,可将设备的实时流推送到平台上,实现无人机视频推流直播等应用。今天我们来介绍下EasyDSS系统点播文件播放请求添加tok…

实战章节:在Linux上部署各类软件

详细资料见文章的资源绑定 一、前言 1.1 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没…

TDengine Kafka Connector将 Kafka 中指定 topic 的数据(批量或实时)同步到 TDengine

教程放在这里:TDengine Java Connector,官方文档已经写的很清晰了,不再赘述。 这里记录一下踩坑: 1.报错 java.lang.UnsatisfiedLinkError: no taos in java.library.pathat java.lang.ClassLoader.loadLibrary(ClassLoader.j…

【Geoserver】将geoserver迁移到jetty的发行包中

之前讲了在Geosever的二进制发行包中升级jetty的内容,我测试之后发现有些问题,本地运行可能没有问题,但是在linux上运行报错了。 于是我想着换个思路好了,总是想着将Geosever中的jetty包替换掉,干脆反过来,…

Java 数据结构篇-用数组、堆实现优先级队列

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 优先级队列说明 2.0 用数组实现优先级队列 3.0 无序数组实现优先级队列 3.1 无序数组实现优先级队列 - 入队列 offer(E value) 3.2 无序数组实现优先级队列 - 出…

mysql数据备份策略-shell脚本优化代码

一.备份的主机上需要自己手动安装xtrabackup工具 1.安装xtrabackup-yum源 #下载xtrabackup的yum源 wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpmrpm -ivh percona-release-0.1-4.noarch.rpm2.打开yum源 #打开xtra…