[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5V9YrX8gX-68jAcpnKqC70B52ohPcK12lVyvXBJQPrU":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":35,"sourceUrl":36,"status":37,"seoTitle":7,"seoDescription":9,"canonicalUrl":38,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"d599dbd5-6504-4646-b7c2-1d848ff345bd","article","MXFP8：32 个低精度数字怎样共享一个缩放因子？","mxfp8-microscaling-floating-point","MXFP8 属于微缩放数值格式：一小组 FP8 数值共享一个独立缩放因子，帮助在低精度下保留可用动态范围。本文拆开“分块缩放”的思路，解释它对训练与推理的意义，以及硬件和数值误差方面的限制。","训练大模型需要大量数值计算，数据越精确通常越占显存、带宽和计算资源。FP8 等低精度格式能减少开销，但数值范围变小后，某些张量容易溢出或精度损失。MXFP8（Microscaling FP8）采用“局部共享缩放因子”的方式，试图让低精度数值既紧凑，又保留更灵活的动态范围。\n\n## 一组数字共用一个小刻度\n\n传统缩放可能为整张张量设置一个比例：范围大的数值决定了缩放尺度，范围小的值就可能浪费精度。MXFP8 把数据分成较小的数据块，每块的 FP8 数值共享一个缩放因子。Transformer Engine 文档描述的格式中，缩放因子以 E8M0 表示，并按一组连续数值进行管理；常见分组为 32 个元素。\n\n可以把它想成一张地图上的局部比例尺：整张地图若只用一个尺度，小巷细节和高速公路可能难以同时呈现；每个区域各有比例尺，就能更贴合当地数值范围。硬件在计算时结合块内缩放因子，还原或近似需要的数值关系。\n\n## 低精度依然需要理解误差\n\n分块缩放不能消灭舍入误差，也不意味着所有模型和所有层都适合 FP8。输入分布、异常值、累计误差、训练稳定性和算子实现都会影响结果。缩放因子本身也需要存储和处理，格式转换可能产生开销。要判断收益，需要基于实际模型测量训练稳定性、吞吐、显存占用和任务质量。\n\nMXFP8 的有效支持还依赖具体软件栈和硬件代际。即使某种 GPU 支持相应计算，框架版本、内核实现和张量路径也可能决定能否调用。因而不能把“使用 MXFP8”直接等同于所有训练任务都更快、结果完全不变。\n\n它的核心价值是把缩放粒度从整个张量缩小到局部块，让每组低精度数值有更适合自己的范围。理解时要分清数据格式、缩放元数据、硬件支持和模型精度评估：这四者一起决定实际效果。\n\n来源：[NVIDIA Transformer Engine 文档：MXFP8](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Ftransformer-engine\u002Ffeatures\u002Flow_precision_training\u002Fmxfp8\u002Fmxfp8.html)","\u002Fuploads\u002F2026-10-17\u002F98655cd4-2772-4999-9d81-177c2655ed07.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"a2ccffe0-49b2-458b-baf6-a83a1b20443d","大语言模型","llm",{"id":28,"name":29,"slug":30},"88d2bc27-0e0f-468a-b907-2991cb97b87b","人工智能","ai",{"id":32,"name":33,"slug":34},"8d35e42e-9f5b-4dd9-b30f-dc2c53d06096","硬件","hardware","NVIDIA Transformer Engine Documentation","https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Ftransformer-engine\u002Ffeatures\u002Flow_precision_training\u002Fmxfp8\u002Fmxfp8.html","published",null,false,53,0,"2026-10-17T00:00:00.000Z","2026-10-17T03:09:00.975Z",[45,54,62],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":52,"createdAt":53},"560f8daa-d53e-49f9-b4cc-54d5f39aea71","1.58 比特大模型：参数只有 −1、0、1，为什么还能推理？","one-bit-llm-bitnet-explained","BitNet b1.58 让模型从训练阶段就使用 −1、0、1 三值权重，探索更低的内存、延迟和能耗。本文解释 1.58 bit 的由来、原生低比特与 INT4 量化的区别、零值的作用，以及为什么收益依赖硬件和运行时。","\u002Fuploads\u002F2026-09-08\u002Fab641d19-d38a-4d44-b40f-649aa1c3191a.jpg",49,"2026-09-08T00:00:00.000Z","2026-09-08T03:19:29.625Z",{"id":55,"type":6,"title":56,"slug":57,"summary":58,"coverUrl":59,"authorName":14,"sno":60,"publishedAt":42,"createdAt":61},"b3021f89-78c0-4d93-bc30-cea222b30f37","ORCA：大模型服务怎样在每生成一个 token 后重排队伍？","orca-iteration-level-scheduling-llm-serving","ORCA 提出 iteration-level scheduling：大模型每轮生成后都重新安排批次，让刚完成的请求退出、新请求及时进入。本文用公交发车与流水线的比喻解释连续批处理的效率，也讨论调度器如何平衡吞吐与等待时间。","\u002Fuploads\u002F2026-10-17\u002F03af83bc-ae9f-4ec1-898b-2ebf94375b23.jpg",44,"2026-10-17T03:08:58.582Z",{"id":63,"type":6,"title":64,"slug":65,"summary":66,"coverUrl":67,"authorName":14,"sno":68,"publishedAt":69,"createdAt":70},"3f168250-e566-4f42-94c3-770a94401e6f","IOMMU：外设为什么不能随便读写整台机器的内存？","iommu-device-dma-memory-isolation","IOMMU 为设备 DMA 提供地址转换与访问隔离，是虚拟机设备直通和受控用户态驱动的重要基础。本文说明它保护什么、不能保证什么。","\u002Fuploads\u002F2026-10-06\u002Ff86f288a-2fdf-4980-a4be-078d8416273d.jpg",52,"2026-10-06T00:00:00.000Z","2026-10-06T07:51:20.460Z"]