自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Megrez-3B-Omni:無(wú)問(wèn)芯穹端側(cè)全模態(tài)大模型技術(shù)剖析與應(yīng)用指南

發(fā)布于 2025-1-6 11:24
瀏覽
0收藏

在人工智能領(lǐng)域,技術(shù)的創(chuàng)新不斷推動(dòng)著行業(yè)的發(fā)展。前段時(shí)間,無(wú)問(wèn)芯穹發(fā)布的Megrez-3B-Omni模型引起了廣泛關(guān)注,它作為全球首款端側(cè)全模態(tài)理解開源模型,為智能設(shè)備的交互體驗(yàn)帶來(lái)了全新的變革。本文將對(duì)Megrez-3B-Omni進(jìn)行詳細(xì)介紹,包括項(xiàng)目概述、技術(shù)特點(diǎn)、性能優(yōu)勢(shì)、應(yīng)用場(chǎng)景、快速使用以及項(xiàng)目地址等,希望能幫助讀者更好地了解這一創(chuàng)新技術(shù)。

一、項(xiàng)目概述

Megrez-3B-Omni是由無(wú)問(wèn)芯穹發(fā)布的全球首款端側(cè)全模態(tài)理解開源模型。它支持圖片、音頻和文本三種模態(tài)的數(shù)據(jù)處理,參數(shù)量達(dá)30億,主干網(wǎng)絡(luò)參數(shù)僅2.3B,卻在精度上超越了14B模型,并在推理速度上領(lǐng)先同級(jí)模型300%。該模型專為手機(jī)、平板等端側(cè)設(shè)備進(jìn)行了優(yōu)化,旨在實(shí)現(xiàn)圖像、音頻和文本三種模態(tài)數(shù)據(jù)的無(wú)縫融合,讓用戶在端側(cè)設(shè)備上就能享受到更加智能、便捷的交互體驗(yàn)。

二、技術(shù)特點(diǎn)

1、創(chuàng)新的架構(gòu)設(shè)計(jì):采用多層多頭注意力機(jī)制,能夠更好地捕捉不同模態(tài)數(shù)據(jù)中的長(zhǎng)程依賴關(guān)系,提高模型的理解能力和泛化能力。同時(shí),將圖像、音頻和文本三種不同模態(tài)的數(shù)據(jù)進(jìn)行深度融合,自動(dòng)學(xué)習(xí)不同模態(tài)數(shù)據(jù)之間的關(guān)聯(lián)和轉(zhuǎn)換,從而實(shí)現(xiàn)更加準(zhǔn)確和全面的理解,跨模態(tài)的信息整合能力是傳統(tǒng)單一模態(tài)模型所無(wú)法比擬的。

2、高效的模型優(yōu)化:運(yùn)用模型剪枝、量化等技術(shù),減少模型的大小和計(jì)算量,同時(shí)保持其精度和泛化能力,使其能夠在資源受限的設(shè)備上運(yùn)行,如智能手機(jī)、嵌入式系統(tǒng)等。此外,還采用了先進(jìn)的訓(xùn)練算法,如分布式訓(xùn)練、自適應(yīng)學(xué)習(xí)率調(diào)整等,可加速模型的收斂速度,提高訓(xùn)練效率,并減少過(guò)擬合的風(fēng)險(xiǎn)。同時(shí),采用遷移學(xué)習(xí)、元學(xué)習(xí)等技術(shù),能更快地適應(yīng)新的應(yīng)用場(chǎng)景和任務(wù)需求。

3、先進(jìn)的模態(tài)處理:在圖像理解方面,利用Siglip-400m技術(shù),將圖像轉(zhuǎn)化為易于理解的token,在OpenCompass評(píng)測(cè)中以高分領(lǐng)先。在語(yǔ)音理解方面,搭載了Qwen2-Audio/Whisper-Large-V3的encoder,能夠理解中英文語(yǔ)音輸入,并支持多輪對(duì)話。

三、性能優(yōu)勢(shì)

1、卓越的圖像理解:在OpenCompass、MME等測(cè)試中,展現(xiàn)了超強(qiáng)的圖像分析能力,能夠快速且準(zhǔn)確地識(shí)別和理解圖像內(nèi)容,在場(chǎng)景理解、光學(xué)字符識(shí)別等應(yīng)用中表現(xiàn)優(yōu)異,精度在同行中處于領(lǐng)先地位,甚至能在一些測(cè)試集中超越34B模型。

