AI算力知多少?
作者:微信文章点击上方蓝字[大米的老爹],关注+星标吖
1、什么是算力精度?
精度,是数据表示的一个重要参数,它决定了数据的准确性。在计算机科学中,精度通常与数值表示的位数有关。对于浮点数,精度取决于浮点数的存储方式,即占用的比特数(bits)越多,精度越高。一个典型的例子就是π,常用3.14表示,但是如果要更高精度,小数点后面可以有无数位。
2、为什么需要不同的算力精度?
在人工智能领域,不同的应用场景对精度的需求各不相同。例如,在深度学习模型的训练中,需要大量的数据进行计算,如果精度过高,会导致计算量巨大,训练时间延长;而如果精度过低,则可能影响模型的准确性。因此,为了在保证准确性的前提下提高计算效率,就需要使用不同的精度。
3、常见的算力精度有哪些?
从上图中可以看见存在FP64、FP32、TF32、FP16、INT8等这些精度单位,不同精度对应的模型训练效果占用存储空间和训练时间都会存在差异。
图片对应的精度带有Tensor Core的意思是支持专用硬件Tensor Core进行运算加速和混合精度训练的。性能增强Tensor Core是NVIDIA在Volta架构引入的,当时Tensor Core只为FP16进行优化,在Hopper架构时,Tensor Core扩展到了TF32、FP64、FP16和INT8精度,将性能提升3倍。通过Tensor Core还可以实现混合精度,比如使用半精度来加速矩阵乘法,使用单精度或双精度数据来修正结果。
1)FP64(双精度浮点数,Double Precision Floating Point)
用64位二进制数表示浮点数,其中1位符号位、11位指数位、52位尾数位,动态范围约为±10^308,精度约15-17位有效数字。常用于大规模科学计算、工程计算、金融分析等对高精度有严格要求的算法领域。
2)FP32(单精度浮点数,Single Precision Floating Point)
用32位二进制数表示浮点数,其中1位符号位、8位指数位、23位尾数位,动态范围约±10^38,精度约7-8位有效数字。一般应用于科学计算、图形渲染、深度学习训练和推理等。FP32在性能与精度之间提供了较好的平衡,在大多数通用计算任务和科学计算中被广泛使用。
3)FP16(半精度浮点数,Half Precision Floating Point)
用16位二进制数表示半精度浮点数,其中1位符号位、5位指数位、10位尾数位,动态范围约±65504,精度约3-4位有效数字,存储占用仅为FP32的一半。 适用于AI训练轻量化(如BERT、GPT等大模型训练)、移动端与边缘计算(如英伟达Jetson系列、华为Atlas 500等边缘设备)等。
4)TF32(Tensor Float 32,张量浮点)
英伟达在Ampere架构(如A100)中提出的“伪32位”格式,本质是FP16的指数位扩展至8位(类似FP32指数位),尾数位仍为10位,动态范围接近FP32,但精度略低。该精度为英伟达专属技术,仅在英伟达Ampere、Hopper架构的Tensor Core中支持,适用于CNN等视觉模型训练。
5)BF16(脑浮点,Brain Floating Point)
由Google提出的16位浮点数格式,其中1位符号位、8位指数位(同FP32)、7位尾数位,动态范围与FP32一致,但精度更低(约2位有效数字),存储占用为FP32的一半。优势在于其计算速度更快、能耗更低,适用于对精度要求不高但计算量大的任务,一般用于深度学习训练和推理,特别是在需要在保持较大动态范围的同时减少计算资源消耗时。
6)INT8(8位整数,8-bit Integer)
8位二进制数,其中1位符号位、7位数值位,范围[-128, 127],无小数部分,计算速度快、存储占用低(仅FP32的1/4)。从高精度浮点数,转换为低精度整型数,减少模型的大小和计算复杂性的同时尽可能减少精度损失,常适用于深度学习模型的推理运算。
根据英伟达官网的表述,AI训练场景为缩短训练时间,主要使用BF16、FP8、TF32 和FP16;AI推理厂家为在低延迟下实现高吞吐量,主要使用TF32、BF16、FP16、FP8 和INT8;HPC(高性能计算)为实现在所需的高准确性下进行科学计算的功能,主要使用FP64。
4、算力如何表示?
算力规模是评估计算机系统性能的一个关键指标,特别是在科学计算、高性能计算、人工智能等领域,它直接关系到处理复杂任务的速度和能力。
AI 算力常见单位分为TOPS(Tera Operations Per Second,每秒万亿次运算)和FLOPS(Floating Point Operations Per Second,每秒浮点运算次数)。推理算力,即通常用设备处理实时任务的能力,通常以TOPS(每秒万亿次操作)为单位来衡量。而训练算力,即设备的学习能力和数据处理能力,常用FLOPS(每秒万亿次浮点操作)来衡量。
单卡用TFLOPS(Tera flops 每秒1万亿次浮点运算),简称为T;衡量集群的算力能力单位为PFLOPS(Peta flops 每秒千万亿次浮点运算),简称为P。目前很多在建的智算中心通常会说新建的这个算力中心提供的算力上多少P,比如2000P的算力规模,默认指的就是2000 PFLOPS FP16半精度浮点的算力,如果使用英伟达H100的GPU卡就是千卡集群的规模(约128台8卡GPU服务器)。
行业交流群今天正式开通啦!(点击可跳转)
(备注“姓名+单位+申请理由”)邀请进群,否则不通过哦~
- End -
作者介绍:
本科双非,保送国科大读研的理工男
一位持续学习中的赶路人
专注于 AI产品散热 | 硬件学习 | 经验分享 | 成长感悟
欢迎关注,一起进步!
页:
[1]