101. 推理训练加速

1. 数值精度

1. FP8/FP16/FP32,浮点数是如何在硬件表示的?

计算机中的浮点数通过 符号位、指数位、尾数位 三部分组合表示,遵循 IEEE 754标准。

  • 符号位(S):表示正负(0为正,1为负)。
  • 指数位:决定数值的“放大或缩小倍数”。(可以放大,存储一个极大的数,可以缩小,表示一个小数点后极小的数。表示数值的级别)
    • 指数位存储的是无符号整数(比如8位指数,范围0~255),但实际指数可能是正数或负数。解决方法:定义一个偏移量(Bias),让实际指数 = 存储值 - 偏移量。
  • 尾数位:存储具体的有效数字。

2. FP8相较于FP32有何优势?

DeepGEMM在GitHub的描述表面上是什么1350TFlops,实际上暗藏的是控制精度的秘密(很多其他公司FP8训不出来这里关系很大)

  • 内存效率:存储空间节省75%
    • FP32:每个数值占32位(4字节),存储大型模型(如GPT-3的1750亿参数)需要数百GB显存。
    • FP8:每个数值仅占8位(1字节),相同数据量下,显存占用减少至1/4。
  • 计算加速:吞吐量提升2~4倍
    • 矩阵乘法(GEMM)FP8的运算单元更小,单指令可处理更多数据。FP32:1次操作处理1个数值;FP8:1次操作处理4个数值(8位×4=32位)
    • 训练速度提升30%~50%,推理速度提升2倍以上(如LLM生成文本)。
  • 能耗优化:更低的功耗与散热需求
    • 内存读写占AI计算总功耗的60%以上。FP8数据量减少75%,显著降低能耗。

精度损失如何解决?

  • 量化感知训练(QAT):训练时模拟FP8量化,让模型适应低精度。
  • 分组缩放(Group-wise Scaling):对权重分组,每组独立调整缩放因子。
  • 稀疏性补偿:利用FP8的稀疏性(部分数值为0),跳过无效计算。

3. DeepGEMM在GitHub的描述表面上是什么1350TFlops,实际上暗藏的是控制精度的秘密(很多其他公司FP8训不出来这里关系很大)

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

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

相关文章

Bat脚本启动本地Kafka

一:功能介绍本地启动Kafka,当需要测试多个Kafka Broker时使用脚本启动多个实例二:使用介绍编写 bat 文件,将下述代码填入保存,注意路径配置@echo off @REM 声明 UTF-8 编码,避免乱码问题 chcp 65001 setlocal enabledelayedexpansion @REM 代表脚本启动的当前路径,如上…

Pwnable_orw

题源题解 保护只开启了栈保护 分析 进入ida分析 main函数如下seccomp (Secure Computing Mode)是一种 Linux 内核安全机制,它可以 限制进程可执行的系统调用(syscall),用于减少攻击面,提高程序安全性。使用seccomp-tools查看允许调用的函数,即orw(open,read,write) sec…

日期类、Date、Calendar、IO 流、File

DAY9.2 Java核心基础 日期类 java对日期使用提供了良好的封装,包括java.util.Date和java.util.Calender Date Date类使用比较简单,直接通过构造函数实例化对象接口,Date对象标识当前的系统时间,默认的格式并不是我们所熟悉的,一般我们需要对他进行格式化处理,将日常的展现…

深入String、StringBuffer、String 实例化有两种方式、String、StringBuffer常用方法

DAY9.1 Java核心基础 String String 开发使用的频率高 String 实例化有两种方式1、直接赋值 String str1 ="Word";2、通过构造函数创建对象 String str2 =new String("Word");字符串对象底层的基本数据类型是char 比如Word,是char[] str ={W,o,r,d}; 两种…

File类、字节字符流、InputStream和FileReader、OutputStream和FileWriter区别

DAY10.1 Java核心基础 File类 使用该类的构造函数可以创建一个对文件对象表示一个物理资源 File类常用方法方法 描述public File(String pathname) 根据路径创建对象public String getName() 获取文件名public String getParent() 获取文件所在的目录public File getParentFile…

FreeBSD 13.5 正式版发布 - 高性能开源 Unix 系统

FreeBSD 13.5 正式版发布 - 高性能开源 Unix 系统FreeBSD 13.5 正式版发布 - 高性能开源 Unix 系统 The Power To Serve 请访问原文链接:https://sysin.org/blog/freebsd-13/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgFreeBSD 13.5-RELEASE 公告 日期:202…

FreeBSD 13.5 x86_64 OVF (sysin) - VMware 虚拟机模板

FreeBSD 13.5 x86_64 OVF (sysin) - VMware 虚拟机模板FreeBSD 13.5 x86_64 OVF (sysin) - VMware 虚拟机模板 The Power To Serve 请访问原文链接:https://sysin.org/blog/freebsd-13-ovf/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org2025 年 3 月 11 日,F…

2. 创建一个按钮组件

在deepseek中输入:创建一个vue组件 组件实现button的功能 预设4种颜色,分别对应:success: 绿色,危险按钮:红色,警告按钮:橘色,信息按钮:灰色 预设几个带icon的按钮,分别是:搜索,确定,取消,删除,上一页,下一页,分享,编辑 需要让调用该组件是可以自定义一些属性…

MySQL:CentOS 7 Docker 联网安装 MySQL

1. 创建mysql挂载目录 mkdir -p /home/data/mysql/config/ 配置目录挂载 mkdir -p /home/data/mysql/data/ 数据目录挂载 2. 在config目录下创建字符集文件 vim /home/data/mysql/config/my.cnf 填写 [mysqld] user=mysql character-set-server=utf8 [client] default-ch…

项目经理私藏!2025年10款小众但超实用的管理神器

在项目管理的江湖中,15 年的实战经验就像是一本活的百科全书,见证了无数项目的起起落落。想象一下,在一个大型建筑项目中,原本计划有序的施工突然因为材料供应不及时而陷入混乱,工期眼看着就要延误,成本也开始失控。这时候,一位经验丰富的项目经理凭借着他独特的管理工具…

SQLServer 死锁排查

适用于2012及以上版本一、创建扩展事件会话 CREATE EVENT SESSION [Deadlock_Monitor] ON SERVER ADD EVENT sqlserver.xml_deadlock_report ADD TARGET package0.event_file(SET filename=NDeadlock_Monitor.xel) WITH (STARTUP_STATE=ON); GO ALTER EVENT SESSION [Deadloc…

Eureka服务注册发现源码流程简析

一: 服务的注册客户端通过执行InstanceInfoReplicator#run()调用DiscoveryClient#register()发送http请求进行注册 InstanceInfoReplicator 是同于更新同步当前服务到服务端的任务实现 //A task for updating and replicating the local instanceinfo to the remote server.//…