【免费下载链接】HEART-fp16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/HEART-fp16点击查看免费下载在模型移植和量化场景里PSNR是衡量两个实现输出差异的核心指标。开源项目HEART-fp16将 16.7M 参数的 HEART 超分辨率网络从 PyTorch 移植到 MLXfp16其精度对齐Parity验证在 128² 输入上拿到了127.5 dB的 PSNR——这个水平几乎意味着两次实现的输出在数值噪声层面完全一致。本文带你搞懂PSNR 刻度怎么看、HEART-fp16 用了哪套三步验证法、以及哪些张量必须保留 fp32。一、PSNR 刻度表127.5 dB 到底算什么水平PSNRPeak Signal-to-Noise Ratio峰值信噪比公式为10·log10(MAX²/MSE)单位 dB。数值越大两份输出越接近PSNR 区间直观含义典型场景 20 dB肉眼可见明显差异算法/参数写错20 ~ 30 dB有明显偏差粗粒度量化、实现有 bug30 ~ 40 dB差异很小细节略有不同常见精度级别差异fp16 vs fp32 的典型区间40 ~ 60 dB人眼几乎不可分辨同框架不同 kernel 实现60 ~ 90 dB差异已属数值噪声跨框架 fp32 参考对齐 100 dB相对误差进入 1e-15~1e-21 量级机器精度级别可视为完全一致 直观感受100 dB 意味着信号与误差的比值达到 10¹⁰ 倍127.5 dB 则约为 7×10¹² 倍。而 fp32 浮点本身的机器精度epsilon只有 ~1e-7——也就是说127.5 dB 的差异已经比单精度浮点自身的误差底噪还要小完全可以判定两套实现在数学上等价。作为对照ONNX Runtime 与 PyTorch 之间常见的跨引擎一致性通常在 80~95 dB本仓库实测 90.2 / 84.9 / 95.8 dB而 fp16 与 fp32 对比一般只能做到 25~35 dB。二、HEART-fp16 是什么HEARTHybrid Efficient Attention with Rank-factorized bias Transformer作者 Philip Hofmann是一个基于 HAT-iLN 窗口注意力window_size32的超分辨率网络仅使用 CC0 许可数据集训练总参数约 16.7M。HEART-fp16 是它的 MLX 移植版专为 Swift/MLX 生态提供 2×/4× 放大能力。仓库文件清单每个 variant 独立成文件按需加载文件variant倍率定位heart_4x_otf_v2_fp16.safetensors.fidelity默认4×受损输入场景下精度最高heart_4x_otf_gan_fp16.safetensors.sharp4×真实场景输出最锐利heart_4x_pretrain_fp16.safetensors.clean4×官方 pretrain干净源图像heart_2x_fp16.safetensors.clean2x2×官方 2× pretrainconfig.json——架构参数、variant 元数据、fp16 保留规则、上游 sha256它采用双通道设计HEART-fp16是发布通道conv/linear 张量 fp16其余关键张量 fp32配套的HEART-fp32通道专门用作Parity 参考基线。三、Parity 验证三步法整模型 → 子算子 → 跨引擎精度对齐Parity的目标一句话概括同一输入喂给两个实现量化输出差异是否小到可以忽略。HEART-fp16 的验证流程分三层由粗到细第 1 步固定参考实现 固定输入参考实现上游 PyTorch 版heart_arch.py traiNNer-redux 辅助代码跑在CPU fp32上固定输入128×128 测试块两个实现使用完全相同的输入张量权重逐张量精确转换conv 权重布局从(O,I,kH,kW)重排为(O,kH,kW,I)其余不动上游文件锁定在 revision868878ce并在 config.json 中记录source_sha256/fp32_sha256/fp16_sha256供校验。第 2 步整模型 PSNR 对比每个 variant 单独跑fp32 通道 vs PyTorch 参考128² 输入的实测结果variantPSNR结论.fidelity127.5 dB✅ 机器精度级一致.sharp125.3 dB✅ 同上.clean122.5 dB✅ 同上.clean2x124.0 dB✅ 同上第 3 步子算子sub-op相对误差定位整模型 PSNR 达标只说明结果对子算子检查说明每一层都对对每个子操作单独对比要求全部落在1e-5 相对误差以内。这样一旦出现回归能直接定位到具体算子而不是在整网黑盒里猜。此外还做了跨引擎对照与作者提供的 ONNX 导出文件在 ONNX Runtime 下对比得到 90.2 / 84.9 / 95.8 dB——和 ONNX 一致到 torch 自身一致的程度。这个对照还反向暴露了一个参考端问题heart_4x_pretrain的 ONNX 文件无法复现其 checkpoint仅 7.8 dB且 ORT 输出会随图像尺寸漂移。这说明 Parity 检查是双向的既能抓移植错误也能抓参考端问题。四、fp16 精度策略哪 220 个张量必须留在 fp32748 个张量中有220 个保持 fp32规则记录在 config.json 的fp16_keeps_fp32字段fp16_keeps_fp32: [ *.norm1.{weight,bias}, *.norm2.{weight,bias}, norm.{weight,bias}, patch_embed.norm.{weight,bias}, *.to_hidden, *.hidden_b, *.to_q, *.to_k ]同时所有归约reduction运算强制 fp32i-LN 的统计量、RIB 位置表、softmax、全局平均池化及其 squeeze/excite 头。为什么这些位置要么参与跨大量元素的累加fp16 累加误差放大、易溢出要么是 Query/Key 投影和隐式网络参数对频率/位置编码敏感。保留它们 fp32 后模型文件体积仍从 66.8 MB 压到 33.7 MB几乎减半。五、如何复现这套验证快速上手拉取仓库参考通道同理换成HEART-fp32git clone https://gitcode.com/hf_mirrors/mlx-community/HEART-fp16准备参考实现上游 PyTorchheart_arch.pyCPU fp32并加载同一 revision 的原始 checkpoint。固定输入生成一个 128×128 的固定测试图随机种子固定两边复用同一份字节。分别推理PyTorch 与 MLX 各跑一次保存输出张量为数组。计算 PSNR以 uint8 域为例MAX255mse np.mean((a.astype(np.float64) - b.astype(np.float64)) ** 2) psnr 10 * np.log10(255 ** 2 / mse)按阈值判级跨框架 fp32 对比 90 dB视为完全对齐本仓库达到 122.5~127.5 dB子算子相对误差 1e-5逐层通过fp16 通道对 fp3225~35 dB属正常范围低于 20 dB 需排查 dtype 处理。sha256 校验用 config.json 中记录的fp16_sha256确认权重文件未被篡改或二次量化。六、FAQ 速答Q为什么不用 40 dB 之类的低阈值当及格线A40 dB 只够判断人眼看不出差别无法区分实现正确和恰好接近。跨框架移植必须做到 90 dB本例 127.5 dB才能排除逐层累计的系统性偏差。QPSNR 不达标时先查什么A按顺序查① 输入是否完全一致归一化、通道序② 权重布局是否按OHWI/NHWC正确重排见 config.json 的layout字段③ 敏感算子是否漏配 fp32softmax、归约、i-LN④ 用子算子对比定位第一处偏差层。QPSNR 和 SSIM 怎么选A验证实现一致性用 PSNR对逐像素差异敏感、可复现评估视觉效果用 SSIM/主观观感。两者互补不可互相替代。七、关键资料索引项目说明与 Parity 数据总览README.mdParity 小节架构参数 / variant 元数据 / fp16 保留规则 / 校验和config.json四个模型权重文件heart_4x_otf_v2_fp16.safetensors、heart_4x_otf_gan_fp16.safetensors、heart_4x_pretrain_fp16.safetensors、heart_2x_fp16.safetensorsfp16 精度研究与分块tiling研究的完整细节见移植仓库的PORTING-SPEC.mdREADME 中有指引一句话总结HEART-fp16 用固定输入 固定参考 三层对比整网 PSNR / 子算子 1e-5 / 跨引擎 ONNX sha256 溯源这套组合拳把 127.5 dB 的精度对齐做成了可复现的工程流程——这正是任何模型移植项目都该抄的作业。赞分享【免费下载链接】HEART-fp16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/HEART-fp16点击查看免费下载相关推荐什么是fp16精度MI-GAN-512-places2-fp16核心参数全解析512分辨率与Places2训练集什么是fp16精度MI GAN 512 places2 fp16核心参数全解析512分辨率与Places2训练集 MI GAN 512 places2 fp什么是语言模型对齐Alignment Handbook带你从零开始理解AI对齐技术什么是语言模型对齐Alignment Handbook带你从零开始理解AI对齐技术 语言模型对齐是当前人工智能领域最重要也最前沿的技术之一它致力于让AI系统大模型微调RLHFNLP全面解析face-alignment为什么它是面部对齐技术的终极选择全面解析face alignment为什么它是面部对齐技术的终极选择 在计算机视觉领域 面部对齐技术 已成为人脸分析任务中的核心环节。作为开源社区中备受推人工智能计算机视觉深度学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考