此帖转自 jiml 在 书歌影视美食游 的帖子:Re: 来来来,让叔瞅瞅你是否真的做 ai 芯片
(叔会在这个楼给各位解释为何 deepseek 选择 UE8M0 这个数据格式)
在浮点格式中,符号、指数和尾数(或有效数字)是定义实数的三个组成部分,例如
E4M3: 由 1 位符号位、4 位指数位和 3 位尾数组成
UE8M0:它将所有 8 位分配给指数,尾数和符号位留零。没有符号位,所以只能表示非负数。没有尾数,UE8M0 表示的任何数字都是 2 的幂。
ai 的基本运算是矩阵相乘,矩阵里的数字,最初是 32 位浮点数,到现在是 8 位浮点数 ,明年就会是最先进的 4 位浮点数了。
今天我讲的是 8 位浮点数(fp8) 矩阵相乘,一行和一列对应的 fp8 相乘后加一起,所有行与所有列,都乘一遍,计算量巨大。
两个 E4M3 浮点数相乘是这么做的:
指数加指数
尾数乘尾数
符号乘符号
这其中,尾数乘尾数要用到乘法器,乘法器比加法器大很多,费 gates,费电。
两个 UE8M0 浮点数相乘是这么做的:
指数加指数
that's it,通过用 UE8M0,deepseek 把复杂的 fp 8 浮点运算简化成两个 8 位无符号整数相加,省 gates ,符合中国半导体产业的国情
(完)