推理模型仓(inference model repository)是Triton推理服务器的最基础元件,如同数据库(database)服务器必须先创建一个数据库是类似的道理。要使用Triton推理服务器的第一件任务,就是先创建一个模型存储仓来作为服务器的组织中心,将所需的模型、配置文件和其他资源都位于这个存储仓中,才能让Triton进行推理任务。
进入https://github.com/triton-inference-server/server/tree/main/docs这个最完整的说明文件区,在“User Guide”里的前5个步骤,就是为Triton服务器创建与管理模型仓的任务,依序如下:
本文先带着读者创建模型存储仓,这是执行Triton服务器之前必须执行的环节,另外四个部分会在后续文章中陆续探索。
这个储存仓的要求相对简单,只要是常用的文件系统就行,包括企业内部使用的Windows NTFS或Linux ext3/4文件服务器,也可以是Google云、亚马逊云、微软Asure之类的网上储存空间。
Triton模型仓是以“目录结构”为主体的方式搭建,将配套的文件放置对应的位置里就可以,下面是一个简单的范例:
|
目录结构与文件 |
用途说明 |
|
<model_repo1> ├── <densenet_onnx> │ ├── <1> │ │ └── model.onnx │ ├── config.pbtxt │ └── densenet_labels.txt └── <inception_graphdef> ├── <1> │ └── model.graphdef ├── <2> │ └── model.graphdef ├── config.pbtxt └── inception_labels.txt |
根目录:仓名称 目录:模型densenet_onnx 目录:模型densenet_onnx的版本1 文件:模型densenet_onnx版本1的模型文件 文件:模型densenet_onnx的配置文件 文件:模型densenet_onnx的标注文件 目录:模型inception_graphdef 目录:模型inception_graphdef版本1 文件:模型inception_graphdef版本1的模型文件 目录:模型inception_graphdef版本2 文件:模型inception_graphdef版本2的模型文件 文件:模型inception_graphdef的配置文件 文件:模型inception_graphdef的标注文件 |
这个模型仓主要分为以下两大部分:
即便是在云存储上,也只要根据上述要求创建目录结构,并将各类文件放置在对应目录下,然后启动Triton推理服务器时使用“--model-repostory=”参数,指向模型仓根路径的位置就可以,例如以下状况:
|
$
$
$
$ |
# 在本机上 tritonserver --model-repository=/home/nvidia/triton/repo1 # 在Google云 tritonserver --model-repository=gs://bucket/triton/repo-google # 在亚马逊S3云 tritonserver --model-repository=s3://IP:端口/triton/repo-amazone # 微软Azure云 tritonserver --model-repository=as://用户名/容器名/repo-azure |
Triton服务器启动时,会将模型仓下的模型载入计算设备的内存之中,并不需要与模型仓所在服务器进行实时数据交换,因此启动之初会消耗比较多时间,开始执行推理计算之后是不会受到网络速度影响推理性能。
为了协助读者跟容易理解模型仓的使用,我们以NVIDIA Jetson AGX Orin设备作为实验平台,先下载https://github.com/triton-inference-server/server开源仓,里面的docs目录下有个examples/model_repository就是个模型仓范例,里面有8个简单的模型,可以做些简单的测试与体验。现在请执行以下指令:
|
$ $ $ $ |
cd $HOME && mkdir triton && cd triton git clone https://github.com/triton-inference-server/server cd server/docs/examples tree model_repository |
就会看到如下面左方的列表,共有8个模型文件夹:
|
目录结构与文件 |
用途说明 |
|
model_repository/ ├── densenet_onnx │ ├── config.pbtxt │ └── densenet_labels.txt ├── inception_graphdef │ ├── config.pbtxt │ └── inception_labels.txt ├── simple │ ├── 1 │ │ └── model.graphdef │ └── config.pbtxt ├── simple_dyna_sequence │ ├── 1 │ │ └── model.graphdef │ └── config.pbtxt 《中间省略》 └── simple_string ├── 1 │ └── model.graphdef └── config.pbtxt |
根目录:仓名称为model_repository 目录:模型densenet_onnx 文件:模型densenet_onnx的配置文件 文件:模型densenet_onnx的标注文件 目录:模型inception_graphdef 文件:模型inception_graphdef的配置文件 文件:模型inception_graphdef的标注文件 目录:模型simple 目录:模型simple的版本1 文件:模型simple的模型文件 文件:模型simple的配置文件 目录:模型simple_dyna_sequence 目录:模型simple_dyna_sequence的版本1 文件:模型simple_dyna_sequence的模型文件 文件:模型simple_dyna_sequence的配置文件 《中间省略》 目录:模型simple_string 目录:模型simple_string的版本1 文件:模型simple_string的模型文件 文件:模型simple_string的配置文件 |
我们可以看到每个文件夹里面都有1个独立的config.pbtxt配置文件,而且内容都不尽相同,这是针对不同模型所设置的内容与参数。
在下载的模型仓里的densenet_onnx与inception_graphdef目录下,并没有提供对用的模型文件,因此需要执行以下指令将这两个模型文件下载,并存放在指定位置里:
|
$ |
./fetch_models.sh |
现在就能看到在densenet_onnx与inception_graphdef各生成版本<1>目录,并且各有一个model.onnx与model.graphdef模型文件。
接下去只要安装好Triton服务器软件,就能开始使用这个模型仓来进行测试与体验,这是下一篇文章会带着大家进行安装的部分。【完】
好文章,需要你的鼓励
英特尔第三季度财报超华尔街预期,净收入达41亿美元。公司通过裁员等成本削减措施及软银、英伟达和美国政府的大额投资实现复苏。第三季度资产负债表增加200亿美元,营收增长至137亿美元。尽管财务表现强劲,但代工业务的未来发展策略仍不明朗,该业务一直表现不佳且面临政府投资条件限制。
美国认知科学研究院团队首次成功将进化策略扩展到数十亿参数的大语言模型微调,在多项测试中全面超越传统强化学习方法。该技术仅需20%的训练样本就能达到同等效果,且表现更稳定,为AI训练开辟了全新路径。
微软发布新版Copilot人工智能助手,支持最多32人同时参与聊天会话的Groups功能,并新增连接器可访问OneDrive、Outlook、Gmail等多项服务。助手记忆功能得到增强,可保存用户信息供未来使用。界面新增名为Mico的AI角色,并提供"真实对话"模式生成更机智回应。医疗研究功能也得到改进,可基于哈佛健康等可靠来源提供答案。同时推出内置于Edge浏览器的Copilot Actions功能,可自动执行退订邮件、预订餐厅等任务。
纽约大学等机构联合开发的ThermalGen系统能够将普通彩色照片智能转换为对应的热成像图片,解决了热成像数据稀缺昂贵的难题。该系统采用创新的流匹配生成模型和风格解耦机制,能适应从卫星到地面的多种拍摄场景,在各类测试中表现优异。研究团队还贡献了三个大规模新数据集,并计划开源全部技术资源,为搜救、建筑检测、自动驾驶等领域提供强有力的技术支撑。