2
Qwen
怎么使用单机多卡跑 deepseek janus 7B
2025-04-02 11:12:17
171

显卡: 两张Z100L,单卡32G
使用 Janus-Pro-7B_pytorch 中的例子 https://sourcefind.cn/#/model-zoo/1886747077591040002 。进入容器安装好环境后,
测试 1 图片问答得到的结果和示例中的一样,没问题。
测试 2 文生图,默认只会使用一张显卡,运行后报错显存不够。修改了generation_inference.py中一行代码:vl_gpt: MultiModalityCausalLM = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", trust_remote_code=True) ,添加了device_map="auto",运行后可以使用两张显卡,但是过一会又报错,大体意思是说张量计算不在同一张显卡上。

问题:1. 添加了device_map="auto"是否有误
2.是否支持单机多卡的运行,如果支持要怎么修改,要修改代码还是运行命令
3.想使用janus-7B的多模态,是否还有其他镜像或者框架可以使用

 

attachmentId-image.png

attachmentId-image.png

全部评论(3)
只看楼主
Z
zhaomy
1楼

1、添加device_map="auto"没问题,不过加了之后需要把vl_gpt = vl_gpt.to(torch.bfloat16).cuda().eval()中的.cuda()删掉

2、支持,见上条

3、使用ollama应该也可以,可以找下ollama部署deepseek的教程
2025/4/2
网
网友5Yvckw
回复 @zhaomy
非常感谢你,真的可以了,不会报错。运行时还有个疑问,为什么计算的时候DCU%的占用同一时间只有一张卡使用,这个是正常的吗?
2025/4/2
Z
zhaomy
回复 @zhaomy
这个是因为transformer的多卡是用的流水线并行,输入batch是1的话,就只能同时使用一张卡。如果想实现张量并行,可以试试用deepspeed修改下代码。
2025/4/3
没有更多内容了
--
楼主
Level.1
0 帖子
楼主热帖
暂无数据