0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVIDIA Triton系列文章:开发资源说明

NVIDIA英伟达企业解决方案 来源:NVIDIA英伟达企业解决方案 作者:NVIDIA英伟达企业解 2022-11-09 16:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大部分要学习 Triton 推理服务器的入门者,都会被搜索引擎或网上文章引导至官方的https://developer.nvidia.com/nvidia-triton-inference-server处(如下截图),然后从 “Get Started” 直接安装服务器与用户端软件、创建基础的模型仓、执行一些最基本的范例。

075dc9d0-5f58-11ed-8abf-dac502259ad0.png

这条路径虽然能在很短时间内跑起 Triton 的应用,但在未掌握整个应用架构之前便贸然执行,反倒容易让初学者陷入迷失的状态,因此建议初学者最好先对 Triton 项目有比较更完整的了解之后,再执行前面的 “Get Started” 就会更容易掌握项目的精髓。

要获得比较完整的 Triton 技术资料,就得到项目开源仓里去寻找。与 NVIDIA 其他放在 https://github.com/NVIDIA或https://github.com/NVIDIA-AI-IOT的项目不同,Triton 项目有独立的开源仓,位置在https://github.com/triton-inference-server,进入开源仓后会看到如下截屏的内容:

0777b1f6-5f58-11ed-8abf-dac502259ad0.png

下面列出四大部分的技术资源:

1. Getting Start(新手上路):

这里提供三个链接,比较重要的是 “Quick Start(快速启动)” 的部分,提供以下三个步骤就能轻松执行 Triton 的基础示范:

(1) Create a Model Repository(创建模型仓)

(2) Launch Triton(启动Triton服务器与用户端)

(3) Send an Inference Request(提交推理要求)

2. Production Documentation(生产文件):

这里最重要的是 “server documents on GitHub” 链接,点进去后会进入整个 Triton 项目中最完整的技术文件中心(如下图),除 Installation 与 Getting Started 属于入门范畴,其余 User Guide、API Guide、Additional Resources 与 Customization Guide 等四个部分,都是 Triton 推理服务器非常重要的技术内容。

079daa00-5f58-11ed-8abf-dac502259ad0.png

因此这个部分可以算得上是学习 Triton 服务器的最重要资源。

例如点击 “User Guide” 之后,就会看到以下所条例的执行步骤:

Creating a Model Repository

Writing a Model Configuration

Buillding a Model Pipeline

Managing Model Availablity

Collecting Server Metrics

Supporting Custom Ops/layers

Using the Client API

Analyzing Performance

Deploying on edge (Jetson)

3. Examples(范例):

这里的范例,比较重要的是指向https://github.com/NVIDIA/DeepLearningExamples链接,列出针对 NVIDIA Tensor Core 计算单元的深度学习模型列表,包括计算机视觉、NLP 自然语言处理、推荐系统、语音转文字 / 文字转语音、图形神经网络、时间序列等各种神经网络模型细节,包括网络结构与相关参数的内容。

对于未来要在 Triton 服务器上,对于所使用的网络后端进行性能优化或者创建新的后端,会有很大的助益,但是对于初学者来说是相对艰涩的,因此现阶段先不做深入的说明与示范。

4. Feedback(反馈):

这里会链接到https://github.com/triton-inference-server/server/issues问题中心,是 Triton 项目中最重要的技术问题解决资源之一,后面执行过程中所遇到的问题,都可以先到这里来查看是否有人已经提出?如果没有的话,也可以在这里提交自己所遇到的问题,项目负责人会提供合适的回复。

以上第 2、4 两项资源,对初学者来说会有最大的帮助。接着看一下项目里 “钉住(Pinned)” 的 6 个仓(如下图),是比较重要的基础部分,涵盖了 Triton 架构图中的主要板块。

07cfb18a-5f58-11ed-8abf-dac502259ad0.png

主要内容如下:

1. server 仓:

这里集成整个项目的主要内容,包括几部分:

