9n-triton部署bert模型实战经验

💡 原文中文,约3700字,阅读约需9分钟。
📝

内容提要

本文介绍了算法工程师解决Python部署线上服务性能问题的经验,使用Nvidia的triton部署框架将深度学习模型部署至九数中台,性能提升了337%。文章详细介绍了Python部署的性能和复杂性问题,并分享了使用triton部署算法模型的实例,以Bert模型为例介绍了模型保存、转换为.pt文件、配置和注册等步骤。最后,总结了使用triton框架部署torchscript方式的经验。

🎯

关键要点

  • 算法工程师通常使用Python语言,但直接用Python部署线上服务性能差。

  • 使用Nvidia的triton部署框架在九数中台上完成线上部署,性能提升337%。

  • Python后端部署存在性能问题和复杂性问题,包括GIL限制和内存占用过多。

  • 决定摒弃传统镜像部署方式,采用triton部署算法模型。

  • 通过fine-tune的Bert模型进行文本分类任务,介绍了部署的全流程。

  • 模型保存为.pt文件格式,选择torch.jit.trace进行模型保存。

  • 模型输入为input_ids和attention_mask,输出为分类结果。

  • 模型存放在九数磁盘目录下,目录格式需严格按照要求。

  • 模型注册后可进行部署和测试,确保接口通畅后可转生产。

  • 基于Bert模型的部署结果显示推理速度增幅超过300%。

延伸问答

为什么直接用Python部署线上服务性能差?

直接用Python部署线上服务性能差主要是因为Python是一种解释语言,执行速度慢,且存在GIL限制和内存占用过多的问题。

Nvidia的triton框架如何提升模型部署性能?

Nvidia的triton框架通过优化模型推理过程,使得在九数中台上部署的模型性能提升了337%。

如何将Bert模型保存为.pt文件?

可以使用torch.jit.trace将训练好的Bert模型保存为.pt文件,输入为input_ids和attention_mask,输出为分类结果。

部署Bert模型时需要注意哪些坑点?

在部署Bert模型时,需要注意torch版本要求、.pt文件的生成环境,以及onnx转换时的额外依赖问题。

triton框架的模型注册步骤是什么?

模型注册步骤包括将模型文件存放在指定目录、填写模型注册表信息,然后在注册好的模型下进行部署和测试。

使用triton框架部署模型的最终测试如何进行?

可以通过post接口在notebook中测试模型的接口通不通,确保测试没有问题后即可转生产。

🏷️

标签

➡️

继续阅读