FlashVSR-v1.1-bf16开发者进阶:从convert_weights.py权重转换到Metal稀疏注意力内核的二次开发路线

发布时间:2026/10/20 13:14:07
FlashVSR-v1.1-bf16开发者进阶:从convert_weights.py权重转换到Metal稀疏注意力内核的二次开发路线
【免费下载链接】FlashVSR-v1.1-bf16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/FlashVSR-v1.1-bf16点击查看免费下载FlashVSR-v1.1-bf16 是面向 Apple Silicon 的 FlashVSR v1.1 视频超分权重仓库它把一步式、流式扩散 ×4 视频超分模型转换成 MLX 框架的 bf16 生产格式。本文给出两条核心二次开发主线——复现convert_weights.py的 PyTorch 到 MLX 权重转换以及实现 Metal 稀疏注意力内核LCSA帮开发者建立从零构建端侧视频超分模型的完整能力。一、FlashVSR-v1.1-bf16 是什么MLX 视频超分权重的完整解剖FlashVSR是生成式视频超分模型它在目标分辨率上发明合理细节而非单纯重建因此实拍视频中低清、模糊的人脸与纹理能恢复出真实的摄影级细节。v1.1 通过 DMD 蒸馏把扩散过程压缩到单步t1000并采用流式处理——内存占用只随单帧输出像素数增长与视频长度无关。本仓库是它的MLX bf16 权重约 3.5 GB生产 lane由 Swift/MLX 移植项目mlx-flashvsr-swift的oracle/convert_weights.py生成。架构上有一个关键简化不需要 Wan VAE也不需要 umT5 文本编码器——解码交给小型 TCDecoder文本条件用一个固定 prompt 张量替代这正是它能轻量上端侧的原因。仓库仅 5 个文件构成完整模型文件组件参数量作用dit_bf16.safetensorsDiT 主干Wan2.1-1.3B 结构蒸馏为单步14.19 亿核心生成器lq_proj_bf16.safetensorsCausal_LQ4x_Proj 低清条件路径2.88 亿把低清帧特征注入 DiTtcdecoder_bf16.safetensorsTCDecoderTAEHV-wide 小型解码器4534 万潜空间 → 像素prompt_bf16.safetensors固定 prompt 上下文 (1,512,4096)约 210 万免文本编码器config.json架构参数、流水线默认值、溯源—模型的说明书 权重文件经 Git LFS 分发见 .gitattributesMLX 引擎首次使用时会自动把仓库下载到模型库。另有 fp32 参考 laneFlashVSR-v1.1-fp327.0 GB专门用于对齐校验。在mlx-flashvsr-swift中直接驱动核心只需几行import FlashVSRMLX let pipe try FlashVSRPipeline.load(directory: laneDir, dtypes: .production) let stream FlashVSRStream(pipeline: pipe, height: 768, width: 1280) for frame in lqFrames { for out in try stream.push(frame) { /* … */ } }二、convert_weights.py 权重转换从 PyTorch 到 MLX 的复现路线2.1 转换在做什么上游发布的是 4 个 PyTorch 文件代码 cf910c61权重 27561b18转换脚本把它们变成 MLX 可直接加载的 safetensors。config.json 记录了每个源文件的 SHA-256这是复现转换时最重要的校验锚点源文件上游对应产物SHA-256前 8 位diffusion_pytorch_model_streaming_dmd.safetensorsDiTbd28180eLQ_proj_in.ckptLQ projectord6d011cdTCDecoder.ckpt解码器e224bdcfposi_prompt.pth固定 prompt4601107a2.2 键名契约唯一允许的改动config.json 的key_contract字段一句话说明了全部转换规则键名与上游逐字一致只有卷积张量的存储布局改为 channels-last——Conv3d(O,D,H,W,I)Conv2d(O,H,W,I)RMS gamma(C)其余形状与键名一律不动这个策略让校验极其简单逐参数对比即可定位任何布局错误。bf16 lane 的每个张量取整到 bf16 后与 fp32 lane 加载时 cast 到 bf16 的结果逐位一致已在全部 899 个参数上验证。2.3 两条 lanebf16 生产 / fp32 参考Lane体积用途bf16本仓库3.5 GB生产运行fp327.0 GB对齐 / 回归校验基准开发新组件或改动流水线时建议始终以 fp32 lane 为参考、bf16 lane 跑生产——这也是本仓库能逐位对得上的前提。2.4 最小复现步骤# 在 mlx-flashvsr-swift 移植项目中对上游权重执行 python oracle/convert_weights.py --lane bf16复现后做三件事核对 4 个源文件 SHA-256 → 逐键对比键名与布局 → 与 fp32 lane 逐位比对。三、Metal 稀疏注意力内核LCSA 的端侧实现要点3.1 什么是 LCSAFlashVSR 的注意力不是稠密的而是Locality-Constrained Sparse Attention局部约束稀疏注意力以128×128 块为最小单位用硬 top-k只挑选真正重要的块来计算注意力选择受局部性约束local_range、kv_ratio保证时间/空间邻域不丢上游由 mit-han-lab 的 CUDABlock-Sparse-Attention实现且原始模型明确要求第三方移植不能丢弃 LCSA 路径——这正是 Swift 移植版要用 Metal 内核重写的部分。关键流水线参数config.json参数值含义topk_ratio2·768·1280 / (H·W)每 query 保留的块数比例kv_ratio3KV 块预算倍数local_range11局部约束范围window[2, 8, 8]流式窗口 (T,H,W)frames_per_chunk8每块处理帧数3.2 Metal 内核设计要点只算选中的块内核接收 top-k 选出的块索引、跳过未选中块FLOPs 与稠密注意力解耦对齐 DiT 几何12 头 × 128 维 head3-D 分解 RoPE时间 44 | 高 42 | 宽 42theta10000见 config.json流式兼容内存只随单帧输出像素数增长与片段长度无关精度策略bf16 计算以 fp32 lane 为基准做回归对比。3.3 对齐的坑硬 top-k 的近 ties 翻转README.md 的 parity 一节给出了最有价值的工程经验分组件对拍DiT 块、LQ projector、decoder隔离相对误差 ≤ 1e-5端到端达到100–113 dB但要警惕硬 top-k 使输出对输入1e-6 级别的扰动敏感——差值接近的块会被翻转上游自身在同样扰动下也只到 52.9 dB。所以端到端永远一致不是合理目标应以组件级误差 同敏感性地板对比为准。四、内存与质量速查选型与验收参考bf16 峰值内存M5 Max流式推理输出分辨率峰值内存640×3849.2 GB1280×76819.1 GB1920×115233.7 GB质量对比×4 超分full-reference对比上游 PyTorch-MPS片段upstream (torch) SSIMULACRA2本移植 bf16PSNR torch / 移植实拍−17.0−16.327.49 / 27.59动漫横移−45.7−44.125.40 / 25.48bf16 在每项指标上都落在 fp32 的 seed-to-seed 波动范围内可直接用于生产。⚠️适用提醒该模型擅长实拍对动漫、图形、UI 文字等绘制内容会压平风格建议改用忠实型上采样器如 Real-ESRGAN anime 模型。五、二次开发验收检查清单校验 4 个源文件 SHA-256 与 config.json 一致逐键对比键名确认 Conv3d/Conv2d 为 channels-last 布局bf16 lane 与 fp32 lane cast 结果逐位一致899 个参数分组件对拍隔离相对误差 ≤ 1e-5端到端 PSNR / SSIMULACRA2 与上游同地板对比确认 LCSA 路径未丢失稀疏设置下仍有正确块选择流式模式内存恒定不随片段长度增长六、参考资料README.md组件表、parity 验证、质量与内存数据、Swift 用法config.json架构参数dit / lq_proj / tcdecoder / pipeline、键名契约与溯源权重产物dit_bf16.safetensors · lq_proj_bf16.safetensors · tcdecoder_bf16.safetensors · prompt_bf16.safetensors赞分享【免费下载链接】FlashVSR-v1.1-bf16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/FlashVSR-v1.1-bf16点击查看免费下载相关推荐Metal 重写的稀疏注意力:FlashVSR MLX 移植中 LCSA 块稀疏注意力内核实现解析Metal 重写的稀疏注意力:FlashVSR MLX 移植中 LCSA 块稀疏注意力内核实现解析 FlashVSR MLX 移植 FlashVSR v1.1消除服务端瀑布流基于组件组合的并行数据获取React Server Components 实践指南消除服务端瀑布流基于组件组合的并行数据获取React Server Components 实践指南 导读 本文讲解 Vercel 工程团队沉淀的 ReacTokenSpeed DSA 深度稀疏注意力内核详解稀疏历史选择与 MLA 注意力的解耦设计TokenSpeed DSA 深度稀疏注意力内核详解稀疏历史选择与 MLA 注意力的解耦设计 本文是 TokenSpeed 内核库中 DSADeep Spa人工智能大模型推理引擎模型推理服务后端上一篇深蓝词库转换终极跨平台输入法词库迁移指南下一篇告别词库壁垒深蓝词库转换工具全攻略20输入法一键互通创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考