Triton教程---存储代理

news2024/12/29 14:18:43

Triton教程—存储代理

在这里插入图片描述

存储库代理使用在加载或卸载模型时运行的新功能扩展了 Triton。 您可以在加载模型时引入自己的代码来执行身份验证、解密、转换或类似操作。

测试版:存储库代理 API 是测试版质量,并且会针对一个或多个版本进行非向后兼容的更改。

存储库代理使用存储库代理 API 与 Triton 通信。 checksum_repository_agent GitHub 存储库提供了一个示例存储库代理,用于在加载模型之前验证文件校验和。

使用存储库代理

通过在模型配置的 ModelRepositoryAgents 部分指定它们,模型可以使用一个或多个存储库代理。 每个存储库代理都可以具有特定于该代理的参数,这些参数在模型配置中指定以控制代理的行为。 要了解可用于给定代理的参数,请参阅该代理的文档。

可以为同一个模型指定多个代理,它们将在加载或卸载模型时按顺序调用。 以下示例模型配置内容显示了如何指定两个代理“agent0”“agent1”,以便使用给定参数按该顺序调用它们。

model_repository_agents
{
  agents [
    {
      name: "agent0",
      parameters [
        {
          key: "key0",
          value: "value0"
        },
        {
          key: "key1",
          value: "value1"
        }
      ]
    },
    {
      name: "agent1",
      parameters [
        {
          key: "keyx",
          value: "valuex"
        }
      ]
    }
  ]
}

实施存储库代理

存储库代理必须作为共享库实现,共享库的名称必须是 libtritonrepoagent_<repo-agent-name>.so。 共享库应隐藏所有符号,但存储库代理 API 需要的符号除外。 有关如何使用 ldscript 仅公开必要符号的示例,请参阅校验和示例的 CMakeList.txt。

共享库将在需要时由 Triton 动态加载。 对于名为 A 的存储库代理,共享库必须安装为 <repository_agent_directory>/A/libtritonrepoagent_A.so。 默认情况下 <repository_agent_directory>/opt/tritonserver/repoagents–repoagent-directory 标志可用于覆盖默认值。

您的存储库代理必须实现存储库代理 API,如 tritonrepoagent.h 中所述。

Triton 在加载模型时遵循以下步骤:

  • 加载模型的配置文件 (config.pbtxt) 并提取 ModelRepositoryAgents 设置。 即使存储库代理修改了 config.pbtxt 文件,初始 config.pbtxt 文件中的存储库代理设置也会用于整个加载过程。

  • 对于指定的每个存储库代理:

    • 初始化相应的存储库代理,必要时加载共享库。 如果共享库不可用或初始化失败,模型加载将失败。

    • 使用 TRITONREPOAGENT_ACTION_LOAD 操作调用存储库代理的 TRITONREPOAGENT_ModelAction 函数。 作为输入,代理可以访问模型的存储库作为云存储位置或本地文件系统位置。

    • 存储库代理可以返回成功以指示没有对存储库进行任何更改,可以返回失败以指示模型加载应该失败,或者可以为模型创建一个新的存储库(例如,通过解密输入存储库)并返回 成功表明应该使用新的存储库。

    • 如果代理返回成功,Triton 将继续下一个代理。 如果代理返回失败,Triton 将跳过任何其他代理的调用。

  • 如果所有代理都返回成功,Triton 会尝试使用最终模型存储库加载模型。

  • 对于使用 TRITONREPOAGENT_ACTION_LOAD 调用的每个存储库代理,以相反的顺序:

    • 如果模型加载成功,Triton 调用存储库代理的 TRITONREPOAGENT_ModelAction 函数,如果模型加载成功,则调用 TRITONREPOAGENT_ACTION_LOAD_COMPLETE 操作,如果模型加载失败,则调用 TRITONREPOAGENT_ACTION_LOAD_FAIL

