实测!最新端侧全模态大模型Megrez-3B-Omni 精华

发布于 2024-12-17 13:06
浏览
0收藏

模型概述

Megrez-3B-Omni是由无问芯穹研发的端侧全模态理解模型,基于无问大语言模型Megrez-3B-Instruct扩展,同时具备图片、文本、音频三种模态数据的理解分析能力,具体模型参数如下表所示。

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

Megrez-3B-Omni在并未牺牲模型的文本处理能力的前提下,在三个模态上相较于同等参数模型,均取得较好的效果。

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

图源:https://internvl.github.io/blog/2024-12-05-InternVL-2.5/

注意:下面的文本、图像、语音评测均基于https://huggingface.co/spaces/Infinigence/Megrez-3B-Omni

文本测试

依旧老三样,看看是否可以解决。

  • 9.9和9.11谁大的问题
    正确,回答十分简洁,因此又追问了一下为什么,回答的很好,解释思路也有点奇特,是按照数值范围来比较的。实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 用水来兑水,得到的是浓水还是稀水
    正确,理解的问题的关键,水兑水,还是水。实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 小红有2个兄弟,3个姐妹,那么小红的兄弟有几个姐妹
    错误,没有理解小红是女生,当然这道题本身也有争议,很多人都说应该分开讨论,分别讨论小红是男生和女生的情况。不过有意思的是,他先回答的是1,最后又纠正成3。从文本的评测榜单上来看,Megrez-3B-Omni在数学上还是有一些欠缺的。但话说回来,3B模型对于数学还是精力有限,太难的问题还是推荐大家用32B以上的模型。实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 那道伦理、生物、数学问题
    这道题算是比较难的了,虽然没回答对,但是可以看出安全对齐的还是不错的,想了解这道题,见​​一道涉及数学、生物、伦理的AI测试题,来测测各家大模型的推理能力​实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

其他问题,大家自测吧,我整体的体验效果还不错,对于小参数模型来说,还是不错的。

图像测试

  • 测试一下单图片信息抽取功能
    input:谁(姓名)几点出发,从哪儿到哪儿,并且花了多少钱
    结果:正确实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 测试一下单图片信息抽取+计算功能
    input:请逐步详细分析,告诉我在中文数据和英文数据分别占比是多少,并且告诉我总和实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 结果:正确
  • 实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

  • 测试一下单图片理解功能
    input:请逐步详细分析,这张图片里是有两只狗,对吗
    结果:一开始说是,但后面又答对了,说一只猫一只狗。实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 测试一下单图片手写ORC功能
    input:请逐步详细分析,输出图片中的文字内容
    结果:输出结果丢字了,官方也说了OCR场景下开启采样可能会引入语言模型幻觉导致的文字变化,可考虑关闭采样进行推理,但关闭采样可能引入模型复读实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 测试一下单图片表格结构化输出
    input:识别图片中表格内容,并以结构化格式输出
    结果:正确,不过我这里贴的是简单表,复杂表的话,效果不好。当然好像现在复杂表的识别,模态大模型包括4o的效果都不好。实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

当前版本模型暂时不支持多图,就没测试,内部消息说下一版本会支持多图和视频(这一版本模型训练时多图数据没加太多)。

此外篇幅有限,更多的能力大家自己测测看看吧。

语音测试

  • 语音转文本
    结果:正确实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区
  • 语音问答
    结果正确,可以理解语音内容实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

    实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

我在电脑端,音频测试有点麻烦,就简单测了几个,其他语音内容大家就自己测试吧。

Web-Search部分

其实让我感兴趣的还有一个web-search方案,里面还是有一些细节内容的,并不是一个简单的RAG总结项目。比如:工程中会增加一步摘要过程,去除无效的网页信息,并将内容cache下来,以便提高模型回复效果等。

Github: https://github.com/infinigence/InfiniWebSearch

项目是基于Megrez-3B-Instruct模型,进行的web-search搭建,做了一些适配Search的专项训练,

  • 模型调用Search Tool的时机挺准确的。做过相关内容的同学一定知道,模型在Search工具调用上很容易出现一直调用工具的情况,但实际上一些日常问题是不需要调用搜索引擎的,大模型可以直接回答甚至效果更好。

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

  • 多轮对话的理解不错。我们也知道多轮对话理解是大模型的强项,但在带检索的过程当然,就需要模型对整个对话有很好的理解能力。

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

  • 当然给出带ref格式的输出内容,这个部分是模型针对性训练后才用的能力。

看他的工程,里面还是有很多有意思的细节内容,并不是一个简单的RAG总结项目。比如:工程中会增加一步摘要过程,去除无效的网页信息,并将内容cache下来,以便提高模型回复效果等。

Github: https://github.com/infinigence/InfiniWebSearch

项目的整体流程如下图所示,

实测!最新端侧全模态大模型Megrez-3B-Omni-AI.x社区

  • 判断是调用工具回答还是大模型直接回答
  • 若调用工具回答则对用户Query改写,生成相应的搜索关键词
  • 通过查询Query获取相关的网页文本内容
  • 根据Query和各个网页内容生成对应的summary,无关网页或者内容会以“无相关信息”替代
  • 在根据summary和Query终结生成答案。

SUMMARY_PROMPT_TEMPLATE = (
    '从信息中总结能够回答问题的相关内容,要求简明扼要不能完全照搬原文。直接返回总结不要说其他话,如果没有相关内容则返回"无相关内容", 返回内容为中文。\n\n'
    "<问题>{question}</问题>\n"
    "<信息>{context}</信息>"
)

OBSERVATION_PROMPT_TEMPLATE = (
    "You will be given a set of related contexts to the question, "
    "each starting with a reference number like [[citation:x]], where x is a number. "
    "Please use the context and cite the context at the end of each sentence if applicable."
    "\n\n"
    "Please cite the contexts with the reference numbers, in the format [citation:x]. "
    "If a sentence comes from multiple contexts, please list all applicable citations, like [citation:3][citation:5]. "
    "If the context does not provide relevant information to answer the question, "
    "inform the user that there is no relevant information in the search results and that the question cannot be answered."  # noqa: E501
    "\n\n"
    "Other than code and specific names and citations, your answer must be written in Chinese."
    "\n\n"
    "Ensure that your response is concise and clearly formatted. "
    "Group related content together and use Markdown points or lists where appropriate."
    "\n\n"
    "Remember, summarize and don't blindly repeat the contexts verbatim. And here is the user question:\n"
    "{question}\n"
    "Here is the keywords of the question:\n"
    "{keywords}"
    "\n\n"
    "Here are the set of contexts:"
    "\n\n"
    "{context}"
)

整个项目的启动也是十分简单,三步走,你就可以得到一个本地部署的kimi啦:

  • 启动检索

export SERPER_API_KEY=$YOUR_API_KEY
cd infini_websearch/service
python search_service.py --port 8021 --chrome ./chrome-linux64/chrome --chromedriver ./chromedriver-linux64/chromedriver
  • 启动模型

python -m vllm.entrypoints.openai.api_server --served-model-name megrez --model $MODEL_PATH --port 8011 --max-seq-len 4096 --trust_remote_code
  • 启动Demo

python gradio_app.py -m $MODEL_PATH --port 7860

PS:其他详细内容自己去看Github,比如摘要字数、关注的对话轮等等。

本文转载自 NLP工作站​,作者: 刘聪NLP

收藏
回复
举报
回复
相关推荐