Triton推理效劳器在阿里云机器进修PAI-EAS公测啦!!!

引言近些年来,随着GPU等计算设备算力的飞速提升,对算力要求较高的深度进修模型逐步开始在网购、医疗、音视频领域有了越来越广泛的应用。如何结合深度进修框架,用好高算力的GPU设备,是我们在AI基础建设中遇到的一个至关重要的问题。英伟达公司从硬件厂商的角度出发推出了Trition推理效劳器,阿里云PAI平台从云原生效劳角度出发,推出了PAI-EAS云原生弹性推理效劳平台,目的都是为了更好地帮助用户更好更方便地布署深度进修,供给优质的在线预测效劳。首先我们来了解一下Triton和EAS具体是什么,以及我们为什么要将两者进

引言

近些年来,随着GPU等计算设备算力的飞速提升,对算力要求较高的深度进修模型逐步开始在网购、医疗、音视频领域有了越来越广泛的应用。如何结合深度进修框架,用好高算力的GPU设备,是我们在AI基础建设中遇到的一个至关重要的问题。英伟达公司从硬件厂商的角度出发推出了Trition推理效劳器,阿里云PAI平台从云原生效劳角度出发,推出了PAI-EAS云原生弹性推理效劳平台,目的都是为了更好地帮助用户更好更方便地布署深度进修,供给优质的在线预测效劳。

首先我们来了解一下Triton和EAS具体是什么,以及我们为什么要将两者进行有机的结合。

什么是Triton?

Triton推理效劳器(NVIDIA Triton Inference Server) 是英伟达公司推出的开源推理框架,为用户供给在云和边缘推理上布署的解决方案。下图为Triton的架构图:

Triton推理效劳器在阿里云机器进修PAI-EAS公测啦!!!

Triton Inference Server具有以下的特性:

·支撑多种开源框架的布署,包括TensorFlow/PyTorch/ONNX Runtime/TensorRT等,同时也支撑用户供给自定义的效劳后端(backend);

·支撑多个模型同时运行在GPU上,以提高GPU设备的利用率;

·支撑HTTP/gRPC通信协议,供给二进制格式扩展来压缩发送请求大小;

·支撑Dynamic Batching功能,提升效劳的吞吐;

·支撑兼容KFServing的API标准。

什么是PAI-EAS?

阿里云机器进修平台PAI,旨在为阿里云的用户供给轻量化、高性价比的云原生机器进修。为了帮助用户打通模型训练到模型布署的通路,针对在线推理场景供给了新一代AI推理平台:PAI-EAS(Elastic Algorithm Service),

目前已经稳定支撑阿里巴巴集团多个BU的深度进修模型预测效劳以及大量公有云客户的在线预测效劳。

下图为PAI-EAS总体架构:

Triton推理效劳器在阿里云机器进修PAI-EAS公测啦!!!

从图中可以看出PAI-EAS支撑以下特性:

·支撑基于异构硬件(CPU和GPU)的模型布署;

·支撑通用机器进修/深度进修框架模型一键布署成在线效劳,也供给兼容开源Serving的效劳布署方式;

·与云原生产品深度整合,支撑模型效劳管理,效劳监控,日志采集查询,网络链路优化等功能;

·自研的高性能效劳引擎,对下层异构推理引擎透明支撑模型预热,自动Batch,流量镜像等能力;

·分层架构设计,可供给简单易用的微效劳开发接口,用户可用多种语言开发自定义的推理业务逻辑。

为什么将Triton布署在EAS上

将Triton Inference Server布署在EAS上,一方面可以使EAS的用户能够方便的应用Triton在NVIDIA GPU设备上多框架多模型布署的能力。另一方面可以充分利用EAS在云原生产品上的深度整合,借助基于云原生的负载均衡,效劳管理,网络链路优化,资源弹性伸缩等能力。两方面相结合,获得了1+1>2的效果,使得用户可以方便地获取稳定且性能优异的预测效劳,支撑多种多样的应用场景,未来还可以应用我们集成到EAS中的针对不同框架模型的通用优化能力,例如Blade等。

