Triton教程 --- 速率限制器

news/2024/7/8 2:04:45

Triton教程 — 速率限制器

在这里插入图片描述

Triton系列教程:

  1. 快速开始
  2. 利用Triton部署你自己的模型
  3. Triton架构
  4. 模型仓库
  5. 存储代理
  6. 模型设置
  7. 优化
  8. 动态批处理

速率限制器

速率限制器管理 Triton 在模型实例上调度请求的速率。 速率限制器在 Triton 中加载的所有模型上运行,以允许跨模型优先级排序。

在没有速率限制(–rate-limit=off)的情况下,Triton 会在模型实例可用时立即安排请求(或使用动态批处理时的一组请求)的执行。 这种行为通常最适合性能。 然而,在某些情况下,同时运行所有模型可能会给服务器带来过多的负载。 例如,某些框架上的模型执行会动态分配内存。 同时运行所有此类模型可能会导致系统内存不足。

速率限制器允许推迟某些模型实例的推理执行,以便并非所有模型实例同时运行。 模型优先级用于决定接下来要调度哪个模型实例。

使用速率限制器

要启用速率限制,用户必须在启动 tritonserver 时设置 --rate-limit 选项。 有关更多信息,请参阅 tritonserver --help 发出的选项的用法。

速率限制器由为每个模型实例指定的速率限制器配置控制,如速率限制器配置中所述。 速率限制器配置包括实例组定义的模型实例的资源和优先级。

资源

资源由唯一名称和指示资源副本数的计数标识。 默认情况下,模型实例不使用速率限制器资源。 通过列出资源/计数,模型实例表明它需要模型实例设备上有许多资源可用,然后才能允许其执行。 在执行时,指定的许多资源被分配给模型实例,只有在执行结束时才会被释放。 默认情况下,资源副本的可用数量是列出该资源的所有模型实例的最大值。 例如,假设三个加载的模型实例 A、B 和 C 分别为单个设备指定以下资源要求:

A: [R1: 4, R2: 4]
B: [R2: 5, R3: 10, R4: 5]
C: [R1: 1, R3: 7, R4: 2]

默认情况下,根据这些模型实例要求,服务器将创建具有指定副本的以下资源:

R1: 4
R2: 5
R3: 10
R4: 5

这些值确保所有模型实例都可以成功调度。 可以通过使用 --rate-limit-resource 选项在命令行上显式指定资源来覆盖资源的默认值。 tritonserver --help 将提供更详细的使用说明。

默认情况下,可用资源副本是按设备提供的,模型实例的资源要求是针对与运行模型实例的设备关联的相应资源强制执行的。 --rate-limit-resource 允许用户向不同的设备提供不同的资源副本。 速率限制器还可以处理全局资源。 全局资源将在整个系统中拥有一个副本,而不是为每个设备创建资源副本。

速率限制器取决于模型配置来确定资源是否是全局的。 有关如何在模型配置中指定它们的更多详细信息,请参阅资源。

对于 tritonserver,在双设备机器上运行,调用 --rate-limit-resource=R1:10 --rate-limit-resource=R2:5:0 --rate-limit-resource=R2:8:1 - -rate-limit-resource=R3:2 ,可用资源副本有:

GLOBAL   => [R3: 2]
DEVICE 0 => [R1: 10, R2: 5]
DEVICE 1 => [R1: 10, R2: 8]

其中 R3 在加载的模型之一中显示为全局资源。

优先级

在资源受限的系统中,模型实例之间会争夺资源以执行其推理请求。 优先级设置有助于确定选择哪个模型实例进行下一次执行。 有关详细信息,请参阅优先级。


http://lihuaxi.xjx100.cn/news/1265265.html

相关文章

冥想第八百二十七天

1.今天周日,还是在下雨,带着溪溪桐桐去了郑大,跑了800m,感觉真好呀 2.空气非常好,充实的一天。 3.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。

从0到1精通自动化测试,pytest自动化测试框架,生成html报告与html报告报错截图+失败重跑(五)

目录 一、生成html报告 1、pytest-html 2、html报告 3、指定报告路径 4、显示选项 5、更多功能 二、html报告报错截图失败重跑 1、conftest.py 2、报告展示 3、失败重试 一、生成html报告 1、pytest-html pytest-HTML是一个插件,pytest用于生成测试结果…

用python写一个接收数据的服务

import socket # 定义服务器地址和端口号 SERVER_HOST localhost SERVER_PORT 8000 # 创建服务器套接字 server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定地址和端口号 server_socket.bind((SERVER_HOST, SERVER_PORT)) # 监听客户端连接 server_so…

下峰锁定,行情未尽,筹码峰真的不会骗人吗?

在学习筹码分布的时候,经常可以看到这样的顺口溜:“上峰不死,下跌不止;下峰锁定,行情未尽”。简单解释一下就是:下跌行情中,如果上密集峰未被充分消耗,那么就没有新的行情产生&#…

实时监控Active Directory用户登录操作

用户登录到其域计算机是任何企业中发生的日常活动。一开始,这可能看起来是一个简单的Active Directory事件,但分配了不同角色的管理员可以将这些有价值的数据用于各种审计,合规性和运营需求。组织需要审核“AD 用户登录日志”的详细信息&…

2023-06-21:redis中什么是BigKey?该如何解决?

2023-06-21:redis中什么是BigKey?该如何解决? 答案2023-06-21: 什么是bigkey bigkey是指存储在Key-Value数据库中的键对应的值所占用的内存空间较大。举个例子,如果值是字符串类型,它可以达到最大512MB的…

屏蔽箱的材质结构和使用事项介绍

屏蔽箱是一种用于屏蔽机电波干扰的设备,通常用于电磁兼容测试、天线测试、短波收发等需要屏蔽电磁辐射噪声的场合。这种箱子通常由导电或者导磁材料制成,内部配备高效屏蔽材料,能够在一定范围内有效地屏蔽电磁波辐射,避免电磁波干…

Elasticsearch(十一)搜索---搜索匹配功能②--range查询和exists查询

一、前言 继上一节学习了ES的搜索的查询全部和term搜索后,此节将把搜索匹配功能剩余的2个学习完,分别是range搜索和exists搜索 二、range范围搜索 range查询用于范围查询,一般是对数值型和日期型数据的查询。使用range进行范围查询时&…