llama2 70B mindie推理开箱报错问题

举报
yd_25562708 发表于 2025/02/17 16:08:00 2025/02/17
79 0 0
【摘要】 这周支撑了一个llama2 70B MindIE开箱推理报错的问题,给大家分享一下。背景事情是这样,开发者搞了一台昇腾800I A2服务器,这个服务器的配置是8卡,每个卡显存是32G。他想用MindIE跑一下llama2 70B的推理,测一下性能,结果报了2个错,1个是NPU out of memory,一个是not support modelName。开发者就很纳闷了,说我直接用你们的代码...

这周支撑了一个llama2 70B MindIE开箱推理报错的问题,给大家分享一下。

背景

事情是这样,开发者搞了一台昇腾800I A2服务器,这个服务器的配置是8卡,每个卡显存是32G。他想用MindIE跑一下llama2 70B的推理,测一下性能,结果报了2个错,1个是NPU out of memory,一个是not support modelName

开发者就很纳闷了,说我直接用你们的代码跑的,啥也没改,咋就不行呢?作为DR,我当然不能坐视不管,立马和开发者开始了交流。

分析

开发者很配合,提供了他的日志,我仔细看了一下,out of memory是在0卡和1卡上加载权重的时候发生的,not support modelName是在其他卡上发生的。我估算了一下,70B模型,分到8卡上,每个卡加载权重顶多用140G/8<20G,32G肯定够够的呀!至于not support modelName,一般就是模型调用的算子和算子库里面的算子名字没对上导致的,由于mindie 大模型推理使用的是ATB库,所以我推测是MindIE和ATB版本没对上。分析完后,心理差不多有底了,为了赶时间,而且对方是咱的VIP客户,就直接约开发者开腾讯会议了。

实操

上了会,我说,你再复现给我看一下。在他启动之前,我说,执行npu-smi info看一下有没有卡被占用,结果看到,0卡和1卡的显存被占得满满的,但开发者还是想继续启动任务。。。我说,停停!你这卡被占着呢,咋跑?先释放掉。开发者哦了一声,把占用显存的进程kill掉了。果然,启动之后没有out of memory了,只剩下not support modelName的错误了。

我说,我看看你的CANN版本和MindIE版本以及ATB版本。开发者是在docker里面跑的,所以以docker里面的/usr/local/Ascend里面的版本为准。看了一下,CANN和MindIE版本没有问题,但是ATB的版本他没有使用MindIE镜像里面自带的,而是自己下载了一个新版本的,我问为什么?他说,这个版本的测试用例可以多传一个参数。好吧,我说你把ATB版本换成MindIE自带的试试。结果换回去后,成功跑起来了。

总结

所以,不管是帮忙他人排查问题,还是自己排查问题,先从基本的检查开始,先检查卡有没有被占用,有的话就kill掉(如果是别人的任务,先知会一下哈)!其次,不要自己随意组合版本,否则会因为经验不足卡在莫名其妙的问题上。当然,也可以从产品本身出发,做得更好用一些,比如说,报错信息里面给出一些解决问题的提示、增加版本不匹配提示等等。好用的产品需要精雕细琢,任重而道远!

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。