关于部署MindFormers下的CogVLM-19B-Image的经验

W_45972 2025-03-15 10:56:59

关于部署MindFormers下的CogVLM-19B-Image的经验

一、MindFormers简介

 **MindSpore Transformers**(MindFormers)是一个全面支持大模型训练、微调、评估和部署的开源套件。它提供了业界领先的Transformer预训练模型,并结合MindSpore的并行技术,支持从单卡到大规模集群的无缝切换。通过模块化设计,用户可以轻松定制训练流程和优化策略,快速实现高效的模型训练和推理。无论是个人开发还是大规模部署,MindFormers都能提供强大的支持,助力AI研发的快速推进。

二、模型描述

 **CogVLM2** 是智谱开发的多模态理解系列大模型,该系列中包含了图文理解以及视频理解大模型。**cogvlm2-llama3-chat-19B** 作为图片理解大模型,在诸如 TextVQA、DocVQA 等多个基准测试中取得了显著的提升。目前该模型支持**8K序列长度**、**支持最高 1344 \* 1344 的图像分辨率**以及**提供支持中英文的开源模型版本**等功能。

通过本经验帖,再参考官方文档,你可以将CogVLM-19B-Image部署下来并且完成一些部署的优化,是它能够一次部署多次推理,提高推理效率

基础模型使用参考官方教程 docs/model_cards/cogvlm2_image.md · MindSpore/mindformers - Gitee.com 基本环境准备参考官方给出的环境依赖,下载使用官方提供的镜像

*过程*: 参考官方教程下载权重和依赖 构建如图所示的代码结构

 

由于CogVLM2基于Llama3开发,需要在Llama官网申请Llama3的访问权限以便下载权重和分词器。

在使用云服务器下载Mindspore和Pytorch环境,用于将torch的CogVLM2权重转换为Mindspore的.ckpt格式

将准备的分词器与权重上传到租用的长春AI算力中心ModelArts裸金属服务器Atlas 800T A2上尝试运行CogVLM2 更新固件和驱动满足mindformers1.3.0的运行要求,详细教程链接参考

下载驱动位置:https://www.hiascend.com/hardware/firmware-drivers/community?product=4&model=32&cann=8.0.0.alpha002&driver=1.0.RC2

安装驱动教程:https://www.hiascend.com/document/detail/zh/quick-installation/24.0.RC1/quickinstg_train/800_9000A2/quickinstg_800_9000A2_006.html 注:如果不进行驱动和固件的升级更新,在模型推理时会出现算子报错的问题 在完成基础的环境准备后运行推理指令可以进行推理

python run_mindformer.py \
  --config configs/cogvlm2/predict_cogvlm2_image_llama3_chat_19b.yaml \
  --run_mode predict \
  --predict_data "/root/picture/test1.png" "analyze if there are any security concerns" \
  --modal_type image text \
  --load_checkpoint /root/test/cogvlm2-image-llama3-chat.ckpt

得到推理效果如图所示,可见推理效果很好,回答内容丰富而精确

*推理优化:*

 我们将mindformers进行了服务化部署,实现了一次加载多次推理,提供了serve的推理模式,提高了推理服务的效率主要做出的修改是在run_mindformers.py文件中对main函数的修改,新加一个elif判断是否为serve模式,将trainer加载模型提取到逻辑判断以外,是运行的时候可以循环使用加载好的

 
另外,mindspore支持缓存编译文件,再需要多次推理的场景下可以进行推理优化
详细做法是在CogVLM-19B-Image的配置文件中predict_cogvlm2_image_llama3_chat_19b.yaml中的context参数enable_compile_cache使网络生成编译文件,后续推理模型的时候可以在不改变代码的情况下复用,大大减少了推理时间

 

 

...全文
242 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

11,964

社区成员

发帖
与我相关
我的任务
社区描述
昇思MindSpore是一款开源的AI框架,旨在实现易开发、高效执行、全场景覆盖三大目标,这里是昇思MindSpore官方CSDN社区,可了解最新进展,也欢迎大家体验并分享经验!
深度学习人工智能机器学习 企业社区 广东省·深圳市
社区管理员
  • 昇思MindSpore
  • skytier
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎来到昇思MindSpore社区!

在这里您可以获取昇思MindSpore的技术分享和最新消息,也非常欢迎各位分享个人使用经验

无论是AI小白还是领域专家,我们都欢迎加入社区!一起成长!


【更多渠道】

试试用AI创作助手写篇文章吧