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(仅包含格式指令,问题内容在音频中)
相关推荐
新芒1 小时前
AI Agent进入独立站:店匠Shoplazza主Agent Athena如何重构经营?
人工智能·重构
chuan.bai3 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
fthux6 小时前
招聘季实测:我用 TraeWork 搭了一套 AI 简历初筛系统
人工智能·ai编程·trae
SLD_Allen6 小时前
NVIDIA KAI Scheduler深度解析——Kubernetes原生AI调度器的架构、原理与实践
人工智能·架构·kubernetes
小玮看世界7 小时前
从“画图”到“Mermaid”:AI语义理解与架构绘制的演进之路
人工智能·深度学习·计算机视觉
小岐AI观7 小时前
智赋岐黄适合养生馆吗?
大数据·人工智能·物联网
YOLO数据集集合7 小时前
煤炭物料检测数据集:基于YOLO26的矿山传送带智能“哨兵”
人工智能·yolo·数据挖掘·煤炭·煤炭检测·矿山传送带·传送带异物
深小乐8 小时前
DeepSeek Harness 强是真的强,普通用户可以再等等
人工智能