sglang-omni [多模态大语言模型的推理与评测框架]

核心架构

复制代码
sglang_omni/          # 主要业务逻辑
├── models/           # 模型实现(Qwen3-Omni 等)
├── preprocessing/    # 多媒体预处理(视频、音频、图像)
├── serve/            # OpenAI 兼容 API 服务
└── client/           # 客户端 SDK

主要能力

模态输入 模态输出 说明
文本 + 图像 文本 MMMU 评测
文本 + 音频 文本 MMSU 评测
文本 + 视频 文本 Video-MME 评测
视频 + 音频问题 文本 Video-AMME 评测
任意 文本 + 音频 Talker(TTS)模式

关键模块说明

1. 模型层(qwen3_omni)
  • Preprocessor:负责多媒体输入的加载、缓存 key 计算、HF 处理器调用
  • ImageEncoder:视觉编码,支持图像和视频帧
  • Thinker:主干 LLM,融合多模态 embedding
  • Talker(可选):语音合成模块,实现文本→音频输出
  • Pipeline Merge :在 merge.py 中将各编码器输出对齐合并
2. 预处理层(preprocessing)
  • 视频支持 torchcodec/torchvision 双后端,自动 fallback
  • 支持从视频中提取音频(use_audio_in_video
  • 异步批量加载 URL/本地文件,基于内容哈希的缓存 key
3. 服务层(openai_api.py)
  • 兼容 OpenAI /v1/chat/completions 接口
  • 扩展参数:video_fpsvideo_max_framesvideo_min_pixels

评测体系(benchmarks)

复制代码
eval/
├── benchmark_omni_videomme.py   # Video-MME
├── benchmark_omni_videoamme.py  # Video-AMME(活动文件)
├── benchmark_omni_mmmu.py       # 图像理解
├── benchmark_omni_mmsu.py       # 音频理解
└── benchmark_omni_seedtts.py    # 语音克隆/TTS

评测维度:准确率(ACC)+ 语音一致性(WER)+ 速度(QPS/RTF)


CI 流程(test-qwen3-omni-ci.yaml)

分多 stage 并行运行,每个 stage 独立 GPU 容器:

  • Stage 1: Thinker only(基础推理)
  • Stage 8: Video-MME Talker(视频+音频输出)
  • Stage 9: Video-AMME(视频+音频输入)
  • Stage 10: Video-AMME Talker(全链路)

当前活动文件

benchmark_omni_videoamme.pyVideo-AMME 基准测试入口 ,其逻辑完全复用 run_video_eval 框架,区别在于:

  • 强制启用音频输入(enable_audio_input=True
  • 使用固定提示词 VIDEOAMME_REQUEST_TEXT(仅包含格式指令,问题内容在音频中)
相关推荐
小程故事多_801 小时前
[大模型面试系列] 破解 Agent 软故障困局,四层防御 + 可观测性,筑牢生产级稳健性防线
人工智能·面试·职场和发展·智能体
wltx16881 小时前
独立站搭建需要做氨氮检测仪展示吗?
人工智能·python
月疯1 小时前
NLP的一些概念
人工智能·自然语言处理
暗夜猎手-大魔王1 小时前
转载--AI Agent 架构设计:安全与可控性设计(OpenClaw、Claude Code、Hermes Agent 对比)
人工智能·安全
Air_July1 小时前
Brower User Web UI部署详细步骤
人工智能·python·测试工具
ting94520001 小时前
纳米 AI 全面解析:定义原理、技术架构、落地场景、行业变革与未来发展趋势
人工智能·架构
weixin_6681 小时前
NVIDIA VSSVideo Search and Summarization视频搜索与摘要蓝图详尽使用说明与技术报告版本
人工智能·音视频
minstbe1 小时前
【AI本体论研究学习】本体的核心元素:类、属性、实例与关系——拆解 OWL/RDF 四大基石
人工智能·学习