如何应用Triton on EAS

应用准备工作

1.应用Triton github repo中供给的脚本,下载Inception模型,同时准备好以下的配置文件来声明布署模型的输入输出等信息,并将模型文件、配置文件以及模型对应的label文件都放置在一个目录中;

name: “inception_graphdef”

platform: “tensorflow_graphdef”

max_batch_size: 128

input [

  {

    name: “input”

    data_type: TYPE_FP32

    format: FORMAT_NHWC

    dims: [ 299, 299, 3 ]

  }

]

output [

  {

    name: “InceptionV3/Predictions/Softmax”

    data_type: TYPE_FP32

    dims: [ 1001 ]

    label_filename: “inception_labels.txt”

  }

]

2.开通阿里云对象存储效劳对象存储效劳OSS,完成配置后,应用ossutil将准备好的模型文件夹整个上传到特定的OSS路径中;

./ossutil cp inception_graphdef/ oss://triton-model-repo/models

3.开通EAS的专属资源组,目前只有专属资源组支撑布署Triton效劳。

在做完前置的准备工作之后,先要在EAS上布署Triton效劳,然后再去请求已经布署好的效劳,获取推理预测的结果。

如何在EAS上布署Triton效劳

Triton布署于EAS采用了内置processor的布署形式,processor是EAS效劳的必要元素,一般意义下是包含了效劳对请求的完整处理逻辑。相比于一般的EAS内置processor布署方式,除了指定processor类型为”triton”以外,只需要新增一个processor_params字段将Triton启动时支撑的参数传入即可。

下面为我们创建一个Triton效劳时应用的配置文件的示例:

{

  “name”: “triton_test”,                          

  “processor”: “triton”,

  “processor_params”: [

         “–model-repository=oss://triton-model-repo/models”,

    “–allow-http=true”, 

  ],

  “metadata”: {

    “instance”: 1,

    “cpu”: 4,

    “gpu”: 1,

    “memory”: 10000,

    “resource”:”<your resource id>”

  }

}

注意:

1.model-repository参数需要直接传入OSS路径,但是目前不支撑直接从用户bucket根目录直接加载模型,推荐将模型上传到bucket下的某个目录中。

2.当前仅支撑应用EASCMD创建Triton效劳

下面是应用EASCMD创建效劳时,我们可以命令行中看到的输出,最后可以看到效劳的URL以及token,以及效劳创建过程中的状态变化

./eascmd create triton.config

[RequestId]: AECDB6A4-CB69-4688-AA35-BA1E020C39E6

+——————-+————————————————————————————————+

| Internet Endpoint | http://****************.cn-shanghai.pai-eas.aliyuncs.com/api/predict/test_triton_processor     |

| Intranet Endpoint | http://****************.vpc.cn-shanghai.pai-eas.aliyuncs.com/api/predict/test_triton_processor |

|             Token | MmY3M2ExZG***********************WM1ZTBiOWQ3MGYxZGNkZQ==                                       |

+——————-+————————————————————————————————+

[OK] Service is now deploying

[OK] Successfully synchronized resources

[OK] Waiting [Total: 1, Pending: 1, Running: 0]

[OK] Waiting [Total: 1, Pending: 1, Running: 0]

[OK] Running [Total: 1, Pending: 0, Running: 1]

[OK] Service is running

如何访问EAS上的Triton效劳

Triton on EAS完全兼容Triton社区供给的Python Client,下面我们以社区供给的Inception模型为例,说明如何来向布署在EAS上的Triton效劳发起请求。首先我们按照Triton官方供给的方式,来安装Python Client。

pip3 install nvidia-pyindex

pip3 install tritonclient[all]