2、出色的文本理解:在C-eval、MMLU等多個(gè)權(quán)威測(cè)試中取得了最佳結(jié)果,將上一代14B大模型的能力壓縮至3B規(guī)模,同時(shí)顯著降低計(jì)算成本,實(shí)現(xiàn)了性能與資源利用的最佳平衡,確保用戶獲得高效的文本處理體驗(yàn)。

3、良好的語(yǔ)音理解:支持中文和英文的語(yǔ)音輸入,能夠熟練應(yīng)對(duì)復(fù)雜的多輪對(duì)話場(chǎng)景,可通過(guò)語(yǔ)音輸入與模型進(jìn)行自然互動(dòng),實(shí)現(xiàn)更自然和流暢的溝通體驗(yàn)。

4、快速的推理速度:單模態(tài)版本Megrez-3B-Instruct在推理速度上相比同類精度模型領(lǐng)先高達(dá)300%,即使在復(fù)雜場(chǎng)景下也能流暢運(yùn)行,能讓用戶在各類實(shí)時(shí)應(yīng)用中獲得更及時(shí)的響應(yīng),提升工作和生活的效率。

四、應(yīng)用場(chǎng)景

  • 智能家居領(lǐng)域:可應(yīng)用于智能音箱、智能電視等設(shè)備的智能助手中,用戶能通過(guò)語(yǔ)音、文字或圖片與智能助手進(jìn)行交互,獲取信息、設(shè)置提醒、控制設(shè)備等。
  • 媒體領(lǐng)域:用于圖像、音頻和文本內(nèi)容的分析和理解,能更準(zhǔn)確地識(shí)別視頻中的關(guān)鍵幀、提取音頻中的關(guān)鍵詞、生成文本摘要等,為媒體的內(nèi)容推薦和搜索提供支持。
  • 自動(dòng)駕駛領(lǐng)域:可用于車輛的環(huán)境感知和決策控制,融合圖像、雷達(dá)、激光雷達(dá)等多種傳感器的數(shù)據(jù),更準(zhǔn)確地識(shí)別道路標(biāo)志、行人、障礙物等,為車輛的安全行駛提供保障。
  • 醫(yī)療健康領(lǐng)域:用于醫(yī)學(xué)影像的分析、病歷報(bào)告的生成等,輔助醫(yī)生進(jìn)行疾病診斷和治療方案的制定,自動(dòng)識(shí)別X光片、CT掃描等醫(yī)學(xué)影像中的異常區(qū)域,并提供初步的診斷意見。
  • 教育領(lǐng)域:用于個(gè)性化學(xué)習(xí)系統(tǒng)的開發(fā),根據(jù)學(xué)生的學(xué)習(xí)行為、學(xué)習(xí)進(jìn)度、興趣偏好和知識(shí)水平等信息,為學(xué)生提供定制化的學(xué)習(xí)資源和教學(xué)策略。

五、快速使用

1. 安裝相關(guān)依賴

安裝所需的依賴庫(kù)

git clone https://github.com/infinigence/Infini-Megrez-Omni.git
pip install -r requirements.txt

音頻功能依賴`ffmpeg`進(jìn)行音頻處理,如果使用Debian相關(guān)系統(tǒng),可以通過(guò)以下命令安裝

sudo apt-get install ffmpeg

對(duì)于其他操作系統(tǒng),請(qǐng)參考`ffmpeg`官方文檔進(jìn)行安裝。

2. 下載模型權(quán)重文件

使用 modelscope 中的 snapshot_download 函數(shù)下載模型(提前安裝modelscope :pip install modelscope)。第一個(gè)參數(shù)為模型名稱,參數(shù) cache_dir 用于指定模型的下載路徑。在 /root/autodl-tmp 路徑下新建 download.py 文件,并在其中輸入以下內(nèi)容:

# 模型下載 
from modelscope import snapshot_download
model_dir = snapshot_download('InfiniAI/Megrez-3B-Omni', cache_dir='/root/autodl-tmp', revision='master')

運(yùn)行 python /root/autodl-tmp/download.py 執(zhí)行下載。

3. 使用transformers 推理模型

使用多模態(tài)數(shù)據(jù)進(jìn)行多輪對(duì)話,示例代碼如下(請(qǐng)將`<PATH_TO_PRETRAINED_MODEL>`替換為下載的模型權(quán)重的路徑):

