【免费下载链接】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 蒸馏把扩散过程压缩到单步(t=1000),并采用流式处理——内存占用只随单帧输出像素数增长,与视频长度无关。本仓库是它的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.safetensorsTCDecoder(TAEHV-wide 小型解码器)4534 万潜空间 → 像素prompt_bf16.safetensors固定 prompt 上下文 (1,512,4096)约 210 万免文本编码器config.json架构参数、流水线默认值、溯源—模型的"说明书"💡 权重文件经 Git LFS 分发(见 .gitattributes),MLX 引擎首次使用时会自动把仓库下载到模型库。另有 fp32 参考 lane(FlashVSR-v1.1-fp32,7.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 两条 lane:bf16 生产 / 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 维 head,3-D 分解 RoPE(时间 44 | 高 42 | 宽 42,theta=10000,见 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 内核库中 DSA(Deep Spa人工智能大模型推理引擎模型推理服务后端上一篇:深蓝词库转换:终极跨平台输入法词库迁移指南下一篇:告别词库壁垒:深蓝词库转换工具全攻略,20+输入法一键互通创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
【免费下载链接】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 蒸馏把扩散过程压缩到单步(t=1000),并采用流式处理——内存占用只随单帧输出像素数增长,与视频长度无关。本仓库是它的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.safetensorsTCDecoder(TAEHV-wide 小型解码器)4534 万潜空间 → 像素prompt_bf16.safetensors固定 prompt 上下文 (1,512,4096)约 210 万免文本编码器config.json架构参数、流水线默认值、溯源—模型的"说明书"💡 权重文件经 Git LFS 分发(见 .gitattributes),MLX 引擎首次使用时会自动把仓库下载到模型库。另有 fp32 参考 lane(FlashVSR-v1.1-fp32,7.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 两条 lane:bf16 生产 / 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 维 head,3-D 分解 RoPE(时间 44 | 高 42 | 宽 42,theta=10000,见 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 内核库中 DSA(Deep Spa人工智能大模型推理引擎模型推理服务后端上一篇:深蓝词库转换:终极跨平台输入法词库迁移指南下一篇:告别词库壁垒:深蓝词库转换工具全攻略,20+输入法一键互通创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考