首页 > 传媒 > 关键词  > 多模态理解最新资讯  > 正文

开源即支持!基于昇腾MindSpeed MM玩转InternVL3多模态理解模型

2025-04-17 17:54 · 稿源: 站长之家用户

多模态理解领域当前已成了各家AI大模型公司“军备竞赛”的关键点之一,国内外知名AI大模型公司都争相通过发布先进的多模态大语言模型展现其在多模态理解领域的前沿能力。近期,上海AI实验室推出了其比较新的多模态大语言模型InternVL3 系列,相比上一代InternVL2. 5 模型,该模型展现出卓越的多模态感知和推理能力,同时进一步扩展了其工具使用、GUI代理、工业图像分析等多模态能力。此前MindSpeed MM仓库一直同步开源InternVL2 系列、InternVL2. 5 系列等模型,InternVL3 系列一经发布开源,即在MindSpeed MM中开箱即用并同步开源,当前已支持在线推理功能并基于InternVL2. 5 给出参考的微调实践。MindSpeed MM是面向大规模分布式训练的昇腾多模态大模型套件,基于MindSpeed Core实现多模态模型的较好的性能优化,为开发者提供有效易用的开发体验。

基于MindSpeed MM的

InternVL系列训练优化特性

InternVL系列是多模态理解模型,基于其异构特点以及该模型存在明显的负载不均衡问题,MindSpeed MM对InternVL系列模型在使用了融合算子、分布式优化器及流水调度优化等常用特性的基础上,同时使能多模态异构流水线并行、动态流水线并行、数据分桶负载均衡、虚拟流水线并行、分离部署等优化加速特性,实现了较好的性能优化。(其中多模态异构流水线并行、动态流水线并行、数据分桶负载均衡等特性的介绍,在之前的文章(多模态理解SOTA模型开箱即用,MindSpeed MM支持Qwen2.5-VL理想实践)已有介绍)

虚拟流水线并行:

常规的流水线并行切分粒度过大,运行过程中仍然有许多空泡(bubble),计算资源利用率仍有提高空间。虚拟流水线并行(VPP)能够在设备数量不变的情况下,分出更多的流水线阶段,以更多的通信量,换取空泡比率降低。MindSpeed MM将虚拟流水线并行同时应用到视觉模块和语言模块,并支持自定义的非均匀切分,进一步减小空泡比率,提升性能5%。

