记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队

京东云开发者
• 阅读 131

一、问题是怎么发现的

部署chatglm2和llama2到一个4*V100的GPU机器上遇到问题

config.pbtxt

中设置模型分别在指定gpu上部署实例配置不生效

如以下配置为在gpu0上部署本模型,部署count=1个实例,在gpu1上部署本模型,部署count=2个实例

instance_group [ { count: 1 kind: KIND_GPU gpus: [ 0 ] },

{ count: 2

kind: KIND_GPU

gpus: [ 1 ] } ]

部署时发现,所有模型实例都会被部署到gpu0上面, 由于gpu只有16g显存,在部署第一个模型实例成功后,第二个模型实例也会往gpu0上进行加载,最终导致cuda out of memery.

网上搜索发现有人遇到同样的问题,链接: https://github.com/triton-inference-server/server/issues/6124

记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队

二、排查问题的详细过程

大佬回答解决方案:

记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队

三、如何解决问题

1.在model.py手动获取config.pbtxt配置的gpu编号gpus:[0]

instance_group [

{

count: 1

kind: KIND_GPU

gpus: [ 0 ]

}

]

2.设置可用的GPU编号

os.environ["CUDA_VISIBLE_DEVICES"] = str(device_id)

3.启动成功

记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队

四、总结反思:是否可以更快发现问题?如何再次避免等。

triton启动的使用使用 nvidia-smi -l 2 监控显卡想显存, 可以发现所有模型都在往第一个gpu,gpu[0]内加载,发现配置config.pbtxt不生效

作者:京东科技 杨建

来源:京东云开发者社区 转载请注明来源

点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
2年前
springboot+vue项目linux环境部署
项目部署是一个程序员必备的技能,当项目开发过程中,需要将项目部署在开发服务器上,进行自测,或协助运维,测试进行环境的搭建配置,学会了项目部署,你就是团队中最亮的那个仔。项目简介后端:springboot项目【打包为jar包】前端:vue项目【通过cli3搭建】目标服务器:liunx操作系统使用工具xshell:通过命令操作服务器sftp:上传安装包到服务器部
Wesley13 Wesley13
2年前
(转)【干货】MySQL 5.7 多实例(多进程)配置教程
原文:https://blog.csdn.net/zougen/article/details/79567744https://klionsec.github.io/2017/09/20/mysqlmulserver/一分钟部署MySql多实例(https://www.oschina.net/action/GoToLink?url
Stella981 Stella981
2年前
Pytorch 多GPU训练
概述Pytorch多GPU训练本质上是数据并行,每个GPU上拥有整个模型的参数,将一个batch的数据均分成N份,每个GPU处理一份数据,然后将每个GPU上的梯度进行整合得到整个batch的梯度,用整合后的梯度更新所有GPU上的参数,完成一次迭代。其中多gpu训练的方案有两种,一种是利用nn.DataParallel实现,这种方法是最早引入
Stella981 Stella981
2年前
Demo分享丨看ModelArts与HiLens是如何让车自己跑起来的
摘要:基于HiLensKit已经基本开发完成,可部署到HiLensKit,模型的选择为基于DarkNet53的YOLOv3模型,权重为基于COCO2014训练的数据集,而车道线的检测是基于OpenCV的传统方法实现的,可通过ModelArtsAIGallery与HiLensKit全流程端云协同开发部署。本文作者|历天一点击
Wesley13 Wesley13
2年前
MySQL(mariadb)多实例应用与多实例主从复制
MySQL多实例mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306、3307,3308),运行多个服务进程。这些mysql服务进程通过不同的socket来监听不同的数据端口,进而互不干涉的提供各自的服务。在同一台服务器上,mysql多实例会去共用一套mysql应用程序,因此在部署mysql
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
亚马逊云科技的MLOps新实践,会给我们哪些启发?
20年前,软件行业在数字化演进的道路上,从部署一个Web服务器到部署几十甚至上百上千个不同的应用,在各种规模化交付方面的挑战之下,诞生了DevOps技术。比如虚拟化、云计算、持续集成/发布、自动化测试等,而MLOps就是机器学习时代的DevOps。它的主要作用就是连接模型构建团队和业务,运维团队,建立起一个标准化的模型开发,部署与运维流程,使得企业组织能更好
京东云开发者 京东云开发者
11个月前
GPT大语言模型Alpaca-lora本地化部署实践【大语言模型实践一】 | 京东云技术团队
本文进行本地化部署实践的Alpacalora模型就是Alpaca模型的低阶适配版本。本文将对Alpacalora模型本地化部署、微调和推理过程进行实践并描述相关步骤。
京东云开发者 京东云开发者
10个月前
一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队
在经历了一系列的探索后,我为你总结出了一套零基础的、非常好上手的借助京东云GPU云主机部署安装StableDiffusionWebUI以及相关工具和插件的保姆集教程,请查收。
云主机AI服务的性能测试和优化
在云计算的时代,越来越多的人选择将AI模型部署在云主机上,以便利用云服务提供商的弹性和可扩展性。然而,仅仅将AI模型部署到云主机上并不足以保证其性能和效率。本文将介绍云主机AI服务的性能测试和优化的具体操作过程,以帮助您充分发挥云计算平台的优势。