AI模型推理(4)—— 认识ServingRuntime

news2025/1/8 4:48:45

参考:

Serving Runtimes - KServe Documentation Website

模型推理服务化:如何基于Triton开发自己的推理引擎? - 知乎

GitHub - openai/triton: Development repository for the Triton language and compiler

前言

ServingRuntime(在中文语境里,笔者经常把它叫做“推理运行时”)是KServe的一个核心概念。本文主要讲解ServingRuntime的概念,并重点介绍 Triton 模型服务化框架。

概念讲解

ServingRuntime,笔者对其解释为“加载模型文件、运行推理服务的容器环境”。大白话说 就是运行环境里要有能加载模型文件的代码,实际的承载也就是SDK、编译器/解释器这些具体的东西。

Kserve提供了以下几种开箱即用(out-of-the-box)的ServingRuntime,供用户进行使用:

Triton 简介

1、Triton接入层: 图中C API部分。可以看到Triton支持HTTP/RESTGRPC协议。

2、模型仓库:中Model Repository部分。按照Triton的官方文档所述,模型仓库可以是本地的持久化存储介质(磁盘),也可以接入Google Cloud Platform或者AWS S3的模型仓库。还需要注意:Triton的模型仓库支持多模型、也支持模型编排

3、预编排:图中Pre-Model Scheduler Queues部分。笔者理解这块的核心内容就是模型编排:通过解析请求的URL,从模型仓库查询到编排信息,执行模型编排。

4、前向推理计算: 图中的Framework Backends部分。Triton框架支持TensorFlow, TensorRT, PyTorch, ONNX Runtime推理引擎,也支持用户扩展自己的推理引擎,Triton统一把它们称为“Backend”,笔者翻译为“推理引擎”,请注意:每一种框架都是一种Backend(推理引擎)。Backend(推理引擎)实际上就是各个框架的C++ API,不清楚英伟达有没有做底层的优化。需要注意一点:在Triton以开始启动时,模型仓库中的模型就已经被加载到内存或者显存上了;因此,每一次来推理请求的时候,只需要在内存或者显存中遍历一次模型做前向计算即可(这个是推理服务的常规操作,因为模型的加载非常耗时)。

5、结果返回:对应图中Inference Response部分。即把最终结果返回给客户端。

6、最后,来看Status/Health Metrics Export部分,这块就是Triton支持接入Prometheus监控的地方。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/515339.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt quick基础3(基础动画,包含旋转动画、串行并行动画及其嵌套)

Qt quick基础3(基础动画) 目录 Qt quick基础3(基础动画)前言前期准备工作Animation on property 元素加载后自动运行动画Behavior on property 当元素值改变后运行动画Standalone Animation 单独动画旋转动画分组动画串行动画并行…

干货 | 科研决策怎么做?四个步骤一招解决!

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 又是给大家带来满满干货的一天,今天要给大家介绍的是狐少侠对于科学决策的四个步骤的详细解读! 最近,有读者问了我几个关于决策的问题:要不要…

ubuntu22.04 编译安装 Kate 编辑器

ubuntu22.04 编译安装 Kate 编辑器 文章目录 ubuntu22.04 编译安装 Kate 编辑器0x0 目的0x1 在 Ubuntu 22.04 编译安装 Kate0x11 Download dependencies0x12 Build kate and kwrite0x13 Setup paths for binary and shared libraries0x14 Misc trials 0x2 配置 Kate渲染空白字符…

R语言 | 数据分析与处理

目录 一、随机抽样 1.1 将随机抽样应用于扑克牌 1.2 种子值 ​1.3 模拟骰子 1.4 比重的设置 二、再谈向量数据的抽取——以islands为实例 三、数据框数据的抽取——重复值的处理 ​3.1 重复值的搜索 3.2 which()函数 3.3 抽取数据是去除重复值 四、数据框数据的抽取…

Linux命令·scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时&#xff0c…

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础

2.1 二元分类 前言 第二周的主题是学习神经网络的基础知识。 实现神经网络需要用到一些重要的技术和技巧,比如怎样处理包含大量样本的训练集。 在神经网络的计算中,还会有前向暂停、前向传播、反向暂停和反向传播等步骤,本周会对它们进行…

面试一个6年经验测试员:一年经验硬生生用了六年....

