SuperAPI AI 工具集

TypemovieInfer

TypemovieInfer 是一个面向消费级显卡(RTX 4090/5090)的统一多 GPU 推理框架,支持图像生成与视频生成模型。它通过 Para-Attention、DDP 等并行策略加速推理,并提供 FP8 量化、CPU 卸载等内存优化,使 8B 模型可在单张 RTX 4090 上运行。框架提供统一 API,仅需 3 行代码即可调用模型,支持 YAML 配置热重载和插件式扩展。已测试 5/7 模型,覆盖 FLUX、Kontext、Qwen Image、WAN 等。

访问官网

工具介绍

TypemovieInfer 是一个统一、面向生产环境的多 GPU 推理框架,专为消费级 GPU(RTX 4090/5090)设计,为当前先进的图像和视频生成模型提供优化的多 GPU 并行能力。

用途

该框架旨在让消费级显卡也能高效运行大型图像与视频生成模型,通过多 GPU 并行、量化与内存优化,降低硬件门槛,同时提供统一、简洁的调用接口。

主要能力

  • 多 GPU 加速:支持多种并行策略。Para-Attention(ParaAttn)将注意力计算拆分到多张 GPU,适用于 FLUX、Kontext 和 WAN 模型;分布式数据并行(DDP)用于 Qwen 模型的批处理分发;通过 xfuser 集成支持序列并行(USP)。
  • 内存优化:FP8 量化可减少约 50% 内存占用且质量损失极小;智能 CPU 卸载支持 3 级粒度;LoRA 缓存管理可高效加载/卸载权重。
  • 统一 API:所有模型使用一致的接口,仅需 3 行代码即可运行任意模型。
  • 灵活配置:基于 YAML 的配置系统,支持热重载,无需修改代码即可调参。
  • 可扩展架构:插件式系统,可快速添加新模型。
  • 生产就绪:已测试 5/7 模型(71% 覆盖率),提供 4090/5090 性能基准和错误诊断。

支持的模型

图像生成

  • flux_paraattn:文生图,2× RTX 4090/5090,默认 1024×1024,支持多种 LoRA 风格(Film、Realistic、Cartoon、Anime、Sketch、Pixar、Ghibli 等),启用 FP8 量化,自动前置触发词。
  • kontext_paraattn:上下文感知图像编辑,支持文生图与图生图,可自动拼接多张输入图像,支持多种宽高比(16:9、9:16、1:1 等)。
  • qwen_ddp / qwen_edit_ddp:支持中文的文生图,通过 DDP 使用多 GPU,提供图像编辑变体,支持多种宽高比。注意:需要 diffusers 中的 QwenImagePipeline。

视频生成

  • video_wan_lora_4090 / video_wan_lora_5090:图生视频(I2V),8× RTX 4090 或 8× RTX 5090,生成 81 帧 @ 15-16 fps。支持多种 LoRA 类别:基础运动(0_x)、说话动画(1_x)、宠物动作(2_x)、风景动画(3_x)、特效(5x、6x)。4090 变体提供加速 LoRA 选项(8 步 vs 30 步);5090 变体增强稳定性,推理速度提升 27%。启用 FP8 量化,支持 CPU 卸载内存优化。

使用方式

环境要求

  • Python 3.8 或更高
  • CUDA 11.8 或更高
  • GPU:RTX 4090/5090 或类似(建议 24GB+ 显存)
  • 操作系统:Linux(已测试),Windows(应可运行)

安装

提供基础安装和可选功能安装,安装后需验证。

快速开始

3 行代码即可生成图像:

model = load_model("flux_paraattn")
images = model.inference(prompt="A beautiful landscape", style_idx=0)

示例

  • 图像生成(FLUX):model = load_model("flux_paraattn"),调用 inference 传入 prompt 和 style_idx。
  • 图像编辑(Kontext):model = load_model("kontext_paraattn"),调用 inference 传入 prompt 和 image。
  • 视频生成(WAN Video):model = load_model("video_wan_lora_5090"),调用 inference 传入 input_image、lora_id、seed。
  • 中文图像生成(Qwen):model = load_model("qwen_ddp"),调用 inference 传入 prompt 和 ratio。

配置

每个模型有独立的 config.yaml,位于 typemovie_infer/models/<model_name>/config.yaml。关键参数包括:gpu_num、quant_type、model_path、world_size、num_frames、fps、high_cpu_memory、parameters_level、keep_lora_gpu、quant_model。

环境变量:MASTER_ADDR(默认 '127.0.0.1')、MASTER_PORT(默认 '23456')、NCCL_DEBUG、NCCL_IB_DISABLE。注意所有 handler 默认使用同一端口 23456,并发运行多个模型时需为每个模型设置不同的 MASTER_PORT。

适用场景

  • 在消费级 GPU 上运行大型图像/视频生成模型。
  • 需要多 GPU 并行加速的推理任务。
  • 需要统一 API 快速切换不同模型的开发场景。
  • 需要灵活配置和热重载的快速迭代环境。

限制

  • 主要针对 RTX 4090/5090 优化,其他 GPU 兼容性未明确。
  • 视频生成需要 8 张 GPU,硬件要求较高。
  • Qwen 模型需要特定版本的 diffusers 支持。
  • 已测试模型覆盖率为 71%(5/7),部分模型可能未完全验证。
  • 多模型并发需手动设置不同端口。
  • 性能数据基于特定硬件测试,实际表现可能因环境而异。

性能基准

在 8× RTX 4090(24GB)和 8× RTX 5090(32GB)上测试,CPU 为 Intel Xeon / AMD EPYC。整体性能 5090 比 4090 快 12%,推理阶段快 27%。8-GPU 设置下每 GPU 内存占用约 1.65GB。ParaAttn 模型随 GPU 数量线性扩展。

扩展与贡献

支持通过创建模型目录、config.yaml、实现 handler.py 中的 Handler 类并导出,快速添加新模型。项目采用 MIT 许可证,欢迎通过 GitHub Issues 报告问题或提交 PR。