Triton 在卸载模型时遵循以下步骤:

  • Triton 使用初始 config.pbtxt 文件中的存储库代理设置,即使在加载期间一个或多个代理修改了它的内容。

  • 对于使用 TRITONREPOAGENT_ACTION_LOAD 调用的每个存储库代理,顺序相同:

    • Triton 使用操作 TRITONREPOAGENT_ACTION_UNLOAD 调用存储库代理的 TRITONREPOAGENT_ModelAction 函数。
  • Triton 卸载模型。

  • 对于使用 TRITONREPOAGENT_ACTION_UNLOAD 调用的每个存储库代理,以相反的顺序:

    • Triton 使用操作 TRITONREPOAGENT_ACTION_UNLOAD_COMPLETE 调用存储库代理的 TRITONREPOAGENT_ModelAction 函数。

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

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

相关文章

牛客网 2023 最新 “Java 面试八股文+各大厂的面试真题“出炉,面面俱到,太全了

一转眼 2023 年已经过了大半了&#xff0c;不知道你金三银四上岸了&#xff0c;还是等着秋招呢&#xff1f;大家从 Boss 直聘上或者其他招聘网站上都可以看到 Java 岗位众多&#xff0c;Java 岗位的招聘薪酬天差地别&#xff0c;人才要求也是五花八门。而很多 Java 工程师求职过…

css3 grid 布局

特别声明&#xff1a;这篇博客转载于阮一峰老师&#xff0c;转载是为了方便日后复习&#xff0c;实在写的太棒了。 目录 一、概述 二、基本概念 2.1 容器和项目 2.2 行和列 2.3 单元格 2.4 网格线 三、容器属性 3.1 display 属性 3.2grid-template-columns 属性&#x…

[Studio3T]无限试用

新建文本文件 echo off ECHO 重置Studio 3T的使用日期...... REG DELETE "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" /f RMDIR /s /q %USERPROFILE%\.3T\studio-3t\soduz3vqhnnja46uvu3szq-- RMDIR /s /q %USERPROFILE%\.3T\studio-3t\L…

数字电路基础---触发器

数字电路基础---触发器 触发器&#xff08;Flip-Flop&#xff09;也是数字电路中的一种具有记忆功能的逻辑元件。触发器对脉冲边沿敏感的存储单元电路&#xff0c;它只在触发脉冲的上升沿&#xff08;或下降沿&#xff09;瞬间改变其状态。在数字电路中可以记录二进制数字信号“…

crfclust.bdb过大

有套11204集群环境&#xff0c;现场反馈/u01使用率100%&#xff0c;数据库无法使用了&#xff0c;本以为是aud文件太多导致的&#xff0c;查看后发现是crfclust.bdb多大了&#xff0c;有100多G了 [roothydb1 hydb1]#du -sh crfclust.bdb 101G crfclust.bdb [roothydb1 hydb…

31个最佳 JavaScript 片段

这里有 20 个有用的 JavaScript 片段&#xff0c;可以在您处理项目时为您提供帮助&#xff1a; 1.获取当前日期和时间&#xff1a; const now new Date(); 2. 检查变量是否为数组&#xff1a; Array.isArray(variable); 3.合并两个数组&#xff1a; const newArray array1.co…

学习svg 基本使用

一.实例展示 1.鼠标移动 <svg width"34px" height"34px" viewBox"0 0 34 34" version"1.1" xmlns"http://www.w3.org/2000/svg" dcindex"189"><g id"画板" stroke"none" stroke-wi…

机器学习-学习总结

1.课程整体目录&#xff1a; 2.课程地址 飞桨AI Studio - 人工智能学习与实训社区 2.1 回归 2.1.1线性回归和逻辑回归的联系和区别 【ML】线性回归和逻辑回归的联系和区别_逻辑回归和线性回归的区别_机器不学习我学习的博客-CSDN博客 2.1.2 线性回归和逻辑回归重要公式推导…

自然语言处理: 第三章NPLM(Neural Probabilistic Language Mode)

理论基础 NPLM的全称是"Neural Probabilistic Language Model"&#xff0c;即神经概率语言模型。这是一种基于神经网络的语言模型&#xff0c;用于生成自然语言文本。最早是由Bengio 在2003年的A Neural Probabilistic Language Model一文中提出来的&#xff0c; NP…

卖家必读,深入了解亚马逊,速卖通,temu测评补单方式的各种利弊

