做公众号的网站有哪些,华为云软件开发平台,如何搭建钓鱼网站,移动互联网 传统网站一、为啥用triton#xff1f;
之前部署使用过tensorrt视频流硬解码前后处理硬件#xff08;cuda#xff09;加速#xff0c;已经是工业化、商业化的一套标准流程了#xff0c;现在面临的挑战是#xff1a;
多模型管理#xff08;一个小公司所有算法工程师的模型推理都…一、为啥用triton
之前部署使用过tensorrt视频流硬解码前后处理硬件cuda加速已经是工业化、商业化的一套标准流程了现在面临的挑战是
多模型管理一个小公司所有算法工程师的模型推理都在我这、多机多卡如何统一调度、最大化硬件资源利用需要保证硬件吞吐量达到高水准等等 如果还是用之前的标准流程其实也能够做到这些比如多模型管理每个模型独立作为一个进程启动即可达到类似效果我感觉这样搞类似GPU的MPS技术triton内部多模型启动也是多进程模型还比如多机多卡像triton的配置文件config.pbtxt里面一样是需要指定GPU和GPU id这些在即使没有triton也是可以手动做到的还有提高吞吐量自己写grpc服务调度策略去配合模型多实例部署也是能够做到。
但是以上这些每次都自己手动搞还是太麻烦了自己写框架的话那为啥不用现成的triton呢而且这东西这么火学会用了对自己百利无一害现在tensorrt开源模型github代码太多了很多垃圾程序员网上搜搜例子都能用了但是目前triton模型开源github还不太多致力于更高效的C Cuda backend的triton推理服务更是奇珍异兽也算是一种门槛了吧。 此外triton除了能够满足上述几个挑战还有很多其他的优点或者是方便使用的东西
比如动态batch以提高吞吐、支持tf\pytorch\onnx\tensoort等框架的模型、提供性能分析工具如perf_analyzer、model_analyzer等等这个等等的内容可以去网上查triton的内容目前其实很多都是讲理论部分理论部分也基本都会讲triton的优势。 二、安装
对于triton的使用官方建议刚入门的用docker来跑tritonNVIDIA官方的NGC里面有官方编译好的镜像如果你不用docker那么自己编译吧去参考官网教程为了减少心智负担我选择docker这条路。
我后面一些列博客都会以2023.12的triton版本作为我的使用版本我的测试硬件是cpu为i7-8750显卡gtx-1060系统为ubuntu20.04
2.1、首先是安装docker
可以参考教程https://developer.aliyun.com/article/762674中的步骤来安装
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo systemctl status docker
sudo apt-mark hold docker-ce
sudo docker container run hello-world
2.2、然后我们用docker拉取triton的镜像之前
需要按照https://docs.nvidia.com/ngc/gpu-cloud/ngc-catalog-user-guide/index.html#registering-activating-ngc-account里面的教程打开https://ngc.nvidia.com/setup/api-key网址生成一个api key样式类似于下面
Username: $oauthtoken
Password: AjB2YXQzM2tpZGlranBib2dramJlbjRtbHM6MzMxYjY1ZWItNTAwYy00NTliLTg5NjYtNjc4NmRiMTM1YmZj
2.3、现在启动命令登录 “sudo docker login nvcr.io”登录的账号和密码都是刚刚的api key注意用户名有一个$开头的字符别忘记复制了最后会出现Login Succeeded字样就代表登录成功了
2.4、拉取镜像这里我用的是当时最新的是2023.12的版本命令为
sudo docker pull nvcr.io/nvidia/tritonserver:23.12-py3
sudo docker pull nvcr.io/nvidia/tritonserver:23.12-py3-sdk
2.5、最后查看镜像命令为
sudo docker images 三、跑官方例子
官方github上的测试例子见https://gitee.com/luo_zhi_cheng/triton-server的“Serve a Model in 3 Easy Steps”
3.1、拉取代码和下载测试模型
git clone -b r23.12 https://gitee.com/luo_zhi_cheng/triton-server
cd triton-server/docs/examples
./fetch_models.sh
3.2.1、用docker运行 tritonserver
使用命令
sudo docker run --gpus0 --rm --nethost -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:23.12-py3 tritonserver --model-repository/models
如果看到“Started GRPCInferenceService at 0.0.0.0:8001”和类似的其他端口启动成功然后模型的Status都是READY状态说明tritonserver启动没问题
还有一个方式可以看服务是否启动成功通常是客户端来使用的命令为
curl -v localhost:8000/v2/health/ready
其中localhost改成服务器的ip8000改成你需要查看的端口
对docker run命令不熟悉见https://www.php.cn/faq/493631.html也可以在终端输入docker run --help查看相关选项docker run [OPTIONS] IMAGE [COMMAND] [ARG...]其中--rm是容器在退出时自动清除挂在的卷以便清除数据-v是将本地目录挂载到容器目录中
3.2.2、运行时遇到的问题
问题1、遇到一个关于显卡驱动的问题需要更新一下驱动执行以下命令即可tritonserver:23.12-py3镜像是545或者更高版本生成的用以下命令
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-545
问题2、未安装nvidia-container-runtime参考https://blog.csdn.net/li4692625/article/details/123015840执行以下命令
distribution$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install nvidia-container-toolkit
sudo systemctl restart docker
3.3、发送推理请求
新开一个终端用于推理命令如下
sudo docker run -it --rm --nethost nvcr.io/nvidia/tritonserver:23.12-py3-sdk /workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg
得到返回结果为以下即可
# Inference should return the following
Image /workspace/images/mug.jpg:15.346230 (504) COFFEE MUG13.224326 (968) CUP10.422965 (505) COFFEEPOT 四、推荐视频
最后推荐一定要看官方的视频毕竟还是有一定权威性并且也适合入门建议不止看一遍看一遍之后再自己动手再回来看会有更多感悟。
NVIDIA英伟达的个人空间-NVIDIA英伟达个人主页-哔哩哔哩视频