InternOmni全模态大模型完全指南:一个开源模型如何同时看懂图像、听懂语音
【免费下载链接】InternOmni项目地址https://ai.gitcode.com/OpenGVLab/InternOmni点击查看免费下载InternOmni 是 OpenGVLab 开源的全模态大模型它能同时处理图像与语音两种输入既能看懂一张图片的画面细节又能听懂一段录音说了什么并以自然语言统一作答。模型将 InternViT 视觉编码器、Whisper 语音编码器和 InternLM2 语言大模型合三为一MIT 协议免费开放是初学者体验多模态 音频推理的绝佳素材。本文带你完整看懂它的架构、文件构成与快速上手方法。 什么是 InternOmni一个会听也会看的开源模型InternOmni 属于VLM视觉语言模型 音频理解的组合体。你可以把它想象成一台有三只感官器官的机器组件来源模型职责视觉编码器InternViT-300M-448px把图片切成小块提取视觉特征语音编码器Whisper large-v3 编码器把 30 秒以内语音转成声学特征语言大脑internlm2_5-7b-chatInternLM2 7B理解与生成最终的文本回答三者并非简单拼盘视觉和语音特征分别经过各自的投影网络mlp1、mlp2对齐到语言模型的向量空间再与文字 token 一起送入 LLM 统一理解。这个桥接逻辑定义在 modeling_internvl_audio.py 中视觉侧的桥接逻辑在 modeling_internvl_chat.py。 架构拆解图片和语音如何变成模型能读的词InternOmni 的聪明之处在于它把不同模态都翻译成了统一的 token 序列图像 → 视觉 token图片先按动态分辨率切成若干 448×448 的图块最多 12 块每块经 InternViT 编码后对应一组IMG_CONTEXT占位符。相关特殊 token 清单见 special_tokens_map.json。语音 → 音频 token语音先重采样到 16000Hz提取 128 维 mel 频谱由 Whisper 编码器逐帧提取特征替换序列中的AUDIO_CONTEXT占位符。音频预处理参数采样率、帧长、最大 30 秒等记录在 preprocessor_config.json。统一生成所有模态的向量都塞进同一个输入 embedding 序列交给 InternLM2 逐词生成回答。核心前向逻辑在 modeling_internvl_audio.py 的forward方法中。动态分辨率是视觉侧的一大亮点普通图只切 1~2 块细节复杂的长图自动切更多块配合缩略图机制兼顾全局与细节。这套策略的实现参考 README.md 中dynamic_preprocess函数。 快速上手4 步跑通全模态推理第 1 步准备环境。确保transformers4.37.2版本过低会报错并安装torch、librosa、torchvision。第 2 步获取模型。模型仓库包含 4 个model-*.safetensors权重分片与全部自定义代码共约 17.5GB。第 3 步加载模型。只需三行核心代码model AutoModel.from_pretrained(OpenGVLab/InternOmni, torch_dtypetorch.bfloat16, low_cpu_mem_usageTrue, trust_remote_codeTrue).eval().cuda() tokenizer AutoTokenizer.from_pretrained(OpenGVLab/InternOmni, trust_remote_codeTrue, use_fastFalse)第 4 步发起多模态提问。加载一张图片和一段音频后调用Audio_chat接口即可response model.Audio_chat(tokenizertokenizer, pixel_valuespixel_values, audioaudio, question请将这段语音识别成文字并以文字形式展示出来。, generation_config)Audio_chat支持图像、语音、纯文本任意组合输入question传None时表示只处理媒体内容。完整的可运行示例含图片切块、音频加载的辅助函数见 README.md 的 Quick Start 章节。 读懂模型文件仓库里都有什么这个仓库就是一个完整的 Hugging Face 模型包主要文件分工如下文件作用config.json总配置声明视觉、语音、语言三套子配置model-00001~4-of-00004.safetensors模型权重分片索引见 model.safetensors.index.jsonmodeling_internvl_audio.py全模态模型主体视觉语音LLM 的融合逻辑modeling_whisper.pyWhisper 音频编码器实现modeling_internlm2.pyInternLM2 语言模型实现conversation.py对话模板决定 prompt 拼装格式tokenizer.model / tokenization_internlm2.py分词器与分词逻辑配置文件中几个值得留意的字段max_dynamic_patch: 6动态切块上限、template: internlm2-chat对话模板、torch_dtype: bfloat16推荐推理精度。整体结构配置定义在 configuration_internvl_audio_chat.py。 实战技巧与常见注意点显存预算模型约 17.5GB 权重bfloat16 下建议 24GB 显存的显卡如 RTX 4090单卡运行更从容。音频限制采样率必须是 16000Hz单段音频建议不超过 30 秒超长音频会自动截断见 preprocessor_config.json 的chunk_length: 30。trust_remote_code 不能省本模型依赖仓库内的自定义modeling_*.py代码加载时必须加trust_remote_codeTrue否则AutoModel无法识别InternVLChatAudioModel架构。多模态自由组合同一会话可以只传图、只传语音或图音同传Audio_chat接口通过history参数还支持多轮对话上下文。⚖️ 许可证与引用InternOmni 以MIT 协议发布可自由用于研究与商业场景其内部组件 InternVL2-8B 采用 Apache License 2.0。若在论文或产品中使用了该项目建议参考 README.md 末尾的 Citation 章节引用相关论文InternVL 系列arXiv:2412.05271。写在最后InternOmni 用视觉编码器 语音编码器 大语言模型的经典三件套展示了全模态理解的最简可行形态不用为图像、语音分别训练独立系统一个模型、一个接口图文声通吃。对想入门多模态大模型的开发者来说这份不到 20 个文件的轻量仓库比动辄上百个文件的庞然大物友好得多——读完 modeling_internvl_audio.py 这一个文件你就能掌握模态特征如何注入 LLM的核心套路。赞分享【免费下载链接】InternOmni项目地址https://ai.gitcode.com/OpenGVLab/InternOmni点击查看免费下载相关推荐一个模型听懂13种语言多语言语音识别大模型Hojo-ASR-Multi-V1完全入门指南一个模型听懂13种语言多语言语音识别大模型Hojo ASR Multi V1完全入门指南 如果你正在寻找一个 多语言语音识别 ASR方案不用再为每种语言开源多模态大模型InternVL3.5-2B-Pretrained完全指南2.3B参数如何看懂图片与文字开源多模态大模型InternVL3.5 2B Pretrained完全指南2.3B参数如何看懂图片与文字 InternVL3_5 2B Pretrained一文看懂多模态嵌入模型embeddinggemma-2-bf16完全指南一文看懂多模态嵌入模型embeddinggemma 2 bf16完全指南 embeddinggemma 2 bf16 是 Google EmbeddingGe上一篇Aliens Eye递归扩展完全指南用--recurse-depth从简介里自动挖出关联账号下一篇AssppWeb使用教程从搜索应用到一键把IPA装进iPhone的完整流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考