import torch
from transformers import AutoModelForCausalLM
 
path = "/mnt/algorithm/user_dir/zhoudong/workspace/models/megrez-o"  # Change this to the path of the model.
 
model = (
    AutoModelForCausalLM.from_pretrained(
        path,
        trust_remote_code=True,
        torch_dtype=torch.bfloat16,
        attn_implementatinotallow="flash_attention_2",
    )
    .eval()
    .cuda()
)
prompt = "hi" * (128 - 1) 
# Chat with text and image
messages = [
    {
        "role": "user",
        "content": {
            "text": prompt,
            "image": "./data/sample_image.jpg",
        },
    },
]
 
# Chat with audio and image
# messages = [
#     {
#         "role": "user",
#         "content": {
#             "image": "./data/sample_image.jpg",
#             "audio": "./data/sample_audio.m4a",
#         },
#     },
# ]
 
MAX_NEW_TOKENS = 100
response = model.chat(
    messages,
    sampling=False,
    max_new_tokens=MAX_NEW_TOKENS,
)
print(response)

4. 使用vLLM進(jìn)行推理

首先安裝vLLM及其相關(guān)依賴(需要特定版本以確保兼容性):

pip install vLLM==0.6.3.post1 flash_attn==2.5.8 xformers==0.0.27.post2

推理腳本如下:

from PIL import Image
from vllm import LLM
from vllm import ModelRegistry
from vllm import SamplingParams
 
from megrezo import MegrezOModel
 
ModelRegistry.register_model("MegrezO", MegrezOModel)
 
# Load the model.
# model_path = "{{PATH_TO_HF_PRETRAINED_MODEL}}"  # Change this to the path of the model.
model_path = "/mnt/algorithm/user_dir/zhoudong/workspace/models/megrez-o"  # Change this to the path of the model.
llm = LLM(
    model_path,
    trust_remote_code=True,
    gpu_memory_utilizatinotallow=0.5,
)
 
sampling_params = SamplingParams(
    temperature=0,
    max_tokens=1000,
    repetition_penalty=1.2,
    stop=["<|turn_end|>", "<|eos|>"],
)
 
img = Image.open("../data/sample_image.jpg")
 
conversation = [
    {
        "role": "user",
        "content": {
            "text": "圖片的內(nèi)容是什么?",
            "image": img,
        },
    },
]
 
# Convert the conversation to vLLM acceptable format.
prompt = llm.get_tokenizer().apply_chat_template(
    conversation,
    tokenize=False,
    add_generation_prompt=True,
)
vllm_inputs = [
    {
        "prompt": prompt,
        "multi_modal_data": {
            "image": img,
        },
    }
]
 
# Generate the outputs.
outputs = llm.generate(
    vllm_inputs,
    sampling_params,
)
 
# Print the outputs.
for output in outputs:
    print(output.outputs[0].text)

5. 在線體驗(yàn) Gradio 應(yīng)用

在線Demo:??https://huggingface.co/spaces/Infinigence/Megrez-3B-Omni??

用戶可以直接在網(wǎng)頁(yè)上輸入文本或上傳圖片、音頻,與模型進(jìn)行交互,模型會(huì)根據(jù)輸入的多模態(tài)信息生成相應(yīng)的回復(fù)。

6. 啟動(dòng) Gradio 應(yīng)用

您需要在命令行中指定 model_path 和 port。model_path 是模型的路徑,port 是本地服務(wù)器的端口號(hào)。默認(rèn)情況下,port 是 7860。

python gradio_app.py --model_path {model_path} --port {port}

然后,您可以在瀏覽器中訪問(wèn)?? http://localhost:7860 ??與模型對(duì)話。

六、結(jié)語(yǔ)

Megrez-3B-Omni的發(fā)布是人工智能領(lǐng)域的一次重大突破,它為端側(cè)設(shè)備的智能化處理樹立了全新標(biāo)桿,開啟了端側(cè)全模態(tài)理解的新時(shí)代。無(wú)問(wèn)芯穹的這一創(chuàng)新成果不僅展示了其在智能設(shè)備領(lǐng)域的強(qiáng)大實(shí)力,也為廣大開發(fā)者和用戶提供了一個(gè)極具潛力的工具。

項(xiàng)目地址

本文轉(zhuǎn)載自??小兵的AI視界??,作者: AGI小兵 ????



收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