完成Triton效劳布署之后,如果没有保存EASCMD命令行中输出的URL以及token,还可以在PAI控制台–模型布署–EAS-模型在线效劳页面可以看到类似以下的效劳详情,其中也可以查到效劳的URL以及访问效劳需要应用的授权token。

Triton推理效劳器在阿里云机器进修PAI-EAS公测啦!!!

填充代码中的URL以及token,即可应用应用这个demo,对Triton的效劳中的Inception模型发起请求。

import numpy as np

import time

import tritonclient.http as httpclient

from tritonclient.utils import InferenceServerException

URL = “<servcice url>”

HEADERS = {“Authorization”: “<service token>”}

input_img = httpclient.InferInput(“input”, [1, 299, 299, 3], “FP32”)

rand_img = np.random.rand(1, 299, 299, 3).astype(np.float32)

input_img.set_data_from_numpy(rand_img, binary_data=True)

output = httpclient.InferRequestedOutput(

    “InceptionV3/Predictions/Softmax”, binary_data=True

)

triton_client = httpclient.InferenceServerClient(url=URL, verbose=False)

start = time.time()

for i in range(10):

    results = triton_client.infer(

        “inception_graphdef”, inputs=[input_img], outputs=[output], headers=HEADERS

    )

    res_body = results.get_response()

    elapsed_ms = (time.time() – start) * 1000

    if i == 0:

         print(“model name: “, res_body[“model_name”])

         print(“model version: “, res_body[“model_version”])

         print(“output name: “, res_body[“outputs”][0][“name”])

         print(“output shape: “, res_body[“outputs”][0][“shape”])

    print(“[{}] Avg rt(ms): {:.2f}”.format(i, elapsed_ms))

    start = time.time()

执行之后,我们可以获得以下的输出,在第一次运行时,还额外打印了模型以及输出的相应信息,确认了对模型的调用请求是如我们期望的。

model name:  inception_graphdef

model version:  1

output name:  InceptionV3/Predictions/Softmax

output shape:  [1, 1001]

[0] Avg rt(ms): 76.29

[1] Avg rt(ms): 43.45

[2] Avg rt(ms): 37.30

[3] Avg rt(ms): 34.17

[4] Avg rt(ms): 32.26

[5] Avg rt(ms): 30.52

[6] Avg rt(ms): 30.34

[7] Avg rt(ms): 29.13

[8] Avg rt(ms): 23.56

[9] Avg rt(ms): 23.42

结语

目前Triton on EAS已经在上海区域开始公测,欢迎大家在阿里云官网搜索“机器进修平台PAI”来踊跃试用。我们也将基于Triton,供给更多的深度进修在线布署能力给用户。Triton on EAS将支撑更多的功能,保证用户在EAS上应用Triton的体验:

·支撑gRPC协议,支撑Java Client(Coming very soon!)

·支撑Blade优化接入Triton

原创文章,作者:阿里云大数据AI技术,如若转载,请注明出处:https://www.iaiol.com/news/triton-tui-li-xiao-lao-qi-zai-a-li-yun-ji-qi-jin-xiu-paieas/

(0)
上一篇 2021年 7月 19日 下午2:56
下一篇 2021年 7月 20日 下午2:48