在众多面试中,对于那个工作了6年的面试者,我印象很深刻,因为最开始拿到简历的时候,我一摸:"这简历,好厚啊!"再一看,工作6年。 于是我去找了我的领导,我说:“这人我应该没…

C++入门基础知识总结(超详细)

目录 C入门基础知识之什么是C? C入门基础知识看看C的历史版本: C入门基础知识关键字 C入门基础之C的命名空间 C入门基础命名空间的使用 C入门基础知识的输入和输出 C入门基础知识-缺省参数 C入门基础-C函数重载 extern “C” C入门基础知识-引用 C入门基…

图像处理:图像增广算法

目录 前言 图像增广算法 a.图像旋转 b.图像亮度调整 c.图像裁剪及拼接 实验分析 本章小结 前言 图像增广算法在计算机视觉领域扮演着至关重要的角色。随着深度学习的兴起,大规模数据集的需求变得更加迫切,而图像增广算法可以通过对原始图像进行一…

手把手教你安装PaddleDetection(最新CUDA11.7版本)

前言 本文记录一下在linux系安装PaddleDetection的过程,使用Conda的方式来安装; (尝试过docker的方式,无法获取镜像;尝试过pip的方式,提升找不到库;最终使用Conda成功安装了。) 目…

什么是中国版软件能力成熟度之CSMM

当前,中国软件产业蓬勃发展,产业增速迅猛,发展韧性和潜力进一步凸显。由于我国长期缺乏相关的自主标准,20多年来国外标准在我国软件评估领域占据主导地位,不仅阻碍了我国自主产业发展,甚至通过评估等手段可…

【STM32CubeMX项目】小时钟V1.0

前言 基于STM32CubeMxSTM32F103C6T6编写时钟功能。现在以及能实现时钟的简单功能,做文记录下。还有很多可以改进的地方,也算留下的基础版本下来备份吧。我愿称之为V1.0版本。可供学习参考。 实物 引脚接线: OLED STM32F103 SCL --> PB8 SD…

使用JS手动实现SementicUI的分页,解决页数过多的问题.

自己使用SemanticUI官网的分页组件, 但是有很多细节问题并没有解决方案,如果只是需要而分页,将页数渲染在分页组件上的话,那倒很简单,但是页面有很多的话,假如100页,那么整个tbody会随着tfoot…

C# PDF附件生成

最近项目上需要生成行业某证件,查阅了一下,大体有两个思路可以实现 1.图片格式 2.PDF格式 使用图片格式,GDI绘图的形式,GDI绘图相关库资料比较多,难度也还好,问题是生成的证不是很好看,看上去…

ESP32学习笔记 -- ESP32-S3使用自定义分区表

什么是分区表? 分区表(Partition Table),主要是用来对ESP32-S3外挂的SPI FLASH进行区域划分的一个表格,通过这个表格,可以根据多个不同的功能,将SPI FLASH划分为不同的区域,方便开发者存储数据。 分区表主要有两种格式,一种是方便开发人员进行更改的.csv格式,一种是…

【Spring框架全系列】初识Spring MVC(上)

🌃哈喽,大家好,我是小浪。接着上篇博客,我们学习了springboot配置日志文件,到此,那么springboot的内容也更新的差不多了,由于是初学阶段,所以不学习那么深入,那么我们学习…

数据结构:单链表增、删、查、改的实现

1.概念 链表是一种 物理存储结构上非连续 、非顺序的存储结构,数据元素的 逻辑顺序 是通过链表 中的 指针链接 次序实现的 。 2.形式 我们使用链表一般都是创建一个结构体。 typedef int SLTDataType; typedef struct SListNode {SLTDataType data;struct SListN…

USB2.0 HUB的MTT与STT

HUB:集线器 以前呀,我也不清楚MTT与STT的区别,记得有一次选型的时候,很懵逼,结果还是按照以前同事的方案去选了,到后面想起来才抽空整明白了。 所以今天就来说下USB HUB里面的MTT与STT,并在文…

【GO】31. websocket实现

一. 引入gin、gorilla websocket包 go get github.com/gin-gonic/gin go get github.com/gorilla/websocket 二. 服务端代码 package mainimport ("bytes""fmt""github.com/gin-gonic/gin""github.com/gorilla/websocket""log&…

从字节出来的测试总监,让我们用这份《测试用例规范》,再也没加班过。

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 固然,编写一份好的测试用例需要:充分的需求分析能力 理论及经验加持,作为测试职场摸爬打滚的老人&…