Antirez/h3.c: Mac计算机的MiniMax H3推理引擎
h3-metal 对 Apple Silicon 原生 MiniMax-H3 进行推理。该项目正在作为一系列工作垂直切片构建:首先是确定性的主机/模型元数据,然后是可移植的 Metal 块同质性,提示编码,提示到视频/音频,首帧/尾帧条件,然后是有序引用。提示到视频/音频,首帧/尾帧条件以及有序的 Ref2VA 图像/视频/音频引用工作端到端。目前的工作是针对 M3 Max 和 M5 Max 进行增量 H3 特定 Metal 性能和内存优化。教程 1. 构建并检查模型 示例假设 Hugging Face 快照位于 ./MiniMax-H3 且 FFmpeg 和 FFprobe 可在 PATH 上使用。 make -j8 mkdir -p outputs ./h3 --info -d ./MiniMax-H3 --info 检查模型布局并打印所选的 Metal 设备,而不映射所有权重或生成媒体。运行 ./h3 --help 获取完整的 CLI 参考。没有 -p, 相同的二进制文件启动一个 Iris 风格的交互式会话: ./h3 -d ./MiniMax-H3 --width 512 --height 512 --steps 6 输入提示以生成编号视频。该会话保留精确的 BF16 提示条件,准备好的 DiT 和视频解码器在内存中,因此用另一个种子重复提示可避免再次加载和编码它们。 有用的命令是 !status,!seed random,!seconds 2,!show,!save output.mp4 和 !cache。使用 !help 获取完整的短列表。首帧/尾帧条件在会话中是持久的: h3> !first opening.png h3> !last ending.png h3> 相机缓慢围绕对象移动。 使用 !first clear 或 !last clear 来移除锚。生成的视频写入启动时打印的会话目录中。 对于一般的 Ref2VA 条件图像,使用 !ref-image PATH 替代。图像按照顺序附加,并以 <Picture 1>、<Picture 2> 等的形式暴露给模型;文件名对模型没有意义。 h3> !ref-image person.png h3> 让图片 1 中的人向相机挥手。 !refs 列出当前顺序,!ref-remove N 删除一项条目,!refs clear 删除所有条目。 Ref2VA 引用不能与 !first / !last 锚混合。 2. 制作第一个快速视频 从经过验证的平衡预设开始。它以 24 帧每秒生成 22 帧(约 0.92 秒),在每个降噪过渡后在支持图形终端中显示逐渐变化的中间视频帧,并打印阶段时序: ./h3 --profile \ -d ./MiniMax-H3 \ -p " 一只红狐狸穿过松树林里的新鲜雪。中等跟踪镜头,自然冬季光线,逼真的毛皮,柔软的脚步声和风。 " \ --width 512 --height 512 \ --frames 22 --steps 20 \ --layers 45 --reuse 2 \ --show \ -o outputs/fox-fast.mp4 这个配置不是最激进的配置: --steps 20 执行默认的 20 次降噪。 --reuse 2计算 11 个新的降噪器速度,而不是所有 20 个,并推断跳过的过渡。 --layers 45 运行 50 个变换器块中的 45 个,从而减少时间和统一内存的使用。 --show 是可选的。它支持 Kitty/Ghostty 和 iTerm2/WezTerm/Konsole 图形协议。它加载一个常驻预览 VAE,在每个欧拉过渡后显示一个代表性的中间视频帧,然后显示所有最终帧。 显示尺寸默认为 2x,以便图像在 macOS Retina 屏幕上具有其预期逻辑大小;在非 HiDPI 显示器上使用 --zoom 1。 这增加了预览解码时间和大约 10 GiB 的临时模型驻留;无 --show 的运行没有变化。 --profile 是可选的,不选择不同的生成路径。第一次进程调用还需支付模型加载和文件系统缓存的成本。通过重复运行进行性能比较,并在机器升温时交替变体,因为这个工作负载对热节流敏感。对于非常短的迭代,直接请求四次降噪: ./h3 --profile \ -d ./MiniMax-H3 \ -p " 一只红狐狸穿过松树林里的新鲜雪。中等跟踪镜头,自然冬季光线,逼真的毛皮。" \ --width 512 --height 512 --frames 22 \ --steps 4 --layers 50 --reuse 1 \ --show \ -o outputs/fox-four-step.mp4 --steps N 始终确切意味着 N 次降噪。四到七次经过的使用相同的调度,这赢得了低预算比较;从 4 增加到 7 逐渐改善细节和动作。 在小预算下保持 --reuse 1,以便每个请求的通过都运行模型。 --show 在每次通过之后显示一个预览。 由于大多数可见的清理发生在长时间运行的后期,因此评估了几种尾部较重的调度。它们保留了太少的早期合成更新,并产生编织质地、弱运动或剪切颜色。保留模式使用释放的线性基础网格,带有一个终端点。在 512 平方,22 帧狐测试中,选定的四次通过结果与 29 次通过参考的全视频 SSIM 为 0.556;一个独立的冲浪者测试测量为 0.547。在 M5 Max 上,四次降噪大约花费 3.5 秒,而参考则为 26.4 秒。 3. 移动
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