相关推荐

  • 中科驭数宣布完成数亿元A+轮融资,第二代DPU芯片完成研发计划

    DPU芯片计划企业中科驭数今日宣布完成数亿元规模A+轮融资,本轮融资由麦星投资和昆仑资源结合领投,老股东灵均投资、光环资源追加投资。这是继7月底完成A轮融资之后,中科驭数今年获得的第二笔更大规模的数亿元融资。所筹资金将用于DPU芯片的研发和量产、以及市场开拓。曾经完成第二代DPU芯片K2的计划工作中科驭数正在研发的第二代DPU芯片K2曾经完成计划和验证工作,预计将于2022年第一季度投产流片。DPU是数据专用处理器(Data Processing Unit),是数据中心继CPU和GPU之后第三颗重要的算力芯片。随着

    2021年 12月 21日
  • 纯PyTorch语音工具包SpeechBrain开源,Kaldi:我压力有点大

    距离 Mirco Ravanelli 宣布打造新的语音工具包过去了一年多,SpeechBrain 真的如期而至。

    2021年 3月 16日
  • 94岁诺奖得主希格斯去世,曾预言「上帝粒子」的存留

    一名用诗意的语言揭示宇宙秘密的人。一名 94 岁平凡科学家的逝世,引发了人们广泛的哀思。4 月 10 日消息,诺贝尔物理学奖得主、著名物理学家彼得・希格斯(Peter Higgs)于周一去世,享年 94 岁。希格斯因提出希格斯玻色子也被称为「上帝粒子」而闻名。根据爱丁堡大学的一份声明我们得知(彼得・希格斯是该校的名誉退休熏陶),希格斯经历短暂的生病后,于 4 月 8 日星期一在家中安静的离开。对于老爷子的去世,爱丁堡大黉舍长 Peter Mathieson 沉重的表示:「彼得・希格斯是一名杰出的科学家 &mdash

    2024年 4月 10日
  • 产业实践推动科技创新,京东科技集团3篇论文当选ICASSP 2021

    ICASSP 2021将于2021年6月6日-11日在加拿大多伦多拉开序幕,凭借在语音技术领域的扎实积累和前沿创新,京东科技集团的3篇论文已经被 ICASSP 2021接收。

    2021年 8月 25日
  • 130亿光年:刚刚,NASA发布了宇宙最深处的影像

    北京光阴 7 月 12 日早晨,美国宇航局(NASA)公布了詹姆斯・韦伯太空千里镜拍摄的第一张全彩图象,这是深空天文台的一次重要时刻,标志着其进入科学研究第一年的开始。

    2022年 7月 12日
  • JUST技术:提升基于GPS轨迹的路网断定精确度

    路网数据对于城市中的很多应用,比如车载导航和线路优化等,都非常重要。传统的路途数据采集方式依赖于采集车,消耗大量的人力物力。随着GPS设备的普及,海量轨迹数据在城市里产生,使我们能够用轨迹数据去天生路网。这个问题在近十年中已经有了广泛的研究,但是其中很多方式的精确度(precision)并不高,特别是上下路途,平行路途等地方。由于轨迹数据在城市内并不是均匀分散的,对于那些车辆频繁通行的地方,我们有没有办法进一步提高这些区域路网断定的精确度呢?

    2021年 4月 7日
  • 用技术致敬每一位妈妈,B站up主用AI复原李焕英老照片动态影像

    「从我有记忆开始,妈妈就是中年妇女的模样,所以我会忘记,她也曾是花季少女。」

    2021年 2月 23日
  • 「对华夏半导体实施卡脖子战略」:美国通过756页AI战略陈诉

    由众多硅谷科技巨头 CEO、首席科学家们组成的 NSCAI 委员会,倡议通过卡住半导体出口的方式防止华夏在现在新技能发展中占据主导地位。

    2021年 3月 2日
  • 在了解通用类似定理之前,你可能都不会了解神经搜集

    通用类似定理很好地解释了为什么神经搜集能工作以及为什么它们经常不起作用。

    2021年 9月 7日
  • 海内外71支劲旅角逐青光眼AI,视杯盘宰割义务体素科技团队斩获第一

    MICCAI(Medical Image Computing and Computer Assisted Intervention)始于1998年的麻省理工学院,意在探索医学影像、计算机辅助介入以及两者融合的价值。20逾年的发展,MICCAI已成为医学影像分析行业的顶级学术会议。百度组织的眼科医学影像分析研讨会OMIA (Ophthalmic Medical Image Analysis)是眼科影像领域的重点研讨会之一,至今已举办八届。2021MICCAI之上,OMIA将议点聚焦于青光眼之上,举办了GAMMA挑战赛

    2021年 10月 1日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注