news 2026/2/8 21:21:33

(模型量化学习)基础准备

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(模型量化学习)基础准备

1.FLOPS(大写)和TOPS

FLOPS指的是一秒钟可以处理的浮动小数点运算次数,而TOPS是一秒钟可以处理了的整形运算次数的能力,衡量计算机硬件性能,计算能力的一个单位。

注意FLOPS与FLOPs不同,FLOPs是衡量模型大小的一个指标。

2.FLOPS在GPU中是如何运算的

以A100架构举例,一共有108个SM,一个SM里有64个处理INT32的CUDA Core,64个处理FP32的CUDA Core,32个处理INT32的CUDA Core,4个处理矩阵计算的的Tensor Core。

上表的吞吐量是如何计算呢?以FP64为例子:

throughput = 1.41*108*32*1*2= 9.7 TFLOPS

同理FP32也是如此,但是想FP16,由于此架构没有专门针对FP16的cuda core,所以我们将FP32和FP64的cuda core一起使用来计算FP16,那么FP16则有256个(32*2+2*64)

Throughput = 1.41 GHz * 108 * 256 * 1 * 2 = 78 TFLOPS,
我们算了两个cuda core的现在我们分析tensor core:
Ampere架构使用的是第三代Tensor Core,可以一个clk完成一个
1024 ( = 256 * 4)个FP16运算。准确来说是4x8的矩阵与8x8的矩阵的
FMA:
Throughput = 1.41 GHz * 108 * 4 * 256 * 2 = 312 TFLOPS
3.CUDA Core vs Tensor Core
如果这样的话,算完一共矩阵后需要8*16 =128个clk,如果有16个cuda core并行则只需要8个clk。
而tensorcore不是一个一个去算,而是一部分一部分去算:
整体来说处理一个4*8与8*4的矩阵只需要2个clk就能完成。
(一)roofline model
#参数
1.计算量:
单位是FLOPs,表示模型中有多少个floating point operations,是衡量模型大小的标准
2.计算峰值:单位是FLOPS (也可以是FLOP/s),表示计算机每秒可以执行的floating point operations。是衡量计算机性能的标准。
3.参数量:单位是Byte,表示模型中所有的weights(主要在conv和FC中)的量。是衡量模型大小的标准。
4.访存量:单位是Byte,表示模型中某一个算子,或者某一层layer进行计算时需要与memory产生read/write的量。是分析模型中某些计算的计算效率的标准之一。
5.带宽:单位是Byte/s,全称是memory bindwidth,表示的是单位时间内可以传输的数据量的多少。是衡量计算机硬件memor性能的一个标准。
#带宽
带宽主要与以下三个因素有关:memory clock (GHz)memory bus width (Byte)memory channelmemory clock可以看成小汽车运行的速度,memory bus width可以看成路面的宽度,memory channel 则是一共有多少条运货的路。
#计算密度
单位是FLOPs/Byte,表示的是传送单位数据可以进行的浮点运算数。计算密度 = 计算量/访存量 。
上图中,横坐标是计算密度,纵坐标是计算机性能,斜率是带宽,峰值是计算峰值。
以一台3080为例:我们有他的计算峰值,带宽,我们就能做出他的性能图:
我们知道了斜率,我们知道计算峰值,然后根据这两个变量就可以找到不同浮点数对应的计算密度,比如FP32,由图可知他的计算密度为39.2,那我们为了更好的使用计算机,则我们后续搭建的模型的计算密度应该就是这个值左右,实际会比39.2小一些。
(1)kernel size的影响
以FP32为例,如图所示
conv(1x1 conv)的虽然较少了计算量,但是计算密度也 很低。随着kernel size增大,计算密度增长率逐渐下降,一般来说3,5大小的比较好。
(2)output size的影响
(3)channel size的影响
(4)group convolution的影响
(5)FC的影响
FC的计算密度非常低的原因在于它的大量的访存
(6)模型分析
RTX 3080 Ampere架构中FP32的计算在39.2FLOPs/byte才达到计算饱和。所以这些
模型其理论上都没有计算饱和。到目前讲的是理论值。然而实际上我们会发现峰值一般会小一些。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 11:19:47

亲测好用!专科生毕业论文必备TOP8 AI论文工具

亲测好用!专科生毕业论文必备TOP8 AI论文工具 2026年专科生毕业论文写作工具测评:为何需要这份榜单? 随着人工智能技术的不断发展,AI论文工具逐渐成为高校学生,尤其是专科生撰写毕业论文的重要辅助工具。然而&#xff…

作者头像 李华
网站建设 2026/2/7 1:13:40

字符串分割并展开成表格的SQL实现方法

一、场景案例 在数据开发类项目中,常常会遇到需要将字符串进行切割并展开成表格的场景,如以下两种常见的案例: 1.标签类型数据:如将员工标签类型的数据 - 技能:Java、Spring、微服务、项目管理 - 项目经验&#xff…

作者头像 李华
网站建设 2026/2/8 6:01:06

什么是视频重保

文章目录为什么需要视频重保视频重保能带来什么价值视频重保的组网架构视频重保的效果视频重保,即重要视频会议保障,旨在借助SRv6、网络切片、IFIT等技术,依托现有网络建设视频会议系统,对视频会议网络进行端到端保障,…

作者头像 李华
网站建设 2026/2/5 6:52:14

1985-2024年我国30米分辨率树木覆盖栅格数据

根据国家森林资源清查(NFI)显示,自20世纪80年代以来,中国的森林面积几乎翻了一番。但由于缺乏长时间序列、高精度的连续观测数据,一直难以精准看清这几十年间树木覆盖变化的具体时空细节。传统的二元地图往往只能区分“…

作者头像 李华