(1)deploy(部署):提供在阿里巴巴、亚马逊等云资源的部署方式,以及基于 NVIDIA Fleet 指令集、GKE(Google kubernets Engine)、k8s、Helm 等应用平台的各种部署方法;

(2)docker(容器):修正一些创建容器脚本的错误;

(3)docs(使用说明):就是前面 “生产文件(Production Documentation)” 的内容,这里不重复赘述;

(4)qa(质量优化):由于 Triton 推理服务器有非常多优化的环节,在这个目录下提供上百个不同状况的优化测试脚本;

(5)src(源代码):目录下存放整个 Triton 推理服务器的开源代码(.cc)、头文件(.h)与编译脚本(CMakeLists.txt);

(6)其他代码与脚本

2. core 仓:

此存储库包含实现 Triton 核心功能的库的源代码和标头。核心库可以如下所述构建,并通过其 CAPI 直接使用。为了有用,核心库必须与一个或多个后端配对。您可以在后端回购中了解有关后端的更多信息。

3. backend 仓:

提供创建 Triton 服务器后端(backend)的源代码、脚本与工具。“后端” 是用来执行不同深度学习模型的管理模块,以深度学习框架进行封装,例如 PyTorch、Tensorflow、ONNX Runtime 与 TensorRT 等等,用户也可以为了性能目的,自行定义 C / C++ 封装方式。

4. client 仓:

提供 Triton 用户端的 C++ / Python / Java 开发接口、能生成适用于不同编程语言的 GRPC 开发接口的 protoc 编译器,以及对应的用户端范例;

5. model_analyzer 仓:

深度学习模型(model)是 Triton 推理服务器的最基础组成元件,因此对分析模型的计算与内存需求是服务器性能的一项关键功能。这个 model_analyzer 模型分析工具是一种 CLI 工具,这款新工具可以自动化地从数百种组合中为 AI 模型选择最佳配置,以实现最优性能,同时确保应用程序所需的服务质量,能帮助开发人员更好地了解不同配置中的权衡,并选择能够最大化 Triton 的性能配置;

6. model_navigator 仓:

这个 model_navigator 模型导航器是一种能够自动将模型从源移动到最佳格式和配置的工具,支持将模型从源导出为所有可能的格式,并应用 Triton 服务器的后端优化。使用模型分析器能找到最佳的模型配置,匹配提供的约束条件并优化性能。

以上是 Triton 开源项目里比较核心的 6 个仓,另外还有 20 多个代码仓,其中大约 15 个是项目提供的后端(backend)扩充应用,例如 tensorrt_backend、fil_backend、square_backend 等等,以及一些额外的管理工具,并且不断增加中。

本系列后面的内容都会基于这个 server 仓的 docs 目录下的内容为主,按部就班地带着读者循序渐进创建与调试 Triton 推理服务器的运作环境。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5496

    浏览量

    109097
  • 服务器
    +关注

    关注

    13

    文章

    10093

    浏览量

    90891