使用方式:在examples/internvl*/ finetune_internvl*B.sh中配置num-layers-per-virtual-pipeline-stage字段。(具体使用方式可参考仓库特性文档

https://gitee.com/ascend/MindSpeed-MM/blob/master/docs/features/virtual_pipeline_parallel.md)

1.png

分离部署(Dist-train):

多模态模型的训练中,由于不同模态模型对算力和内存需求的异构性,不同模态模型的特出并行配置往往不一致,如果全部使用同一种并行配置,会造成负载不均衡、资源利用不充分。MindSpeed MM支持Dist-train功能,通过对异构模型配置不同的计算资源和并行配置,减少冗余的静态资源和异构模型间的空泡(bubble),使异构模型之间的运行速度达到特出匹配,提升性能15%。

使用方式:在examples/internvl*/ finetune_internvl*B.sh中添加参数--dist-train,同时配置model.json中的dist_config字段。(具体使用方式可参考仓库特性文档https://gitee.com/ascend/MindSpeed-MM/blob/master/docs/features/dist-train.md)

2.png

基于MindSpeed MM的

InternVL3 视图理解体验

新一代的多模态理解模型InternVL3 有强大的视图理解能力,让我们快速体验一下。

图片理解体验:

640.png

Prompt:描述一下这张梗图并解释其中的笑点。

输出结果:

3.png

OCR识别:

4.png

Prompt:识别出图中的文字。

输出结果:

5.png

视频理解体验:

Prompt:请描述这个视频。

输出结果:

6.png

快速上手

基于MindSpeed MM玩转InternVL3

【环境安装】

模型开发时推荐使用配套的环境版本,详见仓库中的“环境安装”

https://gitee.com/ascend/MindSpeed-

MM/blob/master/examples/internvl3/README.md

仓库拉取:

1 gitclonehttps://gitee.com/ascend/MindSpeed-MM.git

2 gitclonehttps://github.com/NVIDIA/Megatron-LM.git

3 cdMegatron-LM

4 git checkout core_r0.8.0

5 cp-r megatron ../MindSpeed-MM/

6 cd..

7 cdMindSpeed-MM

8 mkdirlogs

9 mkdirdataset

10 mkdirckpt

环境搭建:

torch npu 与 CANN包参考链接:安装包参考链接

https://gitee.com/link?target=https%3A%2F%2Fsupport.huawei.com%2Fenterprise%2Fzh%2Fascend-computing%2Fcann-pid-251168373%2Fsoftware

1 # python3.10

2 conda create -ntest

3 python=3.10

4 conda activatetest

5

6 # 安装 torch 和 torch_npu,注意要选择对应python版本、x86 或arm的torch、torch_npu及apex包

7 pip install torch-2.1.0-cp310-cp310m-manylinux2014_aarch64.whl

8 pip install torch_npu-2.1.0*-cp310-cp310m-linux_aarch64.whl

9

10 # apex for Ascend 参考 https://gitee.com/ascend/apex

11 # 建议从原仓编译安装

12

13# 安装加速库

14 gitclone

15https://gitee.com/ascend/MindSpeed.git

16 cd

17 MindSpeed

18 # checkout commit from MindSpeed core_r0.8.0

19 git checkout 3f09d6736571cf1e30f8ac97de77982d0ab32cc5

20 pip install -r requirements.txt

21 pip3 install -e .

22 cd

23 ..

24 # 替换MindSpeed中的文件

25 cpexamples/internvl2.5/dot_product_attention.py MindSpeed/mindspeed/core/transformer/dot_product_attention.py

26

27 # 安装其余依赖库

28 pip install -e .

【权重下载及转换】

InternVL3 权重下载:

99.png

权重转换:

MindSpeed-MM修改了部分原始网络的结构名称,使用mm-convert工具对原始预训练权重进行转换。该工具实现了huggingface权重和MindSpeed-MM权重的转换以及PP(Pipeline Parallel)的权重切分。

1 # 根据实际情况修改 ascend-toolkit 路径

2 source

3 /usr/local

4 /Ascend/ascend-toolkit/set_env.sh

5

6 # 8B

7 mm-convert InternVLConverter hf_to_mm \

8 --cfg.mm_dir"pretrained/InternVL3-8B"

9 \

10 --cfg.hf_config.hf_dir"raw_ckpt/InternVL3-8B"

11 \

12--cfg.parallel_config.llm_pp_layers [[28]] \

13 --cfg.parallel_config.vit_pp_layers [[28]] \

14 --cfg.trust_remote_code True

15 # 其中:

17 # mm_dir: 转换后保存目录

18 # hf_dir: huggingface权重目录

19 # llm_pp_layers: llm在每个卡上切分的层数,注意要和model.json中配置的pipeline_num_layers一致

20 # vit_pp_layers: vit在每个卡上切分的层数,注意要和model.json中配置的pipeline_num_layers一致

21 # trust_remote_code: 为保证代码安全,配置trust_remote_code默认为False,用户需要设置为True,并且确保自己下载的模型和数据的安全性

【数据集准备及处理】

数据集下载:

用户需自行获取并解压InternVL-Finetune数据集到dataset/playground目录下,以数据集ai2d为例,解压后的数据结构如下:

1 $playground

2 ├──data

3 ├── ai2d

4 ├── abc_images

5 ├── images

6 ├── opensource

7 ├── ai2d_train_12k.jsonl

【微调】

(1) 由于当前官仓还未开源微调代码和脚本,正式版的微调功能后续跟进上线;

(2)用户想尝鲜微调功能,可参考InternVL2. 5 的微调实践

(https://gitee.com/ascend/MindSpeed-MM/blob/master/examples/internvl2.5/README.md)

【推理】

1.准备工作

配置脚本前需要完成前置准备工作,包括:环境安装、权重下载及转换,详情可查看对应章节。(当前支持8B单卡推理)

推理权重转换命令如下:

1 # 根据实际情况修改 ascend-toolkit 路径

2 source/usr/local/Ascend/ascend-toolkit/set_env.sh

3

4 # 8B

5 mm-convert InternVLConverter hf_to_mm \

6 --cfg.mm_dir"pretrained/InternVL3-8B"\

7 --cfg.hf_config.hf_dir"raw_ckpt/InternVL3-8B"\

8 --cfg.parallel_config.llm_pp_layers [[28]] \

9 --cfg.parallel_config.vit_pp_layers [[28]] \

10 --cfg.trust_remote_code True

2.配置参数

参数配置:

修改inference_8B.json文件,包括infer_data_type、file_path、prompts、from_pretrained以及tokenizer的from_pretrained等字段。

单图推理:

以InternVL3-8B为例,按实际情况修改inference_8B.json对应参数,注意tokenizer_config的权重路径为转换前的权重路径。

1 {

2 "infer_data_type":"image",

3 "file_path":"./examples/internvl3/view.jpg", #

4 按实际情况输入图片路径

5 "prompts":"Please describe the image shortly.",#

6 按实际情况输入提示词(支持中英文)

7 "model_id":"InternVLPipeline",

8 "from_pretrained":"./pretrained/InternVL3-8B/release/mp_rank_00/model_optim_rng.pt",#

9 注意路径要到

10 .pt

11 文件

12 ...

13 "tokenizer":{

14 ...

15 "autotokenizer_name":"AutoTokenizer",

16 "from_pretrained":"raw_ckpt/InternVL3-8B",

17 ...

18 },

19 ...

20 }

视频推理:

以InternVL3-8B为例,按实际情况修改inference_8B.json对应参数,注意tokenizer_config的权重路径为转换前的权重路径。(推理demo视频下载red-panda)

1 {

2 "infer_data_type":"video",

3 "file_path":"examples/internvl3/red-panda.mp4", #

4 按实际情况输入视频路径

5 "prompts":"Please describe the video shortly.",#

6 按实际情况输入提示词(支持中英文)

7 "model_id":"InternVLPipeline",

8 "from_pretrained":"./pretrained/InternVL3-8B/release/mp_rank_00/model_optim_rng.pt",#

9 注意路径要到

10 .pt

11 文件

12 ...

13 "tokenizer":{

14 ...

15 "autotokenizer_name":"AutoTokenizer",

16 "from_pretrained":"raw_ckpt/InternVL3-8B",

17 ...

18 },

19 ...

20 }

修改启动脚本:

按实际情况修改inference_internvl.sh脚本。

1 # 根据实际情况修改 ascend-toolkit 路径

2 source/usr/local/Ascend/ascend-toolkit/set_env.sh

3 ...

4 MM_MODEL="./examples/internvl3/inference_8B.json"

3.启动推理

bash examples/internvl3/inference_internvl.sh

【更多参数见MindSpeed MM仓库】

准备工作和参数说明见MindSpeed MM开源代码仓链接:

https://gitee.com/ascend/MindSpeed-MM/tree/master/examples/internvl3

结语

MindSpeed MM是面向大规模分布式训练的昇腾多模态大模型套件,同时支持多模态生成及多模态理解,旨在为华为 昇腾芯片 提供端到端的多模态训练解决方案, 包含预置业界主流模型,数据工程,分布式训练及加速,预训练、微调、在线推理任务等特性。

由于当前InternVL3 系列模型的代码和训练微调功能等未完全发布开源,后续MindSpeed MM将基于InternVL3 系列模型同步上线更加丰富的特性,敬请期待。

欢迎关注MindSpeed MM:https://gitee.com/ascend/MindSpeed-MM

推广

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 多模态和Agent成为大厂AI的新赛 点

    这是《窄播Weekly》的第52期,本期我们关注的商业动态是:当大厂的AI竞争策略开始倾斜向应用场景,多模态能力和代理执行成为两个焦点。大模型落地C端场景的核心,就是让大模型的能力越来越接近人。沿着这个主旋律,可以划分出两个进化方向:一个是持续降低用户与大模型进行有效沟通的难度;另一个则是让大模型具备执行更复杂任务的能力。前者的实现,需要给到大模型多

  • 多模态和Agent成为大厂AI的新赛点

    本期《窄播Weekly》聚焦AI大厂竞争策略向应用场景倾斜的趋势,重点分析了多模态能力和代理执行两大发展方向。文章指出,大模型落地的核心在于让人机交互更自然,具体表现为:1)通过多模态技术降低用户使用门槛,如阿里夸克新推出的"拍照问夸克"功能;2)通过代理执行提升复杂任务处理能力,如字节、百度等推出的通用Agent产品。国内外厂商路径差异明显:国�

  • UniToken:多模态AI的“全能选手”,一次编码搞定图文理解与图像生成

    复旦大学与美团研究者提出UniToken框架,首次在统一模型中实现图文理解与生成任务的"双优表现"。该方案融合连续和离散视觉编码,有效解决了传统多模态建模中的"任务干扰"和"表示割裂"问题。通过三阶段训练策略(视觉语义对齐、多任务联合训练、指令强化微调),UniToken在多个基准测试中性能超越专用模型。其创新性体现在:1)统一的双边视觉编码

  • 可灵AI发布全新2.0模型:上线多模态视频编辑功能

    快科技4月16日消息,据报道,可灵AI在北京举行灵感成真”2.0模型发布会,正式发布可灵2.0视频生成模型及可图2.0图像生成模型。据介绍,可灵2.0模型在动态质量、语义响应、画面美学等维度保持领先;可图2.0模型在指令遵循、电影质感及艺术风格表现等方面显著提升。3月27日,全球AI基准测试机构Artificial Analysis发布了最新的全球视频生成大模型榜单,快手可灵1.6pro(高品质模

  • 字节最强多模态模型登陆火山引擎!Seed1.5-VL靠20B激活参数狂揽38项SOTA

    5月13日,火山引擎在上海搞了场 FORCE LINK AI 创新巡展,一股脑发布了5款模型和产品,包括豆包・视频生成模型 Seedance1.0lite、升级后的豆包1.5・视觉深度思考模型,以及新版豆包・音乐模型。同时,Data Agent 和 Trae 等产品也有了新进展。

  • 紫东太初多模态RAG全新发布:端到端问答准确率提升33%

    在产业智能化进程中,如何高效融合企业专有知识资产,构建领域专属认知引擎,是企业迈向智能决策与高效运营的关键。然而,传统检索增强生成(RAG)技术受限于语言单模态处理能力,仅能实现文本知识库与文本查询之间的浅层理解,难以满足复杂业务场景的需求,在实际应用中暴露出两大缺陷:信息表征缺失:忽略知识库中多模态富文档的视觉语义信息,如版面结构、图表关�

  • AI日报:国内首个多模态AI程序员上岗;字节启动Top Seed计划招募AI人才;DeepSeek R1T Chimera上线OpenRouter

    【AI日报】今日AI领域重要动态:1.百度发布文心快码3.5及多模态AI程序员"文心快码Comate Zulu",提升开发效率;2.字节跳动启动"Top Seed"计划,招募30名AI博士人才;3.DeepSeek开源R1T Chimera模型上线OpenRouter平台;4.阿里AI工程师余亮获"全国劳动模范"称号;5.开源图像编辑工具Step1X-Edit登陆Hugging Face,性能媲美GPT-4o;6.谷歌被曝每月向三星支付巨额资金预装Gemini应用

  • DeepSeek上新!开源发布DeepSeek-Prover-V2-671B新模型

    快科技4月30日消息,今日,DeepSeek 今日在 AI 开源社区 Hugging Face 发布了一个名为 DeepSeek-Prover-V2-671B 的新模型。据介绍,DeepSeek-Prover-V2-671B 其参数量达到6710亿,使用了更高效的 safetensors 文件格式,并支持 BF16、FP8、F32 等多种计算精度,方便模型更快、更省资源地训练和部署。在模型架构上,该模型使用了DeepSeek-V3架构,采用MoE(混合专家)模式,具有61层Transformer层,7168维隐藏层。同时支持超长上下文,最大位置嵌入达163840,使其能处理复杂的数学证明,并且采用了FP8量化,可通过量化技术减小模型大小,提

  • 业界唯一!百度网盘上线多模态AI笔记 效率提升10倍

    快科技5月2日消息,过往,用户在通过视频学习并记录笔记时,总免不了要不停切换平台软件,暂停、截屏、记录、插图、批注、切换返回视频过程繁琐而低效。为了应对这种情况,百度网盘和百度文库联合研发上线了AI笔记”,支持全自动学习、半自动学习、辅助学习三种模式。如今只要在网盘里面任意打开一个学习视频,在右侧就能看到AI笔记”功能,用户可以自主输入内容,也可以让其直接生成图文并茂、结构清晰的笔记。而且每个重要知识点旁会有时间戳,点击时间戳即可跳转到视频中对应位置,实现视频和笔记内容的顺滑关联。此外AI笔记”还可以帮

  • AI日报:腾讯AI智能编程插件CodeBuddy;字节推Seed1.5-VL多模态模型;Manus母公司否认15亿美元融资传闻

    《AI日报》今日聚焦多项AI领域突破:腾讯推出CodeBuddy 3.0编程助手,深度整合微信小程序开发工具;字节跳动发布仅20B参数的Seed1.5-VL多模态模型,性能达行业领先;通义千问上线"Deep Research"智能研究系统,免费开放体验。此外,苹果推出革命性3D建模工具Matrix3D,Anthropic即将发布Claude Neptune新模型,清华与面壁智能联合推出端侧GUI智能体AgentCPM-GUI。谷歌搜索正测试"AI Mode"新功能,或将取代传统"手气不错"按钮。