前面文章介绍微软Teams会议系统、微信软件与腾讯PCG服务三个Triton推理服务器的成功案例,让大家对Triton有初步的认知,但别误以为这个软件只适合在大型的服务类应用中使用,事实上Triton能适用于更广泛的推理环节中,并且在越复杂的应用环境中就越能展现其执行成效。
在说明Triton推理服务器的架构与功能之前,我们需要先了解一个推理服务器所需要面对并解决的问题。
与大部分的服务器软件所需要的基本功能类似,一个推理服务器也得接受来自不同用户端所提出的各种要求(request)然后做出回应(response),并且对系统的处理进行性能优化与稳定性管理。
但是推理计算需要面对深度学习领域的各式各样推理模型,包括图像分类、物件检测、语义分析、语音识别等不同应用类别,每种类别还有不同神经网络算法与不同框架所训练出来的模型格式等。此外,我们不能对任务进行单纯的串行队列(queue)方式处理,这会使得任务等待时间拖得很长,影响使用的体验感,因此必须对任务进行并行化处理,这里就存在非常复杂的任务管理技巧。
下面列出一个推理服务器所需要面对的技术问题:
在了解推理服务器所需要解决的关键问题之后,接着来看看下方的Triton系统高阶架构图,就能更清楚每个板块所负责的任务与使用的对应技术。
Triton推理服务器采用属于“主从(client-server)”架构的系统,由图中的四个板块所组成:
使用这类通讯协议有以下优点:
在服务器内的代码属于系统底层机制,主要由NVIDIA系统工程师进行维护,因此只提供性能较好的C开发接口,一般应用工程师可以忽略这部分,除非您有心深入Triton系统底层进行改写;
支持多框架的文件格式并提供自定义的扩充能力,目前已支持TensorFlow的GraphDef与SavedModel格式、ONNX、PyTorch TorchScript、TensorRT、用于基于树的RAPIDS FIL模型、OpenVINO等模型文件格式,还能使用自定义的Python/C++模型格式;
将推理模型用管道形式进行管理,将一个或多个模型的预处理或后处理进行逻辑排列,并管理模型之间的输入和输出张量的连接,任何的推理请求都会触发这个模型管道。这部分还包含以下两个重点:
这是作为服务器软件的最重要工作之一,就是要将设备的计算资源充分调度,并且优化总体计算性能,主要使用以下三种技术。
Triton的后端就是执行模型的封装代码,每种支持的框架都有一个对应的后端作为支持,例如tensorrt_backend就是支持TensorRT模型推理所封装的后端、openvino_backend就是支持openvine模型推理所封装的后端,目前在Triton开源项目里已经提供大约15种后端,技术人员可以根据开发无限扩充。
要添加一个新的后台是相当复杂的过程,因此在本系列文章中并不探索,这里主要说明以下Triton服务器对各个后端的管理机制,主要是以下重点:
以上是Triton推理服务器的高级框架与主要特性的简介,如果看完本文后仍感觉有许多不太理解的部分,这是正常的现象,因为整个Triton系统集成非常多最先进的技术在内,并非朝夕之间就能掌握的。
后面的内容就要进入Triton推理服务器的环境安装与调试,以及一些基础范例的执行环节,透过这些实际的操作,逐步体验Triton系统的强大。【完】
好文章,需要你的鼓励
数字孪生技术正在改变网络安全防御模式,从被动响应转向主动预测。这种实时学习演进的虚拟副本让安全团队能够在威胁发生前预见攻击。组织可以在数字孪生环境中预演明日的攻击,将防御从事后反应转变为事前排演。通过动态更新的IT生态系统副本,团队可在真实条件下压力测试防御体系,模拟零日漏洞攻击并制定应对策略,从根本上重塑网络安全实践方式。
NVIDIA联合多所大学开发的Omni-RGPT实现了AI视觉理解的重要突破,首次让AI能同时精准理解图像和视频中用户指定的任何区域。通过独创的Token Mark机制,该系统解决了传统方法在视频中容易"跟丢"目标的问题,在视觉问答、区域描述等多项任务上达到最先进水平,为教育、安防、内容创作等领域的AI应用奠定了基础。
Linux内核开发面临动荡时期,Rust语言引入引发摩擦,多名核心开发者相继离职。文章介绍了三个有趣的替代方案:Managarm是基于微内核的操作系统,支持运行Linux软件;Asterinas采用Rust语言开发,使用新型framekernel架构实现内核隔离;Xous同样基于Rust和微内核设计,已有实际硬件产品Precursor发布。这些项目证明了除Linux之外,还有许多令人兴奋的操作系统研发工作正在进行。
这项由中国人民大学等机构合作完成的研究提出了Virgo系统,发现仅用5000个纯文本推理案例训练就能让AI在视觉推理任务上达到顶级商业系统水平。研究证实推理能力具有跨模态通用性,为更经济高效地开发多模态AI系统指明了新方向,同时也揭示了AI感知反思能力不足的局限性。