原文标题:NVIDIA Triton 系列文章(3):开发资源说明

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVIDIA Omniverse Extension开发秘籍

    NVIDIA Omniverse 是一个模块化平台,使用高级 API 和微服务来构建由 OpenUSD 和 NVIDIA RTX 提供支持的 3D 应用。OpenUSD 功能强大的 3D 框架与 NVIDIA RTX 用于视觉渲
    的头像 发表于 08-22 15:52 3398次阅读
    <b class='flag-5'>NVIDIA</b> Omniverse Extension<b class='flag-5'>开发</b>秘籍

    使用NVIDIA Triton和TensorRT-LLM部署TTS应用的最佳实践

    针对基于 Diffusion 和 LLM 类别的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能显著提升推理速度。在单张 NVIDIA Ada Lovelace
    的头像 发表于 06-12 15:37 1302次阅读
    使用<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Triton</b>和TensorRT-LLM部署TTS应用的最佳实践

    【米尔-全志T536开发板试用体验】开发资源关键要点

    (ENET1/2千兆,ENET3 USB转百兆)。 六、资源获取与支持 官方文档:米尔提供原理图、PCB源文件(Allegro格式)及预配置Docker开发环境。
    发表于 04-14 23:06

    使用NVIDIA RTX PRO Blackwell系列GPU加速AI开发

    NVIDIA GTC 推出新一代专业级 GPU 和 AI 赋能的开发者工具—同时,ChatRTX 更新现已支持 NVIDIA NIM,RTX Remix 正式结束测试阶段,本月的 NVIDIA
    的头像 发表于 03-28 09:59 1079次阅读

    NVIDIA宣布NVIDIA Isaac重要更新

    ,更为全球开发者提供了更加强大、高效的工具,以加速AI机器人的开发进程。 NVIDIA Isaac是一个综合性的平台,它集成了加速库、应用框架和AI模型等多种资源。这些组件协同工作,为
    的头像 发表于 01-17 14:45 841次阅读

    Triton编译器与GPU编程的结合应用

    Triton编译器简介 Triton编译器是一种针对并行计算优化的编译器,它能够自动将高级语言代码转换为针对特定硬件优化的低级代码。Triton编译器的核心优势在于其能够识别并行模式,自动进行代码
    的头像 发表于 12-25 09:13 1317次阅读

    Triton编译器如何提升编程效率

    在现代软件开发中,编译器扮演着至关重要的角色。它们不仅将高级语言代码转换为机器可执行的代码,还通过各种优化技术提升程序的性能。Triton 编译器作为一种先进的编译器,通过多种方式提升编程效率,使得
    的头像 发表于 12-25 09:12 1195次阅读

    Triton编译器在高性能计算中的应用

    高性能计算(High-Performance Computing,HPC)是现代科学研究和工程计算中不可或缺的一部分。随着计算需求的不断增长,对计算资源的要求也越来越高。Triton编译器作为一种
    的头像 发表于 12-25 09:11 1566次阅读

    Triton编译器的优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令选择
    的头像 发表于 12-25 09:09 1837次阅读

    Triton编译器的优势与劣势分析

    Triton编译器作为一种新兴的深度学习编译器,具有一系列显著的优势,同时也存在一些潜在的劣势。以下是对Triton编译器优势与劣势的分析: 优势 高效性能优化 : Triton编译器
    的头像 发表于 12-25 09:07 1869次阅读

    Triton编译器在机器学习中的应用

    1. Triton编译器概述 Triton编译器是NVIDIA Triton推理服务平台的一部分,它负责将深度学习模型转换为优化的格式,以便在NVI
    的头像 发表于 12-24 18:13 1629次阅读

    Triton编译器的常见问题解决方案

    Triton编译器作为一款专注于深度学习的高性能GPU编程工具,在使用过程中可能会遇到一些常见问题。以下是一些常见问题的解决方案: 一、安装与依赖问题 检查Python版本 Triton编译器通常
    的头像 发表于 12-24 18:04 6413次阅读

    Triton编译器支持的编程语言

    编写和优化深度学习代码。Python是一种广泛使用的高级编程语言,具有简洁易读、易于上手、库丰富等特点,非常适合用于深度学习应用的开发。 二、领域特定语言(DSL) Triton也提供了一种针对深度学习领域的特定编程语言(DSL),这种语言是基于C/C++或Python等
    的头像 发表于 12-24 17:33 1469次阅读

    Triton编译器与其他编译器的比较

    Triton编译器与其他编译器的比较主要体现在以下几个方面: 一、定位与目标 Triton编译器 : 定位:专注于深度学习中最核心、最耗时的张量运算的优化。 目标:提供一个高度抽象、灵活、高效
    的头像 发表于 12-24 17:25 1592次阅读

    Triton编译器功能介绍 Triton编译器使用教程

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个可扩展和可定制的编译器框架,允许开发者添加新的编程语言特性和优化技术
    的头像 发表于 12-24 17:23 2702次阅读