大部分人对补单的认识还停留在刷好评、信誉上&#xff0c;事实上&#xff0c;信誉等级和好评仅是补单的目标之一&#xff0c;不是目标的全部。 对于一个真正的老手来说&#xff0c;补单真正的目的是提升自己宝贝的权重和搜索排名。因为信誉等级和好评相对来说比较简单。 我们试…

从零开始 Spring Boot 43:DI 注解

从零开始 Spring Boot 43&#xff1a;DI 注解 图源&#xff1a;简书 (jianshu.com) Spring 通过注解实现 DI&#xff08;依赖注入&#xff09;&#xff0c;本文详细讨论这些注解。 Autowired Autowired是 Spring 定义的注解&#xff0c;属于包org.springframework.beans.fac…

【无标题】AI+电力、大模型主题人工智能师资培训班重磅招募中

大语言模型热度空前&#xff0c;诸如文心一言、ChatGPT 等已经能够与人对话互动、回答问题、协助创作&#xff0c;逐渐应用于人们的工作和生活&#xff0c;也引发了社会热议。人工智能赋能新型电力系统下新能源发电、变电、调度、配网、安监、营销、基建以及企业经营管理等领域…

强化学习从基础到进阶-案例与实践[1]:强化学习概述、序列决策、动作空间定义、策略价值函数、探索与利用、Gym强化学习实验

【强化学习原理项目专栏】必看系列&#xff1a;单智能体、多智能体算法原理项目实战、相关技巧&#xff08;调参、画图等、趣味项目实现、学术应用项目实现 专栏详细介绍&#xff1a;【强化学习原理项目专栏】必看系列&#xff1a;单智能体、多智能体算法原理项目实战、相关技巧…

MySQL数据库的高级操作

数据表高级操作 一、克隆表&#xff0c;将数据表的数据记录生成到新的表中方法一方法二 二、清空表&#xff0c;删除表内的所有数据方法一方法二 三、创建临时表四、创建外键约束&#xff0c;保证数据的完整性和一致性。1、外键的定义2、主键表和外键表的理解3、MySQL中6种常见…

盘点一个Python自动化办公案例分享

背景&#xff1a;某公司需要对某一款产品的销售情况进行跟踪和分析&#xff0c;分析需求包括必要的统计图表生成&#xff0c;数据分析&#xff0c;生成报告等操作。 解决方案&#xff1a;利用 Python 编写自动化程序&#xff0c;实现对该产品的销售数据自动抓取&#xff0c;数据…

【python+Coppeliasim】仓储机器人

一、仓储机器人介绍 仓储机器人&#xff08;也称为自动导航AGV&#xff0c;Automated Guided Vehicle&#xff09;是一种智能机器人系统&#xff0c;专门设计用于在仓库、物流中心和制造业等环境中执行货物搬运和物流任务。它们被广泛应用于自动化仓储和物流管理系统中&#xf…

详解HTTP协议和HTTPS协议

目录 一.HTTP协议 1.什么是HTTP 2.HTTP发展历史 3.HTTP请求和响应 4. 抓包的方式和工具Fiddler 1.开发者工具 2.Fiddler 二.请求和响应 1.请求和响应报文 2.URL结构 3.常见的方法 1.GET方法 2.POST方法 3.其他方法 三.请求报头(header) 1.Host 2.Content-Length 3.Co…

Objective-C 混用UITabBar与UINavigation

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 混用UITabBar与UINavigation做app&#xff0c;tab和nav&#xff0c;有时候显示有时候…

有关浪涌保护器参数科普

浪涌保护器&#xff08;SPD&#xff09;或简称电涌保护器是一种用于确保防止瞬态浪涌的设备。它用于保护家庭和商业应用免受电压瞬变的影响。它与必须保护的负载并联连接。 什么是瞬态浪涌&#xff1f; 瞬态浪涌是持续几微秒的功率&#xff08;电压和电流&#xff09;的突然增…

CleanMyMac X4.13.6电脑清理垃圾最干净的软件

CleanMyMac是一款Mac清理工具&#xff0c;MacOSX系统下知名系统清理软件&#xff0c;它可以流畅地与系统性能相结合&#xff0c;只需简单的步骤就可以节省硬盘空间&#xff0c;提高电脑的运行速度&#xff0c;时刻保持电脑的清洁和健康&#xff0c;监视和优化Mac的性能。 现在…