← 返回概念解读

Concept Fable精修版

bf16

Brain Floating Point 16 · Training

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

刻度粗一点,量程不能窄

药材铺有两套量杯。老量杯刻度极细,能装很少的露水,也能装一大瓮浓汁,只是沉得很;新小杯轻快,学徒一手能拿两只,却常在大剂量药液前满出来。

掌柜想让配药更快,先把柜台都换成小杯。第一天速度确实上去了。第二天遇到一张补气大方,几味药液的数目太大,小杯记不住,学徒只好临时折算,越算越乱。

老师傅没有让大家退回老杯。他拿出第三种杯子:杯身轻,刻度没有老杯细,却保留了老杯的大量程。它不擅长分辨最细的一丝差别,但不容易把大数装丢。

学徒担心药方会因此不准。老师傅带他逐张复查:多数补汤看重药味比例和大致火候,不需要每一丝都精确;少数毒性强、剂量窄的药,仍留给老量杯。

新杯用了一个月,柜台排队少了,错方也没有增加。过去最麻烦的情况,并非少一粒药末;药液太多时整张方子算崩,后果更重。第三种杯子把这类崩坏挡住了。

后来药铺接了军营的大单,几百份汤剂要在清晨前备齐。学徒终于看见第三种杯子的用处:它让柜台少搬重器,又不在大锅前慌乱;只是调最后一味强药时,老师傅仍亲自取出老杯。

最初也有人只记住‘轻’这个好处,想把所有量具都换掉。老师傅当场让他配一味麻药,要求半滴不差。学徒手一抖,才知道粗刻度并不适合每个环节。药铺要的是在大多数繁重步骤里快而稳,在少数细窄处守住老办法。 这条规矩后来贴在药柜旁,学徒每次取杯前都要先看药方的宽窄和锅量。

后来药铺定下规矩:常规配方用轻杯,极敏感步骤用老杯;每次换杯都要标明原因。掌柜明白,省力不等于随便变粗,关键是知道哪些精度可以让,哪些范围绝不能丢。

揭示

这个故事讲的是:bf16

Brain Floating Point 16, bf16 是一种 16 位浮点格式,指数范围与 fp32 相同但尾数更少。它相比 fp32 节省显存和带宽,相比 fp16 更不容易出现数值溢出,通常不需要复杂梯度缩放。大模型训练和推理中,bf16 常用于在稳定性和效率之间取得平衡。

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 老量杯:fp32,高精度但占资源
  • 普通小杯:fp16,省资源但量程较窄
  • 第三种杯子:bf16,量程大、尾数较粗
  • 浓缩药液溢出:数值溢出风险
  • 硬件支持:bf16 落地的工程前提

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

fp16fp32mixed precisionTPUGPU